Ansible playbook added
[eliot.git] / blueprints / iotgateway / playbooks / roles / eg_mecm-mepm / tasks / install.yml
diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml
new file mode 100644 (file)
index 0000000..12a388c
--- /dev/null
@@ -0,0 +1,73 @@
+#
+# Copyright 2020 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+---
+
+- name: Doing deployment eg_mecm-mepm  setup for edge gallery eg_mecm-mepm
+  copy:
+    src: deploy
+    dest: /tmp/eg_mecm-mepm/
+
+- name: Import config file
+  include_vars:
+    file: ../../../config.yml
+    name: vardata
+
+- name: Set a variable
+  ansible.builtin.set_fact:
+    comm_pwd: "{{ vardata.common_pwd.name }}"
+
+- name: Replacing password
+  replace:
+    path: /tmp/eg_mecm-mepm/deploy/conf/keys/postgres_init.sql
+    regexp: 'PASSWORD_VALUE'
+    replace: "{{ vardata.common_pwd.name }}"
+
+- name: Create mecm-mepm-ssl-secret secret
+  # yamllint disable rule:line-length
+  command: kubectl create secret generic mecm-mepm-jwt-public-secret --from-file=publicKey=/tmp/ssl-eg-keys-certs/encryptedtls.key
+  # yamllint disable rule:line-length
+  args:
+    chdir: /tmp/ssl-eg-keys-certs/
+
+- name: Create mecm-mepm-ssl-secret secret
+  # yamllint disable rule:line-length
+  command: kubectl create secret generic mecm-mepm-ssl-secret --from-file=server_tls.key=/tmp/ssl-eg-keys-certs/tls.key --from-file=server_tls.crt=/tmp/ssl-eg-keys-certs/tls.crt --from-file=ca.crt=/tmp/ssl-eg-keys-certs/ca.crt
+  # yamllint disable rule:line-length
+  args:
+    chdir: /tmp/ssl-eg-keys-certs/
+
+- name: Create edgegallery-mepm-secret secret with common pwd
+  # yamllint disable rule:line-length
+  command: kubectl create secret generic edgegallery-mepm-secret --from-file=postgres_init.sql=/tmp/eg_mecm-mepm/deploy/conf/keys/postgres_init.sql --from-literal=postgresPassword={{ vardata.common_pwd.name}} --from-literal=postgresLcmCntlrPassword={{ vardata.common_pwd.name}} --from-literal=postgresk8sPluginPassword={{ vardata.common_pwd.name}}
+  # yamllint disable rule:line-length
+  when: comm_pwd != ""
+
+- name: Create edgegallery-mepm-secret secret
+  # yamllint disable rule:line-length
+  command: kubectl create secret generic edgegallery-mepm-secret --from-file=postgres_init.sql=/tmp/eg_mecm-mepm/deploy/conf/keys/postgres_init.sql --from-literal=postgresPassword={{ vardata.mecm_mepm_postgresPassword.name}} --from-literal=postgresLcmCntlrPassword={{ vardata.mecm_mepm_postgresLcmCntlrPassword.name}} --from-literal=postgresk8sPluginPassword={{ vardata.mecm_mepm_postgresk8sPluginPassword.name}}
+  # yamllint disable rule:line-length
+  when: comm_pwd == ""
+
+- name: Create mepm service account
+  command: kubectl apply -f /tmp/eg_mecm-mepm/deploy/conf/manifest/mepm/mepm-service-account.yaml
+  args:
+    chdir: /tmp/eg_mecm-mepm/deploy/
+
+- name: Install mecm-mepm
+  # yamllint disable rule:line-length
+  command: helm install mecm-mepm-edgegaller edgegallery/mecm-mepm --set jwt.publicKeySecretName=mecm-mepm-jwt-public-secret --set mepm.secretName=edgegallery-mepm-secret --set ssl.secretName=mecm-mepm-ssl-secret --set images.lcmcontroller.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-applcm --set images.k8splugin.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-applcm-k8splugin --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/postgres --set images.lcmcontroller.tag={{ vardata.eg_image_tag.name}} --set images.k8splugin.tag={{ vardata.eg_image_tag.name}} --set images.postgres.tag=12.3 --set images.lcmcontroller.pullPolicy=IfNotPresent --set images.k8splugin.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent
+  # yamllint disable rule:line-length