Add support to deploy DevOps portal on K8s
Change-Id: I23766e4b88f36606e930769e424afbfe7174d68f
diff --git a/devops_portal/setup/kubernetes.sls b/devops_portal/setup/kubernetes.sls
new file mode 100644
index 0000000..375d183
--- /dev/null
+++ b/devops_portal/setup/kubernetes.sls
@@ -0,0 +1,59 @@
+{%- from "devops_portal/map.jinja" import control with context %}
+{%- if control.setup.engine == "kubernetes" %}
+{%- set namespace = control.setup.kubernetes.namespace|default("oss") %}
+
+devops_portal_kubernetes_dir:
+ file.directory:
+ - name: /srv/oss/devops_portal/kubernetes
+ - user: root
+ - group: root
+ - mode: 0755
+ - makedirs: true
+
+devops_portal_k8s_svc:
+ file.managed:
+ - name: /srv/oss/devops_portal/kubernetes/devops_portal-svc.yaml
+ - source: salt://devops_portal/files/kubernetes/devops_portal-svc.yaml
+ - template: jinja
+ - require:
+ - file: devops_portal_kubernetes_dir
+
+devops_portal_k8s_cm:
+ file.managed:
+ - name: /srv/oss/devops_portal/kubernetes/devops_portal-cm.yaml
+ - source: salt://devops_portal/files/kubernetes/devops_portal-cm.yaml
+ - template: jinja
+ - require:
+ - file: devops_portal_kubernetes_dir
+ - file: devops_portal_nginx_conf
+ - file: devops_portal_config
+
+devops_portal_k8s_deploy:
+ file.managed:
+ - name: /srv/oss/devops_portal/kubernetes/devops_portal-deploy.yaml
+ - source: salt://devops_portal/files/kubernetes/devops_portal-deploy.yaml
+ - template: jinja
+ - require:
+ - file: devops_portal_kubernetes_dir
+ - file: devops_portal_k8s_cm
+
+devop_portal_namespace:
+ cmd.run:
+ - name: hyperkube kubectl create namespace {{ namespace }}
+ - unless: hyperkube kubectl get namespaces {{ namespace }}
+
+apply_devops_portal:
+ cmd.run:
+ - name: hyperkube kubectl apply
+ --filename /srv/oss/devops_portal/kubernetes/devops_portal-svc.yaml
+ --filename /srv/oss/devops_portal/kubernetes/devops_portal-cm.yaml
+ --filename /srv/oss/devops_portal/kubernetes/devops_portal-deploy.yaml
+ --namespace={{ namespace }}
+ --record
+ - require:
+ - cmd: devop_portal_namespace
+ - file: devops_portal_k8s_svc
+ - file: devops_portal_k8s_cm
+ - file: devops_portal_k8s_deploy
+
+{%- endif %}