From 233fedcbae7166783277ed538d454b106b9d52ae Mon Sep 17 00:00:00 2001 From: Srinivasan Date: Mon, 21 Jun 2021 17:30:27 +0530 Subject: [PATCH] eg 1.1.1 related Signed-off-by: Srinivasan Change-Id: Icd11c6da4b0f0eb3d7b49ccd2b3e72f0ffbf3179 --- blueprints/iotgateway/playbooks/default-var.yml | 55 +++ .../iotgateway/playbooks/eliot-all-uninstall.yml | 127 ------- blueprints/iotgateway/playbooks/eliot-all.yml | 103 +----- .../uninstall.yml => eliot-eg-aio-latest.yml} | 13 +- .../main.yml => eliot-eg-muno-controller.yml} | 12 +- .../tasks/uninstall.yml => eliot-eg-muno-edge.yml} | 16 +- .../iotgateway/playbooks/eliot-inventory.ini | 3 + .../conf/edge/metallb/namespace.yaml => hosts-aio} | 12 +- .../controller/hosts-muno-controller} | 18 +- .../playbooks/muno-config/controller/var.yml | 30 ++ .../edge/hosts-muno-edge} | 24 +- .../iotgateway/playbooks/muno-config/edge/var.yml | 37 ++ .../playbooks/roles/docker/tasks/install.yml | 100 ----- .../playbooks/roles/docker/tasks/main.yml | 23 -- .../playbooks/roles/docker/tasks/uninstall.yml | 88 ----- .../playbooks/roles/eg_appstore/tasks/install.yml | 26 -- .../playbooks/roles/eg_appstore/tasks/main.yml | 26 -- .../playbooks/roles/eg_certs/tasks/install.yml | 37 -- .../playbooks/roles/eg_developer/tasks/install.yml | 26 -- .../playbooks/roles/eg_developer/tasks/main.yml | 25 -- .../helm/helm-charts/edgegallery/appstore-0.9.tgz | Bin 7213 -> 0 bytes .../helm/helm-charts/edgegallery/developer-0.9.tgz | Bin 9643 -> 0 bytes .../helm/helm-charts/edgegallery/mecm-fe-0.9.tgz | Bin 5905 -> 0 bytes .../helm/helm-charts/edgegallery/mecm-meo-0.9.tgz | Bin 8468 -> 0 bytes .../helm/helm-charts/edgegallery/mecm-mepm-0.9.tgz | Bin 8135 -> 0 bytes .../helm/helm-charts/edgegallery/mep-0.9.tgz | Bin 10948 -> 0 bytes .../helm-charts/edgegallery/servicecenter-0.9.tgz | Bin 5615 -> 0 bytes .../helm/helm-charts/edgegallery/usermgmt-0.9.tgz | Bin 7743 -> 0 bytes .../helm/helm-charts/stable/grafana-5.5.5.tgz | Bin 21051 -> 0 bytes .../stable/nfs-client-provisioner-1.2.8.tgz | Bin 5049 -> 0 bytes .../helm-charts/stable/nginx-ingress-1.41.2.tgz | Bin 24348 -> 0 bytes .../helm/helm-charts/stable/prometheus-9.3.1.tgz | Bin 24108 -> 0 bytes .../playbooks/roles/eg_helm-repo/tasks/install.yml | 60 --- .../playbooks/roles/eg_helm-repo/tasks/main.yml | 25 -- .../roles/eg_helm-repo/tasks/uninstall.yml | 31 -- .../playbooks/roles/eg_mecm-fe/tasks/install.yml | 26 -- .../playbooks/roles/eg_mecm-fe/tasks/main.yml | 25 -- .../playbooks/roles/eg_mecm-fe/tasks/uninstall.yml | 22 -- .../files/deploy/conf/keys/postgres_init.sql | 29 -- .../playbooks/roles/eg_mecm-meo/tasks/install.yml | 73 ---- .../playbooks/roles/eg_mecm-meo/tasks/main.yml | 26 -- .../roles/eg_mecm-meo/tasks/uninstall.yml | 27 -- .../files/deploy/conf/keys/postgres_init.sql | 20 - .../playbooks/roles/eg_mecm-mepm/tasks/install.yml | 73 ---- .../playbooks/roles/eg_mecm-mepm/tasks/main.yml | 26 -- .../roles/eg_mecm-mepm/tasks/uninstall.yml | 30 -- .../files/deploy/conf/edge/metallb/metallb.yaml | 406 --------------------- .../conf/edge/network-isolation/eg-sp-rbac.yaml | 49 --- .../deploy/conf/edge/network-isolation/multus.yaml | 358 ------------------ .../playbooks/roles/eg_mep/tasks/install.yml | 273 -------------- .../playbooks/roles/eg_mep/tasks/uninstall.yml | 107 ------ .../eg_prerequisite/files/deploy/eg_daemon.sh | 25 -- .../roles/eg_prerequisite/tasks/install.yml | 47 --- .../playbooks/roles/eg_prerequisite/tasks/main.yml | 22 -- .../roles/eg_registry/files/deploy/load-images.sh | 39 -- .../playbooks/roles/eg_registry/tasks/install.yml | 118 ------ .../playbooks/roles/eg_registry/tasks/main.yml | 25 -- .../roles/eg_registry/tasks/uninstall.yml | 32 -- .../playbooks/roles/eg_secret/tasks/install.yml | 28 -- .../playbooks/roles/eg_secret/tasks/main.yml | 26 -- .../playbooks/roles/eg_secret/tasks/uninstall.yml | 22 -- .../roles/eg_set-helm-repo/tasks/install.yml | 30 -- .../roles/eg_set-helm-repo/tasks/main.yml | 22 -- .../roles/eg_trans_certs/tasks/install.yml | 25 -- .../playbooks/roles/eg_user-mgmt/tasks/install.yml | 42 --- .../playbooks/roles/eg_user-mgmt/tasks/main.yml | 26 -- .../roles/eg_user-mgmt/tasks/uninstall.yml | 27 -- .../roles/egallery-all-aiomode/tasks/install.yml | 31 ++ .../tasks/main.yml | 7 +- .../roles/egallery-all-aiomode/tasks/uninstall.yml | 40 ++ .../egallery-munomode-controller/tasks/install.yml | 65 ++++ .../tasks/main.yml | 6 +- .../tasks/uninstall.yml | 29 ++ .../roles/egallery-munomode-edge/tasks/install.yml | 57 +++ .../tasks/main.yml | 6 +- .../egallery-munomode-edge/tasks/uninstall.yml | 30 ++ .../playbooks/roles/egallery-tar/tasks/install.yml | 63 ++++ .../roles/{k3s => egallery-tar}/tasks/main.yml | 4 +- .../tasks/uninstall.yml | 12 +- .../playbooks/roles/grafana/tasks/install.yml | 19 +- .../playbooks/roles/grafana/tasks/uninstall.yml | 13 +- .../playbooks/roles/helm/tasks/install.yml | 68 ---- .../playbooks/roles/helm/tasks/uninstall.yml | 58 --- .../playbooks/roles/k3s/tasks/install.yml | 74 ---- .../playbooks/roles/k3s/tasks/uninstall.yml | 39 -- .../playbooks/roles/k8s/tasks/install.yml | 38 -- .../iotgateway/playbooks/roles/k8s/tasks/main.yml | 23 -- .../playbooks/roles/k8s/tasks/uninstall.yml | 31 -- .../playbooks/roles/kubeconfig/tasks/install.yml | 25 -- .../playbooks/roles/kubeconfig/tasks/main.yml | 21 -- .../roles/mepkubeconfig/tasks/install.yml | 25 -- .../playbooks/roles/mepkubeconfig/tasks/main.yml | 18 - .../roles/service_center/tasks/install.yml | 27 -- .../playbooks/roles/service_center/tasks/main.yml | 26 -- .../roles/service_center/tasks/uninstall.yml | 22 -- .../eg-sp-controller.yaml => var.yml} | 27 +- 96 files changed, 537 insertions(+), 3410 deletions(-) create mode 100644 blueprints/iotgateway/playbooks/default-var.yml delete mode 100644 blueprints/iotgateway/playbooks/eliot-all-uninstall.yml rename blueprints/iotgateway/playbooks/{roles/eg_developer/tasks/uninstall.yml => eliot-eg-aio-latest.yml} (77%) rename blueprints/iotgateway/playbooks/{roles/eg_trans_certs/tasks/main.yml => eliot-eg-muno-controller.yml} (78%) rename blueprints/iotgateway/playbooks/{roles/eg_certs/tasks/uninstall.yml => eliot-eg-muno-edge.yml} (74%) rename blueprints/iotgateway/playbooks/{roles/eg_mep/files/deploy/conf/edge/metallb/namespace.yaml => hosts-aio} (79%) rename blueprints/iotgateway/playbooks/{roles/eg_mep/files/deploy/conf/edge/metallb/config-map.yaml => muno-config/controller/hosts-muno-controller} (68%) create mode 100644 blueprints/iotgateway/playbooks/muno-config/controller/var.yml rename blueprints/iotgateway/playbooks/{roles/eg_mecm-mepm/files/deploy/conf/manifest/mepm/mepm-service-account.yaml => muno-config/edge/hosts-muno-edge} (57%) create mode 100644 blueprints/iotgateway/playbooks/muno-config/edge/var.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/docker/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/docker/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/docker/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_certs/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_developer/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_developer/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/appstore-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/developer-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mecm-fe-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mecm-meo-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mecm-mepm-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mep-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/servicecenter-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/usermgmt-0.9.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/grafana-5.5.5.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/nfs-client-provisioner-1.2.8.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/nginx-ingress-1.41.2.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/prometheus-9.3.1.tgz delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-meo/files/deploy/conf/keys/postgres_init.sql delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/keys/postgres_init.sql delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/metallb.yaml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/multus.yaml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mep/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_mep/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_prerequisite/files/deploy/eg_daemon.sh delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_prerequisite/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_prerequisite/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_registry/files/deploy/load-images.sh delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_registry/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_registry/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_registry/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_secret/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_secret/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_secret/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/uninstall.yml create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/install.yml rename blueprints/iotgateway/playbooks/roles/{eg_mep => egallery-all-aiomode}/tasks/main.yml (90%) create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/uninstall.yml create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/install.yml rename blueprints/iotgateway/playbooks/roles/{helm => egallery-munomode-controller}/tasks/main.yml (90%) create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/uninstall.yml create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/install.yml rename blueprints/iotgateway/playbooks/roles/{eg_certs => egallery-munomode-edge}/tasks/main.yml (90%) create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/uninstall.yml create mode 100644 blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/install.yml rename blueprints/iotgateway/playbooks/roles/{k3s => egallery-tar}/tasks/main.yml (91%) rename blueprints/iotgateway/playbooks/roles/{eg_appstore => egallery-tar}/tasks/uninstall.yml (83%) delete mode 100644 blueprints/iotgateway/playbooks/roles/helm/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/helm/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/k3s/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/k8s/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/k8s/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/k8s/tasks/uninstall.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/service_center/tasks/install.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/service_center/tasks/main.yml delete mode 100644 blueprints/iotgateway/playbooks/roles/service_center/tasks/uninstall.yml rename blueprints/iotgateway/playbooks/{roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-controller.yaml => var.yml} (54%) diff --git a/blueprints/iotgateway/playbooks/default-var.yml b/blueprints/iotgateway/playbooks/default-var.yml new file mode 100644 index 0000000..22d0dc7 --- /dev/null +++ b/blueprints/iotgateway/playbooks/default-var.yml @@ -0,0 +1,55 @@ +# +# Copyright 2021 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. + +# The image tag here could only be latest, and helm tag could only be 1.1.0 +EG_IMAGE_TAG: latest +HELM_TAG: 1.1.0 + +# Mode for online or offline install, currently only support offline +NETWORK_MODE: offline + +# Absolute file path of source offline .tar.gz file on ansible host node +TARBALL_FILE: "{{ inventory_dir }}/../ansible-{{ EG_IMAGE_TAG }}.tar.gz" + +# Target path where offline tarball be decompossed into +TARBALL_PATH: /home/edgegallery-offline + +# Whether copy the offline package from the ansible host node to other node +COPY_TAR_TO_TARGET: yes + +# Whether clean the TARBALL_PATH before install and after uninstall +# true means clean and false means not clean +TARBALL_PATH_CLEANUP: true + +HELM_CHARTS_PATH: "{{ TARBALL_PATH }}/helm/helm-charts" + +APPSTORE_HELM_RELEASE_NAME: appstore-edgegallery +DEVELOPER_HELM_RELEASE_NAME: developer-edgegallery +MECM_FE_HELM_RELEASE_NAME: mecm-fe-edgegallery +ATP_HELM_RELEASE_NAME: atp-edgegallery + +APPSTORE_PORT: 30091 +DEVELOPER_PORT: 30092 +MECM_PORT: 30093 +ATP_PORT: 30094 +USER_MGMT_PORT: 30067 +LAB_PORT: 30096 + +# Could be true or false, currently only support false +ENABLE_PERSISTENCE: false + +# Should set the following 2 params if ENABLE_PERSISTENCE is true +# NFS_SERVER_IP: +# NFS_PATH: diff --git a/blueprints/iotgateway/playbooks/eliot-all-uninstall.yml b/blueprints/iotgateway/playbooks/eliot-all-uninstall.yml deleted file mode 100644 index 8be78bb..0000000 --- a/blueprints/iotgateway/playbooks/eliot-all-uninstall.yml +++ /dev/null @@ -1,127 +0,0 @@ -# -# 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. - ---- - -############ Master ############ - -### EdgeGallery related ### - -- hosts: egmaster - become: yes - tags: - - egmaster - - master - - roles: - - eg_mecm-meo - - eg_mecm-fe - - eg_appstore - - eg_developer - - eg_user-mgmt - - service_center - - eg_secret - -### Other 3rd party related ### - -- hosts: thirdpartymaster - become: yes - tags: - - thirdpartymaster - - master - - roles: - - grafana - -### Pre-Requisites ### - -- hosts: prerequisitemaster - become: yes - tags: - - prerequisitemaster - - master - - roles: - - kubeconfig - - helm - -############ Edge ############ - -### EdgeGallery related ### - -- hosts: egedge - become: yes - tags: - - egedge - - edge - - roles: - - eg_secret - - eg_mep - - eg_mecm-mepm - -### Other 3rd party related ### - -- hosts: thirdpartyedge - become: yes - tags: - - thirdpartyedge - - edge - - roles: - - el_hawkbit - - rabbitmq - - prometheus - - kubeconfig - - mepkubeconfig - - cadvisor - -### Pre-Requisites ### - -- hosts: prerequisiteedge - become: yes - tags: - - prerequisiteedge - - edge - - roles: - - helm - -### Infrastructure ### -- hosts: edge-infra - become: yes - tags: - - edge-infra - - edge - - roles: - - k3s - - docker - -############ OCD ############ - -- hosts: ocdconsolidated - become: yes - tags: - - ocdhost - - ocdconsolidated - - roles: - - eg_helm-repo - - eg_registry - - eg_certs - - helm - - k8s - - docker diff --git a/blueprints/iotgateway/playbooks/eliot-all.yml b/blueprints/iotgateway/playbooks/eliot-all.yml index 514c53a..78e9120 100644 --- a/blueprints/iotgateway/playbooks/eliot-all.yml +++ b/blueprints/iotgateway/playbooks/eliot-all.yml @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -16,95 +16,21 @@ --- -############ OCD ############ - -- hosts: ocdconsolidated - become: yes - tags: - - ocdhost - - ocdconsolidated - - roles: - - k8s - - helm - - docker - - eg_prerequisite - - eg_registry - - eg_helm-repo - - eg_certs - -############ Master ############ - -### Pre-Requisites ### - -- hosts: prerequisitemaster - become: yes - tags: - - prerequisitemaster - - master - - roles: - - eg_trans_certs - - eg_prerequisite - - helm - - eg_set-helm-repo - - kubeconfig +############ Center ############ ### Other 3rd party related ### -- hosts: thirdpartymaster +- hosts: thirdpartycenter become: yes tags: - - thirdpartymaster - - master + - thirdpartycenter + - center roles: - grafana -### EdgeGallery related ### - -- hosts: egmaster - become: yes - tags: - - egmaster - - master - - roles: - - eg_secret - - service_center - - eg_user-mgmt - - eg_mecm-meo - - eg_mecm-fe - - eg_appstore - - eg_developer - - ############ Edge ############ -### Infrastructure ### -- hosts: edge-infra - become: yes - tags: - - edge-infra - - edge - - roles: - - eg_trans_certs - - docker - - eg_prerequisite - - k3s - -### Pre-Requisites ### - -- hosts: prerequisiteedge - become: yes - tags: - - prerequisiteedge - - edge - - roles: - - helm - ### Other 3rd party related ### - hosts: thirdpartyedge @@ -115,24 +41,7 @@ roles: - rabbitmq - - prometheus - - kubeconfig - - mepkubeconfig - cadvisor - el_edgex - - el_opc-au - el_hawkbit - -### EdgeGallery related ### - -- hosts: egedge - become: yes - tags: - - egedge - - edge - - roles: - - eg_secret - - eg_set-helm-repo - - eg_mep - - eg_mecm-mepm +# - el_opc-au diff --git a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/eliot-eg-aio-latest.yml similarity index 77% rename from blueprints/iotgateway/playbooks/roles/eg_developer/tasks/uninstall.yml rename to blueprints/iotgateway/playbooks/eliot-eg-aio-latest.yml index 787052a..abd8dea 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/uninstall.yml +++ b/blueprints/iotgateway/playbooks/eliot-eg-aio-latest.yml @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -16,7 +16,10 @@ --- -- name: Uninstall developer - command: helm uninstall developer-edgegallery - ignore_errors: yes - no_log: True +# Edgegallery installation + +- hosts: master + become: yes + roles: + - egallery-tar + - egallery-all-aiomode diff --git a/blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/main.yml b/blueprints/iotgateway/playbooks/eliot-eg-muno-controller.yml similarity index 78% rename from blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/main.yml rename to blueprints/iotgateway/playbooks/eliot-eg-muno-controller.yml index f67a423..5b7c856 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/main.yml +++ b/blueprints/iotgateway/playbooks/eliot-eg-muno-controller.yml @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -16,7 +16,9 @@ --- -# tasks file for eg_trans_certs -- include: "install.yml" - static: false - when: operation == 'install' +# playbook file for EG-MUNO + +- hosts: master + become: yes + roles: + - egallery-munomode-controller diff --git a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/eliot-eg-muno-edge.yml similarity index 74% rename from blueprints/iotgateway/playbooks/roles/eg_certs/tasks/uninstall.yml rename to blueprints/iotgateway/playbooks/eliot-eg-muno-edge.yml index ca56d0d..757b3fc 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/uninstall.yml +++ b/blueprints/iotgateway/playbooks/eliot-eg-muno-edge.yml @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -16,9 +16,11 @@ --- -- name: Remove generated certificates - command: rm -rf /tmp/ssl-eg-keys-certs - args: - chdir: /tmp/ - ignore_errors: yes - no_log: True +# playbook file for EG-MUNO + +- hosts: master + become: yes + vars_files: + - ./muno-config/edge/var.yml + roles: + - egallery-munomode-edge diff --git a/blueprints/iotgateway/playbooks/eliot-inventory.ini b/blueprints/iotgateway/playbooks/eliot-inventory.ini index bb5c1e6..e0b5737 100644 --- a/blueprints/iotgateway/playbooks/eliot-inventory.ini +++ b/blueprints/iotgateway/playbooks/eliot-inventory.ini @@ -55,3 +55,6 @@ edge [egedge:children] edge + +[thirdpartycenter:children] +master diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/namespace.yaml b/blueprints/iotgateway/playbooks/hosts-aio similarity index 79% rename from blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/namespace.yaml rename to blueprints/iotgateway/playbooks/hosts-aio index d090488..f11ff00 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/namespace.yaml +++ b/blueprints/iotgateway/playbooks/hosts-aio @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,10 +12,6 @@ # 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. -# -apiVersion: v1 -kind: Namespace -metadata: - name: metallb-system - labels: - app: metallb + +[master] +master-ip diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/config-map.yaml b/blueprints/iotgateway/playbooks/muno-config/controller/hosts-muno-controller similarity index 68% rename from blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/config-map.yaml rename to blueprints/iotgateway/playbooks/muno-config/controller/hosts-muno-controller index f913463..9aa92f1 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/config-map.yaml +++ b/blueprints/iotgateway/playbooks/muno-config/controller/hosts-muno-controller @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,16 +12,6 @@ # 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. -# -apiVersion: v1 -kind: ConfigMap -metadata: - namespace: metallb-system - name: config -data: - config: | - address-pools: - - name: address-pool-1 - protocol: layer2 - addresses: - - 192.168.100.120/32 + +[master] +controller-ip diff --git a/blueprints/iotgateway/playbooks/muno-config/controller/var.yml b/blueprints/iotgateway/playbooks/muno-config/controller/var.yml new file mode 100644 index 0000000..1f40dda --- /dev/null +++ b/blueprints/iotgateway/playbooks/muno-config/controller/var.yml @@ -0,0 +1,30 @@ +# +# Copyright 2021 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. + +# Set the Password of Harbor admin account, no default value, +# must set by users here +HARBOR_ADMIN_PASSWORD: any_password + +# Could be true or false +# true: Deploy k8s NFS Server to keep the persistence of all pods' data +# false: No need to keep the persistence of all pods' data + +# ENABLE_PERSISTENCE: true +ENABLE_PERSISTENCE: false + +# ip for portals, will be set to private IP of master node default or +# reset it to be the public IP of master node here +# PORTAL_IP: xxx.xxx.xxx.xxx +PORTAL_IP: IP_master_node diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/manifest/mepm/mepm-service-account.yaml b/blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge similarity index 57% rename from blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/manifest/mepm/mepm-service-account.yaml rename to blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge index 9bf8e91..a63edb4 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/manifest/mepm/mepm-service-account.yaml +++ b/blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,19 +12,9 @@ # 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. -# ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: fabric8-rbac -subjects: - - kind: ServiceAccount - # Reference to upper's `metadata.name` - name: default - # Reference to upper's `metadata.namespace` - namespace: default -roleRef: - kind: ClusterRole - name: cluster-admin - apiGroup: rbac.authorization.k8s.io + +[master] +edge-ip-1 +edge-ip-2 + +# Here you can add edge nodes diff --git a/blueprints/iotgateway/playbooks/muno-config/edge/var.yml b/blueprints/iotgateway/playbooks/muno-config/edge/var.yml new file mode 100644 index 0000000..e584b7a --- /dev/null +++ b/blueprints/iotgateway/playbooks/muno-config/edge/var.yml @@ -0,0 +1,37 @@ +# +# Copyright 2021 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. + +# Set the Password of Harbor admin account, no default value, +# must set by users here +HARBOR_ADMIN_PASSWORD: Harbor@edge + +# Could be true or false +# true: Deploy k8s NFS Server to keep the persistence of all pods' data +# false: No need to keep the persistence of all pods' data +ENABLE_PERSISTENCE: false + +# ip for portals, will be set to private IP of master node default or +# reset it to be the public IP of master node here +# PORTAL_IP: xxx.xxx.xxx.xxx + +# NIC name of master node +# If master node is with single NIC, not need to set it here and will get +# the default NIC name during the run time +# If master node is with multiple NICs, should set it here to be +# 2 different NICs +# EG_NODE_EDGE_MP1: eth0 +# EG_NODE_EDGE_MM5: eth0 + +OCD_IP: 10.0.0.33 diff --git a/blueprints/iotgateway/playbooks/roles/docker/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/docker/tasks/install.yml deleted file mode 100644 index c72fe26..0000000 --- a/blueprints/iotgateway/playbooks/roles/docker/tasks/install.yml +++ /dev/null @@ -1,100 +0,0 @@ -# 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: Check whether docker is already installed - command: which docker - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: Docker is already present - when: result.stdout != "" - -- debug: -# yamllint disable rule:line-length - msg: Ignore Uninstall Log , Docker not installed continue with Installation -# yamllint disable rule:line-length - when: result.stdout == "" - -- name: "INSTALL: Installing docker update" - command: apt-get update -y - ignore_errors: yes - failed_when: false - no_log: True - -- name: "INSTALL: Installing docker upgrade" -# yamllint disable rule:line-length - command: apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common -# yamllint disable rule:line-length - ignore_errors: yes - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Add repository" - shell: curl -sL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: CA-Certificates" -# yamllint disable rule:line-length - shell: sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -# yamllint disable rule:line-length - ignore_errors: yes - failed_when: false - no_log: True - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Update....." - command: apt-get update -y - ignore_errors: yes - failed_when: false - no_log: True - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Installed docker" - command: apt-get install -y docker-ce docker-ce-cli containerd.io - ignore_errors: yes - when: result is failed and ansible_architecture == 'aarch64' - -- debug: - msg: "CentOS commands start" - -- name: "INSTALL:Installing docker " - command: yum install -y yum-utils - when: ansible_facts['distribution'] == "CentOS" and result is failed - ignore_errors: yes - no_log: true - -- name: "INSTALL: Add repo" - command: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - when: ansible_facts['distribution'] == "CentOS" and result is failed - #ignore_error: yes - no_log: true - -- name: "INSTALL: install containerd.io" - command: yum -y install docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io - when: ansible_facts['distribution'] == "CentOS" and result is failed - ignore_errors: yes - no_log: true - -- name: "Start Docker:" - command: systemctl start docker - when: ansible_facts['distribution'] == "CentOS" and result is failed - ignore_errors: yes - #no_log: true - -- name: "Start Docker: enable" - command: systemctl enable docker - when: ansible_facts['distribution'] == "CentOS" and result is failed - ignore_errors: yes diff --git a/blueprints/iotgateway/playbooks/roles/docker/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/docker/tasks/main.yml deleted file mode 100644 index 01147f4..0000000 --- a/blueprints/iotgateway/playbooks/roles/docker/tasks/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -# 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. - ---- -# tasks file for docker -- include: "install.yml" - static: false - when: operation == 'install' - -#- include: "uninstall.yml" -# static: false -# when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/docker/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/docker/tasks/uninstall.yml deleted file mode 100644 index f5a40f7..0000000 --- a/blueprints/iotgateway/playbooks/roles/docker/tasks/uninstall.yml +++ /dev/null @@ -1,88 +0,0 @@ -# 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: Check whether docker is installed before deleting - command: which docker - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: Uninstalling docker... - when: result.stdout != "" - -- debug: -# yamllint disable rule:line-length - msg: Ignore Uninstall Log , Docker not installed -# yamllint disable rule:line-length - when: result.stdout == "" - -- name: "UNINSTALL: Uninstall docker engine" - command: apt-get purge -y docker-engine - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'aarch64' - -- name: "UNINSTALL: Uninstall docker" - command: apt-get purge -y docker - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'aarch64' - #when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Uninstall docker.io" - command: apt-get purge -y docker.io - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'aarch64' - -- name: "UNINSTALL: Uninstall docker-ce" - command: apt-get purge -y docker-ce - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'aarch64' - #when: result is succeeded and ansible_architecture == 'aarch64' - -- name: "UNINSTALL: Uninstall docker" - command: apt-get purge -y docker-ce-cli - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'aarch64' - #when: result is succeeded - -- name: "UNINSTALL: Uninstall docker engine" - command: apt-get purge -y docker-engine - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Uninstall docker" - command: apt-get purge -y docker - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Uninstall docker.io" - command: apt-get purge -y docker.io - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Uninstall docker.io" - command: apt-get purge docker-ce docker-ce-cli containerd.io - ignore_errors: yes - when: result is succeeded and ansible_architecture == 'x86_64' - -- debug: - msg: "CentOS commands start" - -- name: "UNINSTALL:Uninstalled docker " - shell: - cmd: yes | yum remove docker-ce docker-ce-cli containerd.io - ignore_errors: yes - no_log: true - when: ansible_facts['distribution'] == "CentOS" diff --git a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/install.yml deleted file mode 100644 index 2b9ad8e..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/install.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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: Import vars - include_vars: - file: ../../../config.yml - name: vardata - -- name: Helm install appstore - # yamllint disable rule:line-length - command: helm install appstore-edgegallery edgegallery/appstore --set global.oauth2.authServerAddress=https://{{ ansible_host }}:{{ vardata.usermgmt_port.name}} --set images.appstoreFe.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/appstore-fe --set images.appstoreBe.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/appstore-be --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/postgres --set images.initservicecenter.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/curl --set images.appstoreFe.tag={{vardata.eg_image_tag.name}} --set images.appstoreBe.tag={{vardata.eg_image_tag.name}} --set images.appstoreFe.pullPolicy=IfNotPresent --set images.appstoreBe.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent --set images.initservicecenter.pullPolicy=IfNotPresent --set global.ssl.enabled=true --set global.ssl.secretName=edgegallery-ssl-secret diff --git a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/main.yml deleted file mode 100644 index e8bea5a..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_appstore -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/install.yml deleted file mode 100644 index 1aa05cf..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/install.yml +++ /dev/null @@ -1,37 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Remove old ssl key dir - command: rm -rf /tmp/ssl-eg-keys-certs - args: - chdir: /tmp/ - -- name: Make new ssl key dir - command: mkdir -p /tmp/ssl-eg-keys-certs - args: - chdir: /tmp/ - -- name: generate cert - # yamllint disable rule:line-length - command: docker run -e CERT_VALIDITY_IN_DAYS=365 -v /tmp/ssl-eg-keys-certs:/certs {{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/deploy-tool:latest - # yamllint disable rule:line-length diff --git a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/install.yml deleted file mode 100644 index 107d452..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/install.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Developer chart installing - # yamllint disable rule:line-length - command: helm install developer-edgegallery edgegallery/developer --set global.oauth2.authServerAddress=https://{{ ansible_host }}:{{ vardata.usermgmt_port.name}} --set images.developerFe.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/developer-fe --set images.developerBe.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/developer-be --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/postgres --set images.initservicecenter.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/curl --set images.developerFe.tag={{vardata.eg_image_tag.name}} --set images.developerBe.tag={{vardata.eg_image_tag.name}} --set images.developerFe.pullPolicy=IfNotPresent --set images.developerBe.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent --set images.initservicecenter.pullPolicy=IfNotPresent --set global.ssl.enabled=true --set global.ssl.secretName=edgegallery-ssl-secret diff --git a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/main.yml deleted file mode 100644 index bab0558..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_developer/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# -# 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. -# - ---- -# tasks file for eg_developer -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/appstore-0.9.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/appstore-0.9.tgz deleted file mode 100644 index 53de058bbdfa34df48eb0d87fd59198eac8adcca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7213 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 C`O2;U diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mecm-mepm-0.9.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mecm-mepm-0.9.tgz deleted file mode 100644 index 4f5c572f2d250002b82e96ec2787078fa85b3b85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8135 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 diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mep-0.9.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/mep-0.9.tgz deleted file mode 100644 index 490d9efaf138e4ab1991b1881529cabe6aeae149..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10948 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 diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/servicecenter-0.9.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/edgegallery/servicecenter-0.9.tgz deleted file mode 100644 index 72aed5a97f229500c45340db64935e5baebc9145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5615 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 F000KLM9csH diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/grafana-5.5.5.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/grafana-5.5.5.tgz deleted file mode 100644 index 2c67c809fd9de065bc2d0fc2ad19f3f877058259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21051 zcmV){Kz+X-iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYcR~tFDIC}o}r`TgM1N0AF+(GipzhuTF%itrH2#kV ze|o)M@5T1E`hTz2EC0XW+k9^S*6;h9Tid<=fQN^q=E=A~>_2+F`?gaa+#lpYDft;Q zPG~ZK%YF-`sr&gN=m-5)gn7tFD%7jf35FP>h$LeWl*TZk41UWno5?pQiQtm(48`Pk zRf0@0aLfqi>f00xMnWF6a55$d9>AE2G;U4k6c1n`M9K%D1P7|DPf*Fzcq-FeYJ_Ovl}rj_H|TDB&q$I1y)Cz22uFO~$Q@ zY>3^E|8GBd8T2~6))bLMAd+Cl2dxg^DI)Ozen-iK6Fm9bSpJq>w*V3(!MC6C!Yt0h z3xfX^5+2e*Stj(SyzCTF7K|9d(G(?rV>p^1QK%vdj95$mFvDzdnz0Zo03G%ee(I3Y z5+sf>b3R{_IFls(VcO)F zU6K&*h9S)oQ8Ri)X3hUkF&Bf@3IIwHDv;!Ze9&q!oW>+Xd;tAcYh?vaFotu!)`03(Z1{I2i4U8KHo^drzF|EL?o8eDZ!Pm(5DXx@?SQN zA;M`)XH&^)CFlVc3<*4*-EIsaO+uUs-o2viBBm%(uLPr#C-H9HNq5C|(8^z)m{)R6 z#4N=FIHqw-lJSQ$LITU#kTMD8{D{$^nmP%~k62AEK#Ig<09}-l?gXP)O!QmI!~mZ6 zdc9UFCYSgg^#Mpi1VQmWj?wG{hct=!0CwaTDFx9?xR=l6%Ml`R#_;KcVLqX8G=P3j z&A|tb0VRN9fmwnC1|Cjul*O2B01n0hw7H<{q8%*1a!@oS36a~U6Y6c`EuLu>3zEjT zjSeN_>&-6!$@K#G;F5WOS#d6EY;2MR+#U1!N0kB&j0i zLC6HGz#26xXWbOm?Y~25Q-_j%yiekp!L0%Q^)wZ;eZm@GPZ_-=Qg9~8xRX!`1!jD~ z5d2Erypr1cyPT780tk*6p$h*o;#{r<5L7Y~4rBxzi`ELHuu%Nqg;Yi}uven2rwLd;W$!#Qf@*@T!iVUEhW=TD{GtNkayQWP|+|7@iojPb*maV;1tP8O*7Dqmx zldIc*z14r&hf{^MOkzxq6_DH;pJrf5fF_bHsLTdHoX@WATF1o+*$#8i5Vji=5obpL1#j_*o_I|m|LDGu59|+$CF0#td^_Ao^CeUV)#Lssj6q<=UozFEN{`R>1OCHHZLCCxipxa%qjS7_KHb z0m%+YGBzvCjTnYVu0OlZ1FJbm8tl)B0sA|H{UHi3a1!N{VHz;YkjEW{Bf@Yf$|dxw z$~f-iK*&84drC(~@>j#r2SwC$L~MCQjzHZ(0~T9FqPhYQlPQrERkbk9q!ihk>Yr0Q zRn)$}`SKl+uNeL5-p=M!3Uqj6M@@5ZwW2O%;}at$JGoR6t|AfU`KFp;lqi;h z;+S3miXv^q1(b;iPK41k4K0`D905#e)GD<*fa_L4Hu^MEE6Yf!zh!79F*HWgA&vj~ z*RCbp9aVH7Nf;NZ24Z8gNITF`@=}D^D{a}dufv$&M07~>s`N(hH}_W8>QFX*^^+fefRo%`%xKRI}x2ClDzuPHALwJ!R3bJe0NY3N!t0!aNJ&?{u@XhXv<|O7Yw6m zCu6ZK*WY}hO7;heiCRWwcVZD~ohv*v?;)SaoY|@=|Cz?w6mt+0BrGFP?3W};6U{4{ zGFK#yA)#6$lA2UVba`tOdQ9o4zt z8kRzKCnBt)+tt;v5xsMnO)v5kGcHxxB$NY|>-EUK5e6%;7b7y|w-b+CyTX8>1tqV$ zTv$pk!+ORnHFGq^xkwI1XO^s4iG=THgdL|m#whxQ5rN+)p=^MY-?1dgKN8him6?x7 zf@1Q!@=53>ii1ioL%CmsCbAkNt0uLz{DD6aE=V#~I2uSvgNVHey-N0xKm*OF4@P=S z8xSFZfL_UEG$CnW5lKZr0206jVj@d*RYh79IpJDpWps+g1ZTXX$qE$L_-xgR|52mQ8sldC)ntrA5b zEK7FWRmtm`FYEHhORvF@PSZ>o4h)-jmV+YWS7L%?{YGZUxw&~!~>h=7{d_9^lH7OY*5;Kp#GGanf(6|;{1xT zXaHO=nv7HPTlQ^CVdZ8eQ)mLjK(9J7x*%a1>6f>u?%uje`y6%`|X1nsfc)d%N zazqjgA)QW7u}jv0u;uPB*`O#qVr2-Kf}r8xomBU5;VqU zR2eooZy3{Ymn8qhp=EKrLlQxyIKexr;qJPDTK+liEFbv#)*_mapV>2 zppZ|to=M}X`;Haazz@AEO{ zc3HTZkZ@v0q2b`xKx1(%TkvM5WqD986G^>Mk_;)-f}j^T;TwQO7-&6OZWO0N2NHY< zxko;ytIM^};J#Zs3W+a?+hS_i!V{KzdQG#Rh-J(5=X?S72$iDY1Mb0f? zNFXDVlm%@`$O0S1L)qAoc%ugwEZ{4}hFacFYvk}=sqh4&VEBPcTKn=#nnHGlj+`87 zwG$)CSKenVb|dkm*NPx(%WJvbS9qn)%MBa0;%fnixz+z(m_spU!uTDurrrrBC`pvz ze5K`jv3PVZd@SariU`xHvHe;^n)>GOMI!U2Z(pqdCSrn_(*!9SpUGlg3CjGBy3co# z%)e*jAV=d_RKTOtEQQ=DPJfoupfz*3YEW{f;5jqz{${OcAvLzH2*+69GjHroi`+Oj zz*-^hz1Xd{L`g9#aGoMDId_D&dx=;#CPU{f$}4pL%fg_r^}XIK=IfCKFW)ofivxVY z)^X)Z>tNMPz^XT02mVx!XdFqYes#6DNQ_jeo``VCDEB4WRi|2IHeYc>gpNY+=UBV& z{3$ku+c_w*+V-N^6corbrA)Eo!}q7J2XIOyFV4$o@~Y+q#he;-G#5>wiu;OuXP1SP z-zzik^^{`f@V}wJu)nm>gg9K_Sx}hqTobfA#BxG9#T{2Hw<-UVOT=I2HfDHsy!*@9 zf1kWRv`*5D3p%Z(~!UI98JUZeGhMcDU`WLz$hVgSLD`55b_Q;73uKiIAMlOiZNKZJHZwu2^kn4nK9NW zoYavofz1Mo1O*iXXzgvf>EvZqcn^R3KyM(<+ISZ$~ta=@m)F zcIK$FSxB_DV8zJtx@WoPq<%Td;uv(qH;hmy>t`%hWL%O|xp*19;)cXVO6Rh!J#Dp9 zQUlj6VqlbtGdU{xyOyF$ecd8hdoQ|DhchAAQbU&mvmOYNbljA#C}q#YvJXs$WqY#b z)DjhEoQ#vREG>TGAx-5}WgN4C0)0d36$8q~wsIyWXT^!hqr+o5CP|knh~+<&k>738 zN()`CrjmZoR0Z2>N*b$b%bV^4qv;t@VI%oSadbx67$xL)8)s<@mCCmxWysjj0wft&1 zOF52fr8?2x7foZ%G!HK9YS&|l9x7B+h~cR9xi!uvI8LRMDAKqf6lqxf z;0K8z$4{I*WCK6!SOYW2`_R)B*;+@ocDq(&jqXYj0T%x?UYqlx&G=l-AIhzJ%JEsX zLL0M`I_5ILYW7Pwmu<_1VHXie04WZBE(>?$#GMCCChHYA*R3gVROFBrD1eT118U~a zi?$~&D9gbVk`&{-L933Y+8P-D%C{D6RL6r4~D%iicU}vZ0pz zXYgE=Pqf>zuIM2N!$K1woww{5LrKSNaGlX!md~yWNGbfbUV>mva%MqIefwk@%AMcIYw zB}B=pa6WQD$5@HK3aS(_G{pilUZc}(_%`pH;wJz({qo*GshGB}>h1uF#AeXhBDf-NnHjV3LXlZRqBi#|7&@7H% zLgUDEsx}1nR}QRYNsKv%bEDL}QEeTfDOQ`EW3k@yjVoO-O??wWF7=uQEHn~z8$b+4 z&6)`cpxrc}(#!2M&M>w!7Npy&y=8JOM z+qMqGD%UohlydFWk;~XbPVK&ZtAlJ6xRPbZao(ZEy#9D-Ul!2dl$sy5ZwYoMvJE3h=g*TUm)vDMKZE4?#sCl4d2YP+$ZaXxIXE4MQbV+Dt zn<~`viH4HRRpgsed*ym@dUA2QsvvF&<%a`PQ`P%GK3IJ@r&XQ@qJdZ~L6Y^xiDf3ic}i|O1-9b9)&xl5?7a!8*VH19g>VfhFO~gaODiep zYafdJH+rlw!CC`&SL#A1f%qgItd9lxKeo5~FG}aXxB5FfPv^fMGS8@*3@>kVf(oa0o>fw z7aC=8EDM@49je?|DH4-c?azVaUO_Q%@1_mcp#3<|=|niB5r+Q+98PGfwHYXp`Nv{F zh%pknBVU&UY14&=40GZmQ15SUfF>n7;{M@@meTz5UJ9oss7)hki9rU-U@PF4VPIM| zheJMp1~PI0+e1Fq^m(Js0v(K$IebWx$jPCC!pq(Uq*8sxS`xyZ%fxd6DMf){W5`f^ z_5A$21=Ta8T1fIvjP|@Y=8UL$HOhatl(EwUA?j069E%X8ZS!k2MCnb`cJ?y$EM_u=HQ{-8Xt}o%kvb^VuIwcx{dX*+_>Za|Ei!HM?*Q=l&9F+i-P4jz$O9Y-ONVz~Flf>9Wx5#(q$4%S96Hcg|>1PJ2!83RTgx1yhn_0&^FRT{sYXaAX5DZH|e+XifnCpqV1N zS4dc4RgF@rg5FwNEpU~~@D515T4q*P3$uFi`uOLAy_$)=69l(qYO9~^jK>}}?dFz~ zPtu#!^}^`bALMpGWWa)e))^a@5iE+s{u7ZIq@#F%DXm zdevB8SKX*qQv^8)Rn_1aD|QyBqw_a6?Z*8z#R4fYLbmO8lpWfwN2II}Bg(E2i{P0> zmOeUNAinO;*7E?~(lJSL@1zs6lq|soPNDBkflEP5TX-5|wU%m~j8w#iE#Mtv@cW6H6XmQ*l_I#~ixYSBGDqe^L{ z1Gw3gBr1X%<~)9j4>@XYKEJj&f9t2J|M|Y)hv{R1{Ih82`6{}-*pwm>VDUH{VBC%$hSzVF!G>f%5_YPS($8i@~_Ha z5$J@Yib7j5B}+Q1(KQH`B_ZrQSAUY}Nj4ghPtfk z2I=&9&A=Da>>W0((_*o}I4!Ma`1!M2Tx%vmpjMP#Z)z{mGGK9Slv=jA%_^EuZ6oyy zV43lsVlM891GNMep`zUpvZuK?k+3`nUJ4C0ZjN2$Y15$`IXTp_wN@2P3Z4k-@Bwx9 z(-XjR4}v+|I321`X0=85eD-5xbUnfn>MI@y4-uV(rE0KOB3c@HuXHp0pwlT$Ov;t! z0qO60G!q<813u|0Bq*JrvM>w@F$SROcW!d9yfw`_OA#3XWtOh&y1dZ2$!UtlI1p$o zD^wLSmsHqORPrj>)Hgtt%C`N@TxE@edJ9XP4B=C#oG%qz5W0_&S3-6`|AD4)W36i- zNrV#tn-z0;p*KG@oTS2D^0%5^{L;(zP)YA7%T#kd`oy)iO0|bIMb+mRhU_;l0LI}< zM->GAk=$}MTP8nlS}swO%W7Q$NQ&vLYGIcW^)kR0vb4Cb>)M`a4>!s}olutQxMMh_ zc__A{`4^ucYZtXCSbZK>QzMTFg`1nfg2I}k{*6!2=Jw8_!Wx#g1Ko4#d_my6{*tKB zogcWmps761j%}gdk63jiS}!4dY^&L8Z$P_qEdMPSzzdB9u9ea#Ys)F8q#Wo5w9ALC z+P|7OUl-_A-SWlpx}y2^-?3x9^b-r10lO3mI-ivDoOnqEs!&xZh_^dTdIV?9_cJE= z6r{dNz2&;pokuMSd(0+^?UbS%%hl^s*Dly=O|=@AbW?@KJvSe&rT5(f1A6QI*VJ5f z4|;p6J0wY$Pt1B(S^3~2v^$~P71N7|FzBSq9LR>h`~^&7#S=^xtUS1ytAs^M?6B&H z=58~U^CowjKfA!Q4S1$cZw+3}YZWJ#`M$BMTF$L(!_5WQOgZM8Zn-4&EZXlnj-YxQihUm6S8pX_38HQ%%iqlzTN%d_1n5VKW`=IP~)6f*v8(xf4l$sxYAm4#(1yMa$Co*Pu_nx-g{kX zZAgV94h>7G_6SaOe|v=7zuSv{+kid9F-4CKIgUjL_7`gbV#}z z>GalYBjKzus~Mk9X*hKSm$gggrW>0y^5&*hzKN+eK)J4BQF8ZsF2WF&jDoe&fv2$D zRqFN+_&%|Vuf;BEB{Vm?Dr)#0784p(>BB8#bJyT4`O5sp%t6_k8;Lg+(K)AZF`Ewu%zPW%eJ_oA0POG|~>EO56h@L?=) zsocqlvV51fca+qcWlMOmDd|fl+XlN?skEE}%WW&b`BU{Uwn{INPK|-Gkk_ql!}+KvSu{juFZF@JIOQL z=lL(5d1ZVPepAho$^TikAQ{0LWw16u{3krKW!wMcG-o;G-@fXA!My7kI|!m%j#1nb?if30jD) z;Eq@d%D$F)ODj*WQGsSzvesnS>Xx&W*Lh`1MdrYo=b(5PNL_o~Vm9y^D2oM_*{UvU z)`OuncO=&5v#v#MZONrPH}xtcJcfj{0H8d<)dHAGd35f8YQMRK*mn7feH>TR_}jS2 zDkJ+AjLz`ojXCgb`8+F(e4Z$>oa@%VLgSm1mzEnw@lxoA8Az#Tb2(tOT^F*HpY1&? zbyd1CusMl^tC2D)Xh`D$obDYpcj{feJf}Z*OK^S5o)PGC^_VJ7E`uN6oSnSh`*3`4 z`j4~S{dWh4XCF>pA6L;_U#_TW>syP!JvukZPk45WNB(=Lj#eG14T|Y8y=ArF{Dp@f z`CQ;xP2(obroUM8`^nmKgm{BFsne}3M&Hry$;mJ8kN4MaQ}|37e`=()<|=O&3pr+Z*Oeo;q|L9G;x+zI}Uk^!CG#2Ztx~(c~_wpNpwQIR&a1@bknkVdYYZ zZHp67yAs}=9zE=~o7;2!jH)U%d#SXG%3weEvb`(l4Qp}nDqI}R=HJCu%czv1=*giq zxX7)HrhR8p?DuNe*HS=LVYz!eUD*ld-{0oB9{h>5mvWcpG~Zrn+|XXV(X0*#|K_&4 zg0WzicW`o92TV*Zae_HNVswb>%*2HPH6~&y7m>Lw6id`LF~>~ZWS*}0OiDLQTW_YE z9(Xq2Wm#y)ziM0-C|o`619*!z?e*O9qr0m6j%|5&kjwA>mE_B{Xs#?Cv}!eO$5iYx zTb_~J#`@VL05^9ZxKB_H09_DW?o+=e3sjBWX@Sk@Zisp&_hLhfb;k7t11uWabR+PL zQ7RM_t)c#&Nz|UlU)=1H#>zP;Nn_KW2JW^au3GjhR(*TDN6!8#^&9xDf0v}kaOc)3 zdwwddEGc$Xq$`zeC@1k9EeE(uAUxWiR(ujwv(=&#P;2{_almJ0=macV1^Hv-;8j@Xc1e+hTt~h-j0gZf-YA+25L2 zU6EjwiBSGKrwwL@yi@mU$wJ+b zs6Mz%D3Ri>7bJ-WVDd;F(-^n>+htV^d%c`eX@ZNFIz33gWs@&T5~QP~yZC8S77Ge%wZ)nb)+=0UDwkvXIE%49 zJLUrUE?WA2H#g{cFi*SD5K$jFebJKGQv@1{oWPP$LjNmb=t{ zeeHevrJlL;e<-Io8Q+%;ETaGYoqmb_zj)qz%K!f;&x6zdAM~2J8ymP2*)^;5o8uxp z8~ziA!kFbWqD~6=Y+4I6v&QTzbw=!(`H2tz~X}>i!{i_J{75mriX|2UV zVc(dWb`{BVXw;YNxj;LOFl#nhogYZ(S~sQ@d$k^ANeyKl+bg-ZqsclDKXN6u@dcsHPHu6#@1lC2f1<;~I5UP@jt*FXA+um{yj=FtBK zvi>a2|GwGZF57>eZ$HWZkMi7tq~9j~=(Ys&J`6*{H!md1{7|s`lad758|}K11&-mJ zO&Y-UoX8dl%O~4h4lhZF3*Pyd$G7}icHiO{PdD`cenzo6nqs3}ocmXPgqs_9<$lSc z_2D=6W|8^F9%`J*i(_{xM%x+#MU0 z`l_a5(yo-tLnqm!;m|=^3KFjkcr3+l*=^GlTCvP&v-v}QRxRw1S$FPioM3Sf)to%b zSnM4<3o{l&hhL1~|JA~ylwcDaijE*tOfvyHJ@;vfKB?FFyFw(k!SZltE2N2#tIc%M z`8%|C!w{!p04PmkbJ2TO9Wk@5{~g+Ux?1N{34!I3|EX@-z~a@1(>I-$Z4ZK)XgULn z8r{uJ9tEi0s26$a^>*DweJCa6vvj%vjaVsLF|3be$gh5<_PuO7ujk$xY0Pxq_qLzQ z&DZu`>f=485%13Bn;WjR7IKik`zCHqfr z>-m%X|0vJgKufu^M~uO6CG4AK zZZ-7ZU9|I12A~D>|M~MW{qJvYzj%uOd6Y-Xriw}|xG{8nnb6|(GL=VZ%Dax#@4L12 zhp;S_L(WyX`tU>Zt_Iq^6V3<*3or>nX7RUVmODp0)9ZDZ%x!0oLW`NV}G++h$eYX_0i=xyCp=YYPf z0IK{A{tQ}}!U+y9cs4b5^}=OQ<~Fxy!KoQ$@B`vloeXc6?C|Y%)xS<*#j~kz-f&&i zi|)&JIbZZ&3WVB_^jib6&<9-y%jbr3(RBxk?{pgaR;R6Nk)z|omqvpwKX<_O!T1d) z5Nm+x;Nu5p{IJF995)Hf}EeeI_z|4lH8V$6BRCXBeZ z6u3zL?`@XiKl(d6Px}AkJj(|`>|8)Q7qdcF> z_Z{lVw{+j#^e)Nlp*dYX?=){-!-x+@lnLJ;Tu4LZ3Y&hFnCTU^;3$W#E3A%u$fCTi ztoPMFQMiXvG$b(*1oL3`=)f=@9{e3~XeU@)QFcL+aUPjI!~*r(WrIdzNlDc0SrWej z{v>dsos51-;~CRD??A&|&+~HJe{BPZMe#gCNU6*m-M*pm`J8jPsDj3}ieVNuje)NJ ztegs`$z!P*a|8GyHeHFh;cCdd+#KYX<6MncnourmM91gqZ3~4`)`t)B=KzXnRwqKF z#gIk~HW?K*T4ApJ52buS6{Cpm*@a3Lc6up4(h!9g*e0^hA44$?8}>s@QJ4F!K!oa3 zQurw!I`!D_2l5y&7R*_rxhPu-ueIyA^Q0X=J$3S5N~4HymZ?~(VHScCSsLxT$^Su3ep#ML)x`u(meB&tQMKN(3jDuCVx)tfEAwYAZw4+$!DUwF3|fJzeu=JEyIOiz63i#)aT-`~6Yq0aE8Jbhh%=&y#~SeY@^wM6Z%7#G>7!gS=8* z1~K_{Lb*89hOvBhal#go6J^~K=GC&*{A03 zS(?UpiW7lilcA=m=!ok)1x?@WbpXed3Ki-);{s1Du>YzeNDcqL3?I<;{~yc5e{YuK z|F$-J{U`qa7|)~ne^rQJli&BKj=20mM2Tvoi#K-P2z@JGaE;}zv6B%=P)vTu%=VGL zSh@?#j8Pb3&fn1pR}Aj8P-hQzxIy4-BYFi519DTJd5Rs! z++Up%rJk3?%hv~0La9Fj-To3mJD)507t1R3S|!(7o>HwLDdYp@j?9xruGgfEoMQ$k zB!N`V$JN}mz4~i017UXk&)ayX6|n+z8$Mzaj;HGkEM2({5?aqnN0fz;9e2Rioao(1&(d9R%Ry}#Yt ze(^;AALDuWBe-8Tir22*dC|P3GRx;|u@xWeaIc@F%k!Mueze!zozQKs!*lD(QF-mg)|C)}iY zjag`l?`qqvt2Xa6T3x*pWw1Y%N&~NU?0>C0__eUbg&BSwPg{t+=D2WM5`PkyB`7{P zGDGoR%!A&qH|O|TN|`8KW>5pJELA)tmD*ELwZ}#CVvGtJ(s%%;dq?)(0mQ~w95pqN ze>Oxx?mHz;HLlx38mUuRZ6h5uY`(-4TVMCGzSx%%mZl0Cj;0l;FV*~%QmzVn`KA3N z+fAj{7e$jiL=J&(QK5Z$ZuK6#v@=oK?_o~ zSYN{zy8ovH)0e&u=nFVSzD?7gdTRE6o}}k-{J+ni_saJ_Zok-mvj0EI^UdUcDkcg& zF(ps_AU3-%ng8kQrT47nHMmXwt*6|bPq{m9nY(k5WxF2iFPc^JD<`nDhr1MgwWBdt z%9gj3CXOarz0#>4)!!89UK7fH?>KoK-CqdyuM7BJI_UrA2L1?w)gR=k%6~%6iu(5f zuKrNZBK_~hi^~1q+r6jr-;eT?^glW6Zy1{5E6OhJc=hY@fgrNCuX0(SI(n*aJ=0gR z{!M}c?Nj;h-!Y2Cqz#`9Wy)CmN?kBD=ysPFmAZFoqT6VhCPEtFSI^e2##lf{CDz5P z!!S>2!m)gls=Glt?#ixyPyS#8bLhjf&l!tvVDtOG^x+!N)dj3}|1ZGbPfw4!pADzm zyjfj0oqdG%GudGqUcG|$X0O)X(+apX9Y~_L)onALuCPLiw+9{(ood#pV*W9e0uKs%%%Si6biCP{@dDqUZ(%sTTk)7kMi7_{(l1zB2UEc z;huT>|B=prZf=+DfBo(4r~AJi=ed{t|AOmMNF! z9d^F8{8b6c-6+poOj}KHk0t_t5;pjv@KSeM4EvqmN^PFH#`{;MXpDn2i(~C;Hy&X1 z`Y3-psK0QezH%}8y8y!y`Rx)K;S&=9VyL(G=02J8&}c*wBFyEq_Sbz{6g0-nkN5Fj z+@jr(CIXQ}W$i1Y?-<7zaU2-ey4^$aQRp8)+w+?jSB5HZb2DfxAkY|YZrXl(a?-WA zeqqab(Y%e2PNzsxiI43rO+|Nz1n&+>qW)-aK)a(78X110{c-JIO=WF;ekV7Q7a`Dr zseE&!ExrKacXPz!4GxvxI}7pcepKO>hFkjKmR1#*m`$0*x^b zS}SlmAzb;G)QJ>6!Ep@Zm=1N!AxXv?z;KKNxy0&jBJVv)qSgu|c&vybtfdT($R`|W zI{K&e0OU3Wny8u*BuFuXm?Su81^XvwCxSBET7f+}ozet;-aCPaFy0ErM0C}^8vIr; z{GD~xzxKss+?D^>pZqfE<_!%|c#)+rA~EKz?*e|6w!RC7=%V#qAf{>SyZ^7X0zV^0 zXvX1S|21y~mpr5qZUx5I)e1<2QCF8|^q(!2IsD{X+v>HC-T%k0clY1D4yMr;=wtr= zf3el?m-Bya_WD~-`~NYX75GuF0QftOr?59cOtf0x!9l_WiesI;@CpyX1#?Q0pmU?c zM^pFLH4`3VStDiR?s}`WvI3`X|8xKNKU=Ny^Yf4^E)%7Ut* z0YLU9K`?-wQddu9Rg`Zv0g*qMmXH+FhV$vHV_uvO<^j;@sPcL7CXhZPqzS0Ze(FXz z#saI)UW*Y+ASMAU*}D&-Y)pQkEuq!Ocm;VHeu9PH44aUY(sa$eOv{4Wa*e8HM1xI8*&Rq;FOF3L4vPfivCF%TxvbA)!H>LbO+|O{3SJm zwU}IBxa+<>zjN3lft?SP6&uz-yrMy?Obq(kC^uzh$@gHW>A!c$) z5*60GsQh_g7ZapcAe+_9MK5!d-h;T5;D!Ekl(FUhAScQT_9_Qt8kUqc@tdd zlY%QtY9YHPTsc`h5ex}Do;5Tj*Rd@M+?1WyI-GxowwR^3J%IKxRW$oU8XcD5$c)v5>U0X`N}fB)9w#i}nCMLtBc;5=cL8bOYK_!fp@X zd9T-l8)%b+2!i5$9HZF@4rvnc_5gNz8_+f}qxswC^6dzbIAi#9!Z4rEIBE~n4Xx*3 zHjpIuON{Uuj&0GUMtIi&-kdAAN*1hUz={i^WcO--tLtFQc|%6k#N8&vq$9MdfB@_zHIiDIqS=kGAYd}z-XfWwvd&}+qQ2DTyY*<kqRZ zwK6nUw%E(Kpi`?hEo}W^;0hP*>1!Z%eVMXuHV=;K;d+R9ET*WcY3^EfkD`d-f;b_l z%0mT1Qy13A$l7Rew0;-x8sYL2R(Z-yOt_GA;@}AO4)%{ZnA;`Ip;HCoum-M=zutqc zda0hDVXNaiQOn7TB2|uYK!`aGBEdzc)q|p1E%1bP%d_3 zf;e8FFJDXCaCH`vA&T1%u^A*0IYMI61aS_mDylH3 zc5BLTijzqGi7zpmsWBLbwy`w^@PXq|7HbEe{X~*6d<^x9F=kb5Jl_4~1a{y4;5wA* zHKTEinKtXf$b=0$`jWLSTPVf@DEqu_ifxE8^r`#Gt|Kl4C)P`LEXv$fD&gZZfaRv}7Y zh;=*?j({XJV%r_pm=0)w;mfN6Yv<`@cn*}oxtFBud|kn% zKHdJQz{Sb$^WZumzZcfK8I>c80oi@83C5<@7DEfsFf!`+~UYcN3;hLwg zT-RT)-DncJCta<-o4VGhQ4g1Yp>+wakI>G=PAO`pmtiMmRA41NwxJ${)%BGPj~aEB zYf#arfPiO1hzN6b(8_YNaNWy~BU$!@UM2fTpm~(_8V*J}Q^W>DG+7l=IK*Zf(ksb# zCL{$UK*gbEDO{__*9U=Xj<@L=WYJD2%XSnnjuGl`;*#g-8qS9qpAG4!I~j}X;HvdD zErv^=aiRQqKX~2`ZXX8F2v@DQX)#tml#5q<1wRJ|{SB_3D)$xEgj8;U5GF-I~jToH*%28=9T80y>gXwmU4j`f-2b#dg z*RnTbjIOgqNTwhQcNrdGCW(D_j1#FH;>b5yppTxj&B{_7SBK*tW=tX^0>*$?ugR5 z-IP)uGxkP7WqlMy*eOch+y}6yH5O-*1Vd5mF#Ox@=Bj5n;VMFJsg;G2NXz>wM$U|O zskN4?XBsAb7^K-}Wn_xjY_9SCo^bisP%ad2RFLf3{oNx#nV8^2kg(C8a8I*W z&Ao$7boF#%4n{~3#53m@?&t{=QgqNQ3p$O@)yb$05EH^di77fdeuCiw&vZd`!{K>Q z5GlMn4ws)wg|!7vn0snM3*EYTKVFFG5|K0aU1E#ey0vgE;o`loC8v<{e6HL1h(=3> z7(EPJZc(+?L9WP{k*Is|l6Oo;%dF%oTyr9Z%WxI#Hnni|f_~87zO^Z*2Cg{~!)3S@MGW7Q zeih(4niC~lhHFun@I5U#7OsUJ?i?;xbbjmi4Er;1Y3}_YA-`q#4T-T*rq7FTVWH1) z)vagvaCq=PA6~2Lk`H&^y*{Z`fR|$E1-NqIsX@TV!=KclG82(_MIsCwBNk4SmBN$3 z)Pb}p;@wOgc;Q{|+}{*P;%H47)+V@4_N-WaUJIA9RY+b>W0VlCu(l!P{i_KH z^>IyaBKd@7ag>{NmOY)e5Uvr8^I=}YTRJ8oib21YD@221kv3LoPfKF{9cb7>xFW*k zirQD}^&GBYHx%R&34Ivzl9EWHNPai#O)E+`DnWNEp?V=)DxCEL(Fe%50!+REwZT-5 z1X+?3niK(1MokIvhl9IF`U~MIc)G8_uHSiw8obuwTuSy2xF4^O2q*8bn9!);QP8jC z9A^4BafAg9MXp+!^RYaDUx=8%FT1CEf7fPDLrtzo9799_nQzwIzoBg}CvRWBJ^~_i zITekJ;@DGNrTT&s;4#LjB9}Wosrb+&;!0~#t)3SL#xF>E8uOnqBcs|lAH^_~t(9du zu;GHFAYygqn2fB}C%e1Iz}#Oivyh+U@XuY55_l+*jQ0l!E0fnvEJ(;jboKh-UoawOJdAVA0MCDdC1+ql# zS*dl;!Jp*nX(oI$XxuTZQW;TUKJr&9uvlY;z^H9Ijf*u!u0^@GM0cZ1JT$ zIdwqRuD9DQw;beusRdU+nX{WWSs<5NZ@KyXK~`H1RXrD4u-bBHmRM`H@Ey@sPuFg> z(sFS9b+$&Wcag9Et1P;y_%asdlXs^_lKVwC5d_6NSXzn5;mSB>KjHa7*BY)1JhP&O zgG)hB51edR4n+ece=Px64p)jezoIOf2iu+CvJGpv?5_o|X)|}t^_dMGp4-i%YWPkQ z>A|(cL^k6~L$J(5s*;^W)9Jyr#6;c=uHr;$xE4*Pf7-F;_VbFFsF-YfktP0m4({ha zb#Q61wq8rx(;}}u>1fi)H@1FHGf@$)q|prTor*R9sXd^T)D3+^N<|zvO3bykXCrfL zH8N_%hE_ZP$6D<@H=4n@9OQW;yr-DgY}L8&Djp>;7mo+Hy8EJe+G`eo6gwoW$3N`u z&9VL7a{(y09PgWZtW?9r)g>JYy5s!98>dqli=9>KOhyP-MgR7$G||Uao2I*L z+H@vN3Z6PUnk@&KH>h=11FTEJRvG*H{E5%uQlUf=-^W?p8QzU-Gn<;wllJY&nv#tpj2L`zee*< zA}<1Iu6MKnB!R|3efi6N&=2mA7NrSS_0Gsfz&w9sP%M8(H)K6%b5e@cfHpUk*nNYp z=v5L^6z%&Szq)YlrWk3xL-Pn*Wiqs_c6`fazGLUZ+yqy>6Zaa9-F~B^g1+N!;HnMAn(dQZ{;a!f~&GS>)@IfwV-mFz3AOxPtJv_61z|b z*Sx5OdqylY!BshbQU}+(sD*n*EI1+Y{Uv6MM00Zb*%C$+bm3RIIj01d#Mj!ne`SL< zJJ_cY^2Im^Y-CDrfKvP2-jqL}@QDvDf@Y zbc#qafGJJn1|rEguqiA;I@LD;Q!36f77w8P=e3kkK|>m^^Fg=!=QUk@o!gXv`mP7n z!P$t>=^4+4XQ{fLLEW}s;Fo~ z=u|)YS3j5la0Q2dxx^)6-Ixq*w_U%SIX5^kra)d>sBoxu;C^;Y*^WA+suAvPsL&Tc zyA0Sm1URRyDj_t(DzglN5x#<{a;*9R!%-oM*aTJv@B@zNm8!_;R0??tb=ne)Kcz8B zjG+LjdJ}qO6-$i5iRovMV>RzaBGc$bdNySTIYY4bX#A7YWB}LhVvf(=6&-EQQqdl? zye~lzc)wJ}{#0ekmd&ZSRFD`c)$p4ZM8qlw?1>z=qd@HqzfeXZSp*HksK5DqtN796 zk8Tg3?_TS>ZFJ6*>R8P+350`A&!Q7(D`=gKxDe+N5vCGv%>3^^o z5P?LEDx5MZ=M87P!v)IkQCWdwJQ{#KHD#$qNT;6jv%6_Zj}t5oq5;_74C_FL{7vqJ z8NiY2Q+-rvajFPX)W!DC(3Qy=lX1+X^neqgppn13IkWFhk<^WRAWNgRJLiYplh-?2 zg`ML?*M~N!#+)x#XRO>I6XmUlDCUq*0St?bCGg)T?+?vX#51*NJnI0l#pHbdfH>aS z0-S_2!jYczH5`ls_)&5YvEJHMsnk=K@_T|f3^7iMN4F#&l-n;<`RFN-5zJ`j4E_j) zJ6i@<`T!W<-!c?)7mk2N!Z?*>Q#cW9mV+1JkZL0b2b88Uk@_AUQAr2Y> z2wDdt?by%_5se*=1yJR*$U9dwOnt5E#Eee0op-1TiM%sK-Zj1)5(X{vV)y7k`~Hkn zp)c-GXjDzpIHp(1d>u~k6y*zTMl&{6ZRn})qV8vNgNM2S;HEodCV}`#?F_PLuxgmFMIrEDAriHZp z0HwXmA*GRt1Idf4xFvJ9LTC@qRlIuz=c+-mz>EXUgbwOUuol%?NQawCZW<{givpuL zf+tWu1-+2H3SvU#>dzsP4E%}_A#l>tOhreKC>cFTTMiYV&ec!terD}58OEMI0h;F>b^EwT8Ilh)Cro-MyPY(Q78rZh+uF$uBRuzS zr8x&qTlR*OLYzx!7G+N=;8El~1g+MIH*jwQoMb!W1RSRwC!H zu#qiHHl74UNabr(fwq!Nl^GVZPzrKpql(lN0fa>Cc= zPz^oEWk`l?xtV6Lta$f(`$%`6z>ggl#pdF>ycl4 z*!wM0*rx9F=i3j&96I8kM>ET^L&UY-rN8dy)vc6oRqP)bN+(3*S{h|zsZq=aL0$BO znJ_Fzk}9nHYo^lG1j%LPE+sKUrU+UUs1^7xjm8aoAyD*v;h=zrRyZ~#T62a|+n~2l zy)EE1l}52D+8JPm+l5 z<&*%40uyI#T%CgIse-5WoOS( zkPX>$#$AW@ePuemx{?-^>&bWX>X;baLLK|jt2d-H{@$3fy5_I~3=t=xI_hf*su#PN znAG%`7j`tWTucKDt2liR*cq*;DHH75oY$;kKI|0+_n2bzny;Y2jsYhjo25!p z)|HiC3IBHmR1tIARXYfRcHu)za3bb@{0YyB-!5|kUz#cA> z%g6;|Et9pvsf&!9Cz{rTu>Ok)rsZ(huPT;mV9fcGaDtKq$M=;_TNU}#-Qed%$3BvD ziek(}!!S$IYRgEgkV~s7;PM+3Su5sP8s^T07zxb9d=XZmrQ@TeW6`p%t@kZARlXOb zu0}^w5G|_k7=;(=cSfRtoA166#xM~R%vweyI3vzpyaF_Tt^0Z>HHi0YtceWaXV!a= z(^`&`=#1ehNg~X=_ak-eD+y-<=xb(cINBM*oW_^GKoSD|Zyr9n8s7|u`Z#S?I1 z(l9G$zdNDjk~7;IDl~P&D4dvPYSx?*?hMGf`oNjVLy}4gJ%H8!{onsxwSphLz{vns zKhaM^`z}jkilPI3g}cXZ3RZG80m?_$(gOF{Z6~s3;{3Uq+k%};%kgc+zT*gg*B&Ef zDRilj4Bb>d5PjV7I<>J? z=}1BDz?$Qk^t@4eHj8=XY-af|MpBw?Cu5R)((G6L8Q22FY79$4k30HyqXBfE^%vI3 zIPNe!#-9ezmcX@J&LQf^!vC`te79cqr(V3|&W{@5%ho)XaPIG|2fXFBWH+!9(in9e%r3fG79tiY~4Xfn)H z6aw)M=`R!ab9P3OG!wi%fRDd!6u;P$0`i;prPzWhYj1hB5n>zV0y?^<@w1eBWq}`? z3gi($?VaFxu-z^cxbc1!2T=%XD#6{BT5)A;)zJa8CCwEFDgdbr8bCW&FeQAQj+3D~ zoytf6+FICcYhkzM`-DVuzLJn8do-p@_Ql3SwAR~z&3=CaHn+Dopub+%rNyt8MGpP~ zyHcCtb>;1Rx~0@EmANVW{?+?+Q^3D9U)7AKt;3qy14yzsE`DJsot#n{3zD`6&?|f- zwN+x0T+}S$6iLOq`d$a7{G7*?{k8a6%wmH8c2SH)6KGu1o=NFUl5z7gYsQiwYI;ib zMvP7+3<`Y42)E3lyYtL;qCEN%w4Ok@q?`)U(|ITJ_`-%TQ z#&Zw;ZzDtda=gy$Wurs;^S4hmVYBvWo3}0zv-WM*xUWG+xaM_p6V|FXjMaKirM9yV zV0E?Nk(CONv&uzC-~&UUPIRs)IaoU`FIAZW$+O($eiQGdK3lY3_x$dgJ&~ z^roiQ+KA%&^s#9F_j;S<{r_U;N&kP8=kv|ihT!RWdY+!A=jr(x&;K6)0RR71w8|j> G*Z}~EZ+Dc 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 P00960P(_ht0D=Gj*EaE4 diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/nginx-ingress-1.41.2.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/nginx-ingress-1.41.2.tgz deleted file mode 100644 index 00bd24a18749c8f6c5c6522563251debedfbfe5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24348 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 YwrtC`tfBmW0RRC1|FY^Ob^z=G07?Pq)&Kwi diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/prometheus-9.3.1.tgz b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/files/deploy/helm/helm-charts/stable/prometheus-9.3.1.tgz deleted file mode 100644 index 3b1090b56333c0d9bfc3fe96a75026729802c25b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24108 zcmZ5{Q*>ra+ih&ywr$(C(XpL$Y}w%+c$T3Ll>6_}mHs7nbKWBxq?WRj_EF>p!_& zz2E$6QUPF?^cp!SZ^ZRddj}?+xHsJqs4SwkQ7Rj}nFAqSE?lsHhMn@=+t++T{7As( zx8FUW|EHhzyVXaKYfW$i0IS7{b3<7QN8x||su`+!wWaychXsg2iIQdm;|xZKIlMaU z;pDo5$OTds>}N*3ooP4*VFE{*k_y3=c4Px~Rlv>y#sUx6#|A+o$5KWTf{;ugsSPfI zj+;Z0gNh!UNtyb0gB^Wdw>p_#7%p8K?7NfklhLQ^5VX#QUy4R95Q!C)ahjZ|JRL$b z=`6%5g)Q?tL1k!)B%L@jp+=C02PZb}D|pbt08gHWHG&kvDFlV*$`v?E7!RS}RzwPk zSO#z#(z|!<4irHoDfpR&nQw$eeh!5yd4HuV`7?ujp_D`+fO36dUulo_0WF$RhaIyA zMjjg)3xN||=E@TYw>{uxx*h>`hT;p zi}w27zkBVq=k+6=m-Ay8k-*T~@VAH0XFPKyCzBjIfs&#h{9zHS@f{nwUhq_02~3h0Cd>#QkGFBsJ|Eo>kB z0d?rCt`W8)YT-H}ewzz^kO4j4gC}=e{|+VAiOh2l{$;-YHkr+&2m#zQ2`GQc1f?)S zIX*qqYK+Q=%pZ^uZsmcQ6L*}$*Zcu%?}QZ;!Nep2B$?9BBo_F` zc&04J33#+(`n}31tjJhjUZHk4#QHMIt$;R~u)za53i`NcP_IEayY?OhP9bcs>=ypt z>pB28l(S|JTD;dCm_ZR!9@2vvf~N3!&I?IcXodJGMHH=TEGEK(1U@lAfUEosnk>z8 zSjmbz98VWGIv#@1zik12@{JZ~IAa*hC2abIECgX+zLpQdAr3)BDB)vJa7!wqyccLl zg;P%4mq-UijpEODvs089F2Ir^#&lIC{f4zShPVji1RN7~F2*4XZKOITR*IWpG+@>w zrE&PC1cVAkWzij=$iJ)6;08op%Z>@I_8GY41A?f?ad)IoCuyM=LwdW#cv>5K@BPf| zApe~Cs={facz46#33^HjMwLVC7`={`Bas}Eo`W*+RCHKWY+JhOm!;$yjEZufi6YwH zNqhMth0=~rVu&Dw1VnX|KFLK)c)HTn6J;M`Rc)=IBFKcw7LKVd7U#Uz5%xvXNqtWI ztR@d*PL1yE3Q>&ayg||GS8ytlFpBkILIP&qaDpp+(igrv^fUIi*0zv$gt+JeHGwKe zm;*nEz{F3nFwwXCT*_~IeS9~P#X;7)=hBu~n8_0})FrwsC&4m?(!mIB3|RAt+-=0TS^jWW(;=);ZTWxJTVtazZ0MmlL7I z6xz1Ide$?P`nP259m5LXqoHnsBdDiHUl|FRI{DcbzB|7P4%kSj0tZ=k;vK@X(EDunt3}oY}llGC`8K#E#Xkr!9yjv1ED3uv354 z`UqpTRhDU(7)eSw=%`D7X{KbL@lj%7iHAh`DWQhk>&%gKuRf#>JnMzlpSsj=fa%Tu zXeplZfC`SVToM4}dQA-vwR(|?Q6qcA=q)Z?)&Y8JXt;JMpKg#5lZ|g= zjO?3ya_#V0}+DE8FCEbt>1EaiTGKdpD3{#mk@IudpdQNs`LvvVk)ia;s(k1&pITWuk zq5(5Zhl-4uN-5IGx_|}yQ)Co+B=%}44kxsjc|-%vgpFX* zQ-O=b4ii!aaNS3mG937D6zlz=)B;0guv` z`5FSU-2dZt8}f#LB9bxAGVEXWYu1JlEd9V=8!i$+5cHjYC!)lFCA}vm$52|6Slkd$ z=ng1;{=YQfaqdV(F&jpGw&R2jkl(e8N8#8 zkowClWO@Xe^BiF#c13+x9-`Dg2PeP27DND~NO3Pfgv|AG3VsV71Cjwogoy+6c1~EE z_b|IxyQd#h1Pk$f$?rnpPVXA#BhT7>x;D2C3L$Iw#5)*nlUBSU|xsz zE|58V8OBpC0LxnNfmopP=n9S)c8~Vkos|i0oE~Ndg+=277e8opm)`&`YNHk+h1e4h z34lZXp^Ko5Xpi6=qD31ajl;|*$}J@t1u`(hr!WXx1Be$6Izalo6T=xqhIxX>iYUzi z;s`~?3ZO(IW)dN8-(Iv?sNw+w-GP}7OeZIzK06~(TO*_rWlG?PB+`U>gE*wswAcNa zSe)BYWVR?JZby$$Aqdfo7Fw}KFokkmf4Y&wNP7bVmjREH5RT-#ZZXjqx@n%0E3*jTH%NSK|-yWk9bLB z7)O48*HRHO+Gw53u6XZj<%AiR%D2w%{h z+4az#ZWf0mJBvqCmKe73i?C=bDQAaC^&u^Tb7P;xY-V_rDR_z_WN0h^7BLqK>;caU~f zfMWe6eg9D&Qc|z&Y1@183srquFQ#{X)1|&wOwtsL&+xn{2z42QXdYTJ;f-> z1W_G3cX~ybWMit8bBT8Za;dfah^w1}hrPHr7GvOHR_h;ppJz5vkNqWLdgFyNKC(bn z^6@3c_~eeEpyHH3<1EI*VwfG%g#7k1>`B!~N97+qKzojT>L?6jUdfMw7z*R}_P94l zFoyEu_TT=S*}Z#j8y3t>uFTl@9hX(_`0!^>Q30CxSbnj2{}~F-I2<@!Cs!tCbNo#y7k9S9!58L zAb+j|DcML%4Q9(6m^1JjMy;p6(M(N1xiWWRRY*xg(*W-dRLH3Kc>m$z8 z+KbcBHwIcf2M<(>CHSo0s#j^ab#K@;@mLPgx|kvdg0hf;;H-vvOV5+)>%6K!a?4 zh)UtO%(;7bfd^=^L4+hi(GgSXS~VG27%CO%Jy*-^cqBo(f;VgeBi=a6WppE@#9qeW zf+~3bInb5b)V22d#Zk5E1B$30(uJqCoaNF`>Fk+EfS!y(q@USD%o2T{A#14d{=RlF zL*uT;A9BfWbF&e*fMtj3X*EPs<;3xO&Zf*C4Krr7G?3hnqK&9MVv*xF;{t^6m7>01 zb22n?1aU2$Her5~ujtM`^N|YSC3iGFR{KEjOygLX`0iQzt!YoNKC)5oGzs0I8HDMM zS~6rC5&_$?U>T%9RZS{-g@)L`Tif6OQI-9rQFLOCVK$FlxO;XGm!u%wq%hzBqQKTN z!6`Ti&lsvlo_543xc-PJ850&KvYhW+uCY2a{7*9@GM{p4%DSG$vJJn?x0i?IY>#xo z+}_{MKTp?+7rG2VUois-V=ZrFI6xjUb`yOCSsZT3y?R|d{@!0FsrK@0FQy{qgH^uZ z*Mycc(8fPJlPOH)UU+dIBx3Xmn9Fjcv^xrLcU&PPX_4e)CBN~RNw$GfZn@GA?2+Ey zzdut-l}SrUFiq(V`cbqR(fvw{2z5E19e(FFV#*|vh`q_Clfmdfdpd>)6J^TC zL=r`j2U_J8RVX48BEO3uE)OVS@chD+#>Nb`WDkp|6{@kPu)+xV!&UwjB>k&cqX^IK z%3K-$k!^s^!V*sy&p6CD0zfX^_7pfNypGNm?I1Gu1m^LMfQ4gdW68i(EnHP1FH7Da zlX^nCHb#7)`vb-x2_`yNQ?0wAe5+|^@0g_}m0FV304-p?#>U|Ip`cpVV7-9o#0+JLKk)LwJp~>wl0xJG2UWluT7X zQq~G*AXNi>ph62t3minLGc#gJ96f<*69Xb}5KM~H$Ib2;U%?N?8(eHuzDP}m*Yf0j zxOw1riny!O&}s8rH?zDos@jD)3dLhm~@y`nj7cy%LvuIJ*RX%6%TWl=vz z+5~e<8V{>1v&rFo0{y({M5g1lVsy~(MI8(~fhlO{NZj0C4CJDbH3M=rY!LaanS9(( z^vHhV-Poy%>qm>*Bc4PM(dz_UZnyQ16Wvob8MlG@On2Y+u{AL!O-05_u8Pxf;4ad# zdFk%y75_HBZ>}|D{wxFx7Ra#M2*A?+<$QI8(V@@rTZAm2=jl-M+r@C)#PiJ(*$?Ih z*v_|_DG2BWY@fV*W5n_HI@<3lIAtF7L{OQK#IE1exX~`hbBUF1wsyVCz30#ZTts`o z*+PDv$z$%#vO+}fw5-;kACP;HnMJbbq!(ke(rXwB1WpS|B+`~qLBur4#-ouO_5d@| zA8TJ@7J@Jg?OdokYxWG#(%1_L6wuO#le!V`m~P)39$bQ1e-Ux|Wl~VlNXKF-AXS+U z%wS7g){Z&Z_j14XLeo;-ihzt{se(+g+VMi8X=rI$@L1v~(g!Yk$|<>I{VBr(tw(wI zwaYJh$T#LcI{ye>1ss&3d#$G*aj^8bJm64@CXDP2!_Kw##Izq!LGbyPlhIz{=kMdD zK)u##X+Je6f+NpVnQi-jyxk!1CCznT5&WIaf9LqljS09<1$=#B%MpWFB>#g`!L4v8VP4&x!3dQ_A`0G9wo@OuV%Dtki8rOkMl@zXm z*89iSFNtl8DR$uJ;$g=yje&i-gS04nB0EV_O_}0E_J@Z|0IocwVIT3E@FO=y1@F=* zNhAYKx~+u4r!KZylmw_>@If{;CF0s_ZwT31CUjK|4%KRbW3N&d+Km0sUE~hTdkl47 z!WnkLmD;<#1ruDSD)lc{`v5f3Q~AdgYu_QW3>SPjb#_sNvEhq&a}IH4KO0YxEt?Kp zA`D`Q`K~%L3UIFNDTL?@0*j|+(HPu_CXw)ggMg0`mSvaE7~>Q$@?oM!CxI-PiQixC zJkrP_q0)TyM7<~u9F?lVaM@6aA&!gojtL^Yz>pBBn3lJqk3x8FGMLjnoWiM>f}jJ} z&jghNQ{pq}%Y4*KxJWfv2y8BTqPtSUfDAG?J!ly3(t|O3Y3J&$a3?nCL}rW;YQa&m zV6W(b1jNPJQS?y$(HifZ;>}QIjpFaNWV_0*PjdJzUF8oHv*JbOx8jay)@X#oLm@FJ zq}!@d@p>_s{eIOu-t@v$FiMNqTjIn53?>sHbWykCW7mQFqALx{Mla@+TSFHw>ky+L zl)f=`m3b#?Xxm;B(;DNE~ZcV zqG)t-u-i2>^41L6?jTm`f`_%BAnLAp%_g&O^oxgPA410hz`2eQAa#}=_U~^i1|C9# z3YRk6jHe{Fg?%CLSdD8Ts#^E!_qj(@^FHK>zMPVU1lppCy9`vdlAt_gt{WA;{VWja zluvnuK*hLaoqC~(r{%q)H);Tyne0XYLYo-#N{a3qnAaY?anRrg1}M&p9~dF2px?ARhwCbH=$3}3Pv3uLTaqaZa6pM_j@m(xj8A@ zSwQgq8yiK)z-STCFKeo6F6p8u{9bG=hvw|Nnql~$j9lv1D8@m}0Vi)?nV44)pZW7h z$UO$A8}mVDMYV8=Z|$<2jBfd_>rpUR(s?<7EnAG+viV)<#)UcURtJPah2iu*^tqWQ zikfcdrSG=o>ZJ{YA3lfq(<{0tFJUoO!1;4`cW0!$GIUSFioP5VQc)06vEayPI#%ZP z_F@#{%?Y|6BjgThZdc2y+J8;TnMnt+nZ_}H~@oK zd>@THmn0cH@-z5UeVjhd7n3l%{Yh`tl^ z7|I8-MsJ*}Hf#@nH?m^=i_8Qjb4y?8Bf(kZ_wf0YI=&Qxn;v{<`ZSu^DYUjl2vFa+ zCeeGqSP`WOY{EP%GW{SKzq#1vc)wwPj1tAdty4(il%Z#8;~;HZu`uhAZY_>s58K4r zL+i)Tr%Y{dB_A!)Xe9!bv=%lMrMQ$C2YR?X_as_4FvjAPBI^*9SupS+7qL?ivFLu+ zcw4QIYomBO1uh_}h1^bH0`t;Lz%M;RZ(>|`%KX=TZ}WaXW+N`5xRCXEe3fAlUy^4e z`S-5(@T&Srgc#VBB-+}IoK7YjSQDh=0vQr51aMKUW~o2K z5!iVy?TB+JVr1h??2I$|0W}r(TX^c|dBf4j%PM3@NbBw5U>VaUW>8Wh5_&M>Vo>x2 zU;O`2HNpq%BPqL9mI~4O*F*~Tq~5Km*os-wvG1F*Z9w3@E_e=DpMubq=I^u=4f?eQ zp%v3IL}pn+OP>Cx*;@Z#qNoJVB&1C;BuP>w^3ena0UWT08ekfRk}9hs#6R!tt7$== zFpYcAX})sutqdW8kI9B@b*%v@bJxV_9tziLBkj0gw@KVPu4uM;s?VMqcIa{gQ42p_ zaZ8iuzbX&sk=^?20PzF?T!EvbeB}hn7DCV&eKXy0xpC{($ns^(#C0%vpHU0x^_50n zibQ_Zz$A8X2;UD3rGiX1nE<1OG%9dnM%GC*ePi(6?qR#rLi82nQkfU$y>zo&thPZr zj88G4Z1Cm5kXWx#fGXe36@5tX)@!DkpZExX|0!F<&^5(<%Z=+mq>iWD-3G5E@zO~p z@=_8V*{jy3i{E{g@iP1sacI~w+xmsYEa+wZ(R#bn+i|xh*^)QN>wTeIdSyR1S{LtiluTuW{tObQhYOcOv4kH=#^Fh0r{ZXyP(7$M z0CV&7=JfiByaLG~jkd$0IAQ4n>zA|w=L>qM(Q!&<1CG#@(SG@drI7BvOXnt}o*tz? zt{Sn;9u%yhDKnr=n=`@unVBWULeDK?O8K*2uYe@pKckBh@xJ~yOOzuX9EF4^Uh!zt zgV9hwubbB&a4?U`An-v4hB_qFnhjlFU`-&D9URb>5r;{i zGel9e!d!kacXNrzHaYH&SG*dlEnEG?f4zUUfmuf zvyin^&yPuC&D4eMJa*Ta&H*!fbTrq8gwY@u@cZ{c#^g#h<5Cm*ZT#(%Yc@3f6UPZ_ z{NZf8Y;s;PpRFt|t%i6Sj45Q(PQJyhfk6+y-(v-n-T>ROeTzsP=;53Aa@%q6Gn)&X zkMhkQqN{wtTeTaqnn{QRVP%yY{8&d?J}-w()1<8dGN5?Z*1!k?dKHy-i_z)NiU$d_ z^Shf4LU3fDyV=9X)^Z1boRh#GmeOc<-OpElfJeP}XuP--Rg$gB5ky;Vk(AhjE|N>A zf7BB_H8b)#ncIpCnrFccGjUDhYHG6SOl+!jUq(WZqscL~C25hCBPY=xt?O!ez4`(M zh9<3I4aN>GT^*GGZU(ka_w`}!c0{$HzuH*4Ie3dqjJq*xs;uSNiB{G~ZGz)v;L`d+ zJyxyZy=^I`h40{Ixxr}-aiO=ZjQ3C)j}rA+E6(xIPPyIooZ>kZ7B%dpK81#^ad_Nn zjeMM}&ZPWzg)&cI2O&dL#xAwL<5aSuv6l7G%ic1;wvmq>^sM6KB1Z0gtJQP`FHb%x zN&3Ae*O{|+H-~s=phCHGgP|psM8ZupK4V2uQ z8>mX?`&#C;$9$dD^#>OUmTojK@1a&I`hoW5#vg;zsX{Dt0-2zdc3^)uX=C!mBBa z{dnB{{{p+A5Hrh)^Yr-=wkFb3e_W`pn}WlYu19%D+Z z<(cbGGX5^^HS#WK@taK+TWlOIa~-`j5W1Kt0r~v^1ji~A4fsV-f(5dKMFQIY3G3ba zSw*%6!Pc`hZ~uUXr(u1uAc(s$Z+(+q#+C(F`A*|Sc!GdrIs-PAj@(eF_&y6tAzN5|2(!`@sa z7brou9iMKlT-9!HK3+-x(b24yoori0@B9^9S-sLw`6a4TPd;lpszaahSFcq4xM$_r z%7*l{g9X#xx|!XIfLyR-`Ah)Gg-%+tf5J^$_svE>2jOv`yJqfq!=_no7FibcoZskI zF(}i>Mj9W*2|nAi%@|d>XdMQ!cq48~PJ;H7=FN;hLKk7jH~wC3A6A@W1h&M|zlo~9 z_zlRJn!ppR2@_&Ry+LktV#go_2M-vfXMg(BvOykZa4xa+U5}y_VMkI~<1AFIxr^aS zs0|BGdKck_h_hmJ9FP61MhAMVT?>K(xbN~D+#}NM6`oNgQExxIow)w#h&btjT2*`2 z69kL)l|#RR5#PDpt3JlvypHOwEsf+MB|h`zzYA&{7QWFr?oaikhD~Oz$~Qv-JZV7O zz4dY=sm_)LG!9UvE?CQx6=llDa5EmoxB(Ex#U7MUO`b6 z9}mfDAxqXpGHF5Jl$9e)YOKcgpFc*gdGygQ` z^gNKM2kSk8Wo9icJemSovGbSF_3T}#wc%+f#tnMe54ZmfX*>BlKTeXCi>}?f976T% z+uu$l>8q(2j6dFW0M{144FTBs?#=n}r%=73fqV-I8Ot7AM?naD{_+3*c^nk^N&oKu zF}eh_CYIM#CLupP6QK0i>#z`l+(Vby%AkBP?xSa4qKLFz>m5>IfgG3kD2Oc0=XDLn zc~Nri(rlZL)-yd)zJZb8fm506DRr<*l09-OQXX=y3vIuK~z$AT^>4QV=*VfP!Ab zEx@N_`1keC?vP9EC*an(n@@;EXmS2_EPWlbQ;5XRxZX0*$QLvgrU^2|G69@Er904V zNhI8%&V}s+%gS1n^$Z_q;>bM}*-D!6A5nU4DgcnkAH$8v%J|bC^%j4FeBTP<;@O`A zC#%N2Y8(ssle8P^6Duep`@PXxv1+cvn za>23(D7F`Qy?R0VfS4;{sFG*D_Bv&>k^%qO1q6RvymM9qo)PoxUI7$&E1!ZSRV37~ z!EmvQcOcCA9bNI2E$YM4^=lf=hrLrWe0{l!rbjM#R4|FNQY81xUHi|u;MGcWp7W=k z0?D2fQYH0e%gS;ULy>jE)G`MTq(yXraPlV&F+c2VRPyTJ*(*|SGPYprZ-0%M$|^%5 zas$G^MkRU>$k{+Y5#m_v-I!STdLc8tX8KYD3)w|!>58kM+wm@b%Y0MAEFh8dASrR! zbrS^TPPod1Uhw9s)K18ZSHQ?!PmyPkWlSrINd4U|UntM=YwzRwDAV&$GMUn8HU2#5 zY~D<$9dE+|o)sJWMc#A3yK5I>B7xHX=W>#T3)z>Z$tf+YP-bmsNhb%L9!O+ZWI1%tCvB%TS1R`uXek4YHmhWbW4=LqrddC{rcam?diX?{)LM=bvngK6?X^bfb1bqF~i`NLA!P=dt|%8Hn!Q&Z!v0ZA`#Gk{QNWJz~T; zhD7;d!1zJIJ-&;udBjO9uNH$o+kNJZN!;Q1SDT_fq#9SaPBZFws_l=*6z3B`p$z7* zzECmWCt$_yDx^8qEvl`P?l3@BJUVDO6)HgPn)&ML28N_)Cfs4{uIv3BFutduG*;pB z)CLTatx8d~&mPKL>BCR8C$Y@}JGOqaa4M%%WK5Q$J<+K+Ty33iL2_I0B}ws}*a>=D z+d!0z6|cbsQK}*};KFL_;Sis*-94+X5TXi9I*GaVjL3gl$l-?x1i&tg7*?-FT0m;Y z%j9oZO{39!k6`rbZ^^N=(_d-T;&{R^6M^)p=vhWbd^V-B=#gSS6syyU6c`kxhUO&A zX)ss9B~qdSGzOv)k;ui-=RMaWVxf)5<@P+Mv}=TcpR*l(`s< zoSR?G%?Fz~%_W8^M+U7v!Se-qS$5S>KCH2{C5Fi9*iwVa6&f;nOHG8X@+LhpQM!i` z(vY-5KUZCTIPk~(H?h!1{s<3LG(#>YXR{r>iw|JfD9vb_f2dTnd~ zbPd^w(I(3BAL+d86DL{Tfy>NL8<-5g_r%*D*&CKsV9fco z;upw{@JpN`)@|gl*Uquyc=h{ipzuby3gyyfq1xt}SSs*EIq0`ks%zr9I}d-SRD45! zDL9gCP+M-0o*5QXQEkM=_>xF2ZgH8V3K$-1Smo-pOzCG~ur5AM47^0AYgX{kZM3C7 zzWn{2_1=rG&>n*}cLd<(;-bm}5aQc?`*S?dO#rSVw3F{!xo>LYTGL(d4 zZTr=Q$WxAr2MzObdzuV$@^Y~b(#7A|49JnJylI}gh#6tr_PMMo|nWgp_-vT`+H?9K}S==VRZE-g{IZ1bY0DJ*7{Y1 zX}g_W40rI*I-YTAZgp3xr#k5x9A)7$p<8;fQ+60co^mih(#{z3aUKuIc5^UiR-^ zK|p?Rzi{HuDqrLq%b0;6IZy2`axv;Mxom`k}hQ^f#D@n(Z` zaE#`Hx#n~b$l_8(+&&M#>SUki{BP_GAsWg0=76#J*d)Ky$sFC zvkXJK*K$b#gd_>gwvRNm4`%2J%iy}SQyI7&-{)r#K76(j<}r*X^hbB2VQt#0C^t;~ zW5Z4~V4&>LX6Eyk(nDU|!LQY)rZj+B*s9r3AH;jDzt#-k{c3#$U_&}v^x?k=cIWm` zG*kC#_R!v>`1{_1DX?V?Aj4f|xeliE{ORw=g~i8s3fR5@#PYq`15{f(EnyN?J?GAI zY{Nf~ zU{DmbNxAYvOQR4edzWzHboI1CKbZkw{az zwEl6JlC!>IsDDlpy{dM6N@ej48e~oSW{%;<`pMVE|C)~G3?pRGW{M%M;yXGDVHk;t zZ}x-D|7-OrhO)o5K2U#6{houaOq&&RONIpQS`BmXO|a9gd4SfJWh%MRj_3}~smpg+O zE(Dmdr;i|y+*hn&_mC<4qKKdmT$A#3H94Uq`&T)1#%my)L=>BVdNz(ImR7F}`bv!G zXQBvXs9il@fS>&0Rks@%i+{I2v=!dvy&y0zrpgmD!InAi zA&1c=eu(Ci9rK6X1=%J7z(WL^{PYG}d|!Xx;(8GTe6?QD&u628-d?txnRFuFj-0g| z9Jbz2d`=74odalE`#9zR#XpZlfZLyf-euAg;;-&NLF%IPUya~ZY4LaPZ3UVFwYOZhX&k!uFZ6GSV-(5gYvwu$T*K%7wpO|LK!-K&Deks9J(F`HEWo26_ z8;CA;r`eXObzoJ@yvaTJ^0E!`de%ixZh7@j>jXVf>`QNO($A}{zc*l2BG2r~AMp(# zf#TX~dt-~|21HwnnDqvf*#Y!#8*Iq|MFNd2&MolyWupo0t87lRl5X~%=2KHCpmGaj zK?v~r8D9FBUtIm|z&g9#>H!!n^Ah^zCt|pqF7gPZgE|!6hE#FMg?zi)d~uJxzQ)-+ zg%z-S2heEu;k@|+?zG1NukZb70EZ)O2>|U05UqOKDWB0LudVJ?$)T>AwazU7-5%IF z36Rgf%Xs21fMfgJ`w!_G0lK`@iN*%w$F#hFpfO60iwRN4($#pwh!4^~B=u&^_i?|^#T6zIxMtzz@y#I?ld3xMZd*QYS!DZ zFQ6e*<@kdVX02WD5=m?4vKBl8Jrt-iv=ki)cA|s-n{H1&T*mD&VFdWsSrBQs)aMmv^!<^l{kAkq-+eEmCq(EEY=%XsbBT?WOcGV7c3iR)CYv|+N5p%b2ywgOd~p2IBCN1ew=T5D>kqXQ?CsLids)6j!wGJc+KpdkRe zpeN;0ANHqLZAS9ZY7g)a&HDj1cVF-Q96uJMv%lX2rTdbBVvTVcTE3(~F?h`wdoxNK zjtrE;EVHfuq?kSwN>;85<9u#^k(C$vj7Nn>B&?i{q{HD0}x&b?(QxC8jyxZyf$^D+=nh*>5Ub0Y z>%7Qey=L73E#S!Jc1yH;+tNKAxIhO~rVIzxnO+rv+l4{8OU^mllNp z`TuEvpGW%d-6>VHP&ktM!b(8`C|O5{O$>?f4^^}hVwovR@yk*>cAB(ZC$Bq3q&b^| z-lb}MihxvxD<)uiY^vYjiQ7agZ=*wKp=kMU zyos-0lb-lI9O{00b|IQwEnmF6_ydrCj^KR<)30k;waqwlqo5PKKhv|YfJJ9xOr*)XSv^va~iP7_9m&1;#>jLI$6<~m7| z6pXk=pv@Y5@)m=bNlyf3NX6Onr`(dk&NuS=Zowpra)bPsf_~Vef{c{|rZubjhI9tV z(Fe7hG|soi|Blt*U|_&5N7UCnim>z5_#b70MMR~>M-f*MD?1(fmZRUw-J4Z7dwa4*KYNlx0Zoihfj$j&_%v=c6cjY zg9r5g{@>#(!Re3PJ?(jb1HcFu(3ts8z@Aph-8N!NDCKXJJGQl3+ULJ46RKGgmbW{N zR|!n!aM?N}dlQ{Iw6u=<(krq84EGNxpV`j+XQRIS@4oixdXE9wo@v|(ELZBt|2B>< zH3_KPcCLuwPfTG?bX8mWx{XU%f+TH>4}qd5c<3yClnMNqOP-;a7MFqcM)Lgx6FR%=LU~9^Ra|9@j_ckyEVQKySe7*DGPpk`AbkzY~HDc zSUq)_nn|F?wY&T5ZTMw12}qy)nWF%RGXJ8K!#C$S5j?I7P7{m*xM?{>fK8on5O5_uPu6 zq&)!)9tB_HW#0V}J~uz}IUjtCKYDG$5uB)C$*!I40V-h|?NPeE_ix*7o}1B6a66bUI>T7EXc-3Vc8PhFJF#gvy~CyPE{uO!1P;(4ld-aNr<=1jBR5Hn zXfcIfULl=A7rE(CBSDDi={ZjZIIPLi#l6~@bQEJlGt|W=!-b6aQnkoYnAUt0fnPq* zhikDy@;W%}%`35yissCbN<(;W8HCDn=W+^igRMf54mJCu-dgn9?C$~KB z4)A|>hg2B>*RP2G^di4^&+@-T^iRdhDGI7bv5d`e!80Olsx@$Nc5v6JkTgKtCg}jt z?$A0ba==&=b$}PmW(9R$JdFPBI9_tP@hbeE)4xHe_*0P?UL{f;d<^1sfwo1iy3}q{ z%gn1kjq=_zcAwjwgld^ubu(mh?W(p85d}hvZy??&TV7QOtn^UtN=K>rG5i4*a}yOe zfmj6lml&x!=2uQH| zIq*NDSOu&jnlXc74!*>#LMZcCaYV=sG^gu~_~eyrPNiO#EepkYTR!K1}e*|E$wpn&I=cqg#x~3do*A8I9MI@Em6HT_C4g=Jh0<%c;c0fn#BoQycMd7JGgGg@fZaqg(EVbcF%5R1pT`s&DA2>eGE|!Hz7+H z@@C?lB4mf;BqT3l0&=GQ2$>{@v$={PGmRn)g)%42ekaZJ4h_yB)1%q%IeD3j>6OgJ|ZlO!(s<>e6xHwb2$Phf`v1m8rm~@+HgTuG);mO`! ziXXSbq8KSovLANCZTafvDJa|1LVYIEx|!ll5xBtqF0JKI5pfQEOfx1Yes&sk$oh=m ztpu%I%Bad;F(ldr$J~G>mH`a*0!5Vh_4PE^Q#^LnNIqfnCA-1#;?ZSFSb~3&9G{^ zQcqPNRKbdIfP9#^j4ZrDh4ryi$!RLPTXX*L`$#~pcg|9|$6b{dO|7kmbcKxL6(E+x zWSKnUj;c$xzF2ngVx<-qXNHm)js%iFCD2D_D8a&gy-FOYt&qd5%sF1g!!wT{oApPI z4C8e^L@KAal{(m|>sQxq%q;FaU~y2q26>~xNZ#s-hE)=@S2k3go4tLNwGG~#^WqNS zee@D1%_az4Qe;MWjc1q@`AYV|walBUyU_#S&c$@P4krwUi*%W-RYZon3g&y=B(uuLLF%-#4atsZUF5n!Lxo@NPj3BEBP)X zM_&GWQ;TE$BUt4d^QC<=Hu2Q?|E%Ha2k|ucfA0^9_x}!_54QQAH}fnU|Dz8z?)~zI z>fn^Bdml1|;Xbc?DD;2PbT&2B@7dj`_0d2!wVWou&Jx?mwsRME>tx`reeRlix2BqV zBns$luaKy}LZUESO}9rlinqNu;?Kr2zon;+|F7Zd2k|uU|Nis+QvSEY{q6lv8+jJy z|Lz+g9>N6>ZpN}6=DCh*A6h!z7H)i~x^JPso;cmQ{lA9P|Ke$q|I7Iw2M7Ia{-=#R zci&$A|NEo^^;!ROSL;O+{*0u22 zhx*j=|J76fi>HDA51t!601WAgGD{ zA08C%|Li|M+{S-zioKwSnW7mOZSyJfKCrnvN{N1hU

HCF>qF^81GGyA-*24`zRB$7Ovm%5InHQ7|L^_$|7icHeEz@9|Gbf> znf|Xv(U-jSrKb9qq1!F)d2ttAFLicb?^0;F)y*z-b?zE7F)VqXOHK8*SGg2Nd9hnu z8f!1r@Y?QfS*VSBySAmqk7iL8T^$!7VMin=0M>8nFe=uvI=e=xz;!=N0hQ9#FkhL} z(1QQ3a`lUN8u))X|JQ#1Xn%YDw~=Ql{m;AsMu%ZIGlH+{?w56#yXrFbeA6cW+NXB^ zD}{}s)e->K@BjTl|9NTu_n&R=f85A(pY|UZ$F!G|fV{>+hM+are>SK-)QCI=LZO+q ztyLGoV(zxXg7CAl(ZA@Lx{S%_p`|5^N$^IbYMr5o=@dQnmMKRSB?@k{4%V;Z<=66( zc?j1TRNJWcZId3hNqV@=FSyMwxXmxP%`f=SlbHN@(hF`A{cRKdZ4>=%6a5*jY!m%$ z6a8%y{Z$Jb+eCkMkG6^awu%1S>55!Eyq`3Gi|6@UJ<;Db)87IJY%~3>-ze$a3END6 z_m$~yS?;|}uC`6CwoR^9lU(h-b0aPoa3;{a$)m#FYwL`5k+To?^4_kN0JLQCk$^{qdKDcYN&aE2!lNzi)RX!8Fo$A26g9&P z|2mDq7>9^BQvkt-laQnVcq=#h37N$ypd>8?i z;K>9f^2T?{g+)qch_@SHLBcQvWF$nkfD_LV5{?&Mr?a~Y-oO5jm*@Y{>0Di1sUzOb zBfuFfz!7CI3;|_a8!<+gmlbtSBbJaL6<54>I)dc-QF*^Dm=IhfSgF?>)t5=I~O@L~BSKx3GOEL*K&b9jJ* z{b0TO?a8k7dk;_~RsaYwWpateFo83~P{MygCRXVPnL8m!#pY4nl#O*d{{_DL?mdpb z`)&wCUR*u`s^3)2^OYDL-jrN}zeKodGE)7i7oZR^BtDxXZ>&1!B&ce6jq*?@Xhv=j z1$xrW0VcDUL@46>ol@ds$g~iVFAq6gp{QW261_yT`P=tCb~?uI8|k~w--9WnUS1?I&fWU_-N>J6l4Tw)o zCy{-x-^&2>_Bx$kC|?6)3|LMaZgCib2uWI$#sQQwgB1bGFyo&&MiIINW0K4u10yu% zVjr8LxmZ(aJV{`nM(Y>xgI5=1H%`!v5QSu`YQU)1=_tQ{@PpR}FbFt};%$&vbej>i z)d5L3;T3;!JdDx5km_&8mNI#vlp^5sZA!)KE!|` z#z*0bGl?s&(>WG1s8`&P*MDkGXUg}cy;40Xe(M@!4DvO?S)O1TNRN8}8PpTZ#{g52 zUWsoX$S@y$v1ber1Kz|b<0biOp3P7c$mNuGle2E!g4$G1`5Up|jyf^WMSgr$xd`(amY!#y!e9MwefPC=d%#2^;yWlqurkT4JXqDk$Q(T}ZBGRs3cywVp-aNx$^)knAW47{b9WN6 zJ|{VH1zsZ*mko8hn;@|n#JpUdR76EZcmgl-+J>| zC=6-;#)T6RIrK)#eolZ93D7IGvz-Ovlujp*p<6h2ewV$JpR~W6_>~##ypZ@X%$*yD z;Q4-ks%sW{K_%|M7|6UwI>){EAsFAl11|+xvGZ-HExTr8tspHXx)!Llnz40Do=BWopjO3Uon?vE;^DB2+Wf>741> z;1hU>sGnfTG5If1wA0lO_yoFL$FI(nwRe9DWg|@{-jM zwNEYIL2W_yiZC;Z$DtkvQn`g;)i}UplFpEH-?_T`?1W|>iPk}t<)p)tfcN3IB0T4* zKZj{-F$?BNb{t7m4NeIX1jcC?O0^GDaCLWQxg3ZCWPJ?NjKJs5SITg~m=qVeU?$wB z1tH>6GUuwM3Rr=qkg7+BLz$omB|@F~1g>^=+(YqWLS}N@^ePa2B4Ys60kYOTh5VXp z_o5t)p^wx$QFAH@+HqmF$9VGei*yf%*%ZGoNg87=ABp}-gG)%D5>YKs;0>3#h3#43 zc#Y7koqKZ|x6M?7c>nsMFlkTz=lIR*JvT(t zm5qbszjZ&jdSEpXlK?T-!)7s(()?;PlVAcLDV!={MUX}>YPwgRnELd@ZM&DL zm*TS5Z0^c5vf7`$ZBwFx%#bb)=(t3{i#E1I@xRI|uc8s*sPPG0?f-lKo ziBgplgIIJWrJRHqsbz!~##Kon!59Y?d}Hzs%(8S0mCUjsfrFy4rMwPRoqCr9C_w?I zG4r~nTzO@S6JH`Px>9!NC11q71TPGlU7g$={4$A>uFG31*#_vqC&6- zZ;EIWJ^pT}$(l9a&`SgraUoKHr z38Sv8ixSmjc$vL6Xo#t8vWkZ1wH|!O!(IO z&Xvo%orBHZcV)s0hheK&gqu0K-UkS}N zdo=>BH+@y+0x8&kYMLoqmKsuhG=Y}>tw0NU7&SmH_{g`wTp2kE2CT~bAkJ}a$x*m= zcrqoo(M!l+E?P-GEu^BSARy6W#(^Owg;;XSN&OVZ05UFgB`l5kzD-h8gs3+Nf7|u> z>#hJ%-XDb$CEQ$_qZ+DfZ;VnpACZq0kku||0;x8EJTI&OWp9Bdi1jgzRQJNAYHRw3%)q!dzC;hq|&~Jc-Q`@Xt`*QWgse`>Gk&}&7Xks>gvLsOkXNS1g0?wk= z3#v~UXuVQZLf5TPSzwLJajm6j!xB7?PN8&c6$k@$|GaS$Ua?ZuRl5sdU1)hvh$iD`~rQ~@p9o0o@mkK$KDQwGt}&EPSB;EV)77X|7-pgjKCdDn4VZ?(Hd zk7InD#y0LtpmH``5T@Ki)n=56 zQj{A~r2th+kcv{&U&ZlgncQKNt4!3SL55><9bBWB!IsR*S~N3DmIX88YoWeNDs#iC z^!IE6t|YQLsJT2Q#j!FFTNEYe=-wZ3wJUX*aBsBL3BBj zxjC_seAtX5M6;#V-fXU&)a1=p(dN>AZS`&2t7yTt8#a2gYujS& z)j7G1B7@(3EFF)jUUBY`EoN5t1t5gK8g!g8sT7=*C1_$1t2*wuQo1xVU z@y@FQIAEs;AubKTlqE9j$5|R-NJ!#vy)QMhr^FNbYFcyp8uK#{d#j_5tw@KqztcJ}JQFqGv@1z|dxtFg5;4!(vX zG8PqvzkGr8A`7N1soQfi>?WF!3Ng?s^zqpt#`xP zTZU2Vmr}&?OL_$tm2U@jtxVC5m0K|F^Ea8jYp2!5`0q49$c+wiJc<+_2awXdDmz!_ges#N! zR#?ERp;X$zHN@hLYGQFG36yj)!f}ikm8MFO)=*V2cZ^^)B@E0N&+nfv=4h%k#PfM@ zMyEmvsGu5Dwvf3lt6WQsa2XL?mL$f&-QAhV@htfIYAW#gvjdfqi+6p8i^Uh{bY-NN z+3`mB&7Ci`Q$GNfXI6dZ&7uo*-0i4tbh;L9bB8VX^_?{jtLppeI|=o>}eg; z=8l@s>-(uKY_(l15TfSZQTsg1>{tb?<~}KybdYo(Wbci21$ioMaA;f}BqpLG~3GsT}vk*m_gskU+%gM1`;>4lbHO z6i#;B+{;W=+8FCEP2Zx5G_O|mGB-R{G_bRy(i5B`Au`v3`yfh+3r|K!oVQ7Ei>5NR zkSP4x6>VIqHZD~IQt14-cWg3DiM4t(l#v;r#jfB`& z-7eRkuF?F3Fm``?i5+)4~%VC2}AiwwMcqBOGAeF zUK1&V#pO6E|2U?66d3l?5GLWAH^epTEZwfmnJo#*2!$k?h`}H^NJW4%(}+?|9K$4f zxNG%ySEK;$>}n{3u4qesH0aE*lVxM>$jcRFaee<>SAHD=7>N`)>U9zP{$k+wTY(pI zw$4?+e>%p)cy0AV-88Z*Jyh(($LEBTajs|czy6M+07nzk{k(X(1XD(4kYOK&p$wtX z4kiLhDL(Nkn}1K-CozLjDymY%(paLz*O9){`qqzy>Oyupwd`R$|w3RhAe|?oS<%IdoT3CbMEs5 zjZv1DU2pcQ@49MJB_u>*(iL9Thmo9J^<8Xoz9&EEOLXaPPqIIIdqN8oCKdcIq_WfB zMk$;w4Lej}p@lPY|Pc7fnw^$Sy?2C93U+-ifjc zyW*0a?A)_+I+oLz-IWoB$#2Ke=Ly-d`BRO(x#D}Yd_=BqBO-dqNZaa_!Gt6Q8Rm>z zg5exdoyJS%$QR+lP7JE1_%FM@LF6&gFk3hY=%Q~_RA(l;;c-?N=XX*WO$t|poVOc0 zIv_KMBfi30U{Z26&{g#H|2p0@U)+kz78jX`919K9%uA%5D=fS3)#_7SzcO*bQXV>; zSK7}|y*I;XjWG~2DGcXA;fj!-od;RT2|JwJ{UaSAAjAcrtxKahAW=9M2HTh^Ju8DE z+-Mw^2pxwZz|n}LQBZ8PR2skp0m?X@$~r7bj7of|!^UG*_nu~A8`K5Gy&PdW5pxDv z2Xlc|y5bcsv$C}@F26k0jzyqKmE%NG-ZOVPE&#~aZUM>11z*Ugg2c^4*bOB@)ao!& sTy=SmRL`Z~o#GOhd0*2_m)mFiY@hA3eaz?o4*&rF|2wVkrT`cN08;?!BLDyZ diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/install.yml deleted file mode 100644 index 5624146..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/install.yml +++ /dev/null @@ -1,60 +0,0 @@ -# -# 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 setup for edge gallery - copy: - src: deploy - dest: /tmp/eg_helm-repo/ - -- name: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Helm repo index edgegallery - command: helm repo index edgegallery/ - args: - chdir: /tmp/eg_helm-repo/deploy/helm/helm-charts/ - -- name: Helm repo index stable - command: helm repo index stable/ - args: - chdir: /tmp/eg_helm-repo/deploy/helm/helm-charts/ - -- name: Changing permisiion - command: chmod -R 755 /tmp/eg_helm-repo - -- name: Creating helm repo - # yamllint disable rule:line-length - command: docker run --name helm-repo -v /tmp/eg_helm-repo/deploy/helm/helm-charts/:/usr/share/nginx/html:ro -d -p 8080:80 nginx:stable - args: - chdir: /tmp/eg_helm-repo/deploy/helm/helm-charts/ - -- name: Helm repo add edgegallery - # yamllint disable rule:line-length - command: helm repo add edgegallery http://{{ vardata.private_repo_ip.name}}:8080/edgegallery - args: - chdir: /tmp/eg_helm-repo/deploy/helm/helm-charts/ - -- name: Helm repo add stable - command: helm repo add stable http://{{ vardata.private_repo_ip.name}}:8080/stable - args: - chdir: /tmp/eg_helm-repo/deploy/helm/helm-charts/ - -- debug: - msg: "Helm repo created" diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/main.yml deleted file mode 100644 index 858c198..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# 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. -# - ---- - -# tasks file for eg_helm_repo_add -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/uninstall.yml deleted file mode 100644 index 65ea65e..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_helm-repo/tasks/uninstall.yml +++ /dev/null @@ -1,31 +0,0 @@ -# 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: Docker stop helm repo - command: docker stop helm-repo - ignore_errors: yes - no_log: True - -- name: Docker rm helm repo - command: docker rm helm-repo - ignore_errors: yes - no_log: True - -- name: Remove tmp folder - command: rm -rf /tmp/eg_helm-repo - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/install.yml deleted file mode 100644 index 0e728b9..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/install.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Install mecm-fe - # yamllint disable rule:line-length - command: helm install mecm-fe-edgegallery edgegallery/mecm-fe --set global.oauth2.authServerAddress=https://{{ ansible_host }}:{{vardata.usermgmt_port.name}} --set images.mecmFe.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mecm-fe --set images.initservicecenter.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/curl --set images.mecmFe.tag={{vardata.eg_image_tag.name}} --set images.mecmFe.pullPolicy=IfNotPresent --set images.initservicecenter.pullPolicy=IfNotPresent --set global.ssl.enabled=true --set global.ssl.secretName=edgegallery-ssl-secret diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/main.yml deleted file mode 100644 index b168173..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# -# 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. -# - ---- -# tasks file for eg_mecm-fe -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/uninstall.yml deleted file mode 100644 index 6c67b36..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-fe/tasks/uninstall.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# 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: Uninstall mecm fe - command: helm uninstall mecm-fe-edgegallery - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/files/deploy/conf/keys/postgres_init.sql b/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/files/deploy/conf/keys/postgres_init.sql deleted file mode 100644 index 76e94d6..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/files/deploy/conf/keys/postgres_init.sql +++ /dev/null @@ -1,29 +0,0 @@ -CREATE USER inventory WITH PASSWORD 'PASSWORD_VALUE' CREATEDB; -CREATE DATABASE inventorydb - WITH - OWNER = inventory - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.utf8' - LC_CTYPE = 'en_US.utf8' - TABLESPACE = pg_default - CONNECTION LIMIT = -1; - -CREATE USER appo WITH PASSWORD 'PASSWORD_VALUE' CREATEDB; -CREATE DATABASE appodb - WITH - OWNER = appo - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.utf8' - LC_CTYPE = 'en_US.utf8' - TABLESPACE = pg_default - CONNECTION LIMIT = -1; - -CREATE USER apm WITH PASSWORD 'PASSWORD_VALUE' CREATEDB; -CREATE DATABASE apmdb - WITH - OWNER = apm - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.utf8' - LC_CTYPE = 'en_US.utf8' - TABLESPACE = pg_default - CONNECTION LIMIT = -1; diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/install.yml deleted file mode 100644 index ecbd950..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/install.yml +++ /dev/null @@ -1,73 +0,0 @@ -# -# 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-meo setup for edge gallery eg_mecm-meo - copy: - src: deploy - dest: /tmp/eg_mecm-meo/ - -- name: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Replacing pwd sql - replace: - path: /tmp/eg_mecm-meo/deploy/conf/keys/postgres_init.sql - regexp: 'PASSWORD_VALUE' - replace: "{{ vardata.common_pwd.name }}" - -- name: Set a variable - ansible.builtin.set_fact: - comm_pwd: "{{ vardata.common_pwd.name }}" - -- name: Create mecm-ssl-secret with common pwd - # yamllint disable rule:line-length - 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}} - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Generates certificate mecm-ssl-secret - # yamllint disable rule:line-length - 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}} - # yamllint disable rule:line-length - when: comm_pwd == "" - -- name: Create certificate edgegallery-mecm-secret with common pwd - # yamllint disable rule:line-length - 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}} - # yamllint disable rule:line-length - args: - chdir: /tmp/eg_mecm-meo/deploy/ - when: comm_pwd != "" - -- name: Generates certificate edgegallery-mecm-secret - # yamllint disable rule:line-length - 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}} - # yamllint disable rule:line-length - args: - chdir: /tmp/eg_mecm-meo/deploy/ - when: comm_pwd == "" - -- name: Fs group value - shell: 'getent group docker | cut -d: -f3' - register: result - -- name: Helm install - # yamllint disable rule:line-length - 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}}" diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/main.yml deleted file mode 100644 index 06e1be4..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_mecm-meo -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/uninstall.yml deleted file mode 100644 index 3bd6754..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-meo/tasks/uninstall.yml +++ /dev/null @@ -1,27 +0,0 @@ -# -# 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: Uninstall mecm meo - command: helm uninstall mecm-meo-edgegallery - ignore_errors: yes - no_log: True - -- name: Delete mecm-ssl-secret and edgegallery-mecm-secret - command: kubectl delete secret mecm-ssl-secret edgegallery-mecm-secret - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/keys/postgres_init.sql b/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/keys/postgres_init.sql deleted file mode 100644 index 0fcc8fc..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/files/deploy/conf/keys/postgres_init.sql +++ /dev/null @@ -1,20 +0,0 @@ -CREATE USER lcmcontroller WITH PASSWORD 'PASSWORD_VALUE' CREATEDB; -CREATE DATABASE lcmcontrollerdb - WITH - OWNER = lcmcontroller - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.utf8' - LC_CTYPE = 'en_US.utf8' - TABLESPACE = pg_default - CONNECTION LIMIT = -1; - -CREATE USER k8splugin WITH PASSWORD 'PASSWORD_VALUE' CREATEDB; -CREATE DATABASE k8splugindb - WITH - OWNER = k8splugin - ENCODING = 'UTF8' - LC_COLLATE = 'en_US.utf8' - LC_CTYPE = 'en_US.utf8' - TABLESPACE = pg_default - CONNECTION LIMIT = -1; - diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml deleted file mode 100644 index 12a388c..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/install.yml +++ /dev/null @@ -1,73 +0,0 @@ -# -# 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 diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/main.yml deleted file mode 100644 index 7faf1bd..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_mecm-mepm -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/uninstall.yml deleted file mode 100644 index 4ee0c36..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mecm-mepm/tasks/uninstall.yml +++ /dev/null @@ -1,30 +0,0 @@ -# -# 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: Mecm mepm jwt delete - # yamllint disable rule:line-length - command: kubectl delete secret mecm-mepm-jwt-public-secret mecm-mepm-ssl-secret edgegallery-mepm-secret - # yamllint disable rule:line-length - ignore_errors: yes - no_log: True - -- name: Delete mep-service-account - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mecm-mepm/deploy/conf/manifest/mepm/mepm-service-account.yaml - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/metallb.yaml b/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/metallb.yaml deleted file mode 100644 index 8594115..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/metallb/metallb.yaml +++ /dev/null @@ -1,406 +0,0 @@ -# -# 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. -# -apiVersion: policy/v1beta1 -kind: PodSecurityPolicy -metadata: - labels: - app: metallb - name: controller - namespace: metallb-system -spec: - allowPrivilegeEscalation: false - allowedCapabilities: [] - allowedHostPaths: [] - defaultAddCapabilities: [] - defaultAllowPrivilegeEscalation: false - fsGroup: - ranges: - - max: 65535 - min: 1 - rule: MustRunAs - hostIPC: false - hostNetwork: false - hostPID: false - privileged: false - readOnlyRootFilesystem: true - requiredDropCapabilities: - - ALL - runAsUser: - ranges: - - max: 65535 - min: 1 - rule: MustRunAs - seLinux: - rule: RunAsAny - supplementalGroups: - ranges: - - max: 65535 - min: 1 - rule: MustRunAs - volumes: - - configMap - - secret - - emptyDir ---- -apiVersion: policy/v1beta1 -kind: PodSecurityPolicy -metadata: - labels: - app: metallb - name: speaker - namespace: metallb-system -spec: - allowPrivilegeEscalation: false - allowedCapabilities: - - NET_ADMIN - - NET_RAW - - SYS_ADMIN - allowedHostPaths: [] - defaultAddCapabilities: [] - defaultAllowPrivilegeEscalation: false - fsGroup: - rule: RunAsAny - hostIPC: false - hostNetwork: true - hostPID: false - hostPorts: - - max: 7472 - min: 7472 - privileged: true - readOnlyRootFilesystem: true - requiredDropCapabilities: - - ALL - runAsUser: - rule: RunAsAny - seLinux: - rule: RunAsAny - supplementalGroups: - rule: RunAsAny - volumes: - - configMap - - secret - - emptyDir ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app: metallb - name: controller - namespace: metallb-system ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app: metallb - name: speaker - namespace: metallb-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app: metallb - name: metallb-system:controller -rules: - - apiGroups: - - '' - resources: - - services - verbs: - - get - - list - - watch - - update - - apiGroups: - - '' - resources: - - services/status - verbs: - - update - - apiGroups: - - '' - resources: - - events - verbs: - - create - - patch - - apiGroups: - - policy - resourceNames: - - controller - resources: - - podsecuritypolicies - verbs: - - use ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app: metallb - name: metallb-system:speaker -rules: - - apiGroups: - - '' - resources: - - services - - endpoints - - nodes - verbs: - - get - - list - - watch - - apiGroups: - - '' - resources: - - events - verbs: - - create - - patch - - apiGroups: - - policy - resourceNames: - - speaker - resources: - - podsecuritypolicies - verbs: - - use ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - labels: - app: metallb - name: config-watcher - namespace: metallb-system -rules: - - apiGroups: - - '' - resources: - - configmaps - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - labels: - app: metallb - name: pod-lister - namespace: metallb-system -rules: - - apiGroups: - - '' - resources: - - pods - verbs: - - list ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app: metallb - name: metallb-system:controller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: metallb-system:controller -subjects: - - kind: ServiceAccount - name: controller - namespace: metallb-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app: metallb - name: metallb-system:speaker -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: metallb-system:speaker -subjects: - - kind: ServiceAccount - name: speaker - namespace: metallb-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - labels: - app: metallb - name: config-watcher - namespace: metallb-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: config-watcher -subjects: - - kind: ServiceAccount - name: controller - - kind: ServiceAccount - name: speaker ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - labels: - app: metallb - name: pod-lister - namespace: metallb-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: pod-lister -subjects: - - kind: ServiceAccount - name: speaker ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - labels: - app: metallb - component: speaker - name: speaker - namespace: metallb-system -spec: - selector: - matchLabels: - app: metallb - component: speaker - template: - metadata: - annotations: - prometheus.io/port: '7472' - prometheus.io/scrape: 'true' - labels: - app: metallb - component: speaker - spec: - containers: - - args: - - --port=7472 - - --config=config - env: - - name: METALLB_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: METALLB_HOST - valueFrom: - fieldRef: - fieldPath: status.hostIP - - name: METALLB_ML_BIND_ADDR - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: METALLB_ML_LABELS - value: "app=metallb,component=speaker" - - name: METALLB_ML_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: METALLB_ML_SECRET_KEY - valueFrom: - secretKeyRef: - name: memberlist - key: secretkey - image: metallb/speaker:v0.9.3 - imagePullPolicy: IfNotPresent - name: speaker - ports: - - containerPort: 7472 - name: monitoring - resources: - limits: - cpu: 100m - memory: 100Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - add: - - NET_ADMIN - - NET_RAW - - SYS_ADMIN - drop: - - ALL - readOnlyRootFilesystem: true - hostNetwork: true - nodeSelector: - beta.kubernetes.io/os: linux - serviceAccountName: speaker - terminationGracePeriodSeconds: 2 - tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: metallb - component: controller - name: controller - namespace: metallb-system -spec: - revisionHistoryLimit: 3 - selector: - matchLabels: - app: metallb - component: controller - template: - metadata: - annotations: - prometheus.io/port: '7472' - prometheus.io/scrape: 'true' - labels: - app: metallb - component: controller - spec: - containers: - - args: - - --port=7472 - - --config=config - image: metallb/controller:v0.9.3 - imagePullPolicy: IfNotPresent - name: controller - ports: - - containerPort: 7472 - name: monitoring - resources: - limits: - cpu: 100m - memory: 100Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - all - readOnlyRootFilesystem: true - nodeSelector: - beta.kubernetes.io/os: linux - securityContext: - runAsNonRoot: true - runAsUser: 65534 - serviceAccountName: controller - terminationGracePeriodSeconds: 0 diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml b/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml deleted file mode 100644 index aa0fa63..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# -# 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. -# - -kind: ServiceAccount -apiVersion: v1 -metadata: - name: edgegallery-secondary-ep-controller - namespace: kube-system ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: multi-ip-controller -rules: - - apiGroups: [""] - resources: ["services", "pods"] - verbs: ["get", "watch", "list"] - - apiGroups: [""] - resources: ["endpoints", "events"] - verbs: ["*"] - - apiGroups: ["k8s.cni.cncf.io"] - resources: ["network-attachment-definitions"] - verbs: ["*"] ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: watch-update-secondary-endpoints -subjects: - - kind: ServiceAccount - name: edgegallery-secondary-ep-controller - namespace: kube-system -roleRef: - kind: ClusterRole - name: multi-ip-controller - apiGroup: rbac.authorization.k8s.io diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/multus.yaml b/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/multus.yaml deleted file mode 100644 index 20a6016..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/multus.yaml +++ /dev/null @@ -1,358 +0,0 @@ -# -# 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. -# - ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: network-attachment-definitions.k8s.cni.cncf.io -spec: - group: k8s.cni.cncf.io - scope: Namespaced - names: - plural: network-attachment-definitions - singular: network-attachment-definition - kind: NetworkAttachmentDefinition - shortNames: - - net-attach-def - versions: - - name: v1 - served: true - storage: true - schema: - openAPIV3Schema: - # yamllint disable rule:line-length - description: 'NetworkAttachmentDefinition is a CRD schema specified by the Network Plumbing - Working Group to express the intent for attaching pods to one or more logical or physical - networks. More information available at: https://github.com/k8snetworkplumbingwg/multi-net-spec' - # yamllint disable rule:line-length - type: object - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this represen - tation of an object. Servers should convert recognized schemas to the - latest internal value, and may reject unrecognized values. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: 'NetworkAttachmentDefinition spec defines the desired state of a network attachment' - type: object - properties: - config: - description: 'NetworkAttachmentDefinition config is a JSON-formatted CNI configuration' - type: string ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: multus -rules: - - apiGroups: ["k8s.cni.cncf.io"] - resources: - - '*' - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - - pods/status - verbs: - - get - - update - - apiGroups: - - "" - - events.k8s.io - resources: - - events - verbs: - - create - - patch - - update ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: multus -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: multus -subjects: - - kind: ServiceAccount - name: multus - namespace: kube-system ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: multus - namespace: kube-system ---- -kind: ConfigMap -apiVersion: v1 -metadata: - name: multus-cni-config - namespace: kube-system - labels: - tier: node - app: multus -data: - # NOTE: If you'd prefer to manually apply a configuration file, you may create one here. - # In the case you'd like to customize the Multus installation, you should change the arguments to the Multus pod - # change the "args" line below from - # - "--multus-conf-file=auto" - # to: - # "--multus-conf-file=/tmp/multus-conf/70-multus.conf" - # Additionally -- you should ensure that the name "70-multus.conf" is the alphabetically first name in the - # /etc/cni/net.d/ directory on each node, otherwise, it will not be used by the Kubelet. - cni-conf.json: | - { - "name": "multus-cni-network", - "type": "multus", - "capabilities": { - "portMappings": true - }, - "delegates": [ - { - "cniVersion": "0.3.1", - "name": "default-cni-network", - "plugins": [ - { - "type": "flannel", - "name": "flannel.1", - "delegate": { - "isDefaultGateway": true, - "hairpinMode": true - } - }, - { - "type": "portmap", - "capabilities": { - "portMappings": true - } - } - ] - } - ], - "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig" - } ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: kube-multus-ds-amd64 - namespace: kube-system - labels: - tier: node - app: multus - name: multus -spec: - selector: - matchLabels: - name: multus - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - tier: node - app: multus - name: multus - spec: - hostNetwork: true - nodeSelector: - kubernetes.io/arch: amd64 - tolerations: - - operator: Exists - effect: NoSchedule - serviceAccountName: multus - containers: - - name: kube-multus - image: docker.io/nfvpe/multus:stable - command: ["/entrypoint.sh"] - args: - - "--multus-conf-file=auto" - - "--cni-version=0.3.1" - resources: - requests: - cpu: "100m" - memory: "50Mi" - limits: - cpu: "100m" - memory: "50Mi" - securityContext: - privileged: true - volumeMounts: - - name: cni - mountPath: /host/etc/cni/net.d - - name: cnibin - mountPath: /host/opt/cni/bin - - name: multus-cfg - mountPath: /tmp/multus-conf - volumes: - - name: cni - hostPath: - path: /etc/cni/net.d - - name: cnibin - hostPath: - path: /opt/cni/bin - - name: multus-cfg - configMap: - name: multus-cni-config - items: - - key: cni-conf.json - path: 70-multus.conf ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: kube-multus-ds-ppc64le - namespace: kube-system - labels: - tier: node - app: multus - name: multus -spec: - selector: - matchLabels: - name: multus - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - tier: node - app: multus - name: multus - spec: - hostNetwork: true - nodeSelector: - kubernetes.io/arch: ppc64le - tolerations: - - operator: Exists - effect: NoSchedule - serviceAccountName: multus - containers: - - name: kube-multus - # ppc64le support requires multus:latest for now. support 3.3 or later. - image: docker.io/nfvpe/multus:stable-ppc64le - command: ["/entrypoint.sh"] - args: - - "--multus-conf-file=auto" - - "--cni-version=0.3.1" - resources: - requests: - cpu: "100m" - memory: "90Mi" - limits: - cpu: "100m" - memory: "90Mi" - securityContext: - privileged: true - volumeMounts: - - name: cni - mountPath: /host/etc/cni/net.d - - name: cnibin - mountPath: /host/opt/cni/bin - - name: multus-cfg - mountPath: /tmp/multus-conf - volumes: - - name: cni - hostPath: - path: /etc/cni/net.d - - name: cnibin - hostPath: - path: /opt/cni/bin - - name: multus-cfg - configMap: - name: multus-cni-config - items: - - key: cni-conf.json - path: 70-multus.conf ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: kube-multus-ds-arm64v8 - namespace: kube-system - labels: - tier: node - app: multus - name: multus -spec: - selector: - matchLabels: - name: multus - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - tier: node - app: multus - name: multus - spec: - hostNetwork: true - nodeSelector: - kubernetes.io/arch: arm64 - tolerations: - - operator: Exists - effect: NoSchedule - serviceAccountName: multus - containers: - - name: kube-multus - image: docker.io/nfvpe/multus:stable-arm64v8 - command: ["/entrypoint.sh"] - args: - - "--multus-conf-file=auto" - - "--cni-version=0.3.1" - resources: - requests: - cpu: "100m" - memory: "90Mi" - limits: - cpu: "100m" - memory: "90Mi" - securityContext: - privileged: true - volumeMounts: - - name: cni - mountPath: /host/etc/cni/net.d - - name: cnibin - mountPath: /host/opt/cni/bin - - name: multus-cfg - mountPath: /tmp/multus-conf - volumes: - - name: cni - hostPath: - path: /etc/cni/net.d - - name: cnibin - hostPath: - path: /opt/cni/bin - - name: multus-cfg - configMap: - name: multus-cni-config - items: - - key: cni-conf.json - path: 70-multus.conf diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/install.yml deleted file mode 100644 index f33094d..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/install.yml +++ /dev/null @@ -1,273 +0,0 @@ -# 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 setup for edge gallery - copy: - src: deploy - dest: /tmp/eg_mep/ - -- 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: Remove old dir - command: rm -rf /tmp/.mep_tmp_cer - args: - chdir: /tmp/ - -- name: Make dir - command: mkdir -p /tmp/.mep_tmp_cer - args: - chdir: /tmp/ - -- name: Openssl genrsa - command: openssl genrsa -out ca.key 2048 - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Opnessl req - # yamllint disable rule:line-length - command: openssl req -new -key ca.key -subj /C=CN/ST=Peking/L=Beijing/O=edgegallery/CN=edgegallery -out ca.csr - # yamllint disable rule:line-length - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Sing key with ca key and ca crt - # yamllint disable rule:line-length - command: openssl x509 -req -days 365 -in ca.csr -extensions v3_ca -signkey ca.key -out ca.crt - # yamllint disable rule:line-length - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl genrsa - command: openssl genrsa -out mepserver_tls.key 2048 - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl rsa mep tls with common pwd - # yamllint disable rule:line-length - command: openssl rsa -in /tmp/.mep_tmp_cer/mepserver_tls.key -aes256 -passout pass:{{ vardata.common_pwd.name}} -out /tmp/.mep_tmp_cer/mepserver_encryptedtls.key - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Openssl rsa mep tls - # yamllint disable rule:line-length - command: openssl rsa -in /tmp/.mep_tmp_cer/mepserver_tls.key -aes256 -passout pass:{{ vardata.mep_cert_pwd.name}} -out /tmp/.mep_tmp_cer/mepserver_encryptedtls.key - # yamllint disable rule:line-length - when: comm_pwd == "" - -- name: Openssl req new key mepserver tls key - # yamllint disable rule:line-length - command: openssl req -new -key mepserver_tls.key -subj /C=CN/ST=Beijing/L=Beijing/O=edgegallery/CN=edgegallery -out mepserver_tls.csr - # yamllint disable rule:line-length - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl mepserver tls csr - # yamllint disable rule:line-length - command: openssl x509 -req -in mepserver_tls.csr -extensions v3_req -CA ca.crt -CAkey ca.key -CAcreateserial -out mepserver_tls.crt - # yamllint disable rule:line-length - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl genrsa out - command: openssl genrsa -out jwt_privatekey 2048 - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl rsa jwt privatekey - command: openssl rsa -in jwt_privatekey -pubout -out jwt_publickey - args: - chdir: /tmp/.mep_tmp_cer/ - -- name: Openssl rsa in jwt with common pwd - # yamllint disable rule:line-length - command: openssl rsa -in /tmp/.mep_tmp_cer/jwt_privatekey -aes256 -passout pass:{{ vardata.common_pwd.name}} -out /tmp/.mep_tmp_cer/jwt_encrypted_privatekey - ignore_errors: yes - no_log: True - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Openssl rsa in jwt - # yamllint disable rule:line-length - command: openssl rsa -in /tmp/.mep_tmp_cer/jwt_privatekey -aes256 -passout pass:{{ vardata.mep_cert_pwd.name}} -out /tmp/.mep_tmp_cer/jwt_encrypted_privatekey - # yamllint disable rule:line-length - ignore_errors: yes - no_log: True - when: comm_pwd == "" - -- name: Create mep namespace - command: kubectl create ns mep - args: - chdir: /tmp/ - -- name: Create generic pg secret with common pwd - # yamllint disable rule:line-length - command: kubectl -n mep create secret generic pg-secret --from-literal=pg_admin_pwd={{ vardata.common_pwd.name}} --from-literal=kong_pg_pwd={{ vardata.mep_kong_pg_pwd.name}} - --from-file=server.key=/tmp/.mep_tmp_cer/mepserver_tls.key --from-file=server.crt=/tmp/.mep_tmp_cer/mepserver_tls.crt - ignore_errors: yes - no_log: True - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Create generic pg secret - # yamllint disable rule:line-length - command: kubectl -n mep create secret generic pg-secret --from-literal=pg_admin_pwd={{ vardata.mep_pg_admin_pwd.name}} --from-literal=kong_pg_pwd={{ vardata.mep_kong_pg_pwd.name}} - --from-file=server.key=/tmp/.mep_tmp_cer/mepserver_tls.key --from-file=server.crt=/tmp/.mep_tmp_cer/mepserver_tls.crt - ignore_errors: yes - no_log: True - # yamllint disable rule:line-length - when: comm_pwd == "" - -- name: Create mep generic for mep ssl with common pwd - # yamllint disable rule:line-length - command: kubectl -n mep create secret generic mep-ssl --from-literal=cert_pwd={{ vardata.common_pwd.name}} --from-file=server.cer=/tmp/.mep_tmp_cer/mepserver_tls.crt - --from-file=server_key.pem=/tmp/.mep_tmp_cer/mepserver_encryptedtls.key --from-file=trust.cer=/tmp/.mep_tmp_cer/ca.crt - ignore_errors: yes - no_log: True - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Create mep generic for mep ssl - # yamllint disable rule:line-length - command: kubectl -n mep create secret generic mep-ssl --from-literal=cert_pwd={{ vardata.mep_cert_pwd.name}} --from-file=server.cer=/tmp/.mep_tmp_cer/mepserver_tls.crt - --from-file=server_key.pem=/tmp/.mep_tmp_cer/mepserver_encryptedtls.key --from-file=trust.cer=/tmp/.mep_tmp_cer/ca.crt - # yamllint disable rule:line-length - when: comm_pwd == "" - -- name: Create mep seret generic - # yamllint disable rule:line-length - command: kubectl -n mep create secret generic mepauth-secret --from-file=server.crt=/tmp/.mep_tmp_cer/mepserver_tls.crt --from-file=server.key=/tmp/.mep_tmp_cer/mepserver_tls.key - --from-file=ca.crt=/tmp/.mep_tmp_cer/ca.crt --from-file=jwt_publickey=/tmp/.mep_tmp_cer/jwt_publickey --from-file=jwt_encrypted_privatekey=/tmp/.mep_tmp_cer/jwt_encrypted_privatekey - # yamllint disable rule:line-length - args: - chdir: /tmp/ - -- name: Remove directory - command: rm -rf /tmp/.mep_tmp_cer - args: - chdir: /tmp/ - -- debug: - msg: Deploy_dns_metallb execution start - -- name: Eg_Mep deployment execution of namesapce - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/metallb/namespace.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- name: Eg_Mep deployment execution of metallb - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/metallb/metallb.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- name: Eg_Mep deployment create secret - # yamllint disable rule:line-length - command: kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" - # yamllint disable rule:line-length - args: - chdir: /tmp/eg_mep/deploy/ - -- name: Eg_Mep deployment execution of config-mep - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/metallb/config-map.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- debug: - msg: Deploy_network_isolation_multus execution start - -- name: Running multus yaml files - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/network-isolation/multus.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- name: Running eg-sp-rbac yaml files - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- name: Replacing image - replace: - path: /tmp/eg_mep/deploy/conf/edge/network-isolation/eg-sp-controller.yaml - regexp: 'edgegallery/edgegallery-secondary-ep-controller:latest' - replace: "{{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/edgegallery-secondary-ep-controller:latest" - -- name: Running eg-sp-controller yaml files - # yamllint disable rule:line-length - command: kubectl apply -f /tmp/eg_mep/deploy/conf/edge/network-isolation/eg-sp-controller.yaml - args: - chdir: /tmp/eg_mep/deploy/ - -- debug: - msg: Setup_interfaces execution start - -- name: Link eg mep macvlan - # yamllint disable rule:line-length - command: ip link add eg-mp1 link {{ vardata.edge_management_interface.name}} type macvlan mode bridge - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- name: Link eg mep macvlan - command: ip addr add {{ vardata.eg-management-address.name}} dev eg-mp1 - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- name: Link eg me1 up - command: ip link set dev eg-mp1 up - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- name: Link eg eg mm5 with eth1 - # yamllint disable rule:line-length - command: ip link add eg-mm5 link {{ vardata.edge_dataplane_interface.name}} type macvlan mode bridge - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- name: Link eg eg mm5 ip addr - command: ip addr add {{ vardata.eg-dataplane-address.name}} dev eg-mm5 - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- name: Link eg eg mm5 set dev - command: ip link set dev eg-mm5 up - args: - chdir: /tmp/eg_mep/deploy/ - ignore_errors: yes - no_log: True - -- debug: - msg: Pull helm repo start - -- name: Edge gallery mep installation pull chart and image - # yamllint disable rule:line-length - command: helm install mep-edgegallery edgegallery/mep --set networkIsolation.phyInterface.mp1={{ vardata.edge_management_interface.name}} --set networkIsolation.phyInterface.mm5={{ vardata.edge_dataplane_interface.name}} --set images.mep.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mep --set images.mepauth.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mepauth --set images.dns.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/mep-dns-server --set images.kong.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/kong --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/postgres --set images.mep.tag={{ vardata.eg_image_tag.name}} --set images.mepauth.tag={{ vardata.eg_image_tag.name}} --set images.dns.tag={{ vardata.eg_image_tag.name}} --set images.mep.pullPolicy=IfNotPresent --set images.mepauth.pullPolicy=IfNotPresent --set images.dns.pullPolicy=IfNotPresent --set images.kong.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent --set ssl.secretName=mep-ssl - # yamllint disable rule:line-length diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/uninstall.yml deleted file mode 100644 index 3cf66ef..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/uninstall.yml +++ /dev/null @@ -1,107 +0,0 @@ -# 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: Uninstall ssl config mep helm chart - command: helm uninstall mep-edgegallery - ignore_errors: yes - no_log: True - -- name: Delete ssl config pg secret - command: kubectl delete secret pg-secret -n mep - ignore_errors: yes - no_log: True - -- name: Delete ssl config mep ssl - command: kubectl delete secret mep-ssl -n mep - ignore_errors: yes - no_log: True - -- name: Delete ssl config mep mep auth - command: kubectl delete secret mepauth-secret -n mep - ignore_errors: yes - no_log: True - -- name: Delete dns namesapce metallb - command: kubectl delete secret memberlist -n metallb-system - ignore_errors: yes - no_log: True - -- name: Delete ssl config namesapce mep - command: kubectl delete ns mep - ignore_errors: yes - no_log: True - -- name: Delete network isolation multus eg sp controller - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/network-isolation/eg-sp-controller.yaml - ignore_errors: yes - no_log: True - -- name: Delete network isolation multus eg sp rbac - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/network-isolation/eg-sp-rbac.yaml - ignore_errors: yes - no_log: True - -- name: Delete network isolation multus - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/network-isolation/multus.yaml - ignore_errors: yes - no_log: True - -- name: Delete network isolation eg mp1 - command: ip link set dev eg-mp1 down - ignore_errors: yes - no_log: True - -- name: Delete nnetwork isolation eg mp1 link - command: ip link delete eg-mp1 - ignore_errors: yes - no_log: True - -- name: Delete network isolation eg mm5 - command: ip link set dev eg-mm5 down - ignore_errors: yes - no_log: True - -- name: Delete network isolation eg mm5 link - command: ip link delete eg-mm5 - ignore_errors: yes - no_log: True - -- name: Delete network isolation multus rm - command: rm -rf /opt/cni/bin/multus - ignore_errors: yes - no_log: True - -- name: Uninstall dns metallb config mep - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/metallb/config-map.yaml - ignore_errors: yes - no_log: True - -- name: Delete dns metallb - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/metallb/metallb.yaml - ignore_errors: yes - no_log: True - -- name: Delete dns metallb namespace - # yamllint disable rule:line-length - command: kubectl delete -f /tmp/eg_mep/deploy/conf/edge/metallb/namespace.yaml - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_prerequisite/files/deploy/eg_daemon.sh b/blueprints/iotgateway/playbooks/roles/eg_prerequisite/files/deploy/eg_daemon.sh deleted file mode 100644 index 61842b2..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_prerequisite/files/deploy/eg_daemon.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -function _help_insecure_registry() -{ - grep -i "insecure-registries" /etc/docker/daemon.json | grep "REGISTRIES_IP:REGISTRIES_PORT" >/dev/null 2>&1 - if [ $? != 0 ]; then - mkdir -p /etc/docker -cat </dev/null - if [ $? != 0 ]; then - cd "$TARBALL_PATH"/registry - docker load --input registry-2.tar.gz - docker run -d -p 5000:5000 --restart=always --name registry registry:2 - fi -} - -function _load_swr_images_and_push_to_private_registry() -{ - IP=REGISTRIES_IP - PORT="REGISTRIES_PORT" - cd "$TARBALL_PATH"/eg_swr_images - - for f in *.tar.gz; - do - cat $f | docker load - IMAGE_NAME=`echo $f|rev|cut -c8-|rev|sed -e "s/\#/:/g" | sed -e "s/\@/\//g"`; - docker image tag $IMAGE_NAME $IP:$PORT/$IMAGE_NAME - docker push $IP:$PORT/$IMAGE_NAME - done -} - -############################################################## -############################################ -function main(){ - _load_and_run_docker_registry - _load_swr_images_and_push_to_private_registry -} -######################################### -#skip main in case of source - main $@ -###################### diff --git a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/install.yml deleted file mode 100644 index def9fc6..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/install.yml +++ /dev/null @@ -1,118 +0,0 @@ -# -# 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 setup for edge gallery - copy: - src: deploy - dest: /tmp/eg_registry/ - mode: 750 - -- name: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Make dir for arm images - command: mkdir -p /tmp/eg_registry/armtarball - args: - chdir: /tmp/ - -- name: Set a variable - ansible.builtin.set_fact: - processor: "{{ vardata.master_edge_processor.name}}" - -- name: Downloading based on master_edge_processor value x86_64 tarball - command: wget http://release.edgegallery.org/x86/all/0.9.tar.gz - args: - chdir: /tmp/eg_registry/deploy/ - when: processor == "x86_64" - -- name: Download 0.9 tar arms based on master_edge_processor value - command: wget http://release.edgegallery.org/arm64/all/0.9.tar.gz - args: - chdir: /tmp/eg_registry/armtarball/ - when: ansible_architecture == 'aarch64' and processor == "x86_64" - -- name: Download 0.9 tar arms - command: wget http://release.edgegallery.org/arm64/all/0.9.tar.gz - args: - chdir: /tmp/eg_registry/deploy/ - when: ansible_architecture == 'aarch64' and processor != "x86_64" - -- name: Download 0.9 tar x86 - command: wget http://release.edgegallery.org/x86/all/0.9.tar.gz - args: - chdir: /tmp/eg_registry/deploy/ - when: ansible_architecture == 'x86_64' - -- name: Untar the donwloaded tar - command: tar -zxf 0.9.tar.gz - args: - chdir: /tmp/eg_registry/deploy/ - -- name: Untar the donwloaded tar - command: tar -zxf 0.9.tar.gz - args: - chdir: /tmp/eg_registry/armtarball/ - when: processor == "x86_64" - -- name: Registry replaced for cross playform - command: rm -rf /tmp/eg_registry/deploy/registry - when: processor == "x86_64" - -- name: Docker image replaced for cross playform - command: rm -rf /tmp/eg_registry/deploy/eg_swr_images/nginx#stable.tar.gz - when: processor == "x86_64" - -- name: Docker image replaced for cross playform tool chain - # yamllint disable rule:line-length - command: rm -rf /tmp/eg_registry/deploy/eg_swr_images/edgegallery@deploy-tool#latest.tar.gz - # yamllint disable rule:line-length - when: processor == "x86_64" - -- name: Copy registry from x86 tarball - command: cp -r /tmp/eg_registry/armtarball/registry /tmp/eg_registry/deploy/ - when: processor == "x86_64" - -- name: Copy docker image from x86 tarball - # yamllint disable rule:line-length - command: cp -r /tmp/eg_registry/armtarball/eg_swr_images/nginx#stable.tar.gz /tmp/eg_registry/deploy/eg_swr_images/ - # yamllint disable rule:line-length - when: processor == "x86_64" - -- name: Copy docker image from x86 tarball tool chain - # yamllint disable rule:line-length - command: cp -r /tmp/eg_registry/armtarball/eg_swr_images/edgegallery@deploy-tool#latest.tar.gz /tmp/eg_registry/deploy/eg_swr_images/ - # yamllint disable rule:line-length - when: processor == "x86_64" - -- name: Replacing private ip - replace: - path: /tmp/eg_registry/deploy/load-images.sh - regexp: 'REGISTRIES_IP' - replace: "{{ vardata.private_repo_ip.name }}" - -- name: Replacing private port - replace: - path: /tmp/eg_registry/deploy/load-images.sh - regexp: 'REGISTRIES_PORT' - replace: "{{ vardata.docker_registry_port.name }}" - -- name: Execute the script - shell: - cmd: /tmp/eg_registry/deploy/load-images.sh diff --git a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/main.yml deleted file mode 100644 index 81aba29..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# 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. -# - ---- - -# tasks file for eg_load-iamges -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/uninstall.yml deleted file mode 100644 index 111b1e3..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_registry/tasks/uninstall.yml +++ /dev/null @@ -1,32 +0,0 @@ -# -# 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: Stop registry - command: docker stop registry - ignore_errors: yes - no_log: True - -- name: Remove registry - command: docker rm -v registry - ignore_errors: yes - no_log: True - -- name: Remove tmp file - command: rm -rf /tmp/eg_registry - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/install.yml deleted file mode 100644 index 60e6a1a..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/install.yml +++ /dev/null @@ -1,28 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Generate secret - # yamllint disable rule:line-length - command: kubectl create secret generic edgegallery-ssl-secret --from-file=keystore.p12=/tmp/ssl-eg-keys-certs/keystore.p12 --from-literal=keystorePassword={{ vardata.common_pwd.name}} --from-literal=keystoreType=PKCS12 --from-literal=keyAlias=edgegallery --from-file=trust.cer=/tmp/ssl-eg-keys-certs/ca.crt --from-file=server.cer=/tmp/ssl-eg-keys-certs/tls.crt --from-file=server_key.pem=/tmp/ssl-eg-keys-certs/encryptedtls.key --from-literal=cert_pwd={{ vardata.common_pwd.name}} - args: - chdir: /tmp/ssl-eg-keys-certs/ diff --git a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/main.yml deleted file mode 100644 index bd61315..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_secret -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/uninstall.yml deleted file mode 100644 index ea33726..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_secret/tasks/uninstall.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# 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: Delete edgegallery ssl secret - command: kubectl delete secret edgegallery-ssl-secret - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/install.yml deleted file mode 100644 index 6e517b1..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/install.yml +++ /dev/null @@ -1,30 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Helm repo add edgegallery - # yamllint disable rule:line-length - command: helm repo add edgegallery http://{{ vardata.private_repo_ip.name}}:8080/edgegallery - -- name: Helm repo add stable - # yamllint disable rule:line-length - command: helm repo add stable http://{{ vardata.private_repo_ip.name}}:8080/stable diff --git a/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/main.yml deleted file mode 100644 index 2c506fb..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_set-helm-repo/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_set-helm-repo -- include: "install.yml" - static: false - when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/install.yml deleted file mode 100644 index 2207631..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_trans_certs/tasks/install.yml +++ /dev/null @@ -1,25 +0,0 @@ -# -# 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: Certificate copy - debug: - msg: Copy certificate from ocd to center and edge - -- synchronize: - src: /tmp/ssl-eg-keys-certs - dest: /tmp/ diff --git a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/install.yml deleted file mode 100644 index e215dab..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/install.yml +++ /dev/null @@ -1,42 +0,0 @@ -# -# 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: 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: Create certificates for usermanagment with common pwd - # yamllint disable rule:line-length - command: kubectl create secret generic user-mgmt-jwt-secret --from-file=publicKey=/tmp/ssl-eg-keys-certs/rsa_public_key.pem --from-file=encryptedPrivateKey=/tmp/ssl-eg-keys-certs/encrypted_rsa_private_key.pem --from-literal=encryptPassword={{ vardata.common_pwd.name}} - # yamllint disable rule:line-length - when: comm_pwd != "" - -- name: Generating certificates for usermanagment - # yamllint disable rule:line-length - command: kubectl create secret generic user-mgmt-jwt-secret --from-file=publicKey=/tmp/ssl-eg-keys-certs/rsa_public_key.pem --from-file=encryptedPrivateKey=/tmp/ssl-eg-keys-certs/encrypted_rsa_private_key.pem --from-literal=encryptPassword={{ vardata.user_mgmt_encryptPassword.name}} - # yamllint disable rule:line-length - when: comm_pwd == "" - -- name: Install user-mgmt - # yamllint disable rule:line-length - command: helm install user-mgmt-edgegallery edgegallery/usermgmt --set global.oauth2.clients.appstore.clientUrl=https://{{ ansible_host }}:{{vardata.appstore_port.name}},global.oauth2.clients.developer.clientUrl=https://{{ ansible_host }}:{{vardata.developer_port.name}},global.oauth2.clients.mecm.clientUrl=https://{{ ansible_host }}:{{vardata.mecm_port.name}}, --set jwt.secretName=user-mgmt-jwt-secret --set images.usermgmt.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/user-mgmt --set images.postgres.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/postgres --set images.redis.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/redis --set images.initservicecenter.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/curl --set images.usermgmt.tag={{ vardata.eg_image_tag.name}} --set images.usermgmt.pullPolicy=IfNotPresent --set images.postgres.pullPolicy=IfNotPresent --set images.redis.pullPolicy=IfNotPresent --set images.initservicecenter.pullPolicy=IfNotPresent --set global.ssl.enabled=true --set global.ssl.secretName=edgegallery-ssl-secret diff --git a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/main.yml deleted file mode 100644 index 6545b6a..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for eg_user-mgmt -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/uninstall.yml deleted file mode 100644 index 60eb052..0000000 --- a/blueprints/iotgateway/playbooks/roles/eg_user-mgmt/tasks/uninstall.yml +++ /dev/null @@ -1,27 +0,0 @@ -# -# 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: Uninstall user management - command: helm uninstall user-mgmt-edgegallery - ignore_errors: yes - no_log: True - -- name: Delete user-mgmt-jwt-secret - command: kubectl delete secret user-mgmt-jwt-secret - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/install.yml new file mode 100644 index 0000000..d633069 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/install.yml @@ -0,0 +1,31 @@ +# Copyright 2021 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. + +--- +# tasks file +- name: Install edgegallery + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-aio -e "ansible_user=root" eg_all_aio_install.yml >> aio_log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/ansible-all-arm-latest/install + when: ansible_architecture == 'aarch64' + +- name: Install edgegallery + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-aio -e "ansible_user=root" eg_all_aio_install.yml >> aio_log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/ansible-all-x86-latest/install + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/main.yml similarity index 90% rename from blueprints/iotgateway/playbooks/roles/eg_mep/tasks/main.yml rename to blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/main.yml index 70416a7..063f2ac 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/tasks/main.yml +++ b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/main.yml @@ -1,5 +1,4 @@ -# -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,11 +11,9 @@ # 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. -# --- - -# tasks file for eg_mep +# tasks file for eg muno all - include: "install.yml" static: false when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/uninstall.yml new file mode 100644 index 0000000..6896328 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-all-aiomode/tasks/uninstall.yml @@ -0,0 +1,40 @@ +# Copyright 2021 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: Uninstall edgegallery on arm + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-aio eg_all_aio_uninstall.yml -e "ansible_user=root" >> aio_remove.log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/ansible-all-arm-latest/install + when: ansible_architecture == 'aarch64' + +- name: Uninstall edgegallery on x86 + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-aio eg_all_aio_uninstall.yml -e "ansible_user=root" >> aio_remove.log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/ansible-all-x86-latest/install + when: ansible_architecture == 'x86_64' + +- name: Remove edgegallery tar + shell: + cmd: rm -rf ansible-all* + chdir: /tmp/eg_download/deploy/ + +- name: Remove aio log + shell: + cmd: rm -rf aio_log + chdir: /tmp/eg_download/deploy/ diff --git a/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/install.yml new file mode 100644 index 0000000..add7807 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/install.yml @@ -0,0 +1,65 @@ +# Copyright 2021 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. + +--- +# tasks file for MUNO controller + +### MUNO controller installation ### + +- name: Create directory to download EG-TAR + command: mkdir -p /tmp/eg_download/deploy + args: + chdir: "{{playbook_dir}}" + ignore_errors: yes + +- name: Check edgegallery tar ball present + stat: + path: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-controller-x86.tar.gz + register: tar_var + +- name: Download 1.1 edgegallery x86 controller +# yamllint disable rule:line-length + command: wget https://edgegallery.obs.cn-east-3.myhuaweicloud.com/releases/v1.1.1/x86/EdgeGallery-v1.1.1-controller-x86.tar.gz +# yamllint disable rule:line-length + args: + chdir: /tmp/eg_download/deploy/ + when: not tar_var.stat.exists + +- name: Untar Edgegallery offline controller tar file + command: tar -xvf EdgeGallery-v1.1.1-controller-x86 + args: + chdir: /tmp/eg_download/deploy/ + when: not tar_var.stat.exists + +- name: Set inventory file for muno controller +# yamllint disable rule:line-length + command: cp muno-config/controller/hosts-muno-controller /tmp/eg_download/deploy/EdgeGallery-v1.1.1-controller-x86/install +# yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + +- name: Set var.yml file for muno controller +# yamllint disable rule:line-length + command: cp muno-config/controller/var.yml /tmp/eg_download/deploy/EdgeGallery-v1.1.1-controller-x86/install +# yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + +- name: Install edgegallery controller + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-muno-controller -e "ansible_user=root" eg_controller_aio_install.yml >> muno_controller_log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-controller-x86/install + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/helm/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/main.yml similarity index 90% rename from blueprints/iotgateway/playbooks/roles/helm/tasks/main.yml rename to blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/main.yml index 9619418..3139a32 100644 --- a/blueprints/iotgateway/playbooks/roles/helm/tasks/main.yml +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/main.yml @@ -1,4 +1,4 @@ -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -11,9 +11,9 @@ # 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. ---- -# tasks file for helm +--- +# tasks file for eg muno mode - include: "install.yml" static: false when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/uninstall.yml new file mode 100644 index 0000000..75ca312 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-controller/tasks/uninstall.yml @@ -0,0 +1,29 @@ +# Copyright 2021 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: Uninstall edgegallery controller on x86 + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-muno-controller eg_controller_aio_uninstall.yml -e "ansible_user=root" >> muno_controller_remove.log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-controller-x86/install + when: ansible_architecture == 'x86_64' + +- name: Remove edgegallery tar ball + shell: + cmd: rm -rf EdgeGallery-v1.1.1-* + chdir: /tmp/eg_download/deploy/ + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/install.yml new file mode 100644 index 0000000..fafeae9 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/install.yml @@ -0,0 +1,57 @@ +# Copyright 2021 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. + +--- +### MUNO edge installation ### + +- name: Check edgegallery tar ball present + stat: + path: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-edge-x86.tar.gz + register: edge_tar_var + +- name: Download 1.1 edgegallery x86 edge +# yamllint disable rule:line-length + command: wget https://edgegallery.obs.cn-east-3.myhuaweicloud.com/releases/v1.1.1/x86/EdgeGallery-v1.1.1-edge-x86.tar.gz +# yamllint disable rule:line-length + args: + chdir: /tmp/eg_download/deploy/ + when: not edge_tar_var.stat.exists + +- name: Untar Edgegallery offline edge tar file + command: tar -xvf EdgeGallery-v1.1.1-edge-x86 + args: + chdir: /tmp/eg_download/deploy/ + when: not edge_tar_var.stat.exists + +- name: Set inventory file for muno edge +# yamllint disable rule:line-length + command: scp root@{{ OCD_IP }}:"{{playbook_dir}}"/muno-config/edge/hosts-muno-edge . +# yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + +- name: Set var.yml file for muno edge +# yamllint disable rule:line-length + command: scp root@{{ OCD_IP }}:"{{playbook_dir}}"/muno-config/edge/var.yml . +# yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + +- name: Install edgegallery edge + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-muno-edge -e "ansible_user=root" eg_edge_aio_install.yml >> muno_edge_log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-edge-x86/install + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/main.yml similarity index 90% rename from blueprints/iotgateway/playbooks/roles/eg_certs/tasks/main.yml rename to blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/main.yml index 0ddc8f4..3139a32 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_certs/tasks/main.yml +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/main.yml @@ -1,5 +1,4 @@ -# -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,10 +11,9 @@ # 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. -# --- -# tasks file for eg_certs +# tasks file for eg muno mode - include: "install.yml" static: false when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/uninstall.yml new file mode 100644 index 0000000..71274da --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-munomode-edge/tasks/uninstall.yml @@ -0,0 +1,30 @@ +# Copyright 2021 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. + +--- +# uninstallation of edge + +- name: Uninstall edgegallery edge on x86 + shell: + # yamllint disable rule:line-length + cmd: ansible-playbook --inventory hosts-muno-edge eg_edge_aio_uninstall.yml -e "ansible_user=root" >> muno_edge_remove.log + # yamllint disable rule:line-length + chdir: /tmp/eg_download/deploy/EdgeGallery-v1.1.1-edge-x86/install + when: ansible_architecture == 'x86_64' + +- name: Remove edgegallery tar ball + shell: + cmd: rm -rf EdgeGallery-v1.1.1-* + chdir: /tmp/eg_download/deploy/ + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/install.yml new file mode 100644 index 0000000..b8e9fc2 --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/install.yml @@ -0,0 +1,63 @@ +# Copyright 2021 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: Create directory to download EG-TAR + command: mkdir -p /tmp/eg_download/deploy + args: + chdir: "{{playbook_dir}}" + ignore_errors: yes + +- name: Download 1.1 edgegallery x86 +# yamllint disable rule:line-length + command: wget https://edgegallery.obs.cn-east-3.myhuaweicloud.com/releases/v1.1/x86/EdgeGallery-v1.1-all-x86.tar.gz +# yamllint disable rule:line-length + args: + chdir: /tmp/eg_download/deploy/ + when: ansible_architecture == 'x86_64' + +- name: Untar Edgegallery offline tarbal file + command: tar -xvf EdgeGallery-v1.1-all-x86.tar.gz + args: + chdir: /tmp/eg_download/deploy/ + when: ansible_architecture == 'x86_64' + +- name: Set inventory file for aio + command: cp hosts-aio /tmp/eg_download/deploy/ansible-all-x86-latest/install + args: + chdir: "{{playbook_dir}}" + when: ansible_architecture == 'x86_64' + +- name: Set inventory file for muno + command: cp hosts-muno /tmp/eg_download/deploy/ansible-all-x86-latest/install + args: + chdir: "{{playbook_dir}}" + when: ansible_architecture == 'x86_64' + +- name: Set var.yml to eg path + # yamllint disable rule:line-length + command: cp var.yml /tmp/eg_download/deploy/ansible-all-x86-latest/install + # yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + when: ansible_architecture == 'x86_64' + +- name: Set default-var.yml to eg path + # yamllint disable rule:line-length + command: cp default-var.yml /tmp/eg_download/deploy/ansible-all-x86-latest/install + # yamllint disable rule:line-length + args: + chdir: "{{playbook_dir}}" + when: ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/k3s/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/main.yml similarity index 91% rename from blueprints/iotgateway/playbooks/roles/k3s/tasks/main.yml rename to blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/main.yml index 22746d8..9512030 100644 --- a/blueprints/iotgateway/playbooks/roles/k3s/tasks/main.yml +++ b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/main.yml @@ -1,4 +1,4 @@ -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -13,6 +13,8 @@ # limitations under the License. --- +# tasks file + - include: "install.yml" static: false when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/uninstall.yml similarity index 83% rename from blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/uninstall.yml rename to blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/uninstall.yml index f38b51d..44a0f0c 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_appstore/tasks/uninstall.yml +++ b/blueprints/iotgateway/playbooks/roles/egallery-tar/tasks/uninstall.yml @@ -1,4 +1,3 @@ -# # Copyright 2020 Huawei Technologies Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -12,11 +11,10 @@ # 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: Uninstall appstore - command: helm uninstall appstore-edgegallery - ignore_errors: yes - no_log: True +- name: Remove edgegallery tar + shell: + cmd: ls + #cmd: rm -rf ansible-all* + chdir: /tmp/eg_download/deploy/ diff --git a/blueprints/iotgateway/playbooks/roles/grafana/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/grafana/tasks/install.yml index 46245cb..204b2bb 100644 --- a/blueprints/iotgateway/playbooks/roles/grafana/tasks/install.yml +++ b/blueprints/iotgateway/playbooks/roles/grafana/tasks/install.yml @@ -15,7 +15,7 @@ --- - name: check if grafana is already installed shell: - cmd: helm status mec-grafana + cmd: helm status grafana register: result ignore_errors: yes no_log: True @@ -30,10 +30,23 @@ # yamllint disable rule:line-length when: result.stdout == "" +- name: "INSTALL: Add Grafana Repo on x86" + shell: + cmd: helm repo add grafana https://grafana.github.io/helm-charts + when: result is failed and ansible_architecture == 'x86_64' + ignore_errors: yes + +- name: "INSTALL: Update helm repo" + shell: + cmd: helm repo update + when: result is failed and ansible_architecture == 'x86_64' + ignore_errors: yes + - name: "INSTALL: Install grafana on x86_64" shell: - cmd: helm install mec-grafana stable/grafana + cmd: helm install grafana grafana/grafana when: result is failed and ansible_architecture == 'x86_64' + ignore_errors: yes - name: "INSTALL: copy values.yaml to host" copy: @@ -43,5 +56,5 @@ - name: "INSTALL: Install grafana on aarch64" shell: - cmd: helm install mec-grafana stable/grafana -f /tmp/grafana/values.yaml + cmd: helm install grafana stable/grafana -f /tmp/grafana/values.yaml when: result is failed and ansible_architecture == 'aarch64' diff --git a/blueprints/iotgateway/playbooks/roles/grafana/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/grafana/tasks/uninstall.yml index 6f08c57..93a5be0 100644 --- a/blueprints/iotgateway/playbooks/roles/grafana/tasks/uninstall.yml +++ b/blueprints/iotgateway/playbooks/roles/grafana/tasks/uninstall.yml @@ -15,7 +15,7 @@ --- - name: check if grafana is installed before deleting shell: - cmd: helm status mec-grafana + cmd: helm status grafana register: result ignore_errors: yes no_log: True @@ -28,7 +28,12 @@ msg: Ignore Uninstall Log , Grafana not installed when: result.stdout == "" -- name: Uninstall grafana +- name: Uninstall grafana on arm shell: - cmd: helm uninstall mec-grafana - when: result is succeeded + cmd: helm uninstall grafana + when: result is succeeded and ansible_architecture == 'aarch64' + +- name: Uninstall grafana on x86 + shell: + cmd: helm uninstall grafana + when: result is succeeded and ansible_architecture == 'x86_64' diff --git a/blueprints/iotgateway/playbooks/roles/helm/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/helm/tasks/install.yml deleted file mode 100644 index 3ad5d11..0000000 --- a/blueprints/iotgateway/playbooks/roles/helm/tasks/install.yml +++ /dev/null @@ -1,68 +0,0 @@ -# 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: check whether helm is already installed - command: which helm - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: helm is already present - when: result.stdout != "" - -- debug: -# yamllint disable rule:line-length - msg: Ignore Uninstall Log , Helm not installed continue with Installation -# yamllint disable rule:line-length - when: result.stdout == "" - -- name: "INSTALL: Helm download command on x86_64" - command: wget https://get.helm.sh/helm-v3.0.2-linux-amd64.tar.gz - when: result is failed and ansible_architecture == 'x86_64' - -- name: "INSTALL: Untar helm on x86_64" - command: tar -zxvf helm-v3.0.2-linux-amd64.tar.gz - when: result is failed and ansible_architecture == 'x86_64' - -- name: "INSTALL: Helm move to bin folder on x86_64" - command: mv linux-amd64/helm /usr/local/bin/ - when: result is failed and ansible_architecture == 'x86_64' - -- name: "INSTALL: Helm download command on aarch64" - command: wget https://get.helm.sh/helm-v3.0.2-linux-arm64.tar.gz - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Untar helm on aarch64" - command: tar -zxvf helm-v3.0.2-linux-arm64.tar.gz - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Helm move to bin folder on aarch64" - command: mv linux-arm64/helm /usr/local/bin/ - when: result is failed and ansible_architecture == 'aarch64' - -- name: "INSTALL: Add helm repo" -# yamllint disable rule:line-length - command: helm repo add stable https://charts.helm.sh/stable -# yamllint disable rule:line-length - when: result is failed - -- name: "INSTALL: Updated helm repo" - command: helm repo update - when: result is failed - -- name: "INSTALLED List helm repo" - command: helm repo list - when: result is failed diff --git a/blueprints/iotgateway/playbooks/roles/helm/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/helm/tasks/uninstall.yml deleted file mode 100644 index 08dfaf2..0000000 --- a/blueprints/iotgateway/playbooks/roles/helm/tasks/uninstall.yml +++ /dev/null @@ -1,58 +0,0 @@ -# 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: check whether helm is installed before deleting - command: which helm - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: Uninstalling helm... - when: result.stdout != "" - -- debug: - msg: Ignore Uninstall Log ,Helm not installed - when: result.stdout == "" - -- name: "UNINSTALL: Helm Uninstall on x86_64" - command: rm -rf linux-amd64/helm - ignore_errors: yes - no_log: True - when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Remove download helm file on x86_64" - command: rm ~/helm-v3.0.2-linux-amd64.tar.gz - ignore_errors: yes - no_log: True - when: result is succeeded and ansible_architecture == 'x86_64' - -- name: "UNINSTALL: Helm Uninstall on aarch64" - command: rm -rf linux-arm64/helm - ignore_errors: yes - no_log: True - when: result is succeeded and ansible_architecture == 'aarch64' - -- name: "UNINSTALL: Remove download helm file on aarch64" - command: rm helm-v3.0.2-linux-arm64.tar.gz - ignore_errors: yes - no_log: True - when: result is succeeded and ansible_architecture == 'aarch64' - -- name: "UNINSTALL: Remove helm from bin" - command: rm /usr/local/bin/helm - ignore_errors: yes - no_log: True - when: result is succeeded diff --git a/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml deleted file mode 100644 index 87de5dd..0000000 --- a/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml +++ /dev/null @@ -1,74 +0,0 @@ -# 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: check whether k3s is already installed - shell: - cmd: which k3s - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: k3s is already present - when: result.stdout != "" - -- debug: -# yamllint disable rule:line-length - msg: Ignore Uninstall Log , k3s not installed continue with Installation -# yamllint disable rule:line-length - when: result.stdout == "" - -- debug: - msg: K3 Installation started on {{ ansible_facts['distribution'] }} MEP Node - -- name: "INSTALL: Disabling firewall for successfull k3s installation on CentOs" - shell: - cmd: systemctl stop firewalld - when: ansible_facts['distribution'] == "CentOS" and result is failed - -- name: "INSTALL: install container-selinux" - shell: - cmd: yum install -y container-selinux selinux-policy-base - when: ansible_facts['distribution'] == "CentOS" and result is failed - ignore_errors: true - -- name: "INSTALL: get interface name" - shell: - cmd: ip a |grep {{ ansible_host }} |awk '{print $NF}' - register: ifName - when: result is failed - -# yamllint disable rule:line-length -- name: "INSTALL: install k3s" - shell: - cmd: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--node-ip={{ ansible_host }} --node-external-ip={{ ansible_host }} --bind-address={{ ansible_host }} --flannel-iface=eth0 --docker --no-deploy=servicelb --no-deploy=traefik --write-kubeconfig-mode 644 --kube-apiserver-arg="service-node-port-range=30000-36000"" sh - - when: result is failed - -# yamllint disable rule:line-length - -#- name: "INSTALL: install k3s" -# shell: -# cmd: curl -sfL https://get.k3s.io | sh - -# when: result is failed - -- name: "INSTALL: create .kube dir" - shell: - cmd: mkdir -p $HOME/.kube/ - when: result is failed - -- name: "INSTALL: copy kubeconfig" - shell: - cmd: cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config - when: result is failed diff --git a/blueprints/iotgateway/playbooks/roles/k3s/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/k3s/tasks/uninstall.yml deleted file mode 100644 index d58b1bb..0000000 --- a/blueprints/iotgateway/playbooks/roles/k3s/tasks/uninstall.yml +++ /dev/null @@ -1,39 +0,0 @@ -# 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: check whether k3s is already installed - shell: - cmd: which k3s - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: Uninstalling k3s... - when: result.stdout != "" - -- debug: - msg: "UNINSTALL: Ignore Uninstall Log , K3s not installed" - when: result.stdout == "" - -- name: "UNINSTALL: kill k3s" - shell: - cmd: k3s-killall.sh - when: result is succeeded - -- name: "UNINSTALL: uninstall k3s" - shell: - cmd: k3s-uninstall.sh - when: result is succeeded diff --git a/blueprints/iotgateway/playbooks/roles/k8s/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/k8s/tasks/install.yml deleted file mode 100644 index 8388770..0000000 --- a/blueprints/iotgateway/playbooks/roles/k8s/tasks/install.yml +++ /dev/null @@ -1,38 +0,0 @@ -# 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. - ---- -# tasks file for k8s -- name: Check whether k8s is already installed - command: which k8s - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: k8s is already present - when: result.stdout != "" - -- debug: -# yamllint disable rule:line-length - msg: Ignore Uninstall Log , k8s not installed continue with Installation -# yamllint disable rule:line-length - when: result.stdout == "" - -- name: Install k8s - shell: -# yamllint disable rule:line-length - cmd: ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml -# yamllint disable rule:line-length - chdir: /root/eliotkubesprey/kubespray/ diff --git a/blueprints/iotgateway/playbooks/roles/k8s/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/k8s/tasks/main.yml deleted file mode 100644 index a0ff36d..0000000 --- a/blueprints/iotgateway/playbooks/roles/k8s/tasks/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -# 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. - ---- -# tasks file for k8s -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/k8s/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/k8s/tasks/uninstall.yml deleted file mode 100644 index 3ff9e4a..0000000 --- a/blueprints/iotgateway/playbooks/roles/k8s/tasks/uninstall.yml +++ /dev/null @@ -1,31 +0,0 @@ -# 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. - ---- -# Uninstall file for k8s -- name: Check whether k8s is already installed - command: kubectl version - register: result - ignore_errors: yes - no_log: True - -- debug: - msg: k8s is already present - when: result.stdout != "" - -- name: Remove k8s - shell: - cmd: yes | ansible-playbook -i inventory/mycluster/hosts.yaml reset.yml - chdir: /root/eliotkubesprey/kubespray/ - when: result.stdout != "" diff --git a/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/install.yml deleted file mode 100644 index 53ad150..0000000 --- a/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/install.yml +++ /dev/null @@ -1,25 +0,0 @@ -# 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. - ---- -# tasks file for transferring kubeconfig files -- name: debug msg - debug: - msg: transfering config file to OCD Host - -- name: Fetch the file from the controller and edge nodes to ocd-host - fetch: - src: /root/.kube/config - dest: /root/.kube/config-{{ ansible_host }} - flat: yes diff --git a/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/main.yml deleted file mode 100644 index a3fc9af..0000000 --- a/blueprints/iotgateway/playbooks/roles/kubeconfig/tasks/main.yml +++ /dev/null @@ -1,21 +0,0 @@ -# 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. - ---- -# tasks file for kubeconfig transfer -- include: "install.yml" - when: operation == 'install' - -#- include: "uninstall.yml" - #when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/install.yml deleted file mode 100644 index 587f32b..0000000 --- a/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/install.yml +++ /dev/null @@ -1,25 +0,0 @@ -# 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. - ---- -# tasks file for k3s kube-config file transfer -- name: debug msg - debug: - msg: transfering mep config file to OCD Host - -- name: Fetch the file from the mep edge nodes to ocd-host - fetch: - src: /root/.kube/config - dest: /root/.kube/kubeconfig/{{ ansible_host }} - flat: yes diff --git a/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/main.yml deleted file mode 100644 index 1f281b4..0000000 --- a/blueprints/iotgateway/playbooks/roles/mepkubeconfig/tasks/main.yml +++ /dev/null @@ -1,18 +0,0 @@ -# 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. - ---- -# tasks file for kubeconfig transfer -- include: "install.yml" - when: operation == 'install' diff --git a/blueprints/iotgateway/playbooks/roles/service_center/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/service_center/tasks/install.yml deleted file mode 100644 index f32c163..0000000 --- a/blueprints/iotgateway/playbooks/roles/service_center/tasks/install.yml +++ /dev/null @@ -1,27 +0,0 @@ -# -# 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: Import config file - include_vars: - file: ../../../config.yml - name: vardata - -- name: Install service center - # yamllint disable rule:line-length - command: helm install service-center-edgegallery edgegallery/servicecenter --set images.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/edgegallery/service-center --set images.pullPolicy=IfNotPresent --set global.ssl.enabled=true --set global.ssl.secretName=edgegallery-ssl-secret - # yamllint disable rule:line-length diff --git a/blueprints/iotgateway/playbooks/roles/service_center/tasks/main.yml b/blueprints/iotgateway/playbooks/roles/service_center/tasks/main.yml deleted file mode 100644 index a79c680..0000000 --- a/blueprints/iotgateway/playbooks/roles/service_center/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# 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. -# - ---- - -# tasks file for service-center -- include: "install.yml" - static: false - when: operation == 'install' - -- include: "uninstall.yml" - static: false - when: operation == 'uninstall' diff --git a/blueprints/iotgateway/playbooks/roles/service_center/tasks/uninstall.yml b/blueprints/iotgateway/playbooks/roles/service_center/tasks/uninstall.yml deleted file mode 100644 index 0df700f..0000000 --- a/blueprints/iotgateway/playbooks/roles/service_center/tasks/uninstall.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# 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: Uninstall service center - command: helm uninstall service-center-edgegallery - ignore_errors: yes - no_log: True diff --git a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-controller.yaml b/blueprints/iotgateway/playbooks/var.yml similarity index 54% rename from blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-controller.yaml rename to blueprints/iotgateway/playbooks/var.yml index 95fd455..9cb47bd 100644 --- a/blueprints/iotgateway/playbooks/roles/eg_mep/files/deploy/conf/edge/network-isolation/eg-sp-controller.yaml +++ b/blueprints/iotgateway/playbooks/var.yml @@ -1,5 +1,5 @@ # -# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2021 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. @@ -12,17 +12,14 @@ # 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. -# -kind: Pod -apiVersion: v1 -metadata: - name: edgegallery-secondary-ep-controller - namespace: kube-system -spec: - serviceAccount: edgegallery-secondary-ep-controller - containers: - - name: edgegallery-secondary-ep-controller - image: edgegallery/edgegallery-secondary-ep-controller:latest - imagePullPolicy: IfNotPresent - command: ["/bin/sh", "-c", "--"] - args: ["edgegallery-secondary-ep-controller"] + +# Password of Harbor admin +HARBOR_ADMIN_PASSWORD: Harbor@edge + +# ip for portals,will be set to private +# iP of master node default or reset it here +# PORTAL_IP: 111.222.333.444 + +# If not set, will get the default one during the run time +# EG_NODE_EDGE_MP1: eth0 +# EG_NODE_EDGE_MM5: eth0 -- 2.16.6