Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multus v4.0 Chart update #37

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/helm_test_multus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Multus Chart Test

on:
push:
paths:
- 'multus/**'
- '.github/workflows/helm_test_multus.yml'
branches:
- master
pull_request:
branches:
- master
workflow_dispatch: # Allows manually triggering the workflow

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: 'v3.12.0' # specify the Helm version you want to use

- name: Set up Kubernetes (kind)
uses: helm/[email protected]
with:
version: v0.17.0 # specify the kind version you want to use

- name: Helm Lint Multus
run: helm lint multus

- name: Install Helm chart multus
run: helm install --wait --timeout 60s multus-release ./multus

- name: Run Helm tests
run: helm test multus-release --timeout 60s

- name: Delete Helm release
run: helm uninstall multus-release
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.idea
/scratch
10 changes: 5 additions & 5 deletions multus/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ apiVersion: v2
name: multus
description: Multus Helm chart for Kubernetes
type: application
version: 0.1.2
home: https://github.com/intel/multus-cni
icon: https://raw.githubusercontent.com/intel/multus-cni/master/doc/images/Multus.png
version: 1.0.0
home: https://github.com/k8snetworkplumbingwg/helm-charts
icon: https://raw.githubusercontent.com/k8snetworkplumbingwg/multus-cni/master/doc/images/Multus.png
sources:
- https://github.com/intel/multus-cni
- https://github.com/k8snetworkplumbingwg/multus-cni
maintainers:
- name: Network Plumbing Group
appVersion: 0.1.0
appVersion: v4.1.0
44 changes: 44 additions & 0 deletions multus/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# multus

Multus Helm chart for Kubernetes

![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.1.0](https://img.shields.io/badge/AppVersion-v4.1.0-informational?style=flat-square)

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| args.additionalBinDir | string | `""` | Additional directory to include in the CNI binDir option. |
| args.cleanupConfigOnExit | bool | `false` | Cleanup configuration files on exit. |
| args.cniBinDir | string | `"/host/opt/cni/bin"` | The directory where CNI binaries are installed. |
| args.cniConfDir | string | `"/host/etc/cni/net.d"` | The directory where CNI configurations are stored. |
| args.cniVersion | string | `""` | Version of the CNI to use. |
| args.forceCNIVersion | bool | `false` | Force the use of a specific CNI version. |
| args.globalNamespaces | string | `""` | Comma-separated list of global namespaces for use with namespace isolation. |
| args.multusAutoconfigDir | string | `"/host/etc/cni/net.d"` | Directory for the Multus auto-configuration. |
| args.multusBinFile | string | `"/usr/src/multus-cni/bin/multus"` | Path to the Multus binary file. |
| args.multusCNIConfDir | string | `"/host/etc/cni/multus/net.d"` | Directory for Multus-specific CNI configurations. |
| args.multusConfFile | string | `"auto"` | The configuration file for Multus. |
| args.multusKubeConfigFileHost | string | `"/etc/cni/net.d/multus.d/multus.kubeconfig"` | Path to the kubeconfig file for Multus. |
| args.multusLogFile | string | `""` | Path to the Multus log file. |
| args.multusLogLevel | string | `""` | Log level for Multus. |
| args.multusLogToStderr | bool | `true` | Whether to log to stderr. |
| args.multusMasterCNIFileName | string | `""` | Name of the master CNI file in the Multus auto-configuration directory. |
| args.namespaceIsolation | bool | `false` | Enable namespace isolation. |
| args.overrideNetworkName | bool | `false` | Override the network name from the master CNI file. |
| args.readinessIndicatorFile | string | `""` | File used to indicate readiness. |
| args.renameConfFile | bool | `false` | Rename the master configuration file to invalidate it. |
| args.skipConfigWatch | bool | `false` | Skip watching for configuration changes. |
| args.skipMultusBinaryCopy | bool | `false` | Whether to skip copying the Multus binary file. |
| args.skipTLSVerify | bool | `false` | Skip TLS verification. |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"ghcr.io/k8snetworkplumbingwg/multus-cni"` | Repository for the Multus image. |
| image.tag | string | `"v4.1.0"` | Tag of the Multus image. |
| nodeSelector | object | `{}` | Node selector for pod assignment. |
| resources | object | `{"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"250m","memory":"128Mi"}}` | Resources for the Multus pod. |
| securityContext | object | `{"privileged":true}` | securityContext for the pod. |
| serviceAccount.name | string | `"multus"` | |
| tolerations | list | `[{"effect":"NoSchedule","operator":"Exists"}]` | Tolerations for pod assignment. |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
10 changes: 10 additions & 0 deletions multus/README.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{ template "chart.header" . }}
{{ template "chart.description" . }}

{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}

{{ template "chart.requirementsSection" . }}

{{ template "chart.valuesSection" . }}

{{ template "helm-docs.versionFooter" . }}
14 changes: 0 additions & 14 deletions multus/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,11 @@
======
{{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "16" ) }}
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.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 }}-{{ .Chart.Name }}-ds
{{- end }}
{{- if .Values.manifests.serviceAccount }}
Service Account: {{ .Values.serviceAccount.name }}
{{- end }}

You can now deploy any other CNI and create its Network Attachment Defintion.
---------

Expand Down
4 changes: 2 additions & 2 deletions multus/templates/clusterRole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
{{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "16" ) }}
{{- if .Values.manifests.clusterRole }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
Expand All @@ -37,5 +36,6 @@ rules:
- events
verbs:
- create
{{- end }}
- patch
- update
{{- end }}
2 changes: 0 additions & 2 deletions multus/templates/clusterRoleBinding.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
{{- if or ( gt .Capabilities.KubeVersion.Major "1" ) ( ge .Capabilities.KubeVersion.Minor "16" ) }}
{{- if .Values.manifests.clusterRoleBinding }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
Expand All @@ -26,4 +25,3 @@ subjects:
name: {{ .Values.serviceAccount.name }}
namespace: kube-system
{{- end }}
{{- end }}
27 changes: 0 additions & 27 deletions multus/templates/configMap.yaml

This file was deleted.

45 changes: 45 additions & 0 deletions multus/templates/crds/net-def.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
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:
description: 'NetworkAttachmentDefinition is a CRD schema specified by the Network Plumbing
Working Group to express the intent for attaching pods to one or more logical or physical
networks. More information available at: https://github.com/k8snetworkplumbingwg/multi-net-spec'
type: object
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this represen
tation 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: 'NetworkAttachmentDefinition spec defines the desired state of a network attachment'
type: object
properties:
config:
description: 'NetworkAttachmentDefinition config is a JSON-formatted CNI configuration'
type: string
43 changes: 0 additions & 43 deletions multus/templates/customResourceDefinition.yaml

This file was deleted.

Loading
Loading