Quickstart

Docker quickstart

Flex Docker images are hosted at Docker Hub.

To connect the latest Flex Docker image to a Flink cluster:

  • Get a Free trial license.
  • Create a config.env file containing your connection, license, and feature variables.
## The Flink REST API to connect to:
FLINK_REST_URL=127.0.0.1:9002

## Your license details (Required).
## These parameters can be cut/paste from your license email
LICENSE_ID=1c99v4-f690-4a4f-b144-73de2369444a
LICENSE_CODE=TRIAL_30D
LICENSEE=My Corp
LICENSE_EXPIRY=2020-09-05
LICENSE_SIGNATURE=15CFFF969111DB6DCA142B6F1E0065F94A614251B80128D52C2CD45993A021AE10E90F57B90FF76CC1B992C16E54BCF1CBE7E5EE3124B3E585BE133774836A6EBB51B55E67EF60F4A435EBEC9F07A26CEABDCF6E3CF4137A33201E7662AF1F7986E57341E0EAEB884BBF320C348D62679F521259DAD1E03F6F79DB53D83CD41B

## Optional from here:

## Name your Flex installation (this appears in the UI)
ENVIRONMENT_NAME=Trade Book (Staging)

## Flex Feature Flags (See: RBAC for per user controls):

## Allow users to submit+upload jobs
ALLOW_FLINK_SUBMIT=true

## Allow users to terminate Flink jobs
ALLOW_FLINK_JOB_TERMINATE=true

## Allow users to delete Flink JARs
ALLOW_FLINK_JAR_DELETE=true

## Allow users to edit Flink jobs (configuration, snapshotting etc)
ALLOW_FLINK_JOB_EDIT=true

## ... etc (see guide for more configuration flags).
  • Start the latest Flex container with your config.env file.
docker run -p 3000:3000 --env-file ./config.env -m 2G factorhouse/flex-ee:latest
  • Flex is now running on http://localhost:3000

Accessing files on the host machine

Sometimes when configuring Flex you require access to files on the host machine from within the Docker container, e.g.

  1. RBAC YAML configuration
  2. Keystore or Truststore files
  3. Metadata.xml for SSO integration

One easy way to provide access to local files is with a volume mount, like so:

docker run --volume="$PWD/config:/config" -p 3000:3000 --env-file ./docker/local-with-auth-schema.env -m 4G factorhouse/flex-ee:latest

In the example above we mount the directory local to where the docker command runs ./config as a directory within the container /config.

We can then reference a file in our environment variable configuration like so:

SSL_TRUSTSTORE_LOCATION=/config/ssl/truststore.jks
Previous
Overview