Standalone Docker Deployment
To run the Sundeck Private Broker as a standalone Docker container, you will need to have Docker installed on a host machine. The host machine should have network access to the Sundeck control plane, as well as to the Snowflake backend.
Pull the Private Broker Docker image from the location provided by Sundeck Support (support@sundeck.io).
docker pull <sundeck-image>:latest
Start the container with docker run
, passing the required Configuration Variables.
Below is a sample bash script to used to start the Private Broker container; it sets the values of the required environment variables, starts the container with stdout redirected to a log file, and will restart the container should it stop running for any reason.
Obviously sensitive information such as passwords should be stored securely and not in plain text in scripts. The Private Broker supports integration with Hashicorp Vault for secure storage of sensitive information.
This script can be run in a screen
session, or as a background process.
#!/bin/bash
set -uo pipefail
export SUNDECK_BROKER_REST_API_PATH=https://api.sundeck.io/us-east-1/v1
export SUNDECK_BROKER_TOKEN=sndk_Pjz5cjuj...
export SUNDECK_BROKER_PORT=8080
export SUNDECK_SF_USERNAME=SUNDECK_SERVICE_ACCOUNT
export SUNDECK_SF_PASSWORD=********
export SUNDECK_SF_WAREHOUSE=COMPUTE_WH
export SUNDECK_SF_ROLE=SUNDECK_SERVICE_ACCOUNT
while true
do
logFilename="sundeck-broker-$(date +%Y-%m-%d-%H-%M-%S).log"
echo "Starting Sundeck broker, logging to $logFilename"
docker run --pull=always -h sundeck-pb.yourcompany.com \
-p 8080:8080 \
-e SUNDECK_SF_USERNAME=$SUNDECK_SF_USERNAME \
-e SUNDECK_SF_PASSWORD=$SUNDECK_SF_PASSWORD \
-e SUNDECK_SF_WAREHOUSE=$SUNDECK_SF_WAREHOUSE \
-e SUNDECK_SF_ROLE=$SUNDECK_SF_ROLE \
-e SUNDECK_BROKER_REST_API_PATH=$SUNDECK_BROKER_REST_API_PATH \
-e SUNDECK_BROKER_TOKEN=$SUNDECK_BROKER_TOKEN \
<sundeck-image>:latest > $logFilename 2>&1
echo "Halted at "$(date)". Sleeping 5 seconds before respawn ..."
sleep 5
done