aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/common
diff options
context:
space:
mode:
authorbt2983 <bt2983@att.com>2018-09-19 22:49:19 -0600
committerAlexis de Talhouƫt <adetalhouet89@gmail.com>2018-09-21 14:22:06 -0400
commit2f7e05aafc79c008faefd92175f69460bca506a4 (patch)
treeb714a53c3b9114f4e91d260167ff8f68f595bad8 /kubernetes/common
parentddf809bf555a81781e204f65d462956690c044a3 (diff)
Helm charts for name-gen micro-service.
Change-Id: I4b546a87de7c5e1688d6ec714225a8a22de30007 Issue-ID: OOM-1433 Signed-off-by: bt2983 <bt2983@att.com>
Diffstat (limited to 'kubernetes/common')
-rw-r--r--kubernetes/common/network-name-gen/Chart.yaml18
-rw-r--r--kubernetes/common/network-name-gen/requirements.yaml21
-rw-r--r--kubernetes/common/network-name-gen/templates/deployment.yaml92
-rw-r--r--kubernetes/common/network-name-gen/templates/secrets.yaml27
-rw-r--r--kubernetes/common/network-name-gen/templates/service.yaml39
-rw-r--r--kubernetes/common/network-name-gen/values.yaml102
6 files changed, 299 insertions, 0 deletions
diff --git a/kubernetes/common/network-name-gen/Chart.yaml b/kubernetes/common/network-name-gen/Chart.yaml
new file mode 100644
index 0000000000..e1b9c5531f
--- /dev/null
+++ b/kubernetes/common/network-name-gen/Chart.yaml
@@ -0,0 +1,18 @@
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+#
+# 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: v1
+description: Name Generation Micro Service
+name: network-name-gen
+version: 3.0.0
diff --git a/kubernetes/common/network-name-gen/requirements.yaml b/kubernetes/common/network-name-gen/requirements.yaml
new file mode 100644
index 0000000000..14b126863c
--- /dev/null
+++ b/kubernetes/common/network-name-gen/requirements.yaml
@@ -0,0 +1,21 @@
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+#
+# 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.
+
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
+ - name: mariadb-galera
+ version: ~2.0.0
+ repository: file://../mariadb-galera/
diff --git a/kubernetes/common/network-name-gen/templates/deployment.yaml b/kubernetes/common/network-name-gen/templates/deployment.yaml
new file mode 100644
index 0000000000..96b3c790da
--- /dev/null
+++ b/kubernetes/common/network-name-gen/templates/deployment.yaml
@@ -0,0 +1,92 @@
+# Copyright (C) 2018 AT&T Intellectual Property.
+#
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ index .Values "mariadb-galera" "nameOverride" }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: SPRING_PROFILE
+ value: "{{ .Values.config.springProfile }}"
+ - name: NENG_DB_USER
+ value: {{ index .Values "mariadb-galera" "config" "userName" }}
+ - name: NENG_DB_PASS
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: NENG_DB_URL
+ value: {{ .Values.config.dbUrl }}
+ - name: POL_CLIENT_AUTH
+ value: "{{ .Values.config.polClientAuth }}"
+ - name: POL_BASIC_AUTH
+ value: "{{ .Values.config.polBasicAuth }}"
+ - name: POL_URL
+ value: "{{ .Values.config.polUrl }}"
+ - name: POL_ENV
+ value: "{{ .Values.config.polEnv }}"
+ - name: POL_REQ_ID
+ value: "{{ .Values.config.polReqId }}"
+ - name: AAI_CERT_PASS
+ value: "{{ .Values.config.aaiCertPass }}"
+ - name: AAI_CERT_PATH
+ value: "{{ .Values.config.aaiCertPath }}"
+ - name: AAI_URI
+ value: "{{ .Values.config.aaiUri }}"
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/common/network-name-gen/templates/secrets.yaml b/kubernetes/common/network-name-gen/templates/secrets.yaml
new file mode 100644
index 0000000000..b50ad4eb26
--- /dev/null
+++ b/kubernetes/common/network-name-gen/templates/secrets.yaml
@@ -0,0 +1,27 @@
+# Copyright (c) 2018 Bell Canada
+#
+# 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: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ db-root-password: {{ index .Values "mariadb-galera" "config" "mariadbRootPassword" | b64enc | quote }}
diff --git a/kubernetes/common/network-name-gen/templates/service.yaml b/kubernetes/common/network-name-gen/templates/service.yaml
new file mode 100644
index 0000000000..0321be9f28
--- /dev/null
+++ b/kubernetes/common/network-name-gen/templates/service.yaml
@@ -0,0 +1,39 @@
+# Copyright (C) 2018 AT&T Intellectual Property.
+#
+# 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: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/common/network-name-gen/values.yaml b/kubernetes/common/network-name-gen/values.yaml
new file mode 100644
index 0000000000..c992beae62
--- /dev/null
+++ b/kubernetes/common/network-name-gen/values.yaml
@@ -0,0 +1,102 @@
+# Copyright (C) 2018 AT&T Intellectual Property.
+#
+# 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.
+#
+# Global configuration default values that can be inherited by
+# all subcharts.
+#################################################################
+global:
+
+ # Change to an unused port prefix range to prevent port conflicts
+ # with other instances running within the same k8s cluster
+ nodePortPrefix: 302
+
+ # image repositories
+ repository: nexus3.onap.org:10001
+
+
+ # readiness check
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:2.0.0
+
+ # image pull policy
+ pullPolicy: IfNotPresent
+
+# sub-chart config
+mariadb-galera:
+ config:
+ userName: nenguser
+ userPassword: nenguser123
+ mariadbRootPassword: nenguser123
+ mysqlDatabase: nengdb
+ nameOverride: nengdb
+ service:
+ name: nengdb
+ portName: nengdbport
+ replicaCount: 1
+ persistence:
+ enabled: true
+ mountSubPath: network-name-gen/data
+
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/ccsdk-apps-ms-neng:latest
+pullPolicy: IfNotPresent
+
+# application configuration
+config:
+ dbUrl: jdbc:mysql://nengdb:3306/nengdb
+ springProfile: live
+ polClientAuth: TBD
+ polBasicAuth: TBD
+ polUrl: TBD
+ polEnv: TEST
+ polReqId: xx
+ aaiCertPass: TBD
+ aaiCertPath: TBD
+ aaiUri: TBD
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: neng-serv
+ portName: neng-serv-port
+ internalPort: 8080
+ externalPort: 8080
+
+ingress:
+ enabled: false
+
+resources: {}