From 81a2df6222b5417e3e5fb685e4cc7ad8226d2fe3 Mon Sep 17 00:00:00 2001 From: Marc-Alexandre Choquette Date: Sat, 14 Jul 2018 13:04:33 -0400 Subject: Add netbox IPAM charts to support CDS usecase Add /contrib & netbox subcharts to support the CDS Casablanca usecases, which leverages Netbox IPAM. Issue-ID: CCSDK-366 Change-Id: Ic761ea7ac7f763649184b89aa523c9e27fd34fc4 Signed-off-by: Marc-Alexandre Choquette --- .../contrib/charts/netbox/templates/_helpers.tpl | 31 ++++++++++++++ .../contrib/charts/netbox/templates/ingress.yaml | 47 ++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100755 kubernetes/contrib/charts/netbox/templates/_helpers.tpl create mode 100755 kubernetes/contrib/charts/netbox/templates/ingress.yaml (limited to 'kubernetes/contrib/charts/netbox/templates') diff --git a/kubernetes/contrib/charts/netbox/templates/_helpers.tpl b/kubernetes/contrib/charts/netbox/templates/_helpers.tpl new file mode 100755 index 0000000000..831ed0c08e --- /dev/null +++ b/kubernetes/contrib/charts/netbox/templates/_helpers.tpl @@ -0,0 +1,31 @@ +{{/* +# Copyright © 2018 Amdocs, 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. +*/}} +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "fullname" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/kubernetes/contrib/charts/netbox/templates/ingress.yaml b/kubernetes/contrib/charts/netbox/templates/ingress.yaml new file mode 100755 index 0000000000..dacea0cb97 --- /dev/null +++ b/kubernetes/contrib/charts/netbox/templates/ingress.yaml @@ -0,0 +1,47 @@ +{{/* +# Copyright © 2018 Amdocs, 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. +*/}} +{{- if .Values.ingress.enabled -}} +{{- $serviceName := include "fullname" . -}} +{{- $servicePort := .Values.service.externalPort -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: + {{- range $key, $value := .Values.ingress.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + rules: + {{- range $host := .Values.ingress.hosts }} + - host: {{ $host }} + http: + paths: + - path: / + backend: + serviceName: {{ $serviceName }} + servicePort: {{ $servicePort }} + {{- end -}} + {{- if .Values.ingress.tls }} + tls: +{{ toYaml .Values.ingress.tls | indent 4 }} + {{- end -}} +{{- end -}} -- cgit 1.2.3-korg