roles:
- helm
- grafana
+ - kubeconfig
+ - mepconfig
+ - applcm
- hosts: mep
become: yes
- mep
roles:
- - docker
- k3s
- helm
- rabbitmq
- - cAdvisor
- prometheus
+ - kubeconfig
+
+- hosts: mepautomate
+ become: yes
+ tags:
+ - mepautomate
+
+ roles:
+ - mepserver
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: applcm-broker
+ name: applcm-broker
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ io.kompose.service: applcm-broker
+ strategy: {}
+ template:
+ metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: applcm-broker
+ spec:
+ containers:
+ - env:
+ - name: ADDRESS
+ value: 0.0.0.0:8081
+ - name: HELM_PLUGIN_PORT
+ value: "50051"
+ - name: KUBERNETES_PLUGIN_PORT
+ value: "50052"
+ - name: LOGFILE_PATH
+ value: /go/release/logfile
+ - name: LOGGER_LEVEL
+ value: info
+ - name: MYSQL_DATABASE
+ value: db
+ - name: MYSQL_PASSWORD
+ value: password
+ - name: MYSQL_ROOT_PASSWORD
+ value: password
+ - name: MYSQL_USER
+ value: root
+ - name: PACKAGE_ARTIFACT_PATH
+ value: /Artifacts/Deployment/
+ - name: PACKAGE_PATH
+ value: /go/release/application/packages/
+ image: ealtedge/applcm-broker:latest
+ imagePullPolicy: ""
+ name: applcm-broker
+ ports:
+ - containerPort: 8081
+ resources: {}
+ restartPolicy: Always
+ serviceAccountName: ""
+ volumes: null
+status: {}
+
+# yamllint enable
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: v1
+kind: Service
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: applcm-broker
+ name: applcm-broker
+spec:
+ type: NodePort
+ ports:
+ - name: "28081"
+ port: 8081
+ targetPort: 8081
+ nodePort: 30001
+ selector:
+ io.kompose.service: applcm-broker
+status:
+ loadBalancer: {}
+
+# yamllint enable
--- /dev/null
+#!/bin/bash
+# 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.
+
+# Command to give privileges to mysql root user
+# The Grant is necessary for Applcm-Broker to create applcmdb
+mysql -u root -ppassword << EOF
+SELECT host,user,Grant_priv,Super_priv FROM mysql.user;
+UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
+FLUSH PRIVILEGES;
+GRANT ALL ON *.* TO 'root'@'%';
+EOF
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: db
+ name: db
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ io.kompose.service: db
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: db
+ spec:
+ containers:
+ - env:
+ - name: MYSQL_DATABASE
+ value: db
+ - name: MYSQL_PASSWORD
+ value: password
+ - name: MYSQL_ROOT_PASSWORD
+ value: password
+ - name: MYSQL_USER
+ value: root
+ image: mysql/mysql-server
+ imagePullPolicy: ""
+ name: db
+ ports:
+ - containerPort: 3306
+ resources: {}
+ volumeMounts:
+ - mountPath: /var/lib/mysql
+ name: my-db
+ restartPolicy: Always
+ serviceAccountName: ""
+ volumes:
+ - name: my-db
+ hostPath:
+ path: /data
+ type: DirectoryOrCreate
+status: {}
+
+# yamllint enable
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: v1
+kind: Service
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: db
+ name: dbhost
+spec:
+ ports:
+ - name: "3306"
+ port: 3306
+ targetPort: 3306
+ selector:
+ io.kompose.service: db
+status:
+ loadBalancer: {}
+
+# yamllint enable
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: helm-plugin
+ name: helm-plugin
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ io.kompose.service: helm-plugin
+ strategy: {}
+ template:
+ metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: helm-plugin
+ spec:
+ containers:
+ - env:
+ - name: CERTIFICATE_PATH
+ - name: CHART_PATH
+ value: /go/release/charts/
+ - name: HELM_PLUGIN_PORT
+ value: "50051"
+ - name: KEY_PATH
+ - name: KUBECONFIG_DIR_PATH
+ value: /go/release/kubeconfig/
+ - name: LOGFILE_PATH
+ value: /go/release/logfile
+ - name: LOGGER_LEVEL
+ value: info
+ - name: RELEASE_NAMESPACE
+ value: default
+ image: ealtedge/helmplugin:latest
+ imagePullPolicy: ""
+ name: helmplugin
+ ports:
+ - containerPort: 50051
+ resources: {}
+ volumeMounts:
+ - mountPath: /go/release/kubeconfig/
+ name: config-dir
+ restartPolicy: Always
+ serviceAccountName: ""
+ volumes:
+ - name: config-dir
+ hostPath:
+ path: /kubeconfig
+ type: DirectoryOrCreate
+status: {}
+
+# yamllint enable
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: v1
+kind: Service
+metadata:
+ annotations:
+ kompose.cmd: kompose convert
+ kompose.version: 1.21.0 (992df58d8)
+ creationTimestamp: null
+ labels:
+ io.kompose.service: helm-plugin
+ name: helmplugin
+spec:
+ ports:
+ - name: "50051"
+ port: 50051
+ targetPort: 50051
+ selector:
+ io.kompose.service: helm-plugin
+status:
+ loadBalancer: {}
+
+# yamllint enable
--- /dev/null
+#!/bin/bash
+# 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.
+
+echo "applcm-db preconfig step"
--- /dev/null
+# 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.
+
+# yamllint disable
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ creationTimestamp: null
+ labels:
+ io.kompose.service: my-db
+ name: my-db
+spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 100Mi
+status: {}
+
+# yamllint enable
--- /dev/null
+# 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: copy deploy folder to mecm host for installing APPLCM
+ copy:
+ src: deploy
+ dest: /tmp/applcm/
+
+- name: Install applcm - pvc
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/my-db-persistentvolumeclaim.yaml
+
+- name: Install applcm - db
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/db-deployment.yaml
+
+- name: Install applcm - db-service
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/db-service.yaml
+
+
+- name: Install applcm - db-init-config
+ shell:
+# yamllint disable rule:line-length
+ cmd: kubectl exec -it $(kubectl get pod -l io.kompose.service=db | awk 'FNR==2 {print $1}') -- /bin/bash < /tmp/applcm/deploy/init.sh
+ ignore_errors: yes
+ failed_when: false
+ no_log: True
+
+- name: Install applcm - db-init-config
+ shell:
+# yamllint disable rule:line-length
+ cmd: kubectl exec -it $(kubectl get pod -l io.kompose.service=db | awk 'FNR==2 {print $1}') -- /bin/bash < /tmp/applcm/deploy/config.sh
+ ignore_errors: yes
+ failed_when: false
+ no_log: True
+
+
+- name: Install applcm - helmplugin
+ shell:
+ cmd: sleep 10
+
+- name: Install applcm - helmplugin
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/helm-plugin-deployment.yaml
+
+
+- name: Install applcm - helmplugin
+ shell:
+ cmd: sleep 10
+
+- name: Install applcm - helmplugin
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/helm-plugin-service.yaml
+
+
+- name: Install applcm - helmplugin
+ shell:
+ cmd: sleep 10
+
+- name: Install applcm - broker
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/applcm-broker-deployment.yaml
+
+- name: Install applcm - broker
+ shell:
+ cmd: kubectl apply -f /tmp/applcm/deploy/applcm-broker-service.yaml
--- /dev/null
+# 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.
+
+---
+- include: "install.yml"
+ when: operation == 'install'
+
+ #- include: "uninstall.yml"
+ #when: operation == 'uninstall'
--- /dev/null
+# 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: Uninstalling APPLCM
+ shell:
+ cmd: echo "Reseting the appclm environment"
+
+- name: Deleting the Deployment and Services of APPLCM
+ shell:
+ cmd: kubectl delete -f /tmp/applcm/deploy