k8s deployment yaml for applcm 65/3465/4
authoragrawalgaurav <gaurav.agrawal@huawei.com>
Fri, 15 May 2020 12:52:58 +0000 (18:22 +0530)
committerGaurav Agrawal <gaurav.agrawal@huawei.com>
Fri, 15 May 2020 15:28:47 +0000 (15:28 +0000)
Change-Id: I58153c15960b9ed34a675672e0630bede071f35e

12 files changed:
mecm/mepm/applcm/broker/pkg/handlers/handlersImpl.go
mecm/mepm/applcm/resources/deployment/applcm-broker.yaml [new file with mode: 0644]
mecm/mepm/applcm/resources/deployment/dbhost.yaml [new file with mode: 0644]
mecm/mepm/applcm/resources/deployment/helm-plugin.yaml [new file with mode: 0644]
mecm/mepm/applcm/resources/deployment/my-db-pvc.yaml [new file with mode: 0644]
mecm/mepm/applcm/resources/test/Build-Run.sh [moved from mecm/mepm/applcm/resources/Build-Run.sh with 100% similarity]
mecm/mepm/applcm/resources/test/MEPM.postman_collection.json [moved from mecm/mepm/applcm/resources/MEPM.postman_collection.json with 100% similarity]
mecm/mepm/applcm/resources/test/README.md [moved from mecm/mepm/applcm/resources/README.md with 100% similarity]
mecm/mepm/applcm/resources/test/akriano-mepm.postman_environment.json [moved from mecm/mepm/applcm/resources/akriano-mepm.postman_environment.json with 100% similarity]
mecm/mepm/applcm/resources/test/docker-compose.yaml [moved from mecm/mepm/applcm/resources/docker-compose.yaml with 98% similarity]
mecm/mepm/applcm/resources/test/local-setup [moved from mecm/mepm/applcm/resources/local-setup with 100% similarity]
mecm/mepm/applcm/resources/test/sample_app.csar [moved from mecm/mepm/applcm/resources/sample_app.csar with 100% similarity]

index 282d5b0..243bfab 100644 (file)
@@ -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 (file)
index 0000000..d87cf06
--- /dev/null
@@ -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 (file)
index 0000000..66a6370
--- /dev/null
@@ -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 (file)
index 0000000..b58b6f2
--- /dev/null
@@ -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 (file)
index 0000000..6ea6f2d
--- /dev/null
@@ -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
@@ -38,7 +38,7 @@ services:
       - helm-plugin
     links:
       - db:dbhost
-      - helm-plugin:helm.plugin
+      - helm-plugin:helmplugin
     restart: always
     container_name: applcm-broker
     environment: