Installing Continuous Delivery for Puppet Enterprise (PE) requires you to pull and run a Docker container, then follow our guided setup to create the root account and configure your installation.
- Continuous Delivery for PE is delivered as a Docker container. Pull down the latest version by running:
docker pull puppet/continuous-delivery-for-puppet-enterprise:latest
- Run the image with the command appropriate to your database infrastructure, replacing the options with the appropriate values, as per the instructions below. For MySQL:
For Amazon DynamoDB:
docker run --rm --name cd4pe -v cd4pe:/disk -e DB_ENDPOINT=<MY_DATABASE_ENDPOINT> -e DB_USER=<MY_DB_USERNAME> -e DB_PASS=<MY_DB_PASS> -e DB_PREFIX=<OPTINAL_PREFIX_TO_DB_TABLES> -e DUMP_URI=<DUMP_URI> -e PFI_SECRET_KEY=<KEY_FOR_DB_SECRETS_ENCRYPTION> -p 8080:8080 -p 8000:8000 -p 7000:7000 puppet/continuous-delivery-for-puppet-enterprise:latest
docker run --rm --name cd4pe -v cd4pe:/disk -e DB_ENDPOINT=ddb://<AWS_REGION> -e DB_USER=<AWS_ACCESS_KEY> -e DB_PASS=<AWS_SECRET_KEY> -e DUMP_URI=<DUMP_URI> -e PFI_SECRET_KEY=<KEY_FOR_DB_SECRETS_ENCRYPTION> -p 8080:8080 -p 8000:8000 -p 7000:7000 puppet/continuous-delivery-for-puppet-enterprise:latest
- A friendly name you give to the running image. We used
cd4pein the example above.
- Creates a new Docker volume called
cd4pefor the user, which will be used for storing logs, job manifests, and artifacts. To learn more about this Docker volume, use the command
docker volume inspect cd4pe. To learn more about Docker volumes in general, see the Docker documentation.Important: If you wish to use Amazon S3 or Artifactory as an external storage provider, do not include this option in your
ddb://endpoint used to connect to your database. For example,
- For MySQL: Login credentials for your MySQL user. For security purposes, the database user you select should be able to connect to only this database.
- For Amazon DynamoDB: Access and secret keys for your DynamoDB user. Important: Make sure you generate credentials with full create, read, update, and delete permissions for DynamoDB resources.For security purposes, select a database user you select who can connect to only this database.
- When starting up, Continuous Delivery for PE creates tables in MySQL or DynamoDB. If you'd like the tables to share a prefix, such as
cdpe-, enter it here.Tip: If you wish to simulate a fresh installation of a given version of Continuous Delivery for PE, entering a new database table prefix causes all the database tables to regenerate.
- How to address port 7000 of this container, which is the endpoint used by the Continuous Delivery for PE web UI to connect to the correct instance of the Continuous Delivery agent service. In a typical installation, this value is
- A 16-byte secret key used for AES encryption of secrets (such as PE access tokens) supplied to Continuous Delivery for PE.
- If you're a *nix user, generate this key by running:
If you're a Windows user, generate this key by running:
dd bs=1 if=/dev/urandom count=16 2>/dev/null | base64
$randomBytes = New-Object Byte(16) [Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($randomBytes) $encodedBytes = [System.Convert]::ToBase64String($randomBytes)
-p 8080:8080 -p 8000:8000 -p 7000:7000
- The three ports used by Continuous Delivery for PE for the web UI (8080), the backend service (8000), and the agent service (7000). You can map these ports to any port of your choosing.
- Point your web browser to
localhost:8080to access the Continuous Delivery for PE web UI. Click Get Started.
- Follow the prompts to configure your installation. You'll be asked to:
Select the email address and password to associate with the root account.Note: The root account is used for installing and configuring your organization's Continuous Delivery for PE instance.
Configure the endpoints for Continuous Delivery for PE services.Important: For production-grade systems supporting multiple Continuous Delivery for PE users, configure these services to point to the DNS endpoints of load balancers. This is especially vital if you plan to run multiple container replicas of Continuous Delivery for PE.
If desired, integrate an external storage provider (Amazon S3 or Artifactory) by adding credentials. You can skip this step if you are using disk storage.
Click Trial Mode to start a free seven-day trial. Once this period is complete, you'll be prompted to generate and upload a license. See Generate a license for instructions on creating a free 30-day trial license.
- When configuration is complete, you'll see a success message. Click Create your user account to sign out of the root account.
Now that Continuous Delivery for PE is installed, create your individual user account and move on to these next steps: