aboutsummaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra/helm/kubevirt
diff options
context:
space:
mode:
Diffstat (limited to 'kud/deployment_infra/helm/kubevirt')
-rw-r--r--kud/deployment_infra/helm/kubevirt/Chart.yaml24
-rw-r--r--kud/deployment_infra/helm/kubevirt/templates/_helpers.tpl43
-rw-r--r--kud/deployment_infra/helm/kubevirt/templates/kubevirt.yaml55
-rw-r--r--kud/deployment_infra/helm/kubevirt/values.yaml61
4 files changed, 183 insertions, 0 deletions
diff --git a/kud/deployment_infra/helm/kubevirt/Chart.yaml b/kud/deployment_infra/helm/kubevirt/Chart.yaml
new file mode 100644
index 00000000..75d31626
--- /dev/null
+++ b/kud/deployment_infra/helm/kubevirt/Chart.yaml
@@ -0,0 +1,24 @@
+# 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: v0.41.0
+description: |
+ KubeVirt is a virtual machine management add-on for Kubernetes.
+name: kubevirt
+sources:
+ - https://github.com/kubevirt/kubevirt
+home: https://github.com/kubevirt/kubevirt
+type: application
+version: 0.1.0
diff --git a/kud/deployment_infra/helm/kubevirt/templates/_helpers.tpl b/kud/deployment_infra/helm/kubevirt/templates/_helpers.tpl
new file mode 100644
index 00000000..3935c906
--- /dev/null
+++ b/kud/deployment_infra/helm/kubevirt/templates/_helpers.tpl
@@ -0,0 +1,43 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "kubevirt.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 "kubevirt.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 "kubevirt.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "kubevirt.labels" -}}
+helm.sh/chart: {{ include "kubevirt.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/kubevirt/templates/kubevirt.yaml b/kud/deployment_infra/helm/kubevirt/templates/kubevirt.yaml
new file mode 100644
index 00000000..c8f9d60a
--- /dev/null
+++ b/kud/deployment_infra/helm/kubevirt/templates/kubevirt.yaml
@@ -0,0 +1,55 @@
+apiVersion: kubevirt.io/v1
+kind: KubeVirt
+metadata:
+ name: {{ include "kubevirt.fullname" . }}
+ labels:
+ {{- include "kubevirt.labels" . | nindent 4 }}
+spec:
+ {{- with .Values.certificateRotateStrategy }}
+ certificateRotateStrategy:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.configuration }}
+ configuration:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.customizeComponents }}
+ customizeComponents:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.imagePullPolicy }}
+ imagePullPolicy: {{ . }}
+ {{- end }}
+ {{- with .Values.imageRegistry }}
+ imageRegistry: {{ . }}
+ {{- end }}
+ {{- with .Values.imageTag }}
+ imageTag: {{ . }}
+ {{- end }}
+ {{- with .Values.infra }}
+ infra:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.monitorAccount }}
+ monitorAccount: {{ . }}
+ {{- end }}
+ {{- with .Values.monitorNamespace }}
+ monitorNamespace: {{ . }}
+ {{- end }}
+ {{- with .Values.productName }}
+ productName: {{ . }}
+ {{- end }}
+ {{- with .Values.productVersion }}
+ productVersion: {{ . }}
+ {{- end }}
+ {{- with .Values.uninstallStrategy }}
+ uninstallStrategy: {{ . }}
+ {{- end }}
+ {{- with .Values.workloadUpdateStrategy }}
+ workloadUpdateStrategy:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.workloads }}
+ workloads:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
diff --git a/kud/deployment_infra/helm/kubevirt/values.yaml b/kud/deployment_infra/helm/kubevirt/values.yaml
new file mode 100644
index 00000000..c08df7ea
--- /dev/null
+++ b/kud/deployment_infra/helm/kubevirt/values.yaml
@@ -0,0 +1,61 @@
+nameOverride: ""
+fullnameOverride: ""
+
+certificateRotateStrategy: {}
+
+# configuration holds kubevirt configurations. Same as the virt-configMap.
+configuration:
+ developerConfiguration:
+ featureGates: []
+
+customizeComponents: {}
+
+# imagePullPolicy is the policy to use.
+imagePullPolicy: IfNotPresent
+
+# imageRegistry is the image registry to pull the container images
+# from. Defaults to the same registry the operator's container image
+# is pulled from.
+#imageRegistry: ""
+
+# imageTag is the tag to use for the continer images
+# installed. Defaults to the same tag as the operator's container
+# image.
+#imageTag: ""
+
+# infra is the selectors and tolerations that should apply to KubeVirt
+# infrastructure components.
+#infra: {}
+
+# monitorAccount is the name of the Prometheus service account that
+# needs read-access to KubeVirt endpoints. Defaults to prometheus-k8s.
+#monitorAccount: ""
+
+# monitorNamespace is the namespace Prometheus is deployed
+# in. Defaults to openshift-monitor.
+#monitorNamespace: ""
+
+# productName designates the apps.kubevirt.io/part-of label for
+# KubeVirt components. Useful if KubeVirt is included as part of a
+# product. If ProductName is not specified, the part-of label will be
+# omitted.
+#productName: ""
+
+# productVersion designates the apps.kubevirt.io/version label for
+# KubeVirt components. Useful if KubeVirt is included as part of a
+# product. If ProductVersion is not specified, KubeVirt's version will
+# be used.
+#productVersion: ""
+
+# uninstallStrategy specifies if kubevirt can be deleted if workloads
+# are still present. This is mainly a precaution to avoid accidental
+# data loss.
+#uninstallStrategy: ""
+
+# workloadUpdateStrategy defines at the cluster level how to handle
+# automated workload updates.
+workloadUpdateStrategy: {}
+
+# workloads contains the selectors and tolerations that should apply
+# to KubeVirt workloads.
+#workloads: {}