X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=helm%2Fappmgr%2Ftemplates%2Fdeployment.yaml;fp=helm%2Fappmgr%2Ftemplates%2Fdeployment.yaml;h=c3383aa1d22853daa698a6e8ad683b9ba539e98c;hb=38dc857062b14145f5b9db89d10eba0ae5b90d11;hp=0000000000000000000000000000000000000000;hpb=0c9bc21e8efc4c7205a46ef1456d1f08e65c56f2;p=ric-plt%2Fric-dep.git diff --git a/helm/appmgr/templates/deployment.yaml b/helm/appmgr/templates/deployment.yaml new file mode 100644 index 0000000..c3383aa --- /dev/null +++ b/helm/appmgr/templates/deployment.yaml @@ -0,0 +1,161 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# 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. # +################################################################################ +{{- $tillerKey := .Values.appmgr.tillerkey | default "ricxapp" }} +{{- $topCtx := . }} +{{- $ctx := dict "ctx" $topCtx "key" $tillerKey }} +{{- $secretPath := .Values.appmgr.appsecretpath | default "/opt/ric/secret" }} +{{- $certName := include "common.tillerHelmClientTLSSecret" $ctx }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "common.deploymentname.appmgr" . }} + namespace: {{ include "common.namespace.platform" . }} + labels: + app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.appmgr.replicaCount }} + selector: + matchLabels: + app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }} + release: {{ .Release.Name }} + template: + metadata: + {{- if .Values.appmgr.annotations }} + annotations: + {{- .Values.appmgr.annotations | nindent 8 -}} + {{ end }} + labels: + app: {{ include "common.namespace.platform" . }}-{{ include "common.name.appmgr" . }} + release: {{ .Release.Name }} + spec: + hostname: {{ include "common.name.appmgr" . }} + serviceAccountName: {{ include "common.serviceaccountname.appmgr" . }} + imagePullSecrets: + {{- $newctx := dict "ctx" $topCtx "defaultregistry" .Values.appmgr.image.init.registry }} + - name: {{ include "common.dockerregistry.credential" $newctx -}} +{{- if or (eq ( include "common.tillerTLSVerify" $ctx ) "true" ) (eq ( include "common.tillerTLSAuthenticate" $ctx ) "true") }} + initContainers: + - name: {{ include "common.containername.appmgr" . }}-copy-tiller-secret + {{- $newctx := dict "ctx" $topCtx "defaultregistry" .Values.appmgr.image.init.registry }} + image: {{ include "common.dockerregistry.url" $newctx }}/{{ .Values.appmgr.image.init.name }}:{{ .Values.appmgr.image.init.tag }} + {{- $newctx := dict "ctx" $topCtx "defaultpullpolicy" .Values.appmgr.imagePullPolicy }} + imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $newctx }} + env: + - name: SVCACCT_NAME + value: {{ include "common.serviceaccountname.appmgr" . }} + - name: CLUSTER_NAME + value: {{ default "kubernetes" .Values.appmgr.clusterName }} + - name: KUBECONFIG + value: /tmp/kubeconfig + - name: K8S_API_HOST + value: {{ default "https://kubernetes.default.svc.cluster.local/" .Values.common.k8sAPIHost }} + - name: SECRET_NAMESPACE + value: {{ include "common.tillerDeployNameSpace" $ctx }} + - name: SECRET_NAME + value: {{ include "common.tillerHelmClientTLSSecret" $ctx }} + envFrom: + - configMapRef: + name: {{ include "common.configmapname.appmgr" . }}-env + command: ["/appmgr-tiller-secret-copier.sh"] + volumeMounts: + - name: helm-secret-volume + mountPath: {{ $secretPath }} + readOnly: false + - name: appmgr-bin-volume + mountPath: /svcacct-to-kubeconfig.sh + subPath: svcacct-to-kubeconfig.sh + - name: appmgr-bin-volume + mountPath: /appmgr-tiller-secret-copier.sh + subPath: appmgr-tiller-secret-copier.sh +{{- end }} + containers: + - name: {{ include "common.containername.appmgr.chartmuseum" . }} + {{- $newctx := dict "ctx" $topCtx "defaultregistry" .Values.appmgr.image.chartmuseum.registry }} + image: {{ include "common.dockerregistry.url" $newctx }}/{{ .Values.appmgr.image.chartmuseum.name }}:{{ .Values.appmgr.image.chartmuseum.tag }} + {{- $newctx := dict "ctx" $topCtx "defaultpullpolicy" .Values.appmgr.imagePullPolicy }} + imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $newctx }} + envFrom: + - configMapRef: + name: {{ include "common.configmapname.appmgr" . }}-chartmuseum-env + ports: + - name: chartmuseum + containerPort: {{ include "common.serviceport.appmgr.chartmuseum.http" . }} + protocol: TCP + - name: {{ include "common.containername.appmgr" . }} + {{- $newctx := dict "ctx" $topCtx "defaultregistry" .Values.appmgr.image.appmgr.registry }} + image: {{ include "common.dockerregistry.url" $newctx }}/{{ .Values.appmgr.image.appmgr.name }}:{{ .Values.appmgr.image.appmgr.tag }} + {{- $newctx := dict "ctx" $topCtx "defaultpullpolicy" .Values.appmgr.imagePullPolicy }} + imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $newctx }} + ports: + - name: http + containerPort: {{ include "common.serviceport.appmgr.http" . }} + protocol: TCP + - name: rmrroute + containerPort: {{ include "common.serviceport.appmgr.rmr.route" . }} + protocol: TCP + - name: rmrdata + containerPort: {{ include "common.serviceport.appmgr.rmr.data" . }} + protocol: TCP + volumeMounts: + - name: config-volume + mountPath: {{ .Values.appmgr.appconfigpath }}/appmgr.yaml + subPath: appmgr.yaml + - name: helm-secret-volume + mountPath: {{ $secretPath }} + readOnly: false + - name: secret-volume + mountPath: {{ $secretPath }}/helm_repo_username + subPath: helm_repo_username + - name: secret-volume + mountPath: {{ $secretPath }}/helm_repo_password + subPath: helm_repo_password + envFrom: + - configMapRef: + name: {{ include "common.configmapname.appmgr" . }}-env + livenessProbe: + #exec: + # command: + # - /bin/bash + # - -c + # - ps -ef | grep {{ .Values.livenessprocessname }}| grep -v "grep" + #initialDelaySeconds: 120 + #periodSeconds: 30 + readinessProbe: + # httpGet: + # path: / + # port: http + restartPolicy: Always + securityContext: + # ubuntu + #runAsUser: 1000 + #allowPrivilegeEscalation: false + volumes: + - name: config-volume + configMap: + name: {{ include "common.configmapname.appmgr" . }}-appconfig + - name: secret-volume + secret: + secretName: {{ include "common.secretname.appmgr" . }} + - name: helm-secret-volume + emptyDir: {} + - name: appmgr-bin-volume + configMap: + name: {{ include "common.configmapname.appmgr" . }}-bin + defaultMode: 0755