Perform an automated installation


During a fresh online installation of Continuous Delivery for PE you have the option to configure the software automatically rather than completing the installation script interview.

Before you begin
Ensure that your system meets the minimum requirements for Continuous Delivery for PE. The automated installation performs pre-flight checks to ensure system readiness and only deploys the application if all of the following are true:
  • Every node in the cluster has at least 8 GB of memory (16 GB recommended)

  • Every node in the cluster has at least 30 GB of ephemeral storage (100 GB recommended)

  • There are four or more CPU cores in the cluster (12 or more recommended)

  • The issuer CA certificate and private key are valid

Note: Automated installation is not supported when installing in an offline environment or when installing on an existing Kubernetes cluster.
  1. Define the configuration values for your Continuous Delivery for PE installation, using Kubernetes YAML format.
    kind: ConfigValues
      name: cd4pe
          value: has_accepted_eula
          value: " 'false'"
          value: "<HOSTNAME>"
          value: "<ROOT ACCOUNT EMAIL>"
          value: "<ROOT ACCOUNT PASSWORD>"
    status: {}
    Tip: View the keyword names for all settings by clicking View files > upstream > config.yaml in the platform admin console.
    Replace the values indicated:
    • Replace <HOSTNAME> with a hostname you'll use to configure an Ingress and to tell job hardware agents and webhooks how to connect to it. You might need to configure your DNS to resolve the hostname to your Kubernetes hosts.
    • Replace <ROOT ACCOUNT EMAIL> and <ROOT ACCOUNT PASSWORD> with the credentials for the Continuous Delivery for PE root account. The root account is used to administer Continuous Delivery for PE and has full access to all resources and application-wide settings. This account should NOT be used for testing and deploying control repositories or modules.
    • Optional. These configuration values disable HTTP-to-HTTPS redirection, so that SSL can be terminated at the load balancer. If you want to run Continuous Delivery for PE over SSL only, change the force-ssl-redirect annotation to true.
    • Optional. If your load balancer requires HTTP health checks, you can now enable Ingress settings that do not require Server Name Indication (SNI) for /status. To enable this setting, add the following to the config values statement:
        value: "1"
    Note: The automated installation automatically accepts the Continuous Delivery for PE end user license agreement (EULA). Unless Puppet has otherwise agreed in writing, all software is subject to the terms and conditions of the Puppet Master License Agreement located at
  2. From the command line of your primary (control plane) node, run the installation script:
    curl -sSL | sudo bash
    Tip: If the installation script fails, run the following and upload the results to the Puppet Support team:
    kubectl support-bundle
  3. Run the following commands to ensure that kubectl, the Kubernetes command-line tool, is available in the current session:
    cp /etc/kubernetes/admin.conf ~/.kube/config
    chown -R 0 ~/.kube
    echo unset KUBECONFIG >> ~/.profile
    bash -l
  4. Reset the platform admin console password from the password automatically generated for your account by the installation script to a password of your choosing:
    echo <YOUR CHOSEN PASSWORD> | kubectl kots reset-password -n default
  5. Write your license file and the config values generated in step 1 to the following locations:
    • Write your license file to ./replicated_license.yaml
    • Write your config values to ./replicated_config.yaml
  6. Add the Continuous Delivery for PE application definition to the platform admin console with the license file and configuration values, passing in the platform admin console password you set in step 4:
    kubectl kots install cd4pe --namespace default --shared-password <YOUR CHOSEN PASSWORD> --port-forward=false \
      --license-file ./replicated_license.yaml --config-values ./replicated_config.yaml
  7. Wait five minutes to allow the software time to process the change.
  8. Navigate to http://<NODE IP ADDRESS>:8800 and log in with the platform admin console password.
    Your config values are applied, and if pre-flight checks have passed, the application is deployed and in the process of starting up.
    The application's status on the Application tab is shown as Missing for several minutes while deployment is underway. To monitor the deployment's progress, run kubectl get pods --watch.

    When the deployment is complete, the application status changes to Ready.

  9. Update your DNS or /etc/hosts file to include the hostname you chose during configuration.
  10. Installation is now complete! Navigate to https://<HOSTNAME> and sign into Continuous Delivery for PE.
How helpful was this page?

If you leave us your email, we may contact you regarding your feedback. For more information on how Puppet uses your personal information, see our privacy policy.

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.