--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: creationTimestamp: null name: tower-operator rules: - apiGroups: - route.openshift.io resources: - routes verbs: - '*' - apiGroups: - "" resources: - pods - services - services/finalizers - endpoints - persistentvolumeclaims - events - configmaps - secrets verbs: - '*' - apiGroups: - apps - extensions resources: - deployments - daemonsets - replicasets - statefulsets - ingresses verbs: - '*' - apiGroups: - monitoring.coreos.com resources: - servicemonitors verbs: - get - create - apiGroups: - apps resourceNames: - tower-operator resources: - deployments/finalizers verbs: - update - apiGroups: - "" resources: - pods/exec verbs: - create - get - apiGroups: - apps resources: - replicasets verbs: - get - apiGroups: - tower.ansible.com resources: - '*' verbs: - '*' --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: tower-operator subjects: - kind: ServiceAccount name: tower-operator namespace: default roleRef: kind: ClusterRole name: tower-operator apiGroup: rbac.authorization.k8s.io --- apiVersion: v1 kind: ServiceAccount metadata: name: tower-operator namespace: default --- apiVersion: apps/v1 kind: Deployment metadata: name: tower-operator spec: replicas: 1 selector: matchLabels: name: tower-operator template: metadata: labels: name: tower-operator spec: serviceAccountName: tower-operator containers: - name: ansible command: - /usr/local/bin/ao-logs - /tmp/ansible-operator/runner - stdout image: "ansible/tower-operator:0.4.0" imagePullPolicy: "Always" volumeMounts: - mountPath: /tmp/ansible-operator/runner name: runner readOnly: true - name: operator image: "ansible/tower-operator:0.4.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: tower-operator volumes: - name: runner emptyDir: {} --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: towers.tower.ansible.com spec: group: tower.ansible.com names: kind: Tower listKind: TowerList plural: towers singular: tower scope: Namespaced subresources: status: {} version: v1beta1 versions: - name: v1beta1 served: true storage: true validation: openAPIV3Schema: description: Schema validation for the Tower CRD type: object properties: spec: type: object properties: deployment_type: type: string pattern: "^(tower|awx)(-)?.*$" required: - deployment_type