AnsibleAutomationPlatform [aap.ansible.com/v1alpha1]
The AnsibleAutomationPlatform custom resource is the top-level resource for deploying and managing Ansible Automation Platform on OpenShift Container Platform. It configures all components, including automation controller, automation hub, Event-Driven Ansible, and the platform gateway.
Description Copy linkLink copied!
| API Group | aap.ansible.com |
| API Version | v1alpha1 |
| Kind | AnsibleAutomationPlatform |
| Scope | Namespaced |
Specification Copy linkLink copied!
The top-level spec fields for the AnsibleAutomationPlatform custom resource.
| Field | Type | Description | Default |
|---|---|---|---|
no_log |
Boolean | Development setting to enable additional logging output. | false |
image_pull_policy |
String | Image pull policy for all platform pods. Options:Always,Never,IfNotPresent. |
IfNotPresent |
bundle_cacert_secret |
String | Name of a Kubernetes secret containing custom CA certificates to trust. | - |
redis_mode |
String | Redis deployment mode. Set tocluster to enable Redis cluster mode. |
- |
api |
Object | Configuration for the platform gateway API pods. See spec.api | - |
redis |
Object | Configuration for the platform Redis pods. See spec.redis | - |
database |
Object | Configuration for the platform database. See spec.database | - |
controller |
Object | Configuration for the automation controller component. See spec.controller. | - |
eda |
Object | Configuration for the Event-Driven Ansible component. See spec.eda. | - |
hub |
Object | Configuration for the automation hub component. See spec.hub. | - |
lightspeed |
Object | Configuration for the Ansible Lightspeed component. See spec.lightspeed. | - |
spec.api Copy linkLink copied!
Configuration for the platform gateway API pods.
| Field | Type | Description | Default |
|---|---|---|---|
replicas |
Integer | Number of gateway API pod replicas. | 1 |
resource_requirements |
Object | Kubernetes resource requests and limits for the gateway API pods. See Resource requirements object. | See defaults table |
spec.redis Copy linkLink copied!
Configuration for the platform Redis pods.
| Field | Type | Description | Default |
|---|---|---|---|
replicas |
Integer | Number of Redis pod replicas. | 1 |
resource_requirements |
Object | Kubernetes resource requests and limits for the Redis pods. See Resource requirements object. | See defaults table |
spec.database Copy linkLink copied!
Configuration for the platform database.
| Field | Type | Description | Default |
|---|---|---|---|
database_secret |
String | Name of a Kubernetes secret containing external database connection details. Required when using an external database instead of the operator-deployed database. | - |
resource_requirements |
Object | Kubernetes resource requests and limits for the operator-deployed database pod. Ignored when using an external database. See Resource requirements object. | See defaults table |
spec.controller Copy linkLink copied!
Configuration for the automation controller component.
| Field | Type | Description | Default |
|---|---|---|---|
disabled |
Boolean | Set totrue to disable the automation controller component. |
false |
name |
String | Name of an existingAutomationController custom resource to register with the platform gateway. |
- |
image_pull_policy |
String | Image pull policy for automation controller pods. Options:Always,Never,IfNotPresent. |
IfNotPresent |
postgres_configuration_secret |
String | Name of a Kubernetes secret containing external PostgreSQL connection details for the automation controller database. | - |
route_tls_termination_mechanism |
String | TLS termination mechanism for the automation controller route. | - |
uwsgi_processes |
Integer | Number of uWSGI worker processes for the web pod. | 2 |
extra_settings |
Array | List of additional automation controller settings as name-value pairs. | - |
task_resource_requirements |
Object | Kubernetes resource requests and limits for the task pod. See Resource requirements object. | See defaults table |
web_resource_requirements |
Object | Kubernetes resource requests and limits for the web pod. See Resource requirements object. | See defaults table |
ee_resource_requirements |
Object | Kubernetes resource requests and limits for execution environment pods. See Resource requirements object. | See defaults table |
redis_resource_requirements |
Object | Kubernetes resource requests and limits for the automation controller Redis pod. See Resource requirements object. | See defaults table |
rsyslog_resource_requirements |
Object | Kubernetes resource requests and limits for the rsyslog pod. See Resource requirements object. | See defaults table |
init_container_resource_requirements |
Object | Kubernetes resource requests and limits for init containers. See Resource requirements object. | See defaults table |
spec.eda Copy linkLink copied!
Configuration for the Event-Driven Ansible component.
| Field | Type | Description | Default |
|---|---|---|---|
disabled |
Boolean | Set to true to disable the Event-Driven Ansible component. |
false |
name |
String | Name of an existing EDA custom resource to register with the platform gateway. |
- |
automation_server_url |
String | URL of the automation controller instance for Event-Driven Ansible to connect to. | - |
automation_server_ssl_verify |
String | Enable or disable SSL verification for the automation controller connection. Set to no to disable. |
yes |
database |
Object | Database configuration. Contain sdatabase_secret (String) specifying the name of a Kubernetes secret with external database connection details. |
- |
api |
Object | Event-Driven Ansible API pod configuration. Contains replicas (Integer) andresource_requirements (Object). |
1 replica |
ui |
Object | Event-Driven Ansible UI pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
scheduler |
Object | Event-Driven Ansible scheduler pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
default_worker |
Object | Event-Driven Ansible default worker pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
activation_worker |
Object | Event-Driven Ansible activation worker pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
event_stream |
Object | Event-Driven Ansible event stream pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
worker |
Object | Event-Driven Ansible worker pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
2 replicas |
spec.hub Copy linkLink copied!
Configuration for the automation hub component.
| Field | Type | Description | Default |
|---|---|---|---|
disabled |
Boolean | Set totrue to disable the automation hub component. |
false |
name |
String | Name of an existingAutomationHub custom resource to register with the platform gateway. |
- |
postgres_configuration_secret |
String | Name of a Kubernetes secret containing external PostgreSQL connection details for the automation hub database. | - |
storage_type |
String | Storage backend type for automation hub content. Options:file,S3,azure. |
- |
file_storage_storage_class |
String | Kubernetes storage class for file-based storage. Must supportReadWriteMany access mode. Required whenstorage_type isfile. |
- |
file_storage_size |
String | Size of the persistent volume for file-based storage, for example50Gi. Required whenstorage_type isfile. |
- |
object_storage_s3_secret |
String | Name of a Kubernetes secret containing S3-compatible object storage credentials. Required whenstorage_type isS3. |
- |
object_storage_azure_secret |
String | Name of a Kubernetes secret containing Azure Blob Storage credentials. Required whenstorage_type isazure. |
- |
image_pull_policy |
String | Image pull policy for automation hub pods. Options:Always,Never,IfNotPresent. |
IfNotPresent |
pulp_settings |
Object | Custom Pulp configuration settings as key-value pairs, for exampleMAX_PAGE_SIZE orcache_enabled. |
- |
api |
Object | Automation hub API pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
content |
Object | Automation hub content pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
worker |
Object | Automation hub worker pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
web |
Object | Automation hub web pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
redis |
Object | Automation hub Redis pod configuration. Containsreplicas (Integer) andresource_requirements (Object). |
1 replica |
spec.lightspeed Copy linkLink copied!
Configuration for the Ansible Lightspeed component.
| Field | Type | Description | Default |
|---|---|---|---|
disabled |
Boolean | Set totrue to disable the Ansible Lightspeed component. |
true |
database |
Object | Database configuration. Containsdatabase_secret (String) specifying the name of a Kubernetes secret with external database connection details. |
- |
auth_config_secret_name |
String | Name of a Kubernetes secret containing authentication configuration for Ansible Lightspeed. | - |
model_config_secret_name |
String | Name of a Kubernetes secret containing model configuration for Ansible Lightspeed. | - |
Resource requirements object Copy linkLink copied!
All resource_requirements fields follow the standard Kubernetes resource specification pattern with requests and limits.
| Field | Type | Description | Default |
|---|---|---|---|
requests.cpu |
String | Minimum CPU allocation for the pod, for example100m. |
Varies by component |
requests.memory |
String | Minimum memory allocation for the pod, for example256Mi. |
Varies by component |
limits.cpu |
String | Maximum CPU the pod can consume, for example500m. |
Varies by component |
limits.memory |
String | Maximum memory the pod can consume, for example1000Mi. |
Varies by component |
Default resource requirements Copy linkLink copied!
The following table lists the default resource requests and limits for each component.
| Component | CPU request | Memory request | CPU limit | Memory limit |
|---|---|---|---|---|
api (gateway) |
100m | 256Mi | 500m | 1000Mi |
redis (platform) |
100m | 256Mi | 500m | 500Mi |
database |
100m | 256Mi | 500m | 800Mi |
controller.task |
100m | 150Mi | 1000m | 1200Mi |
controller.web |
100m | 200Mi | 200m | 1600Mi |
controller.ee |
100m | 64Mi | 1000m | 500Mi |
controller.redis |
50m | 64Mi | 100m | 200Mi |
controller.rsyslog |
100m | 128Mi | 500m | 250Mi |
controller.init |
100m | 128Mi | 500m | 200Mi |
eda.api |
50m | 350Mi | 500m | 400Mi |
eda.ui |
25m | 64Mi | 500m | 150Mi |
eda.scheduler |
50m | 200Mi | 500m | 250Mi |
eda.worker |
25m | 200Mi | 250m | 250Mi |
eda.default_worker |
25m | 200Mi | 500m | 400Mi |
eda.activation_worker |
25m | 150Mi | 500m | 400Mi |
eda.event_stream |
25m | 150Mi | 100m | 300Mi |
hub.api |
150m | 256Mi | 800m | 500Mi |
hub.content |
150m | 256Mi | 800m | 1200Mi |
hub.worker |
150m | 256Mi | 800m | 400Mi |
hub.web |
100m | 256Mi | 500m | 300Mi |
hub.redis |
100m | 250Mi | 300m | 400Mi |
Example custom resource Copy linkLink copied!
The following example shows a basic AnsibleAutomationPlatform custom resource with an external database, S3 storage for automation hub, and Event-Driven Ansible SSL verification disabled:
apiVersion: aap.ansible.com/v1alpha1
kind: AnsibleAutomationPlatform
metadata:
name: aap
spec:
database:
database_secret: postgres-config-gateway
eda:
automation_server_ssl_verify: 'no'
hub:
storage_type: 's3'
object_storage_s3_secret: 'example-galaxy-object-storage'