summaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra/helm/cdi
diff options
context:
space:
mode:
authorTodd Malsbary <todd.malsbary@intel.com>2021-06-04 14:24:56 -0700
committerTodd Malsbary <todd.malsbary@intel.com>2021-06-15 14:42:16 -0700
commita99aa8015594cbfd9d46bbc8313f72321a95cc1f (patch)
tree85cba2e3b9a947d18b159cd19114a5357ed70d8e /kud/deployment_infra/helm/cdi
parentdc925231a978d1ae4dce969cb4c386d4a1b0bb87 (diff)
Add kubevirt and cdi addon helm charts
Issue-ID: MULTICLOUD-1324 Signed-off-by: Todd Malsbary <todd.malsbary@intel.com> Change-Id: I6ba134140f0aca6717c656ffa35c6576426a8b98
Diffstat (limited to 'kud/deployment_infra/helm/cdi')
-rw-r--r--kud/deployment_infra/helm/cdi/Chart.yaml26
-rw-r--r--kud/deployment_infra/helm/cdi/templates/_helpers.tpl43
-rw-r--r--kud/deployment_infra/helm/cdi/templates/cdi.yaml29
-rw-r--r--kud/deployment_infra/helm/cdi/values.yaml34
4 files changed, 132 insertions, 0 deletions
diff --git a/kud/deployment_infra/helm/cdi/Chart.yaml b/kud/deployment_infra/helm/cdi/Chart.yaml
new file mode 100644
index 00000000..cca673de
--- /dev/null
+++ b/kud/deployment_infra/helm/cdi/Chart.yaml
@@ -0,0 +1,26 @@
+# Copyright 2021 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: v2
+appVersion: v1.34.1
+description: |
+ Containerized-Data-Importer (CDI) is a persistent storage management
+ add-on for Kubernetes. It's primary goal is to provide a declarative
+ way to build Virtual Machine Disks on PVCs for Kubevirt VMs.
+name: cdi
+sources:
+ - https://github.com/kubevirt/containerized-data-importer
+home: https://github.com/kubevirt/containerized-data-importer
+type: application
+version: 0.1.0
diff --git a/kud/deployment_infra/helm/cdi/templates/_helpers.tpl b/kud/deployment_infra/helm/cdi/templates/_helpers.tpl
new file mode 100644
index 00000000..080f7b56
--- /dev/null
+++ b/kud/deployment_infra/helm/cdi/templates/_helpers.tpl
@@ -0,0 +1,43 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "cdi.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).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "cdi.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "cdi.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "cdi.labels" -}}
+helm.sh/chart: {{ include "cdi.chart" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
diff --git a/kud/deployment_infra/helm/cdi/templates/cdi.yaml b/kud/deployment_infra/helm/cdi/templates/cdi.yaml
new file mode 100644
index 00000000..25fee9d5
--- /dev/null
+++ b/kud/deployment_infra/helm/cdi/templates/cdi.yaml
@@ -0,0 +1,29 @@
+apiVersion: cdi.kubevirt.io/v1beta1
+kind: CDI
+metadata:
+ name: {{ include "cdi.fullname" . }}
+ labels:
+ {{- include "cdi.labels" . | nindent 4 }}
+spec:
+ {{- with .Values.certConfig }}
+ certConfig:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.cloneStrategyOverride }}
+ cloneStrategyOverride: {{ . }}
+ {{- end }}
+ {{- with .Values.config }}
+ config:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.imagePullPolicy }}
+ imagePullPolicy: {{ . }}
+ {{- end }}
+ {{- with .Values.infra }}
+ infra:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.workload }}
+ workload:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
diff --git a/kud/deployment_infra/helm/cdi/values.yaml b/kud/deployment_infra/helm/cdi/values.yaml
new file mode 100644
index 00000000..31bc3247
--- /dev/null
+++ b/kud/deployment_infra/helm/cdi/values.yaml
@@ -0,0 +1,34 @@
+nameOverride: ""
+fullnameOverride: ""
+
+# certConfig is the certificate configuration.
+#certConfig: {}
+
+# cloneStrategyOverride: should we use a host-assisted copy even if
+# snapshots are available?
+#cloneStrategyOverride: ""
+
+# config is the CDIConfig at CDI level.
+#config: {}
+
+# imagePullPolicy describes a policy for if/when to pull a container
+# image.
+imagePullPolicy: IfNotPresent
+
+# infra contains the rules on which nodes CDI infrastructure pods will
+# be scheduled.
+infra:
+ nodeSelector:
+ kubernetes.io/os: linux
+ tolerations:
+ - key: CriticalAddonsOnly
+ operator: Exists
+
+# uninstallStrategy defines the state to leave CDI on uninstall.
+#uninstallStrategy: ""
+
+# workload restricts on which nodes CDI workload pods will be
+# scheduled.
+workload:
+ nodeSelector:
+ kubernetes.io/os: linux