mirror of
https://github.com/ansible/awx-operator.git
synced 2026-03-26 21:33:14 +00:00
508 lines
17 KiB
YAML
508 lines
17 KiB
YAML
# 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: awx-operator
|
|
namespace: default
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: awx-operator
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: awx-operator
|
|
namespace: default
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: awx-operator
|
|
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: {}
|