From 1f3e2a9f59e83dc3f0fcbecf096a7e7b40d36ed7 Mon Sep 17 00:00:00 2001
From: "Suren A. Chilingaryan" <csa@suren.me>
Date: Wed, 28 Feb 2018 23:46:55 +0100
Subject: First running prototype

---
 .../projects/kaas/templates/10-kaas-builder.yml.j2 | 42 ++++++++++
 .../projects/kaas/templates/40-kaas-manager.yml.j2 | 91 ++++++++++++++++++++++
 2 files changed, 133 insertions(+)
 create mode 100644 setup/projects/kaas/templates/10-kaas-builder.yml.j2
 create mode 100644 setup/projects/kaas/templates/40-kaas-manager.yml.j2

(limited to 'setup/projects/kaas/templates')

diff --git a/setup/projects/kaas/templates/10-kaas-builder.yml.j2 b/setup/projects/kaas/templates/10-kaas-builder.yml.j2
new file mode 100644
index 0000000..52066a5
--- /dev/null
+++ b/setup/projects/kaas/templates/10-kaas-builder.yml.j2
@@ -0,0 +1,42 @@
+apiVersion: v1
+kind: Template
+metadata:
+  name: kaas-manager-build
+  labels:
+    app: kaas-manager
+  annotations:
+    descriptions: "KaaS Data Manager Build"
+objects:
+  - kind: ImageStream
+    apiVersion: v1
+    metadata:
+      name: kaas-manager
+  - kind: "BuildConfig"
+    apiVersion: "v1"
+    metadata:
+      name: "kaas-manager"
+    spec:
+#      runPolicy: "Serial"
+      successfulBuildsHistoryLimit: "{{ kaas_pod_history_limit }}"
+      failedBuildsHistoryLimit: "{{ kaas_pod_history_limit }}"
+      triggers: 
+        - type: "ConfigChange"
+      source: 
+        type: "Git"
+        git:
+          uri: "http://adei.info/git/csa/devops/docker/ands-management.git"
+      strategy: 
+        dockerStrategy:
+          dockerfilePath: Dockerfile
+      output: 
+        to:
+          kind: "ImageStreamTag"
+          name: "kaas-manager:latest"
+        imageLabels:
+        - name: "vendor"
+          value: "KIT"
+        - name: "author"
+          value: "Suren A. Chilingaryan"
+        - name: "authoritative-source-url"
+          value: "adei.info"
+      
diff --git a/setup/projects/kaas/templates/40-kaas-manager.yml.j2 b/setup/projects/kaas/templates/40-kaas-manager.yml.j2
new file mode 100644
index 0000000..e181737
--- /dev/null
+++ b/setup/projects/kaas/templates/40-kaas-manager.yml.j2
@@ -0,0 +1,91 @@
+#jinja2: trim_blocks: "true", lstrip_blocks: "false"
+---
+{% set gid_range = kaas_openshift_gid_ranges[kaas_project].split("/") %}
+apiVersion: v1
+kind: Template
+metadata:
+  name: kaas-manager
+  annotations:
+    descriptions: KaaS Data Management Service
+objects:
+  - apiVersion: v1
+    kind: DeploymentConfig
+    metadata:
+      name: kaas-manager
+    spec:
+      replicas: 1
+      revisionHistoryLimit: {{ kaas_pod_history_limit }}
+      strategy:
+        type: Rolling
+      triggers:
+      - type: ConfigChange
+      selector:
+        name: kaas-manager
+      triggers:
+        - type: ConfigChange
+        - type: ImageChange
+          imageChangeParams:
+            automatic: true
+            from:
+              kind: "ImageStreamTag"
+              name: "kaas-manager:latest"
+              namespace: "kaas"
+            containerNames:
+              - kaas-manager
+      template:
+        metadata:
+          name: kaas-manager
+          labels:
+            name: kaas-manager
+        spec:
+          securityContext:
+            supplementalGroups:
+{% for ofs in range(gid_range[1] | default(1) | int) %}
+              - {{ (gid_range[0] | int) + ofs }}
+{% endfor %}
+{% if (kaas_project_config.run_pods_as is defined) %}
+{%   if ((kaas_project_config.uids | default(kaas_openshift_uids))[kaas_project_config.run_pods_as] is defined) %}
+            runAsUser: {{ (kaas_project_config.uids | default(kaas_openshift_uids))[kaas_project_config.run_pods_as].id }}
+{%   else %}
+            runAsUser: {{ kaas_project_config.run_pods_as }}
+{%   endif %}
+{% endif %}
+          volumes:
+{% for name, vol in kaas_project_volumes.iteritems() %}
+{%   set oc_name = name | regex_replace('_','-') %}
+{%   if (vol.write | default(false)) %}
+            - name: vol-{{ name }}
+              persistentVolumeClaim:
+                claimName: {{ oc_name }}
+{%   endif %}
+{% endfor %}
+{% if ('data' not in kaas_project_volumes) %}
+            - name: home
+              emptyDir: {}
+{% endif %}
+          containers:
+            - name: kaas-manager
+              image: kaas-manager
+              command: [ "/docker-entrypoint.sh", "/bin/sx" ]
+              volumeMounts: 
+{% for name, vol in kaas_project_volumes.iteritems() %}
+{%   if (vol.write | default(false)) %}
+                - name: vol-{{ name }}
+                  mountPath: /mnt/{{ name }}
+{%   endif %}
+{% endfor %}
+{% if ('data' not in kaas_project_volumes) %}
+                - name: home
+                  mountPath: /home
+{% endif %}
+              env:
+                - name: HOME
+{% if ('data' in kaas_project_volumes) %}
+                  value: /mnt/data/home
+{% else %}
+                  value: /tmp
+{% endif %}
+#              lifecycle:
+#                postStart:
+#                  exec: 
+#                    command: [ "/bin/bash", "[ -d $HOME ] || mkdir -p $HOME" ]
-- 
cgit v1.2.3