Connector Designer
A Connector Designer container is used to host the Connector Designer server that is used to create connectors from a user interface.
Running a Connector Designer container
The following docker run
command runs a Connector Designer container:
docker run -d \
--name="connector_designer" \
--net "eia" \
--net-alias "connector_designer.eia" \
-v "/home/<user-name>/analyze-deployment-tooling:/home/<user-name>/analyze-deployment-tooling" \
-v "configs/<config-name>/configuration/connector_designer/data:/data" \
-v "configs/<config-name>/configuration/connector_designer/custom-functions:/custom-functions" \
-v "/environment-secrets/simulated-secret-store/connectordesigner:/run/secrets" \
-e "ANALYZE_CONTAINERS_ROOT_DIR=/home/<user-name>/analyze-deployment-tooling" \
-e "TTY=false" \
-e CONFIG_NAME="<config-name>" \
-v "/var/run/docker.sock:/var/run/docker-host.sock" \
-e "USER_ID=$(id -u)" -e "GROUP_ID=$(id -g)" \
-e I2ANALYZE_SERVER_URL="https://i2analyze.eia:9046" \
-e CONNECTORS_CONFIG_URI="https://i2analyze.eia:9046/connector-designer" \
-e CONTEXT_ROOT="opal" \
-e JWT_ISSUER="https://i2analyze.eia:9046" \
-e CONNECTORS_CONFIG_URI="https://i2analyze.eia:9046" \
-e CONNECTOR_DESIGNER_CONTEXT_ROOT="connector-designer" \
-e CONNECTORS_CONTEXT_ROOT="connectors" \
-e ACCEPT_EULA="Y" \
-e DOCKER_BUILDKIT=1 \
-e SSL_ENABLED=true \
-e SSL_CERTIFICATE_FILE="/run/secrets/server.cer" \
-e SSL_PRIVATE_KEY_FILE="/run/secrets/server.key" \
-e SSL_CA_CERTIFICATE_FILE="/run/secrets/CA.cer" \
-e SSL_ADDITIONAL_TRUST_CERTIFICATES="/run/secrets/additional_trust_certificates.cer" \
-e JWT_CERTIFICATE_FILE="/run/secrets/jwt_sign.cer" \
"i2group/i2eng-connector-designer:1"
Bind mounts
A bind mount can be used to persist data and custom functions that is generated and used in the Connector Designer container. To configure the Connector Designer container to use these bind mounts, specify the -v
option with the path to the directory that is mounted in the container.
To enable Connector Designer to deploy connectors, the /var/run/docker.sock
and analyze-deployment-tooling
root directories must be mounted to the container.
- Secrets:
A directory that contains all of the secrets that this tool requires. Specifically, this includes credentials to access the database and certificates used in SSL. The directory is mounted to
/run/secrets
inside the container. This can then be used by other environment variables such asSSL_CA_CERTIFICATE_FILE
to locate the secrets.
The SSL_ADDITIONAL_TRUST_CERTIFICATES
environment variable is used to specify the location of the additional trust certificates. The certificates are used to enable trust between the connectors created in Connector Designer and any secured resources the connector is connecting to. For example a REST endpoint that requires SSL.
In a production environment, the orchestration environment can provide the secrets to the file system or the secrets can be passed in via environment variables. The mechanism that is used here simulates the orchestration system providing the secrets as files. This is achieved by using a bind mount. In production this would not be required.
Environment variables
Environment Variable | Description |
---|---|
ANALYZE_CONTAINERS_ROOT_DIR |
The root directory of analyze-deployment-tooling. |
TTY |
The terminal type. |
CONFIG_NAME |
The name of the configuration. |
I2ANALYZE_SERVER_URL |
The URL of the i2 Analyze server (internal to the docker network). |
CONNECTORS_CONFIG_URI |
The URL of the connectors configuration (internal to the docker network). |
ACCEPT_EULA |
Accept the End User License Agreement. |
CONTEXT_ROOT |
The context root of the application. Defaults to opal |
JWT_ISSUER |
The issuer of the JWT. |
CONNECTOR_DESIGNER_CONTEXT_ROOT |
The context root of the Connector Designer application. |
CONNECTORS_CONTEXT_ROOT |
The context root of the connectors created by connector designer. |
USER_ID |
The id of the current user. |
GROUP_ID |
The id of the current user's group. |
DOCKER_BUILDKIT |
Enable Docker BuildKit. |
JWT_CERTIFICATE_FILE |
The location of the JWT certificate file. |
The following environment variables enable you to use SSL:
Environment variable | Description |
---|---|
SSL_ENABLED |
See Secure Environment variables. |
SSL_CERTIFICATE_FILE |
See Secure Environment variables. |
SSL_PRIVATE_KEY_FILE |
See Secure Environment variables. |
SSL_CA_CERTIFICATE_FILE |
See Secure Environment variables. |
SSL_ADDITIONAL_TRUST_CERTIFICATES |
See Secure Environment variables. |