From c804c75d35e597fe5dce26398d1490034a67c768 Mon Sep 17 00:00:00 2001 From: agrawalgaurav Date: Fri, 15 May 2020 18:22:58 +0530 Subject: [PATCH] k8s deployment yaml for applcm Change-Id: I58153c15960b9ed34a675672e0630bede071f35e --- .../applcm/broker/pkg/handlers/handlersImpl.go | 6 +- .../applcm/resources/deployment/applcm-broker.yaml | 69 +++++++++++++++++++++ mecm/mepm/applcm/resources/deployment/dbhost.yaml | 64 +++++++++++++++++++ .../applcm/resources/deployment/helm-plugin.yaml | 69 +++++++++++++++++++++ .../applcm/resources/deployment/my-db-pvc.yaml | 28 +++++++++ mecm/mepm/applcm/resources/{ => test}/Build-Run.sh | 0 .../{ => test}/MEPM.postman_collection.json | 0 mecm/mepm/applcm/resources/{ => test}/README.md | 0 .../akriano-mepm.postman_environment.json | 0 .../resources/{ => test}/docker-compose.yaml | 2 +- mecm/mepm/applcm/resources/{ => test}/local-setup | 0 .../applcm/resources/{ => test}/sample_app.csar | Bin 12 files changed, 234 insertions(+), 4 deletions(-) create mode 100644 mecm/mepm/applcm/resources/deployment/applcm-broker.yaml create mode 100644 mecm/mepm/applcm/resources/deployment/dbhost.yaml create mode 100644 mecm/mepm/applcm/resources/deployment/helm-plugin.yaml create mode 100644 mecm/mepm/applcm/resources/deployment/my-db-pvc.yaml rename mecm/mepm/applcm/resources/{ => test}/Build-Run.sh (100%) rename mecm/mepm/applcm/resources/{ => test}/MEPM.postman_collection.json (100%) rename mecm/mepm/applcm/resources/{ => test}/README.md (100%) rename mecm/mepm/applcm/resources/{ => test}/akriano-mepm.postman_environment.json (100%) rename mecm/mepm/applcm/resources/{ => test}/docker-compose.yaml (98%) rename mecm/mepm/applcm/resources/{ => test}/local-setup (100%) rename mecm/mepm/applcm/resources/{ => test}/sample_app.csar (100%) diff --git a/mecm/mepm/applcm/broker/pkg/handlers/handlersImpl.go b/mecm/mepm/applcm/broker/pkg/handlers/handlersImpl.go index 282d5b0..243bfab 100644 --- a/mecm/mepm/applcm/broker/pkg/handlers/handlersImpl.go +++ b/mecm/mepm/applcm/broker/pkg/handlers/handlersImpl.go @@ -296,7 +296,7 @@ func (impl *HandlerImpl) InstantiateAppInstance(w http.ResponseWriter, r *http.R respondError(w, http.StatusInternalServerError, "artifact not available in application package") return } - pluginInfo = "helm.plugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") + pluginInfo = "helmplugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") impl.logger.Infof("Plugin Info ", pluginInfo) case "kubernetes": pkgPath := PackageFolderPath + packageName + PackageArtifactPath + "Kubernetes" @@ -380,7 +380,7 @@ func (impl *HandlerImpl) QueryAppInstanceInfo(w http.ResponseWriter, r *http.Req switch appPackageInfo.DeployType { case "helm": - pluginInfo = "helm.plugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") + pluginInfo = "helmplugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") case "kubernetes": pluginInfo = "kubernetes.plugin" + ":" + os.Getenv("KUBERNETES_PLUGIN_PORT") default: @@ -434,7 +434,7 @@ func (impl *HandlerImpl) TerminateAppInstance(w http.ResponseWriter, r *http.Req var pluginInfo string switch appPackageInfo.DeployType { case "helm": - pluginInfo = "helm.plugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") + pluginInfo = "helmplugin" + ":" + os.Getenv("HELM_PLUGIN_PORT") case "kubernetes": pluginInfo = "kubernetes.plugin" + ":" + os.Getenv("KUBERNETES_PLUGIN_PORT") default: diff --git a/mecm/mepm/applcm/resources/deployment/applcm-broker.yaml b/mecm/mepm/applcm/resources/deployment/applcm-broker.yaml new file mode 100644 index 0000000..d87cf06 --- /dev/null +++ b/mecm/mepm/applcm/resources/deployment/applcm-broker.yaml @@ -0,0 +1,69 @@ +# 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. +# applcm pod +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.name: applcm-broker + name: applcm-broker +spec: + replicas: 1 + selector: + matchLabels: + app.name: applcm-broker + template: + metadata: + labels: + app.name: applcm-broker + spec: + containers: + - image: ealtedge/applcm-broker:latest + imagePullPolicy: IfNotPresent + name: applcm-broker + ports: + - containerPort: 8081 + 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/ +# applcm service +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + labels: + app.service: applcm-broker + name: applcm-broker diff --git a/mecm/mepm/applcm/resources/deployment/dbhost.yaml b/mecm/mepm/applcm/resources/deployment/dbhost.yaml new file mode 100644 index 0000000..66a6370 --- /dev/null +++ b/mecm/mepm/applcm/resources/deployment/dbhost.yaml @@ -0,0 +1,64 @@ +# 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. +# dbhost pod +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + dbhost.app: dbhost + name: dbhost +spec: + replicas: 1 + selector: + matchLabels: + dbhost.app: dbhost + strategy: + type: Recreate + template: + metadata: + labels: + dbhost.app: dbhost + spec: + containers: + - image: mysql:5.7 + imagePullPolicy: IfNotPresent + name: dbhost + ports: + - containerPort: 3306 + env: + - name: MYSQL_DATABASE + value: dbhost + - name: MYSQL_PASSWORD + value: password + - name: MYSQL_ROOT_PASSWORD + value: password + - name: MYSQL_USER + value: root + volumeMounts: + - mountPath: /var/lib/mysql + name: my-db + volumes: + - name: my-db + persistentVolumeClaim: + claimName: my-db +# dbhost service +--- +apiVersion: v1 +kind: Service +metadata: + labels: + dbhost.service: dbhost + name: dbhost +spec: diff --git a/mecm/mepm/applcm/resources/deployment/helm-plugin.yaml b/mecm/mepm/applcm/resources/deployment/helm-plugin.yaml new file mode 100644 index 0000000..b58b6f2 --- /dev/null +++ b/mecm/mepm/applcm/resources/deployment/helm-plugin.yaml @@ -0,0 +1,69 @@ +# 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. +# helmplugin pod +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.name: helmplugin + name: helmplugin +spec: + replicas: 1 + selector: + matchLabels: + app.name: helmplugin + template: + metadata: + labels: + app.name: helmplugin + spec: + containers: + - image: ealtedge/helmplugin:latest + imagePullPolicy: IfNotPresent + name: helmplugin + ports: + - containerPort: 50051 + 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 +# helmplugin service +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.service: helmplugin + name: helmplugin +spec: + ports: + - name: "50051" + port: 50051 + targetPort: 50051 + selector: + app.name: helmplugin +status: + loadBalancer: {} diff --git a/mecm/mepm/applcm/resources/deployment/my-db-pvc.yaml b/mecm/mepm/applcm/resources/deployment/my-db-pvc.yaml new file mode 100644 index 0000000..6ea6f2d --- /dev/null +++ b/mecm/mepm/applcm/resources/deployment/my-db-pvc.yaml @@ -0,0 +1,28 @@ +# 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. +# pvc +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + pvc.service: my-db + name: my-db +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi diff --git a/mecm/mepm/applcm/resources/Build-Run.sh b/mecm/mepm/applcm/resources/test/Build-Run.sh similarity index 100% rename from mecm/mepm/applcm/resources/Build-Run.sh rename to mecm/mepm/applcm/resources/test/Build-Run.sh diff --git a/mecm/mepm/applcm/resources/MEPM.postman_collection.json b/mecm/mepm/applcm/resources/test/MEPM.postman_collection.json similarity index 100% rename from mecm/mepm/applcm/resources/MEPM.postman_collection.json rename to mecm/mepm/applcm/resources/test/MEPM.postman_collection.json diff --git a/mecm/mepm/applcm/resources/README.md b/mecm/mepm/applcm/resources/test/README.md similarity index 100% rename from mecm/mepm/applcm/resources/README.md rename to mecm/mepm/applcm/resources/test/README.md diff --git a/mecm/mepm/applcm/resources/akriano-mepm.postman_environment.json b/mecm/mepm/applcm/resources/test/akriano-mepm.postman_environment.json similarity index 100% rename from mecm/mepm/applcm/resources/akriano-mepm.postman_environment.json rename to mecm/mepm/applcm/resources/test/akriano-mepm.postman_environment.json diff --git a/mecm/mepm/applcm/resources/docker-compose.yaml b/mecm/mepm/applcm/resources/test/docker-compose.yaml similarity index 98% rename from mecm/mepm/applcm/resources/docker-compose.yaml rename to mecm/mepm/applcm/resources/test/docker-compose.yaml index 943556a..6e585ec 100644 --- a/mecm/mepm/applcm/resources/docker-compose.yaml +++ b/mecm/mepm/applcm/resources/test/docker-compose.yaml @@ -38,7 +38,7 @@ services: - helm-plugin links: - db:dbhost - - helm-plugin:helm.plugin + - helm-plugin:helmplugin restart: always container_name: applcm-broker environment: diff --git a/mecm/mepm/applcm/resources/local-setup b/mecm/mepm/applcm/resources/test/local-setup similarity index 100% rename from mecm/mepm/applcm/resources/local-setup rename to mecm/mepm/applcm/resources/test/local-setup diff --git a/mecm/mepm/applcm/resources/sample_app.csar b/mecm/mepm/applcm/resources/test/sample_app.csar similarity index 100% rename from mecm/mepm/applcm/resources/sample_app.csar rename to mecm/mepm/applcm/resources/test/sample_app.csar -- 2.16.6