Validated Patterns

Deploying the AAP Starter Kit pattern

Prerequisites
  • An OpenShift cluster

    • To create an OpenShift cluster, go to the Red Hat Hybrid Cloud console.

    • Select OpenShift -> Red Hat OpenShift Container Platform -> Create cluster.

    • The cluster must have a dynamic StorageClass to provision PersistentVolumes.

    • Cluster sizing requirements.

  • A GitHub account with a personal access token that has repository read and write permissions.

  • The Helm binary. For instructions, see Installing Helm.

  • Additional installation tool dependencies. For details, see Patterns quick start.

  • An Red Hat Ansible Automation Platform subscription manifest zip file for entitlement.

  • An automation hub token if you plan to pull certified or validated content.

Preparing for deployment

Procedure
  1. Fork the aap-starter-kit repository on GitHub. You must fork the repository because your fork is updated as part of the GitOps and DevOps processes.

  2. Clone the forked copy of this repository.

    $ git clone git@github.com:your-username/aap-starter-kit.git
  3. Change to the repository root directory:

    $ cd aap-starter-kit
  4. Add the upstream repository:

    $ git remote add -f upstream git@github.com:validatedpatterns/aap-starter-kit.git
  5. Verify the remote repositories:

    $ git remote -v
    Example output
    origin	git@github.com:your-username/aap-starter-kit.git (fetch)
    origin	git@github.com:your-username/aap-starter-kit.git (push)
    upstream	git@github.com:validatedpatterns/aap-starter-kit.git (fetch)
    upstream	git@github.com:validatedpatterns/aap-starter-kit.git (push)
  6. Decide which install variant to use and set main.variant in values-global.yaml before install. The default is minimal-aap. For variant purposes and expected installations, see Install variants on the pattern overview page and Installation details.

    main:
      variant: minimal-aap
  7. Make a local copy of the secrets template outside of your repository to hold credentials for the pattern.

    Do not add, commit, or push this file to your repository. Doing so might expose personal credentials to GitHub.

    $ cp values-secret.yaml.template ~/values-secret.yaml
  8. Populate the secrets file with credentials that the pattern needs:

    $ vi ~/values-secret.yaml
    1. Edit the aap-manifest section to point to your Red Hat Ansible Automation Platform subscription manifest zip file. Create a subscription manifest by following the guidance at Obtaining a manifest file. For example:

        - name: aap-manifest
          fields:
          - name: b64content
            path: '~/Downloads/<manifest_filename>.zip'
            base64: true
    2. Edit the automation-hub-token section to include a token from the Automation Hub Token page:

        - name: automation-hub-token
          fields:
          - name: token
            value: '<your-automation-hub-token>'
    3. Optionally edit the agof-vault-file section. For the default CaC repository you can use a minimal value:

        - name: agof-vault-file
          fields:
          - name: agof-vault-file
            value: '---'
            base64: true
    4. If you selected aap-with-ao or complete-aap-ao, keep the PostgreSQL secret entries for Automation Orchestrator. The template generates alphanumeric passwords with postgresPasswordPolicy so special characters do not break AO startup. You can leave onMissingValue: generate for the password fields, or set explicit values. These secrets are not required for minimal-aap or aap-with-hub.

  9. Create and switch to a new branch:

    $ git checkout -b my-branch
  10. Optional: Customize chart overrides under overrides/ or CaC settings in overrides/values-aap-config-aeg.yaml. If you change tracked files, stage and commit them:

    $ git add -A
    $ git commit -m "Customize AAP Starter Kit for my cluster"
  11. Push the changes to your forked repository:

    $ git push origin my-branch

The preferred way to install this pattern is by using the ./pattern.sh script.

Deploying the pattern by using the pattern.sh file

  1. Log in to your cluster:

    1. Obtain an API token by visiting https://oauth-openshift.apps.<your-cluster>.<domain>/oauth/token/request.

    2. Log in to the cluster:

      $ oc login --token=<retrieved-token> --server=https://api.<your-cluster>.<domain>:6443

      Or set the kubeconfig:

      $ export KUBECONFIG=~/<path_to_kubeconfig>
  2. Deploy the pattern:

    $ ./pattern.sh make install
Verification
  1. Verify that the operators are installed. Navigate to Operators → Installed Operators in the OpenShift Container Platform web console. Confirm the Red Hat Ansible Automation Platform operator and External Secrets Operator. For hub variants, also confirm OpenShift Data Foundation. For AO variants, also confirm CloudNativePG and Automation Orchestrator. It typically takes around 30 minutes from running the install command for all of the installation activities to complete. If it takes longer than 60 minutes, something likely requires troubleshooting. Most commonly, this will be a missing or mis-named secret.

  2. Track Argo CD application sync through the Hub ArgoCD UI from the nines menu. Confirm that the applications listed for your variant in Expected installations by variant are Healthy and Synced.

  3. Retrieve AAP admin credentials:

    $ ./pattern.sh scripts/ansible_get_credentials.sh
  4. For aap-with-ao or complete-aap-ao, retrieve Automation Orchestrator credentials:

    $ ./pattern.sh scripts/ao_get_credentials.sh

As part of installing with pattern.sh, HashiCorp Vault is installed. Running ./pattern.sh make install also calls the load-secrets target when secret loading is enabled. For more information, see Vault.

Verifying install variants

After sync, expect the following differences by variant.

minimal-aap

  • AAP instance with controller; automation hub and Lightspeed disabled.

  • No openshift-storage or Automation Orchestrator namespaces.

aap-with-hub

  • OpenShift Data Foundation and automation hub present; Lightspeed disabled.

  • RWX storage available for hub.

aap-with-ao

  • CloudNativePG and Automation Orchestrator present.

  • AAP instance remains without hub and Lightspeed.

  • PostgreSQL secrets for Orchestrator and Temporal loaded in Vault under the hub prefix.

complete-aap-ao

  • Automation hub, Lightspeed, OpenShift Data Foundation, CloudNativePG, and Automation Orchestrator all present.