Modified to support certificate generation
[ealt-edge.git] / ocd / infra / playbooks / roles / applcm / tasks / install.yml
index ad1d0da..f907387 100644 (file)
     src: deploy
     dest: /tmp/applcm/
 
-- name: Install applcm - pvc
+- name: Generate Certificates
   shell:
-    cmd: kubectl apply -f /tmp/applcm/deploy/my-db-persistentvolumeclaim.yaml
+# yamllint disable rule:line-length
+    cmd: openssl genrsa -out ca.key 2048
+    chdir: /tmp/applcm/deploy/
 
-- name: Install applcm - db
+- name: Generate Certificate - Step 2
   shell:
-    cmd: kubectl apply -f /tmp/applcm/deploy/db-deployment.yaml
+    cmd: openssl req -new -key ca.key -subj /C=CN/ST=Peking/L=Beijing/O=ealtedge/CN=www.ealtedge.org -out ca.csr
+    chdir: /tmp/applcm/deploy/
 
-- name: Install applcm - db-service
+- name: Generate Root Certificate
   shell:
-    cmd: kubectl apply -f /tmp/applcm/deploy/db-service.yaml
+    cmd: openssl x509 -req -days 365 -in ca.csr -extensions v3_req -signkey ca.key -out trust.cer
+    chdir: /tmp/applcm/deploy/
 
+- name: Generate Server Key
+  shell:
+    cmd: openssl genrsa -out server_key.pem 2048
+    chdir: /tmp/applcm/deploy/
 
-- name: Install applcm - db-init-config
+
+- name: Generate Server CSR
+  shell:
+    cmd: openssl req -new -key server_key.pem -subj /C=CN/ST=Beijing/L=Beijing/O=ealtedge/CN=www.ealtedge.org -out tls.csr
+    chdir: /tmp/applcm/deploy/
+
+- name: Generate Server Certificate
+  shell:
+    cmd: openssl x509 -req -in tls.csr -extensions v3_req -CA trust.cer -CAkey ca.key -CAcreateserial -out server.cer
+    chdir: /tmp/applcm/deploy/
+
+- name: Create applcm-secret
   shell:
 # yamllint disable rule:line-length
-    cmd: kubectl exec -it $(kubectl get pod -l io.kompose.service=db | awk 'FNR==2 {print $1}') -- /bin/bash < /tmp/applcm/deploy/init.sh
-  ignore_errors: yes
-  failed_when: false
-  no_log: True
+    cmd: kubectl create secret --namespace default generic applcm-secret --from-file=/tmp/applcm/deploy/server.cer --from-file=/tmp/applcm/deploy/server_key.pem --from-file=/tmp/applcm/deploy/trust.cer
+
+- name: Install applcm postgres-configmap
+  shell:
+    cmd: kubectl apply -f /tmp/applcm/deploy/postgres-config.yaml
+
+- name: Install applcm - pvc
+  shell:
+    cmd: kubectl apply -f /tmp/applcm/deploy/postgres-storage.yaml
+
+- name: Install applcm - db
+  shell:
+    cmd: kubectl apply -f /tmp/applcm/deploy/postgres-k8s.yaml
+
+- name: Install applcm - postgres-service
+  shell:
+    cmd: kubectl apply -f /tmp/applcm/deploy/postgres-service.yaml
 
 - name: Install applcm - db-init-config
   shell:
 # yamllint disable rule:line-length
-    cmd: kubectl exec -it $(kubectl get pod -l io.kompose.service=db | awk 'FNR==2 {print $1}') -- /bin/bash < /tmp/applcm/deploy/config.sh
+    cmd: sleep 10;
   ignore_errors: yes
   failed_when: false
   no_log: True
 
-
 - name: Install applcm - helmplugin
   shell:
     cmd: sleep 10