123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531 |
- # This file is generated by Ansible. Changes will be lost.
- # Update templates under ansible/templates/
- ---
- apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- name: awxs.awx.ansible.com
- namespace: awx
- spec:
- group: awx.ansible.com
- names:
- kind: AWX
- listKind: AWXList
- plural: awxs
- singular: awx
- scope: Namespaced
- versions:
- - name: v1beta1
- served: true
- storage: true
- subresources:
- status: {}
- schema:
- openAPIV3Schema:
- description: Schema validation for the AWX CRD
- properties:
- spec:
- properties:
- deployment_type:
- description: Name of the deployment type
- type: string
- default: awx
- kind:
- description: Kind of the deployment type
- type: string
- default: AWX
- api_version:
- description: apiVersion of the deployment type
- type: string
- default: awx.ansible.com/v1beta1
- tower_task_privileged:
- description: If a privileged security context should be enabled
- type: boolean
- default: false
- tower_admin_user:
- description: Username to use for the admin account
- type: string
- default: admin
- tower_hostname:
- description: The hostname of the instance
- type: string
- tower_admin_email:
- description: The admin user email
- type: string
- tower_admin_password_secret:
- description: Secret where the admin password can be found
- type: string
- tower_postgres_configuration_secret:
- description: Secret where the database configuration can be found
- type: string
- tower_old_postgres_configuration_secret:
- description: Secret where the old database configuration can be found for data migration
- type: string
- tower_secret_key_secret:
- description: Secret where the secret key can be found
- type: string
- tower_broadcast_websocket_secret:
- description: Secret where the broadcast websocket secret can be found
- type: string
- tower_extra_volumes:
- description: Specify extra volumes to add to the application pod
- type: string
- tower_ingress_type:
- description: The ingress type to use to reach the deployed instance
- type: string
- enum:
- - none
- - Ingress
- - ingress
- - Route
- - route
- - LoadBalancer
- - loadbalancer
- - NodePort
- - nodeport
- tower_ingress_annotations:
- description: Annotations to add to the ingress
- type: string
- tower_ingress_tls_secret:
- description: Secret where the ingress TLS secret can be found
- type: string
- tower_loadbalancer_annotations:
- description: Annotations to add to the loadbalancer
- type: string
- tower_loadbalancer_protocol:
- description: Protocol to use for the loadbalancer
- type: string
- default: http
- enum:
- - http
- - https
- tower_loadbalancer_port:
- description: Port to use for the loadbalancer
- type: integer
- default: 80
- tower_route_host:
- description: The DNS to use to points to the instance
- type: string
- tower_route_tls_termination_mechanism:
- description: The secure TLS termination mechanism to use
- type: string
- default: Edge
- enum:
- - Edge
- - edge
- - Passthrough
- - passthrough
- tower_route_tls_secret:
- description: Secret where the TLS related credentials are stored
- type: string
- tower_node_selector:
- description: nodeSelector for the AWX pods
- type: string
- tower_tolerations:
- description: node tolerations for the AWX pods
- type: string
- tower_image:
- description: Registry path to the application container to use
- type: string
- tower_image_version:
- description: Application container image version to use
- type: string
- tower_ee_images:
- description: Registry path to the Execution Environment container to use
- type: array
- items:
- type: object
- properties:
- name:
- type: string
- image:
- type: string
- tower_image_pull_policy:
- description: The image pull policy
- type: string
- default: IfNotPresent
- enum:
- - Always
- - always
- - Never
- - never
- - IfNotPresent
- - ifnotpresent
- tower_image_pull_secret:
- description: The image pull secret
- type: string
- tower_task_resource_requirements:
- description: Resource requirements for the task container
- properties:
- requests:
- properties:
- cpu:
- type: string
- memory:
- type: string
- storage:
- type: string
- type: object
- limits:
- properties:
- cpu:
- type: string
- memory:
- type: string
- storage:
- type: string
- type: object
- type: object
- tower_web_resource_requirements:
- description: Resource requirements for the web container
- properties:
- requests:
- properties:
- cpu:
- type: string
- memory:
- type: string
- storage:
- type: string
- type: object
- limits:
- properties:
- cpu:
- type: string
- memory:
- type: string
- storage:
- type: string
- type: object
- type: object
- tower_replicas:
- description: Number of instance replicas
- type: integer
- default: 1
- format: int32
- tower_garbage_collect_secrets:
- description: Whether or not to remove secrets upon instance removal
- default: false
- type: boolean
- tower_create_preload_data:
- description: Whether or not to preload data upon Tower instance creation
- default: true
- type: boolean
- tower_task_args:
- type: array
- items:
- type: string
- tower_task_command:
- type: array
- items:
- type: string
- tower_web_args:
- type: array
- items:
- type: string
- tower_web_command:
- type: array
- items:
- type: string
- tower_task_extra_env:
- type: string
- tower_web_extra_env:
- type: string
- tower_ee_extra_volume_mounts:
- description: Specify volume mounts to be added to Execution container
- type: string
- tower_task_extra_volume_mounts:
- description: Specify volume mounts to be added to Task container
- type: string
- tower_web_extra_volume_mounts:
- description: Specify volume mounts to be added to the Web container
- type: string
- tower_redis_image:
- description: Registry path to the redis container to use
- type: string
- tower_redis_image_version:
- description: Redis container image version to use
- type: string
- tower_postgres_image:
- description: Registry path to the PostgreSQL container to use
- type: string
- tower_postgres_image_version:
- description: PostgreSQL container image version to use
- type: string
- tower_postgres_selector:
- description: nodeSelector for the Postgres pods
- type: string
- tower_postgres_tolerations:
- description: node tolerations for the Postgres pods
- type: string
- tower_postgres_storage_requirements:
- description: Storage requirements for the PostgreSQL container
- properties:
- requests:
- properties:
- storage:
- type: string
- type: object
- limits:
- properties:
- storage:
- type: string
- type: object
- type: object
- tower_postgres_resource_requirements:
- description: Resource requirements for the PostgreSQL container
- properties:
- requests:
- properties:
- cpu:
- type: string
- memory:
- type: string
- type: object
- limits:
- properties:
- cpu:
- type: string
- memory:
- type: string
- type: object
- type: object
- tower_postgres_storage_class:
- description: Storage class to use for the PostgreSQL PVC
- type: string
- tower_postgres_data_path:
- description: Path where the PostgreSQL data are located
- type: string
- ca_trust_bundle:
- description: Path where the trusted CA bundle is available
- type: string
- development_mode:
- description: If the deployment should be done in development mode
- type: boolean
- ldap_cacert_secret:
- description: Secret where can be found the LDAP trusted Certificate Authority Bundle
- type: string
- tower_projects_persistence:
- description: Whether or not the /var/lib/projects directory will be persistent
- default: false
- type: boolean
- tower_projects_use_existing_claim:
- description: Using existing PersistentVolumeClaim
- type: string
- enum:
- - _Yes_
- - _No_
- tower_projects_existing_claim:
- description: PersistentVolumeClaim to mount /var/lib/projects directory
- type: string
- tower_projects_storage_class:
- description: Storage class for the /var/lib/projects PersistentVolumeClaim
- type: string
- tower_projects_storage_size:
- description: Size for the /var/lib/projects PersistentVolumeClaim
- default: 8Gi
- type: string
- tower_projects_storage_access_mode:
- description: AccessMode for the /var/lib/projects PersistentVolumeClaim
- default: ReadWriteMany
- type: string
- extra_settings:
- description: Extra settings to specify for the API
- items:
- properties:
- setting:
- type: string
- value:
- type: string
- type: object
- type: array
- type: object
- status:
- properties:
- towerURL:
- description: URL to access the deployed instance
- type: string
- towerAdminUser:
- description: Admin user of the deployed instance
- type: string
- towerAdminPasswordSecret:
- description: Admin password of the deployed instance
- type: string
- towerMigratedFromSecret:
- description: The secret used for migrating an old Tower.
- type: string
- towerVersion:
- description: Version of the deployed instance
- type: string
- towerImage:
- description: URL of the image used for the deployed instance
- type: string
- conditions:
- description: The resulting conditions when a Service Telemetry is instantiated
- items:
- properties:
- status:
- type: string
- type:
- type: string
- reason:
- type: string
- lastTransitionTime:
- type: string
- type: object
- type: array
- type: object
- type: object
- ---
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- creationTimestamp: null
- name: awx-operator
- namespace: awx
- rules:
- - apiGroups:
- - route.openshift.io
- resources:
- - routes
- - routes/custom-host
- verbs:
- - '*'
- - apiGroups:
- - ""
- - "rbac.authorization.k8s.io"
- resources:
- - pods
- - services
- - services/finalizers
- - serviceaccounts
- - endpoints
- - persistentvolumeclaims
- - events
- - configmaps
- - secrets
- - roles
- - rolebindings
- verbs:
- - '*'
- - apiGroups:
- - apps
- - extensions
- resources:
- - deployments
- - daemonsets
- - replicasets
- - statefulsets
- - ingresses
- verbs:
- - '*'
- - apiGroups:
- - monitoring.coreos.com
- resources:
- - servicemonitors
- verbs:
- - get
- - create
- - apiGroups:
- - apps
- resourceNames:
- - awx-operator
- resources:
- - deployments/finalizers
- verbs:
- - update
- - apiGroups:
- - apps
- resources:
- - deployments/scale
- - statefulsets/scale
- verbs:
- - patch
- - apiGroups:
- - ""
- resources:
- - pods/exec
- verbs:
- - create
- - get
- - apiGroups:
- - apps
- resources:
- - replicasets
- verbs:
- - get
- - apiGroups:
- - awx.ansible.com
- resources:
- - '*'
- verbs:
- - '*'
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: awx-operator
- namespace: awx
- subjects:
- - kind: ServiceAccount
- name: awx-operator
- namespace: awx
- roleRef:
- kind: ClusterRole
- name: awx-operator
- apiGroup: rbac.authorization.k8s.io
- ---
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: awx-operator
- namespace: awx
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: awx-operator
- namespace: awx
- spec:
- replicas: 1
- selector:
- matchLabels:
- name: awx-operator
- template:
- metadata:
- labels:
- name: awx-operator
- spec:
- serviceAccountName: awx-operator
- containers:
- - name: awx-operator
- image: "quay.io/ansible/awx-operator:0.9.0"
- imagePullPolicy: "Always"
- volumeMounts:
- - mountPath: /tmp/ansible-operator/runner
- name: runner
- env:
- # Watch all namespaces (cluster-scoped).
- - name: WATCH_NAMESPACE
- value: ""
- - name: POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: OPERATOR_NAME
- value: awx-operator
- - name: ANSIBLE_GATHERING
- value: explicit
- livenessProbe:
- httpGet:
- path: /healthz
- port: 6789
- initialDelaySeconds: 15
- periodSeconds: 20
- volumes:
- - name: runner
- emptyDir: {}
|