From 63154d54a8c94bfe38a2ab6123381c8cf3f8d078 Mon Sep 17 00:00:00 2001 From: Manuel Buil Date: Wed, 14 Feb 2024 12:45:02 +0100 Subject: [PATCH] Add multus to k3s-charts Signed-off-by: Manuel Buil --- ...ultus-4.0.201+upv4.0.2-build2024020801.tgz | Bin 0 -> 4438 bytes .../.helmignore | 22 +++ .../Chart.yaml | 13 ++ .../templates/NOTES.txt | 33 +++++ .../templates/_helpers.tpl | 27 ++++ .../templates/clusterRole.yaml | 39 +++++ .../templates/clusterRoleBinding.yaml | 27 ++++ .../templates/configMap.yaml | 25 ++++ .../templates/customResourceDefinition.yaml | 41 ++++++ .../templates/daemonSet.yaml | 136 ++++++++++++++++++ .../templates/dhcp-daemonSet.yaml | 61 ++++++++ .../templates/serviceAccount.yaml | 20 +++ .../values.yaml | 135 +++++++++++++++++ index.yaml | 18 +++ .../rke2-whereabouts/dependency.yaml | 3 + .../charts/rke2-whereabouts/Chart.yaml | 10 ++ .../crds/whereabouts.cni.cncf.io_ippools.yaml | 69 +++++++++ ...ncf.io_overlappingrangeipreservations.yaml | 56 ++++++++ .../rke2-whereabouts/templates/NOTES.txt | 5 + .../rke2-whereabouts/templates/_helpers.tpl | 83 +++++++++++ .../templates/cluster_role.yaml | 52 +++++++ .../templates/cluster_role_binding.yaml | 15 ++ .../rke2-whereabouts/templates/configmap.yaml | 10 ++ .../rke2-whereabouts/templates/daemonset.yaml | 92 ++++++++++++ .../templates/serviceaccount.yaml | 13 ++ .../charts/rke2-whereabouts/values.yaml | 50 +++++++ .../generated-changes/patch/Chart.yaml.patch | 22 +++ .../generated-changes/patch/values.yaml.patch | 9 ++ packages/multus/package.yaml | 2 + 29 files changed, 1088 insertions(+) create mode 100644 assets/k3s-multus/k3s-multus-4.0.201+upv4.0.2-build2024020801.tgz create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/.helmignore create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/Chart.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/NOTES.txt create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/_helpers.tpl create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRole.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRoleBinding.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/configMap.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/customResourceDefinition.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/daemonSet.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/dhcp-daemonSet.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/serviceAccount.yaml create mode 100644 charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/values.yaml create mode 100644 packages/multus/generated-changes/dependencies/rke2-whereabouts/dependency.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/Chart.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_ippools.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/NOTES.txt create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/_helpers.tpl create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role_binding.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/configmap.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/daemonset.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/serviceaccount.yaml create mode 100644 packages/multus/generated-changes/exclude/charts/rke2-whereabouts/values.yaml create mode 100644 packages/multus/generated-changes/patch/Chart.yaml.patch create mode 100644 packages/multus/generated-changes/patch/values.yaml.patch create mode 100644 packages/multus/package.yaml diff --git a/assets/k3s-multus/k3s-multus-4.0.201+upv4.0.2-build2024020801.tgz b/assets/k3s-multus/k3s-multus-4.0.201+upv4.0.2-build2024020801.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b603c9585f24972c28c92f6347b2be951cc24e59 GIT binary patch literal 4438 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 literal 0 HcmV?d00001 diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/.helmignore b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/.helmignore new file mode 100644 index 0000000..50af031 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/Chart.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/Chart.yaml new file mode 100644 index 0000000..a33d0cc --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v2 +appVersion: 4.0.2 +description: Multus Helm chart for Kubernetes +home: https://github.com/k8snetworkplumbingwg/multus-cni +icon: https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/doc/images/Multus.png +maintainers: +- email: charts@rancher.com + name: Rancher Labs +name: k3s-multus +sources: +- https://github.com/intel/multus-cni +type: application +version: 4.0.201+upv4.0.2-build2024020801 diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/NOTES.txt b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/NOTES.txt new file mode 100644 index 0000000..f0e760f --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/NOTES.txt @@ -0,0 +1,33 @@ +====== +1. The following components have been deployed as part of this helm chart: +{{- if .Values.manifests.clusterRole }} +Cluster Role: {{ .Values.serviceAccount.name }} +{{- end}} +{{- if .Values.manifests.clusterRoleBinding }} +Cluster Role Binding: {{ .Chart.Name }} +{{- end }} +{{- if .Values.manifests.configMap }} +Config Map: {{ .Release.Name }}-{{ .Chart.Version }}-config +{{- end }} +{{- if .Values.manifests.customResourceDefinition }} +Custom Resource Definition: network-attachment-definitions.k8s.cni.cncf.io +{{- end }} +{{- if .Values.manifests.daemonSet }} +Daemon Set: {{ .Release.Name }} +{{- end }} +{{- if .Values.manifests.dhcpDaemonSet }} +Daemon Set: {{ .Release.Name }}-dhcp +{{- end}} +{{- if .Values.manifests.serviceAccount }} +Service Account: {{ .Values.serviceAccount.name }} +{{- end }} + +You can now deploy any other CNI and create its Network Attachment Defintion. +--------- + +2. To uninstall helm chart use the command: +helm delete {{ .Release.Name }} + +You may have to manually delete CRD - +kubectl delete crd network-attachment-definitions.k8s.cni.cncf.io +--------- diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/_helpers.tpl b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/_helpers.tpl new file mode 100644 index 0000000..07147a2 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/_helpers.tpl @@ -0,0 +1,27 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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. + +{{/* Generate basic labels */}} +{{- define "multus.labels" }} +tier: node +app: {{ .Chart.Name }} +{{- end }} + +{{- define "system_default_registry" -}} +{{- if .Values.global.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRole.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRole.yaml new file mode 100644 index 0000000..d73ef8c --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRole.yaml @@ -0,0 +1,39 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.clusterRole }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Chart.Name }} +rules: + - apiGroups: ["k8s.cni.cncf.io"] + resources: + - '*' + verbs: + - '*' + - apiGroups: + - "" + resources: + - pods + - pods/status + verbs: + - get + - update + - apiGroups: + - "" + resources: + - events + verbs: + - create +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRoleBinding.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRoleBinding.yaml new file mode 100644 index 0000000..49edd96 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/clusterRoleBinding.yaml @@ -0,0 +1,27 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.clusterRoleBinding }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Chart.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Chart.Name }} +subjects: +- kind: ServiceAccount + name: {{ .Values.serviceAccount.name }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/configMap.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/configMap.yaml new file mode 100644 index 0000000..8ebb851 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/configMap.yaml @@ -0,0 +1,25 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.configMap }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-{{ .Chart.Version }}-config + namespace: {{ .Release.Namespace }} + labels: +{{- include "multus.labels" . | indent 4 }} +data: + cni-conf.json: |- +{{ toJson .Values.config.cni_conf | indent 4 }} +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/customResourceDefinition.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/customResourceDefinition.yaml new file mode 100644 index 0000000..c8ac8ac --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/customResourceDefinition.yaml @@ -0,0 +1,41 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.customResourceDefinition }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: network-attachment-definitions.k8s.cni.cncf.io +spec: + group: k8s.cni.cncf.io + scope: Namespaced + names: + plural: network-attachment-definitions + singular: network-attachment-definition + kind: NetworkAttachmentDefinition + shortNames: + - net-attach-def + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + type: object + properties: + spec: + type: object + properties: + config: + type: string +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/daemonSet.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/daemonSet.yaml new file mode 100644 index 0000000..a873ed5 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/daemonSet.yaml @@ -0,0 +1,136 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.daemonSet }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ .Release.Name }} + namespace: {{ .Release.Namespace }} + labels: +{{- include "multus.labels" . | indent 4 }} +spec: + selector: + matchLabels: + app: {{ .Chart.Name }} + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + template: + metadata: + labels: +{{- include "multus.labels" . | indent 8 }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/configMap.yaml") . | sha256sum }} + spec: + priorityClassName: system-node-critical + hostNetwork: true + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + nodeSelector: {{- toYaml .Values.labels.nodeSelector | nindent 8 }} + tolerations: + - operator: Exists + effect: NoSchedule + - operator: Exists + effect: NoExecute + serviceAccountName: {{ .Values.serviceAccount.name }} + initContainers: + - name: cni-plugins + image: {{ template "system_default_registry" . }}{{ .Values.cniplugins.image.repository }}:{{ .Values.cniplugins.image.tag }} + securityContext: + privileged: true + volumeMounts: + - name: cnibin + mountPath: /host/opt/cni/bin + env: + - name: SKIP_CNI_BINARIES + value: {{ .Values.cniplugins.skipcnis }} + containers: + - name: kube-{{ .Chart.Name }} + image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: KUBERNETES_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + command: ["/thin_entrypoint"] + args: + - "--multus-conf-file={{ .Values.config.cni_conf.multusConfFile }}" + {{- if .Values.config.cni_conf.cniVersion }} + - "--cni-version={{ .Values.config.cni_conf.cniVersion }}" + {{- end }} + {{- if .Values.config.cni_conf.multusAutoconfigDir }} + - "--multus-autoconfig-dir={{ .Values.config.cni_conf.multusAutoconfigDir }}" + {{- end }} + {{- if .Values.config.cni_conf.kubeconfig }} + - "--multus-kubeconfig-file-host={{ .Values.config.cni_conf.kubeconfig }}" + {{- end }} + {{- if .Values.config.cni_conf.masterCniFilename }} + - "--multus-master-cni-file-name={{ .Values.config.cni_conf.masterCniFilename }}" + {{- end }} + {{- if .Values.config.cni_conf.additionalBinDir }} + - "--additional-bin-dir={{ .Values.config.cni_conf.additionalBinDir }}" + {{- end }} + {{- if .Values.config.cni_conf.skipMultusBinaryCopy }} + - "--skip-multus-binary-copy={{ .Values.config.cni_conf.skipMultusBinaryCopy }}" + {{- end }} + {{- if .Values.config.cni_conf.readinessIndicatorFile }} + - "--readiness-indicator-file={{ .Values.config.cni_conf.readinessIndicatorFile }}" + {{- end }} + {{- if .Values.config.cni_conf.namespaceIsolation }} + - "--cni-namespace-isolation={{ .Values.config.cni_conf.namespaceIsolation }}" + {{- end }} + {{- if .Values.config.cni_conf.globalNamespaces }} + - "--global-namespaces={{ .Values.config.cni_conf.globalNamespaces }}" + {{- end }} + {{- if .Values.config.cni_conf.logLevel }} + - "--multus-log-level={{ .Values.config.cni_conf.logLevel }}" + {{- end }} + {{- if .Values.config.cni_conf.logFile }} + - "--multus-log-file={{ .Values.config.cni_conf.logFile }}" + {{- end }} + {{- if .Values.config.cni_conf.cleanupConfigOnExit }} + - "--cleanup-config-on-exit={{ .Values.config.cni_conf.cleanupConfigOnExit }}" + {{- end }} + {{- if .Values.pod.resources.multus }} + resources: {{- toYaml .Values.pod.resources.multus | nindent 10 }} + {{- end }} + securityContext: + privileged: true + volumeMounts: + - name: cni + mountPath: /host/etc/cni/net.d + - name: cnibin + mountPath: /host/opt/cni/bin + {{- if .Values.manifests.configMap }} + - name: multus-cfg + mountPath: /tmp/multus-conf/00-multus.conf.template + subPath: "cni-conf.json" + {{- end }} + volumes: + - name: cni + hostPath: + path: {{ .Values.config.cni_conf.confDir }} + - name: cnibin + hostPath: + path: {{ .Values.config.cni_conf.binDir }} + {{- if .Values.manifests.configMap }} + - name: multus-cfg + configMap: + name: {{ .Release.Name }}-{{ .Chart.Name }}-{{ .Chart.Version }}-config + {{- end }} +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/dhcp-daemonSet.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/dhcp-daemonSet.yaml new file mode 100644 index 0000000..89b5025 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/dhcp-daemonSet.yaml @@ -0,0 +1,61 @@ +{{- if .Values.manifests.dhcpDaemonSet }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ .Release.Name }}-dhcp + namespace: {{ .Release.Namespace }} + labels: +{{- include "multus.labels" . | indent 4 }} +spec: + selector: + matchLabels: + app: {{ .Chart.Name }} + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + template: + metadata: + labels: +{{- include "multus.labels" . | indent 8 }} + spec: + hostNetwork: true + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + nodeSelector: {{- toYaml .Values.labels.nodeSelector | nindent 8 }} + initContainers: + - name: kube-{{ .Chart.Name }}-dhcp-cleanup + image: {{ template "system_default_registry" . }}{{ .Values.dhcpDaemonSet.image.repository }}:{{ .Values.dhcpDaemonSet.image.tag }} + command: ["rm", "-f", "/run/cni/dhcp.sock"] + securityContext: + privileged: true + volumeMounts: + - name: socketpath + mountPath: /host/run/cni + containers: + - name: kube-{{ .Chart.Name }}-dhcp + image: {{ template "system_default_registry" . }}{{ .Values.dhcpDaemonSet.image.repository }}:{{ .Values.dhcpDaemonSet.image.tag }} + command: ["/opt/cni/bin/dhcp", "daemon"] + securityContext: + privileged: true + volumeMounts: + - name: binpath + mountPath: /opt/cni + - name: socketpath + mountPath: /run/cni + - name: netnspath + mountPath: /var/run/netns + mountPropagation: HostToContainer + volumes: + - name: binpath + hostPath: + path: /opt/cni + - name: socketpath + hostPath: + path: /run/cni + - name: netnspath + hostPath: + path: /run/netns +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/serviceAccount.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/serviceAccount.yaml new file mode 100644 index 0000000..858226c --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/templates/serviceAccount.yaml @@ -0,0 +1,20 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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.manifests.serviceAccount }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.name }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/values.yaml b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/values.yaml new file mode 100644 index 0000000..7bc3518 --- /dev/null +++ b/charts/k3s-multus/4.0.201+upv4.0.2-build2024020801/values.yaml @@ -0,0 +1,135 @@ +# Copyright 2020 K8s Network Plumbing Group +# +# 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. + +# Default values for multus. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +#replicaCount: 1 + +image: + repository: rancher/hardened-multus-cni + tag: v4.0.2-build20240208 + pullPolicy: IfNotPresent + +#imagePullSecrets: [] +#nameOverride: "" +#fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + #create: true + # Annotations to add to the service account + #annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: multus + +pod: + resources: + enabled: false + multus: + requests: + memory: "128Mi" + cpu: "250m" + limits: + memory: "1024Mi" + cpu: "2000m" + +#podSecurityContext: {} + # fsGroup: 2000 + +#securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +#service: + #type: ClusterIP + #port: 80 + +#ingress: + #enabled: false + #annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + #hosts: + #- host: chart-example.local + # paths: [] + #tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +labels: + nodeSelector: + kubernetes.io/os: linux + kubernetes.io/arch: amd64 + +# Multus configuration +# For more details, see https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#entrypoint-script-parameters +config: + cni_conf: + confDir: /etc/cni/net.d + binDir: /opt/cni/bin + #namespaceIsolation: false + #globalNamespaces: default,foo,bar + #skipMultusBinaryCopy: false + #readinessIndicatorFile: "" + multusConfFile: auto #or specify a file to be copied on each node + #The following options can be used only when multusConfFile=auto + #multusAutoconfigDir: /host/etc/cni/net.d + kubeconfig: /etc/cni/net.d/multus.d/multus.kubeconfig + #masterCniFilename: + #logFile: /var/log/multus.log + #logLevel: panic + #cniVersion: 1.0.0 + #cleanupConfigOnExit: true + #additionalBinDir: /opt/multus/bin + +manifests: + serviceAccount: true + clusterRole: true + clusterRoleBinding: true + configMap: false + daemonSet: true + customResourceDefinition: true + dhcpDaemonSet: false + +#tolerations: [] + +#affinity: {} + + +## RANCHER ADDDED INFO ## +cniplugins: + image: + repository: rancher/hardened-cni-plugins + tag: v1.4.0-build20240122 + + # skipcnis is a comma separated list of cni binaries to skip from + # installing. + skipcnis: flannel + +dhcpDaemonSet: + image: + repository: rancher/mirrored-library-busybox + tag: "1.36.1" + +global: + systemDefaultRegistry: "" + diff --git a/index.yaml b/index.yaml index c44b682..31f813d 100755 --- a/index.yaml +++ b/index.yaml @@ -1,5 +1,23 @@ apiVersion: v1 entries: + k3s-multus: + - apiVersion: v2 + appVersion: 4.0.2 + created: "2024-02-15T18:57:41.607736257+01:00" + description: Multus Helm chart for Kubernetes + digest: ba4d67b34f5ad9e101cb61dba22e9b4b0f5c1e8289bb2bc53f667a92dd9f94ae + home: https://github.com/k8snetworkplumbingwg/multus-cni + icon: https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/doc/images/Multus.png + maintainers: + - email: charts@rancher.com + name: Rancher Labs + name: k3s-multus + sources: + - https://github.com/intel/multus-cni + type: application + urls: + - assets/k3s-multus/k3s-multus-4.0.201+upv4.0.2-build2024020801.tgz + version: 4.0.201+upv4.0.2-build2024020801 snapshot-controller: - annotations: artifacthub.io/recommendations: | diff --git a/packages/multus/generated-changes/dependencies/rke2-whereabouts/dependency.yaml b/packages/multus/generated-changes/dependencies/rke2-whereabouts/dependency.yaml new file mode 100644 index 0000000..1a10ce9 --- /dev/null +++ b/packages/multus/generated-changes/dependencies/rke2-whereabouts/dependency.yaml @@ -0,0 +1,3 @@ +workingDir: "" +url: https://github.com/rancher/rke2-charts/raw/main/assets/rke2-multus/rke2-multus-v4.0.2-build2023081108.tgz +subdirectory: charts/rke2-whereabouts diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/Chart.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/Chart.yaml new file mode 100644 index 0000000..2596983 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/Chart.yaml @@ -0,0 +1,10 @@ +apiVersion: v2 +appVersion: 0.6.3 +description: A Helm chart to deploy the whereabouts CNI +home: https://github.com/k8snetworkplumbingwg/whereabouts +maintainers: +- email: charts@rancher.com + name: Rancher Labs +name: rke2-whereabouts +type: application +version: 0.1.1 diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_ippools.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_ippools.yaml new file mode 100644 index 0000000..c912654 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_ippools.yaml @@ -0,0 +1,69 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: ippools.whereabouts.cni.cncf.io +spec: + group: whereabouts.cni.cncf.io + names: + kind: IPPool + listKind: IPPoolList + plural: ippools + singular: ippool + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPool is the Schema for the ippools API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IPPoolSpec defines the desired state of IPPool + properties: + allocations: + additionalProperties: + description: IPAllocation represents metadata about the pod/container + owner of a specific IP + properties: + id: + type: string + podref: + type: string + required: + - id + type: object + description: Allocations is the set of allocated IPs for the given + range. Its` indices are a direct mapping to the IP with the same + index/offset for the pool's range. + type: object + range: + description: Range is a RFC 4632/4291-style string that represents + an IP address and prefix length in CIDR notation + type: string + required: + - allocations + - range + type: object + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml new file mode 100644 index 0000000..82d9547 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml @@ -0,0 +1,56 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: overlappingrangeipreservations.whereabouts.cni.cncf.io +spec: + group: whereabouts.cni.cncf.io + names: + kind: OverlappingRangeIPReservation + listKind: OverlappingRangeIPReservationList + plural: overlappingrangeipreservations + singular: overlappingrangeipreservation + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: OverlappingRangeIPReservation is the Schema for the OverlappingRangeIPReservations + API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: OverlappingRangeIPReservationSpec defines the desired state + of OverlappingRangeIPReservation + properties: + containerid: + type: string + podref: + type: string + required: + - containerid + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/NOTES.txt b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/NOTES.txt new file mode 100644 index 0000000..e68e92d --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/NOTES.txt @@ -0,0 +1,5 @@ +Whereabouts is installed!! + +You can view the pods with the following command: + +kubectl get pods -n {{ .Release.Namespace }} -l app=whereabouts diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/_helpers.tpl b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/_helpers.tpl new file mode 100644 index 0000000..bff8067 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/_helpers.tpl @@ -0,0 +1,83 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "whereabouts.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 "whereabouts.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 }} + +{{/* +Provide a method to override namespace so parent charts can set it +*/}} +{{- define "whereabouts.namespace" -}} +{{- if hasKey .Values "namespaceOverride" -}} +namespace: {{ .Values.namespaceOverride }} +{{- else }} +namespace: {{ .Release.Namespace }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "whereabouts.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "whereabouts.labels" -}} +app: whereabouts +helm.sh/chart: {{ include "whereabouts.chart" . }} +{{ include "whereabouts.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "whereabouts.selectorLabels" -}} +app: {{ include "whereabouts.name" . }} +app.kubernetes.io/name: {{ include "whereabouts.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "whereabouts.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "whereabouts.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{- define "system_default_registry" -}} +{{- if .Values.global.systemDefaultRegistry -}} +{{- printf "%s/" .Values.global.systemDefaultRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role.yaml new file mode 100644 index 0000000..2a6776c --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role.yaml @@ -0,0 +1,52 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "whereabouts.serviceAccountName" . }} +rules: +- apiGroups: + - whereabouts.cni.cncf.io + resources: + - ippools + - overlappingrangeipreservations + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - '*' +- apiGroups: [""] + resources: + - pods + verbs: + - list + - watch +- apiGroups: [""] + resources: + - nodes + verbs: + - get +- apiGroups: ["k8s.cni.cncf.io"] + resources: + - network-attachment-definitions + verbs: + - get + - list + - watch +- apiGroups: + - "" + - events.k8s.io + resources: + - events + verbs: + - create + - patch + - update + - get diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role_binding.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role_binding.yaml new file mode 100644 index 0000000..b1c0127 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/cluster_role_binding.yaml @@ -0,0 +1,15 @@ +{{- if .Values.serviceAccount.create -}} +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ include "whereabouts.serviceAccountName" . }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "whereabouts.serviceAccountName" . }} +subjects: +- kind: ServiceAccount + name: {{ include "whereabouts.serviceAccountName" . }} + {{- include "whereabouts.namespace" . | nindent 2 }} +{{- end }} diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/configmap.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/configmap.yaml new file mode 100644 index 0000000..a931f35 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/configmap.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "whereabouts.fullname" . }}-config + {{- include "whereabouts.namespace" . | nindent 2 }} + annotations: + kubernetes.io/description: | + Configmap containing user customizable cronjob schedule +data: + cron-expression: "30 4 * * *" # Default schedule is once per day at 4:30am. Users may configure this value to their liking. diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/daemonset.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/daemonset.yaml new file mode 100644 index 0000000..db16940 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/daemonset.yaml @@ -0,0 +1,92 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ include "whereabouts.fullname" . }} + {{- include "whereabouts.namespace" . | nindent 2 }} + labels: + {{- include "whereabouts.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + name: whereabouts + {{- include "whereabouts.selectorLabels" . | nindent 6 }} + updateStrategy: + type: {{ .Values.updateStrategy }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + name: whereabouts + {{- include "whereabouts.selectorLabels" . | nindent 8 }} + spec: + hostNetwork: true + serviceAccountName: {{ include "whereabouts.serviceAccountName" . }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + securityContext: #TODO still needed? + {{- toYaml .Values.podSecurityContext | nindent 8 }} + tolerations: + - operator: Exists + effect: NoSchedule + containers: + - name: {{ .Chart.Name }} + command: [ "/bin/sh" ] + args: + - -c + - > + SLEEP=false /install-cni.sh && + /ip-control-loop -log-level debug + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: NODENAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: WHEREABOUTS_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + resources: + {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + - name: cnibin + mountPath: /host/opt/cni/bin + - name: cni-net-dir + mountPath: /host/etc/cni/net.d + - name: cron-scheduler-configmap + mountPath: /cron-schedule + volumes: + - name: cnibin + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + - name: cron-scheduler-configmap + configMap: + name: {{ include "whereabouts.fullname" . }}-config + defaultMode: 0744 + items: + - key: "cron-expression" + path: "config" + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/serviceaccount.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/serviceaccount.yaml new file mode 100644 index 0000000..47147d4 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "whereabouts.serviceAccountName" . }} + {{- include "whereabouts.namespace" . | nindent 2 }} + labels: + {{- include "whereabouts.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/values.yaml b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/values.yaml new file mode 100644 index 0000000..ccd2e37 --- /dev/null +++ b/packages/multus/generated-changes/exclude/charts/rke2-whereabouts/values.yaml @@ -0,0 +1,50 @@ +# Default values for whereabouts. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +image: + repository: rancher/hardened-whereabouts + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: v0.6.3-build20240109 + +updateStrategy: RollingUpdate +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" +namespaceOverride: "kube-system" +successfulJobsHistoryLimit: 0 + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + #name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: + privileged: true + +resources: + requests: + cpu: "100m" + memory: "100Mi" + +nodeSelector: + kubernetes.io/arch: amd64 + +tolerations: + - operator: Exists + effect: NoSchedule + +affinity: {} + +global: + systemDefaultRegistry: "" diff --git a/packages/multus/generated-changes/patch/Chart.yaml.patch b/packages/multus/generated-changes/patch/Chart.yaml.patch new file mode 100644 index 0000000..158dd40 --- /dev/null +++ b/packages/multus/generated-changes/patch/Chart.yaml.patch @@ -0,0 +1,22 @@ +--- charts-original/Chart.yaml ++++ charts/Chart.yaml +@@ -1,17 +1,13 @@ + apiVersion: v2 + appVersion: 4.0.2 +-dependencies: +-- condition: rke2-whereabouts.enabled +- name: rke2-whereabouts +- repository: file://./charts/rke2-whereabouts + description: Multus Helm chart for Kubernetes + home: https://github.com/k8snetworkplumbingwg/multus-cni + icon: https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/doc/images/Multus.png + maintainers: + - email: charts@rancher.com + name: Rancher Labs +-name: rke2-multus ++name: k3s-multus + sources: + - https://github.com/intel/multus-cni + type: application +-version: v4.0.2-build2024020801 ++version: 4.0.2 diff --git a/packages/multus/generated-changes/patch/values.yaml.patch b/packages/multus/generated-changes/patch/values.yaml.patch new file mode 100644 index 0000000..3c36d3e --- /dev/null +++ b/packages/multus/generated-changes/patch/values.yaml.patch @@ -0,0 +1,9 @@ +--- charts-original/values.yaml ++++ charts/values.yaml +@@ -133,6 +133,3 @@ + global: + systemDefaultRegistry: "" + +-rke2-whereabouts: +- enabled: false +- diff --git a/packages/multus/package.yaml b/packages/multus/package.yaml new file mode 100644 index 0000000..11a9c1b --- /dev/null +++ b/packages/multus/package.yaml @@ -0,0 +1,2 @@ +url: https://github.com/rancher/rke2-charts/raw/main/assets/rke2-multus/rke2-multus-v4.0.2-build2024020801.tgz +packageVersion: 01