Issue #1: Add tower and task deployments, along with basic Tower config.

This commit is contained in:
Jeff Geerling
2019-11-05 18:24:52 -06:00
parent da675b7b59
commit 94ce7b49a2
7 changed files with 119 additions and 8 deletions

View File

@@ -4,8 +4,9 @@ metadata:
name: example-tower name: example-tower
namespace: example-tower namespace: example-tower
spec: spec:
tower_task_image: awx_task:1.0.0.8 tower_secret_key: aabbcc
tower_web_image: awx_web:1.0.0.8 tower_task_image: ansible/awx_task:9.0.1
tower_web_image: ansible/awx_web:9.0.1
tower_memcached_image: memcached:alpine tower_memcached_image: memcached:alpine
tower_rabbitmq_image: rabbitmq:3 tower_rabbitmq_image: rabbitmq:3
tower_postgres_pass: awxpass tower_postgres_pass: awxpass

View File

@@ -41,8 +41,8 @@ spec:
fieldPath: metadata.name fieldPath: metadata.name
- name: OPERATOR_NAME - name: OPERATOR_NAME
value: tower-operator value: tower-operator
# - name: ANSIBLE_VERBOSITY - name: ANSIBLE_VERBOSITY
# value: '4' value: '3'
volumes: volumes:
- name: runner - name: runner
emptyDir: {} emptyDir: {}

View File

@@ -15,9 +15,9 @@
- app=tower - app=tower
register: tower_pods register: tower_pods
- name: Verify there are two tower pods - name: Verify there is one tower pod
assert: assert:
that: '{{ (tower_pods.resources | length) == 2 }}' that: '{{ (tower_pods.resources | length) == 1 }}'
- name: Verify tower functionality - name: Verify tower functionality
hosts: k8s hosts: k8s

View File

@@ -1,6 +1,7 @@
--- ---
tower_task_image: awx_task:1.0.0.8 tower_secret_key: aabbcc
tower_web_image: awx_web:1.0.0.8 tower_task_image: ansible/awx_task:9.0.1
tower_web_image: ansible/awx_web:9.0.1
tower_memcached_image: memcached:alpine tower_memcached_image: memcached:alpine
tower_rabbitmq_image: rabbitmq:3 tower_rabbitmq_image: rabbitmq:3
tower_postgres_pass: awxpass tower_postgres_pass: awxpass

View File

@@ -6,3 +6,5 @@
- tower_memcached.yaml.j2 - tower_memcached.yaml.j2
- tower_postgres.yaml.j2 - tower_postgres.yaml.j2
- tower_rabbitmq.yaml.j2 - tower_rabbitmq.yaml.j2
- tower.yaml.j2
- tower_task.yaml.j2

View File

@@ -0,0 +1,80 @@
# Tower Secret.
---
apiVersion: v1
kind: Secret
metadata:
name: '{{ meta.name }}-tower-secret'
namespace: {{ meta.namespace }}
data:
SECRET_KEY: {{ tower_secret_key | b64encode }}
# Tower Web ConfigMap.
---
apiVersion: v1
kind: ConfigMap
metadata:
name: '{{ meta.name }}-tower-configmap'
namespace: {{ meta.namespace }}
labels:
app: tower
data:
# SECRET_KEY: {{ tower_secret_key }}
DATABASE_USER: awx
DATABASE_PASSWORD: awxpass
DATABASE_NAME: awx
DATABASE_PORT: '5432'
DATABASE_HOST: {{ meta.name }}-postgres.{{ meta.namespace }}.svc.cluster.local
RABBITMQ_USER: guest
RABBITMQ_PASSWORD: guest
RABBITMQ_HOST: {{ meta.name }}-rabbitmq.{{ meta.namespace }}.svc.cluster.local
RABBITMQ_PORT: '5672'
RABBITMQ_VHOST: awx
MEMCACHED_HOST: {{ meta.name }}-memcached.{{ meta.namespace }}.svc.cluster.local
MEMCACHED_PORT: '11211'
# Tower Web Deployment.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: '{{ meta.name }}-tower'
namespace: {{ meta.namespace }}
labels:
app: tower
spec:
replicas: 1
selector:
matchLabels:
app: tower
template:
metadata:
labels:
app: tower
spec:
containers:
- image: '{{ tower_web_image }}'
name: tower
envFrom:
- configMapRef:
name: '{{ meta.name }}-tower-configmap'
- secretRef:
name: '{{ meta.name }}-tower-secret'
ports:
- containerPort: 80
# Tower Web Service.
---
apiVersion: v1
kind: Service
metadata:
name: '{{ meta.name }}-tower'
namespace: '{{ meta.namespace }}'
labels:
app: tower
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: tower

View File

@@ -0,0 +1,27 @@
# Tower Task Deployment.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: '{{ meta.name }}-tower-task'
namespace: {{ meta.namespace }}
labels:
app: tower-task
spec:
replicas: 1
selector:
matchLabels:
app: tower-task
template:
metadata:
labels:
app: tower-task
spec:
containers:
- image: '{{ tower_task_image }}'
name: tower-task
envFrom:
- configMapRef:
name: '{{ meta.name }}-tower-configmap'
- secretRef:
name: '{{ meta.name }}-tower-secret'