Install with aapctl
Use the aapctl CLI to install automation orchestrator on OpenShift. The aapctl tool automates operator installation and automation orchestrator deployment.
Overview
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-aoThe 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 aoThis command creates 4 resources:
| 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=trueCloudNativePG 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):
| 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-aoThis 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.
| 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 aapThis command creates 4 resources:
| 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 yamlRunning 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.yamlAdditional 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.
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-operatorscatalog 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.
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.