diff options
Diffstat (limited to 'deployments/helm/v2/emco/ovnaction')
7 files changed, 297 insertions, 0 deletions
diff --git a/deployments/helm/v2/emco/ovnaction/Chart.yaml b/deployments/helm/v2/emco/ovnaction/Chart.yaml new file mode 100644 index 00000000..9047dd0f --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright 2019 Intel Corporation, Inc +# +# 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: Ovn Action Controller +name: ovnaction +version: 0.1.0 diff --git a/deployments/helm/v2/emco/ovnaction/requirements.yaml b/deployments/helm/v2/emco/ovnaction/requirements.yaml new file mode 100644 index 00000000..c2253cf4 --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/requirements.yaml @@ -0,0 +1,18 @@ +# Copyright 2019 Intel Corporation, Inc +# +# 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: ~0.x-0 + repository: '@local' diff --git a/deployments/helm/v2/emco/ovnaction/resources/config/config.json b/deployments/helm/v2/emco/ovnaction/resources/config/config.json new file mode 100644 index 00000000..1fdfafce --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/resources/config/config.json @@ -0,0 +1,6 @@ +{ + "database-type": "mongo", + "database-ip": "emco-mongo", + "etcd-ip": "emco-etcd", + "service-port": "9051" +}
\ No newline at end of file diff --git a/deployments/helm/v2/emco/ovnaction/templates/configmap.yaml b/deployments/helm/v2/emco/ovnaction/templates/configmap.yaml new file mode 100644 index 00000000..c9d55fed --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/templates/configmap.yaml @@ -0,0 +1,28 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# 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: ConfigMap +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 }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/deployments/helm/v2/emco/ovnaction/templates/deployment.yaml b/deployments/helm/v2/emco/ovnaction/templates/deployment.yaml new file mode 100644 index 00000000..261b6ef2 --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/templates/deployment.yaml @@ -0,0 +1,85 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# 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: apps/v1 +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: + selector: + matchLabels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }} + command: [{{ .Values.command }}] + args: [{{ .Values.args }}] + workingDir: {{ .Values.workingDir }} + ports: + - containerPort: {{ .Values.serviceInternal.internalPort }} + - containerPort: {{ .Values.service.internalPort }} + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end }} + readinessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /opt/emco/config.json + name: {{ include "common.name" .}} + subPath: config.json + resources: +{{ include "common.resources" . }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name : {{ include "common.name" . }} + configMap: + name: {{ include "common.fullname" . }} + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/deployments/helm/v2/emco/ovnaction/templates/service.yaml b/deployments/helm/v2/emco/ovnaction/templates/service.yaml new file mode 100644 index 00000000..9bf887ed --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/templates/service.yaml @@ -0,0 +1,49 @@ +{{/* +# Copyright 2020 Intel Corporation, Inc +# +# 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.fullname" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + - name: {{ .Values.serviceInternal.portName }} + {{if eq .Values.serviceInternal.type "NodePort" -}} + port: {{ .Values.serviceInternal.internalPort }} + nodePort: {{ .Values.global.nodePortPrefixExt | default "302" }}{{ .Values.serviceInternal.nodePort }} + {{- else -}} + port: {{ .Values.serviceInternal.externalPort }} + targetPort: {{ .Values.serviceInternal.internalPort }} + {{- end}} + protocol: TCP + - name: {{ .Values.service.portName }} + {{if eq .Values.service.type "NodePort" -}} + port: {{ .Values.service.internalPort }} + nodePort: {{ .Values.global.nodePortPrefixExt | default "302" }}{{ .Values.service.nodePort }} + {{- else -}} + port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + {{- end}} + protocol: TCP + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }}
\ No newline at end of file diff --git a/deployments/helm/v2/emco/ovnaction/values.yaml b/deployments/helm/v2/emco/ovnaction/values.yaml new file mode 100644 index 00000000..a617f847 --- /dev/null +++ b/deployments/helm/v2/emco/ovnaction/values.yaml @@ -0,0 +1,93 @@ +# Copyright 2019 Intel Corporation, Inc +# +# 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 defaults. +################################################################# +global: + nodePortPrefixExt: 304 + persistence: {} +################################################################# +# Application configuration defaults. +################################################################# +# application image +repository: registry.hub.docker.com +image: emcov2/emco:stable +pullPolicy: Always +command: "/opt/emco/entrypoint" +args: "ovnaction" +workingDir: /opt/emco + +# flag to enable debugging - application support required +debugEnabled: false + +# application configuration is via config files + +# default number of instances +replicaCount: 1 + +nodeSelector: {} + +affinity: {} + + +# probe configuration parameters +liveness: + initialDelaySeconds: 10 + periodSeconds: 30 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 30 + +service: + type: NodePort + name: ovnaction + portName: http + internalPort: 9051 + externalPort: 9051 + nodePort: 71 + +serviceInternal: + type: NodePort + name: internal + portName: internal + internalPort: 9053 + externalPort: 9053 + nodePort: 73 + +ingress: + enabled: false + +# Configure resource requests and limits +flavor: large +resources: + small: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 400m + memory: 1Gi + requests: + cpu: 10m + memory: 100Mi + unlimited: {} |