From 9cc5dca6fce41d5783f369bf91f9604bb8533b6f Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Sun, 20 Jan 2019 07:16:03 +0100 Subject: [PATCH] Add initial CAIAPI openshift objects Signed-off-by: Patrick Uiterwijk --- playbooks/openshift-apps/caiapi_noggin.yml | 49 +++++++++++++++++ .../files/deploymentconfig_caiapi.yml | 53 +++++++++++++++++++ .../caiapi_noggin/files/service_caiapi.yml | 15 ++++++ .../templates/buildconfig_caiapi.yml | 22 ++++++++ .../templates/configmap_caiapi.yml | 10 ++++ 5 files changed, 149 insertions(+) create mode 100644 playbooks/openshift-apps/caiapi_noggin.yml create mode 100644 roles/openshift-apps/caiapi_noggin/files/deploymentconfig_caiapi.yml create mode 100644 roles/openshift-apps/caiapi_noggin/files/service_caiapi.yml create mode 100644 roles/openshift-apps/caiapi_noggin/templates/buildconfig_caiapi.yml create mode 100644 roles/openshift-apps/caiapi_noggin/templates/configmap_caiapi.yml diff --git a/playbooks/openshift-apps/caiapi_noggin.yml b/playbooks/openshift-apps/caiapi_noggin.yml new file mode 100644 index 0000000000..b9e7220083 --- /dev/null +++ b/playbooks/openshift-apps/caiapi_noggin.yml @@ -0,0 +1,49 @@ +- name: make the app be real + hosts: os-masters-stg[0] + user: root + gather_facts: False + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "/srv/private/ansible/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + roles: + - role: openshift/project + app: caiapi_noggin + description: CAIAPI and Noggin + appowners: + - puiterwijk + - role: openshift/imagestream + app: caiapi_noggin + imagename: caiapi + - role: openshift/imagestream + app: caiapi_noggin + imagename: noggin + - role: openshift/object + app: caiapi_noggin + objectname: buildconfig_caiapi.yml + template: buildconfig_caiapi.yml + - role: openshift/start-build + app: caiapi_noggin + buildname: caiapi-build + - role: openshift/object + app: caiapi_noggin + template: configmap_caiapi.yml + objectname: configmap_caiapi.yml + - role: openshift/object + app: caiapi_noggin + file: service_caiapi.yml + objectname: service_caiapi.yml + - role: openshift/route + app: caiapi_noggin + routename: caiapi + host: "caiapi{{ env_suffix }}.fedoraproject.org" + servicename: caiapi + - role: openshift/object + app: caiapi_noggin + file: deploymentconfig_caiapi.yml + objectname: deploymentconfig_caiapi.yml + - role: openshift/rollout + app: caiapi_noggin + dcname: caiapi diff --git a/roles/openshift-apps/caiapi_noggin/files/deploymentconfig_caiapi.yml b/roles/openshift-apps/caiapi_noggin/files/deploymentconfig_caiapi.yml new file mode 100644 index 0000000000..cac049080f --- /dev/null +++ b/roles/openshift-apps/caiapi_noggin/files/deploymentconfig_caiapi.yml @@ -0,0 +1,53 @@ +apiVersion: v1 +kind: DeploymentConfig +metadata: + labels: + app: caiapi_noggin + service: caiapi + name: caiapi +spec: + replicas: 1 + selector: + deploymentconfig: caiapi + strategy: + activeDeadlineSeconds: 21600 + recreateParams: + timeoutSeconds: 600 + resources: {} + type: Recreate + template: + metadata: + labels: + app: caiapi_noggin + deploymentconfig: caiapi + spec: + containers: + - name: caiapi + image: caiapi_noggin/caiapi:latest + env: + - name: CAIAPI_SETTINGS + value: /etc/caiapi/caiapi.cfg + ports: + - containerPort: 8080 + volumeMounts: + - name: config-volume + mountPath: /etc/caiapi + readOnly: true + readinessProbe: + timeoutSeconds: 1 + initialDelaySeconds: 5 + httpGet: + path: / + port: 8080 + livenessProbe: + timeoutSeconds: 1 + initialDelaySeconds: 30 + httpGet: + path: / + port: 8080 + volumes: + - name: config-volume + configMap: + name: caiapi-config + triggers: + - type: ConfigChange diff --git a/roles/openshift-apps/caiapi_noggin/files/service_caiapi.yml b/roles/openshift-apps/caiapi_noggin/files/service_caiapi.yml new file mode 100644 index 0000000000..6d49e45245 --- /dev/null +++ b/roles/openshift-apps/caiapi_noggin/files/service_caiapi.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: caiapi + labels: + app: caiapi_noggin + service: caiapi + namespace: caiapi_noggin +spec: + ports: + - name: web + port: 8080 + targetPort: 8080 + selector: + deploymentconfig: caiapi diff --git a/roles/openshift-apps/caiapi_noggin/templates/buildconfig_caiapi.yml b/roles/openshift-apps/caiapi_noggin/templates/buildconfig_caiapi.yml new file mode 100644 index 0000000000..f97a0209a1 --- /dev/null +++ b/roles/openshift-apps/caiapi_noggin/templates/buildconfig_caiapi.yml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: BuildConfig +metadata: + labels: + build: caiapi-build + name: caiapi-build +spec: + runPolicy: Serial + source: + git: + url: https://github.com/fedora-infra/noggin.git + ref: {{ env }} + contextDir: CAIAPI + strategy: + sourceStrategy: + from: + kind: ImageStreamTag + name: python-36-rhel7:latest + output: + to: + kind: ImageStreamTag + name: caiapi diff --git a/roles/openshift-apps/caiapi_noggin/templates/configmap_caiapi.yml b/roles/openshift-apps/caiapi_noggin/templates/configmap_caiapi.yml new file mode 100644 index 0000000000..627ca4c79d --- /dev/null +++ b/roles/openshift-apps/caiapi_noggin/templates/configmap_caiapi.yml @@ -0,0 +1,10 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: caiapi-configmap + labels: + app: caiapi_noggin +data: + caiapi.cfg: |- + # TODO