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

Expand
API Group aap.ansible.com
API Version v1alpha1
Kind AnsibleAutomationPlatform
Scope Namespaced

Specification

The top-level spec fields for the AnsibleAutomationPlatform custom resource.

Expand
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

Configuration for the platform gateway API pods.

Expand
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

Configuration for the platform Redis pods.

Expand
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

Configuration for the platform database.

Expand
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

Configuration for the automation controller component.

Expand
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

Configuration for the Event-Driven Ansible component.

Expand
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

Configuration for the automation hub component.

Expand
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

Configuration for the Ansible Lightspeed component.

Expand
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

All resource_requirements fields follow the standard Kubernetes resource specification pattern with requests and limits.

Expand
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

The following table lists the default resource requests and limits for each component.

Expand
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

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'