blob: 5c0949ce49797d097d371e18bd5c171667a04e92 [file] [log] [blame]
David Bainbridgee5887072019-11-14 23:01:01 +00001# Copyright 2019-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14{{- if .Values.therecanbeonlyone }}
Matteo Scandolo1d7ab922019-12-10 13:41:23 -080015{{- $set_log_level := tpl .Values.rw_core.log_level . | upper }}
16{{- $log_level := 3 }}
17{{- if eq $set_log_level "DEBUG" }}
18{{- $log_level = 0 }}
19{{- else if eq $set_log_level "INFO" }}
20{{- $log_level = 1 }}
21{{- else if eq $set_log_level "WARN" }}
22{{- $log_level = 2 }}
23{{- else if eq $set_log_level "ERROR" }}
24{{- $log_level = 3 }}
25{{- else if eq $set_log_level "PANIC" }}
26{{- $log_level = 4 }}
27{{- else if eq $set_log_level "FATAL" }}
28{{- $log_level = 5 }}
29{{- else }}
30{{- $log_level = 3 }}
31{{- end }}
David Bainbridgee5887072019-11-14 23:01:01 +000032---
33apiVersion: v1
34kind: Service
35metadata:
36 name: voltha-api
37 serviceAccountName: {{ .Values.serviceaccount }}
38spec:
39 serviceAccountName: {{ .Values.serviceaccount }}
40 ports:
41 - name: grpc
42 port: 55555
43 targetPort: 50057
44 selector:
45 app: rw-core
46---
47apiVersion: v1
48kind: Service
49metadata:
50 name: voltha-rw-core
51 serviceAccountName: {{ .Values.serviceaccount }}
52spec:
53 serviceAccountName: {{ .Values.serviceaccount }}
54 clusterIP: None
55 ports:
56 - name: grpc
57 port: 50057
58 targetPort: 50057
59 selector:
60 app: rw-core
61---
62apiVersion: apps/v1beta1
63kind: Deployment
64metadata:
65 name: voltha-rw-core
66 serviceAccountName: {{ .Values.serviceaccount }}
67 {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "rw_core_deployment_labels") }}
68 labels:
69 {{- if hasKey .Values "extra_deployment_labels" }}
70 {{- range $key, $val := .Values.extra_deployment_labels }}
71 {{ $key }}: {{ $val | quote }}
72 {{- end }}
73 {{- end }}
74 {{- if hasKey .Values "rw_core_deployment_labels" }}
75 {{- range $key, $val := .Values.rw_core_deployment_labels }}
76 {{ $key }}: {{ $val | quote }}
77 {{- end }}
78 {{- end }}
79 {{- end }}
80spec:
81 replicas: 1
82 template:
83 metadata:
84 labels:
85 app: rw-core
86 app.kubernetes.io/name: "read-write-core"
87 app.kubernetes.io/version: {{ quote .Chart.AppVersion }}
88 app.kubernetes.io/component: "core"
89 app.kubernetes.io/part-of: "voltha"
90 app.kubernetes.io/managed-by: {{ quote .Release.Service }}
91 helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
92 {{- if hasKey .Values "extra_pod_labels" }}
93 {{- range $key, $val := .Values.extra_pod_labels }}
94 {{ $key }}: {{ $val | quote }}
95 {{- end }}
96 {{- end }}
97 {{- if hasKey .Values "rw_core_pod_labels" }}
98 {{- range $key, $val := .Values.rw_core_pod_labels }}
99 {{ $key }}: {{ $val | quote }}
100 {{- end }}
101 {{- end }}
102 annotations:
103 cni: "calico"
104 spec:
105 serviceAccountName: {{ .Values.serviceaccount }}
106 containers:
107 - name: voltha
108 image: '{{ tpl .Values.images.rw_core.registry . }}{{ tpl .Values.images.rw_core.repository . }}:{{ tpl .Values.images.rw_core.tag . }}'
109 imagePullPolicy: {{ tpl .Values.images.rw_core.pullPolicy . }}
110 env:
111 - name: NAMESPACE
112 value: voltha
113 - name: POD_IP
114 valueFrom:
115 fieldRef:
116 fieldPath: status.podIP
117 args:
118 - "/app/rw_core"
119 - "-kv_store_type=etcd"
120 - "-kv_store_host={{ .Values.services.etcd.service }}"
121 - "-kv_store_port={{ .Values.services.etcd.port }}"
122 - "-grpc_host=0.0.0.0"
123 - "-grpc_port=50057"
124 - "-banner=true"
125 - "-kafka_adapter_host={{ .Values.services.kafka.adapter.service }}"
126 - "-kafka_adapter_port={{ .Values.services.kafka.adapter.port }}"
127 - "-kafka_cluster_host={{ .Values.services.kafka.cluster.port }}"
128 - "-kafka_cluster_port={{ .Values.services.kafka.cluster.port }}"
129 - "-rw_core_topic=rwcore"
130 - "-core_pair_topic=core-pair-1"
131 - "-kv_store_data_prefix=service/voltha"
132 - "-in_competing_mode=false"
133 - "-core_timeout=9999"
134 - "-timeout_long_request=9999"
135 - "-timeout_request=9999"
Matteo Scandolo1d7ab922019-12-10 13:41:23 -0800136 - "-log_level={{ $log_level }}"
David Bainbridgee5887072019-11-14 23:01:01 +0000137 - "-probe_port=8080"
138 ports:
139 - containerPort: 50057
140 name: grpc
141 livenessProbe:
142 httpGet:
143 path: /healthz
144 port: 8080
145 initialDelaySeconds: 3
146 periodSeconds: 3
147 readinessProbe:
148 httpGet:
149 path: /readz
150 port: 8080
151 initialDelaySeconds: 3
152 periodSeconds: 3
153{{- end }}