Install with aapctl

Use the aapctl CLI to install automation orchestrator on OpenShift. The aapctl tool automates operator installation and automation orchestrator deployment.

Overview

Important:

aapctl is a Technology Preview feature. Technology Preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. Technology Preview features are not fully supported under Red Hat production SLA and may not be functionally complete. Red Hat does not recommend using Technology Preview features in production. For more information on the support scope for Technology Preview features, see Technology Preview Features Support Scope.

Subcommand names

The aapctl install command accepts the targets ao, aap-with-ao, and aap. For the full list of targets and aliases, see aapctl command reference.

All examples in this guide use the short form. The aliases produce identical behavior.

Prerequisites

The aapctl binary is downloaded and installed on your workstation. See Download aapctl for the complete procedure.

Preflight checks

Before you install, run preflight checks to verify cluster readiness:

$ aapctl preflight aap-with-ao

The preflight command verifies that your cluster connection is working, the OpenShift Container Platform version meets the minimum requirement (4.14 or later), and the cluster has sufficient nodes available.

Install Automation Orchestrator independently

Install automation orchestrator with your own PostgreSQL database.

Before you run this command, complete the steps in Prepare the installation environment to create the namespace and the two database Secrets (backend and temporal). The temporal Secret is also used for the temporal_visibility database.

$ aapctl install ao

This command creates 4 resources:

Table 1. Resources created by aapctl install ao
Resource Kind Namespace Description
automation-orchestrator Namespace -- Namespace for automation orchestrator (skipped if it already exists)
automation-orchestrator-operator OperatorGroup automation-orchestrator OLM OperatorGroup (AllNamespaces scope)
automation-orchestrator-operator Subscription automation-orchestrator Installs the automation orchestrator operator
automation-orchestrator AutomationOrchestrator automation-orchestrator Automation orchestrator instance

The aapctl tool configures the OperatorGroup with AllNamespaces scope (cluster-scoped). This is the only supported configuration for the automation orchestrator operator.

CloudNativePG resources

To provision PostgreSQL with CloudNativePG instead of providing your own instance, add the --set flag:

$ aapctl install ao --set cloudnative-pg-operator.enabled=true
Important:

CloudNativePG is not supported by Red Hat. See Understand aapctl deployment models for the supported architecture.

This flag adds 10 resources to the installation (14 total):

Table 2. Additional CloudNativePG resources
Resource Kind Namespace Description
cloudnative-pg Namespace -- Namespace for the CloudNativePG operator
cloudnative-pg OperatorGroup cloudnative-pg OLM OperatorGroup
cloudnative-pg Subscription cloudnative-pg Installs the CloudNativePG operator
orchestrator-postgres-secret Secret automation-orchestrator Backend database credentials
temporal-postgres-secret Secret automation-orchestrator Temporal database credentials
temporal-visibility-postgres-secret Secret automation-orchestrator Temporal visibility database credentials
orchestrator-postgres Cluster (CloudNativePG) automation-orchestrator PostgreSQL cluster
orchestrator Database (CloudNativePG) automation-orchestrator Backend database
temporal Database (CloudNativePG) automation-orchestrator Temporal database
temporal-visibility Database (CloudNativePG) automation-orchestrator Temporal visibility database

Ansible Automation Platform with automation orchestrator

Install the full Ansible Automation Platform Plus stack, which includes both Ansible Automation Platform and automation orchestrator:

$ aapctl install aap-with-ao

This command creates 8 resources. aapctl installs the 4 Ansible Automation Platform resources first, then the 4 automation orchestrator resources from install ao. To also provision PostgreSQL with CloudNativePG, add --set cloudnative-pg-operator.enabled=true. See CloudNativePG resources.

Table 3. Ansible Automation Platform resources created by aapctl install aap-with-ao
Resource Kind Namespace Description
aap Namespace -- Namespace for Ansible Automation Platform (skipped if it already exists)
ansible-automation-platform-operator OperatorGroup aap OLM OperatorGroup (single-namespace scope)
ansible-automation-platform-operator Subscription aap Installs the Ansible Automation Platform operator
aap AnsibleAutomationPlatform aap Ansible Automation Platform instance

Ansible Automation Platform only

Install only the Ansible Automation Platform operator and instance without automation orchestrator:

$ aapctl install aap

This command creates 4 resources:

Table 4. Resources created by aapctl install aap
Resource Kind Namespace Description
aap Namespace -- Namespace for Ansible Automation Platform (skipped if it already exists)
ansible-automation-platform-operator OperatorGroup aap OLM OperatorGroup (single-namespace scope)
ansible-automation-platform-operator Subscription aap Installs the Ansible Automation Platform operator
aap AnsibleAutomationPlatform aap Ansible Automation Platform instance

Manifest preview

Use --dry-run --output yaml to preview the manifests that aapctl generates without applying them to the cluster:

$ aapctl install ao --dry-run --output yaml

Running dry-run multiple times produces the same output when using the default configuration. When CloudNativePG is enabled (cloudnative-pg-operator.enabled=true), the output includes randomly generated database passwords that differ between runs. You can redirect the output to a file for review or version control:

$ aapctl install aap-with-ao --dry-run --output yaml > aap-with-ao-manifests.yaml

Additional flags

For the complete list of flags for install and all other aapctl commands, see aapctl command reference.

You can safely re-run any aapctl install command. If a resource already exists on the cluster, the command skips it and continues with the remaining resources. To update existing resources instead of skipping them, pass the --force flag.

Understand aapctl deployment models

Review the supported deployment architecture and the alternative CloudNativePG option before you install with aapctl.

Important:

aapctl is a Technology Preview feature. Technology Preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. Technology Preview features are not fully supported under Red Hat production SLA and may not be functionally complete. Red Hat does not recommend using Technology Preview features in production. For more information, see Technology Preview Features Support Scope in the Additional resources section.

Supported production deployment

For production environments, Red Hat supports the following deployment architecture:

  • PostgreSQL: Provide your own PostgreSQL instance. You are responsible for database provisioning, backups, and high availability.
  • Automation orchestrator operator: Installed from the redhat-operators catalog source on OpenShift Container Platform.
  • OpenShift Container Platform: A supported version.

All aapctl installation commands follow this supported architecture by default.

Alternative: Provision PostgreSQL with CloudNativePG

CloudNativePG is a Kubernetes operator that manages PostgreSQL clusters natively on Kubernetes. If you do not have an existing PostgreSQL provider, you can use aapctl to provision PostgreSQL with CloudNativePG.

Important:

CloudNativePG deployments are provided for convenience and prototyping. Red Hat does not provide support for CloudNativePG. For CloudNativePG support, contact the official CloudNativePG support partners.

To enable CloudNativePG, add --set cloudnative-pg-operator.enabled=true to any aapctl install command.