ecbd95017ba5305712a787aea7fdf66e8ae9201f
[eliot.git] / blueprints / iotgateway / playbooks / roles / eg_mecm-meo / tasks / install.yml
1 #
2 # Copyright 2020 Huawei Technologies Co., Ltd.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 ---
18
19 - name: Doing deployment eg_mecm-meo  setup for edge gallery eg_mecm-meo
20   copy:
21     src: deploy
22     dest: /tmp/eg_mecm-meo/
23
24 - name: Import config file
25   include_vars:
26     file: ../../../config.yml
27     name: vardata
28
29 - name: Replacing pwd sql
30   replace:
31     path: /tmp/eg_mecm-meo/deploy/conf/keys/postgres_init.sql
32     regexp: 'PASSWORD_VALUE'
33     replace: "{{ vardata.common_pwd.name }}"
34
35 - name: Set a variable
36   ansible.builtin.set_fact:
37     comm_pwd: "{{ vardata.common_pwd.name }}"
38
39 - name: Create mecm-ssl-secret with common pwd
40   # yamllint disable rule:line-length
41   command: kubectl create secret generic mecm-ssl-secret --from-file=keystore.p12=/tmp/ssl-eg-keys-certs/keystore.p12 --from-file=keystore.jks=/tmp/ssl-eg-keys-certs/keystore.jks --from-literal=keystorePassword={{ vardata.common_pwd.name}} --from-literal=keystoreType=PKCS12 --from-literal=keyAlias=edgegallery --from-literal=truststorePassword={{ vardata.common_pwd.name}}
42   # yamllint disable rule:line-length
43   when: comm_pwd != ""
44
45 - name: Generates certificate mecm-ssl-secret
46   # yamllint disable rule:line-length
47   command: kubectl create secret generic mecm-ssl-secret --from-file=keystore.p12=/tmp/ssl-eg-keys-certs/keystore.p12 --from-file=keystore.jks=/tmp/ssl-eg-keys-certs/keystore.jks --from-literal=keystorePassword={{ vardata.mecm_meo_keystorePassword.name}} --from-literal=keystoreType=PKCS12 --from-literal=keyAlias=edgegallery --from-literal=truststorePassword={{ vardata.mecm_meo_truststorePassword.name}}
48   # yamllint disable rule:line-length
49   when: comm_pwd == ""
50
51 - name: Create certificate edgegallery-mecm-secret with common pwd
52   # yamllint disable rule:line-length
53   command: kubectl create secret generic edgegallery-mecm-secret --from-file=postgres_init.sql=/tmp/eg_mecm-meo/deploy/conf/keys/postgres_init.sql --from-literal=postgresPassword={{ vardata.common_pwd.name}} --from-literal=postgresApmPassword={{ vardata.common_pwd.name}} --from-literal=postgresAppoPassword={{ vardata.common_pwd.name}} --from-literal=postgresInventoryPassword={{ vardata.common_pwd.name}} --from-literal=edgeRepoUserName=admin --from-literal=edgeRepoPassword={{ vardata.common_pwd.name}}
54   # yamllint disable rule:line-length
55   args:
56     chdir: /tmp/eg_mecm-meo/deploy/
57   when: comm_pwd != ""
58
59 - name: Generates certificate edgegallery-mecm-secret
60   # yamllint disable rule:line-length
61   command: kubectl create secret generic edgegallery-mecm-secret --from-file=postgres_init.sql=/tmp/eg_mecm-meo/deploy/conf/keys/postgres_init.sql --from-literal=postgresPassword={{ vardata.mecm_meo_postgresPassword.name}} --from-literal=postgresApmPassword={{ vardata.mecm_meo_postgresApmPassword.name}} --from-literal=postgresAppoPassword={{ vardata.mecm_meo_postgresAppoPassword.name}} --from-literal=postgresInventoryPassword={{ vardata.mecm_meo_postgresInventoryPassword.name}} --from-literal=edgeRepoUserName=admin --from-literal=edgeRepoPassword={{ vardata.common_pwd.name}}
62   # yamllint disable rule:line-length
63   args:
64     chdir: /tmp/eg_mecm-meo/deploy/
65   when: comm_pwd == ""
66
67 - name: Fs group value
68   shell: 'getent group docker | cut -d: -f3'
69   register: result
70
71 - name: Helm install
72   # yamllint disable rule:line-length
73   command: helm install mecm-meo-edgegallery edgegallery/mecm-meo --set ssl.secretName=mecm-ssl-secret --set mecm.secretName=edgegallery-mecm-secret --set images.inventory.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-inventory --set images.appo.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-appo --set images.apm.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-apm --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/postgres --set images.inventory.tag={{ vardata.eg_image_tag.name}} --set images.appo.tag={{ vardata.eg_image_tag.name}} --set images.apm.tag={{ vardata.eg_image_tag.name}} --set images.postgres.tag=12.3 --set images.inventory.pullPolicy=IfNotPresent --set images.appo.pullPolicy=IfNotPresent --set images.apm.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent --set mecm.docker.fsgroup="{{result.stdout}}"