summaryrefslogtreecommitdiffstats
path: root/installer/openshift/templates
diff options
context:
space:
mode:
Diffstat (limited to 'installer/openshift/templates')
-rw-r--r--installer/openshift/templates/configmap.yml.j285
-rw-r--r--installer/openshift/templates/deployment.yml.j276
2 files changed, 161 insertions, 0 deletions
diff --git a/installer/openshift/templates/configmap.yml.j2 b/installer/openshift/templates/configmap.yml.j2
new file mode 100644
index 0000000000..da91d9e706
--- /dev/null
+++ b/installer/openshift/templates/configmap.yml.j2
@@ -0,0 +1,85 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: awx-config
+ namespace: {{ awx_openshift_project }}
+data:
+ secret_key: {{ awx_secret_key }}
+ awx_settings: |
+ import os
+ import socket
+ ADMINS = ()
+
+ # Container environments don't like chroots
+ AWX_PROOT_ENABLED = False
+
+ #Autoprovisioning should replace this
+ CLUSTER_HOST_ID = socket.gethostname()
+ SYSTEM_UUID = '00000000-0000-0000-0000-000000000000'
+ CELERY_QUEUES += (Queue(CLUSTER_HOST_ID, Exchange(CLUSTER_HOST_ID), routing_key=CLUSTER_HOST_ID),)
+ CELERY_ROUTES['awx.main.tasks.cluster_node_heartbeat'] = {'queue': CLUSTER_HOST_ID, 'routing_key': CLUSTER_HOST_ID}
+ CELERY_ROUTES['awx.main.tasks.purge_old_stdout_files'] = {'queue': CLUSTER_HOST_ID, 'routing_key': CLUSTER_HOST_ID}
+
+ STATIC_ROOT = '/var/lib/awx/public/static'
+ PROJECTS_ROOT = '/var/lib/awx/projects'
+ JOBOUTPUT_ROOT = '/var/lib/awx/job_status'
+ SECRET_KEY = file('/etc/tower/SECRET_KEY', 'rb').read().strip()
+ ALLOWED_HOSTS = ['*']
+ INTERNAL_API_URL = 'http://127.0.0.1:8052'
+ AWX_TASK_ENV['HOME'] = '/var/lib/awx'
+ SERVER_EMAIL = 'root@localhost'
+ DEFAULT_FROM_EMAIL = 'webmaster@localhost'
+ EMAIL_SUBJECT_PREFIX = '[AWX] '
+ EMAIL_HOST = 'localhost'
+ EMAIL_PORT = 25
+ EMAIL_HOST_USER = ''
+ EMAIL_HOST_PASSWORD = ''
+ EMAIL_USE_TLS = False
+ LOGGING['loggers']['django.request']['handlers'] = ['console']
+ LOGGING['loggers']['rest_framework.request']['handlers'] = ['console']
+ LOGGING['loggers']['awx']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.commands.run_callback_receiver']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.commands.inventory_import']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.tasks']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.scheduler']['handlers'] = ['console']
+ LOGGING['loggers']['django_auth_ldap']['handlers'] = ['console']
+ LOGGING['loggers']['social']['handlers'] = ['console']
+ LOGGING['loggers']['system_tracking_migrations']['handlers'] = ['console']
+ LOGGING['loggers']['rbac_migrations']['handlers'] = ['console']
+ LOGGING['loggers']['awx.isolated.manager.playbooks']['handlers'] = ['console']
+ LOGGING['handlers']['callback_receiver'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['fact_receiver'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['task_system'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['tower_warnings'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['rbac_migrations'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['system_tracking_migrations'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['management_playbooks'] = {'class': 'logging.NullHandler'}
+
+ DATABASES = {
+ 'default': {
+ 'ATOMIC_REQUESTS': True,
+ 'ENGINE': 'transaction_hooks.backends.postgresql_psycopg2',
+ 'NAME': "{{ pg_database }}",
+ 'USER': "{{ pg_username }}",
+ 'PASSWORD': "{{ pg_password }}",
+ 'HOST': "{{ pg_hostname|default('postgresql') }}",
+ 'PORT': "{{ pg_port }}",
+ }
+ }
+ BROKER_URL = 'amqp://{}:{}@{}:{}/{}'.format(
+ "awx",
+ "abcdefg",
+ "localhost",
+ "5672",
+ "awx")
+ CHANNEL_LAYERS = {
+ 'default': {'BACKEND': 'asgi_amqp.AMQPChannelLayer',
+ 'ROUTING': 'awx.main.routing.channel_routing',
+ 'CONFIG': {'url': BROKER_URL}}
+ }
+ CACHES = {
+ 'default': {
+ 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
+ 'LOCATION': '{}:{}'.format("localhost", "11211")
+ },
+ }
diff --git a/installer/openshift/templates/deployment.yml.j2 b/installer/openshift/templates/deployment.yml.j2
new file mode 100644
index 0000000000..b6de8bb729
--- /dev/null
+++ b/installer/openshift/templates/deployment.yml.j2
@@ -0,0 +1,76 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: awx
+ namespace: {{ awx_openshift_project }}
+spec:
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ name: awx-web-deploy
+ service: django
+ spec:
+ containers:
+ - name: awx-web
+ image: {{ awx_web_openshift_image }}
+ ports:
+ - containerPort: 8052
+ volumeMounts:
+ - mountPath: /etc/tower
+ name: awx-application-config
+ - name: awx-celery
+ image: {{ awx_task_openshift_image }}
+ volumeMounts:
+ - mountPath: /etc/tower
+ name: awx-application-config
+ env:
+ - name: DATABASE_USER
+ value: {{ pg_username }}
+ - name: DATABASE_NAME
+ value: {{ pg_database }}
+ - name: DATABASE_HOST
+ value: {{ pg_hostname|default('postgresql') }}
+ - name: DATABASE_PASSWORD
+ value: {{ pg_password }}
+ - name: awx-rabbit
+ image: rabbitmq:3
+ env:
+ - name: RABBITMQ_ERLANG_COOKIE
+ value: secretb
+ - name: RABBITMQ_NODENAME
+ value: rabbitmq
+ - name: RABBITMQ_DEFAULT_USER
+ value: awx
+ - name: RABBITMQ_DEFAULT_PASS
+ value: abcdefg
+ - name: RABBITMQ_DEFAULT_VHOST
+ value: awx
+ - name: awx-memcached
+ image: memcached
+ volumes:
+ - name: awx-application-config
+ configMap:
+ name: awx-config
+ items:
+ - key: awx_settings
+ path: settings.py
+ - key: secret_key
+ path: SECRET_KEY
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: awx-web-svc
+ namespace: {{ awx_openshift_project }}
+ labels:
+ name: awx-web-svc
+spec:
+ type: "NodePort"
+ ports:
+ - name: http
+ port: 8052
+ nodePort: {{ awx_node_port }}
+ selector:
+ name: awx-web-deploy