diff --git a/Makefile b/Makefile index 3254bad22..769df7197 100644 --- a/Makefile +++ b/Makefile @@ -182,3 +182,7 @@ push: images # push multi-platform images push-multi-platform-images: bash hack/make-rules/push.sh + +# update spiderpool helm charts +update-spiderpool-charts: + bash hack/update-spiderpool-charts.sh \ No newline at end of file diff --git a/build/helm/edgemesh.tgz b/build/helm/edgemesh.tgz index 515891219..437b28ab3 100644 Binary files a/build/helm/edgemesh.tgz and b/build/helm/edgemesh.tgz differ diff --git a/build/helm/edgemesh/Chart.yaml b/build/helm/edgemesh/Chart.yaml index d1bc487ec..33c24478e 100644 --- a/build/helm/edgemesh/Chart.yaml +++ b/build/helm/edgemesh/Chart.yaml @@ -26,3 +26,5 @@ appVersion: latest dependencies: - name: agent version: latest + - name: spiderpool + version: 0.9.1 diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/.helmignore b/build/helm/edgemesh/charts/spiderpool/.helmignore similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/.helmignore rename to build/helm/edgemesh/charts/spiderpool/.helmignore diff --git a/build/helm/edgemesh/charts/spiderpool/.relok8s-images.yaml b/build/helm/edgemesh/charts/spiderpool/.relok8s-images.yaml deleted file mode 100644 index ac03c08d2..000000000 --- a/build/helm/edgemesh/charts/spiderpool/.relok8s-images.yaml +++ /dev/null @@ -1,13 +0,0 @@ -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.spiderpoolAgent.image.repository }}:{{ .spiderpool.spiderpoolAgent.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.spiderpoolController.image.repository }}:{{ .spiderpool.spiderpoolController.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.spiderpoolInit.image.repository }}:{{ .spiderpool.spiderpoolInit.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.multus.multusCNI.image.repository }}:{{ .spiderpool.multus.multusCNI.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.rdma.rdmaSharedDevicePlugin.image.repository }}:{{ .spiderpool.rdma.rdmaSharedDevicePlugin.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.plugins.image.repository }}:{{ .spiderpool.plugins.image.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.operator.repository }}:{{ .spiderpool.sriov.image.operator.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.sriovConfigDaemon.repository }}:{{ .spiderpool.sriov.image.sriovConfigDaemon.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.sriovCni.repository }}:{{ .spiderpool.sriov.image.sriovCni.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.ibSriovCni.repository }}:{{ .spiderpool.sriov.image.ibSriovCni.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.sriovDevicePlugin.repository }}:{{ .spiderpool.sriov.image.sriovDevicePlugin.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.resourcesInjector.repository }}:{{ .spiderpool.sriov.image.resourcesInjector.tag }}" -- "{{ .spiderpool.global.imageRegistryOverride }}/{{ .spiderpool.sriov.image.webhook.repository }}:{{ .spiderpool.sriov.image.webhook.tag }}" diff --git a/build/helm/edgemesh/charts/spiderpool/Chart.yaml b/build/helm/edgemesh/charts/spiderpool/Chart.yaml index 48268cc81..442730499 100644 --- a/build/helm/edgemesh/charts/spiderpool/Chart.yaml +++ b/build/helm/edgemesh/charts/spiderpool/Chart.yaml @@ -1,23 +1,19 @@ apiVersion: v2 -appVersion: 0.9.0 +appVersion: 0.9.1 description: underlay CNI solution for kubernetes home: https://spidernet-io.github.io/spiderpool icon: https://raw.githubusercontent.com/spidernet-io/spiderpool/main/docs/images/spider.svg keywords: - - spiderpool - - underlay - - networking - - ipam +- spiderpool +- underlay +- networking +- ipam kubeVersion: '>= 1.16.0-0' maintainers: - - name: spidernet-io - url: https://github.com/spidernet-io +- name: spidernet-io + url: https://github.com/spidernet-io name: spiderpool sources: - - https://github.com/spidernet-io/spiderpool +- https://github.com/spidernet-io/spiderpool type: application -version: 0.9.0 -dependencies: - - name: spiderpool - version: "0.9.0" - repository: "https://spidernet-io.github.io/spiderpool" +version: 0.9.1 diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/LICENSE b/build/helm/edgemesh/charts/spiderpool/LICENSE similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/LICENSE rename to build/helm/edgemesh/charts/spiderpool/LICENSE diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/Chart.yaml b/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/Chart.yaml deleted file mode 100644 index ea96c3f07..000000000 --- a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/Chart.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v2 -appVersion: 0.9.0 -description: underlay CNI solution for kubernetes -home: https://spidernet-io.github.io/spiderpool -icon: https://raw.githubusercontent.com/spidernet-io/spiderpool/main/docs/images/spider.svg -keywords: -- spiderpool -- underlay -- networking -- ipam -kubeVersion: '>= 1.16.0-0' -maintainers: -- name: spidernet-io - url: https://github.com/spidernet-io -name: spiderpool -sources: -- https://github.com/spidernet-io/spiderpool -type: application -version: 0.9.0 diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/README.md b/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/README.md deleted file mode 100644 index e8e594691..000000000 --- a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/README.md +++ /dev/null @@ -1,431 +0,0 @@ -# spiderpool - -## Introduction - -The Spiderpool is an IP Address Management (IPAM) CNI plugin that assigns IP addresses for kubernetes clusters. - -Any Container Network Interface (CNI) plugin supporting third-party IPAM plugins can use the Spiderpool. - -## Why Spiderpool - -Most overlay CNIs, like -[Cilium](https://github.com/cilium/cilium) -and [Calico](https://github.com/projectcalico/calico), -have a good implementation of IPAM, so the Spiderpool is not intentionally designed for these cases, but maybe integrated with them. - -The Spiderpool is intentionally designed to use with underlay network, where administrators can accurately manage each IP. - -Currently, in the community, the IPAM plugins such as [whereabout](https://github.com/k8snetworkplumbingwg/whereabouts), [kube-ipam](https://github.com/cloudnativer/kube-ipam), -[static](https://github.com/containernetworking/plugins/tree/main/plugins/ipam/static), -[dhcp](https://github.com/containernetworking/plugins/tree/main/plugins/ipam/dhcp), and [host-local](https://github.com/containernetworking/plugins/tree/main/plugins/ipam/host-local), -few of them could help solve complex underlay-network issues, so we decide to develop the Spiderpool. - -BTW, there are also some CNI plugins that could work on the underlay mode, such as [kube-ovn](https://github.com/kubeovn/kube-ovn) and [coil](https://github.com/cybozu-go/coil). -But the Spiderpool provides lots of different features, you could see [Features](#features) for details. - -## Features - -The Spiderpool provides a large number of different features as follows. - -* Based on CRD storage, all operation could be done with kubernetes API-server. - -* Support for assigning IP addresses with three options: IPv4-only, IPv6-only, and dual-stack. - -* Support for working on the clusters with three options: IPv4-only, IPv6-only, and dual-stack. - -* Support for creating multiple ippools. - Different namespaces and applications could monopolize or share an ippool. - -* An application could specify multiple backup ippool resources, in case that IP addresses in an ippool are out of use. Therefore, you neither need to scale up the IP resources in a fixed ippool, nor need to modify the application yaml to change a ippool. - -* Support to bind range of IP address only to an applications. No need to hard code an IP list in deployment yaml, which is not easy to modify. With Spiderpool, you only need to set the selector field of ippool and scale up or down the IP resource of an ippool dynamically. - -* Support Statefulset pod who will be always assigned same IP addresses. - -* Different pods in a single controller could get IP addresses from - different subnets for an application deployed in different subnets or zones. - -* Administrator could safely edit ippool resources, the Spiderpool will help validate the modification and prevent from data race. - -* Collect resources in real time, especially for solving IP leakage or slow collection, which may make new pod fail to assign IP addresses. - -* Support ranges of CNI plugin who supports third-party IPAM plugins. Especially, the Spiderpool could help much for CNI like [spiderflat](https://github.com/spidernet-io/spiderflat), - [macvlan CNI](https://github.com/containernetworking/plugins/tree/main/plugins/main/macvlan), - [vlan CNI](https://github.com/containernetworking/plugins/tree/main/plugins/main/vlan), - [ipvlan CNI](https://github.com/containernetworking/plugins/tree/main/plugins/main/ipvlan), - [sriov CNI](https://github.com/k8snetworkplumbingwg/sriov-cni), - [ovs CNI](https://github.com/k8snetworkplumbingwg/ovs-cni). - -* Especially support for [Multus CNI](https://github.com/k8snetworkplumbingwg/multus-cni) case to assign IP for multiple interfaces. - -* Have a good performance for assigning and collecting IP. - -* Support to reserve IP who will not be assigned to any pod. - -* Included metrics for looking into IP usage and issues. - -* By CidrManager, it could automatically create new ippool for application who needs fixed IP address, and retrieve the ippool when application is deleted. That could reduce the administrator workload. - -* Support for both AMD64 and ARM64. - -## Install - -### Quick Start - -```shell -helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system -``` - -> NOTICE: -> -> (1). By default, SpiderPool automatically installs Multus, and if your cluster already has Multus installed, you can use "--set multus.multusCNI.install=false" disable installing Multus. -> -> (2). By default, spiderpool creates a corresponding Spidermultusconfig instance for the cluster default CNI (the first CNI configuration file under the /etc/cni/net.d path). If no CNI files are found, SpiderPool creates a Spidermultusconfig instance named default, and you need to manually update the CNI configuration of this instance after installation. -> -> (3). You can manually specify the default CNI of the cluster through "--set multus.multusCNI.defaultCniCRName=". you need to manually create this instance after installation. - -### Init default IPPool - -```shell -helm repo add spiderpool https://spidernet-io.github.io/spiderpool - -IPV4_SUBNET_YOU_EXPECT="172.18.40.0/24" -IPV4_IPRANGES_YOU_EXPECT="172.18.40.40-172.20.40.200" - -helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ - --set clusterDefaultPool.installIPv4IPPool=true \ - --set clusterDefaultPool.ipv4Subnet=${IPV4_SUBNET_YOU_EXPECT} \ - --set clusterDefaultPool.ipv4IPRanges={${IPV4_IPRANGES_YOU_EXPECT}} -``` - -> NOTICE: -> -> (1) if default ippool is installed by helm, please add '--wait' parament in the helm command. Because, the spiderpool will install -> webhook for checking spiderippool CRs, if the spiderpool controller pod is not running, the default ippool will fail to apply and the helm install command fails -> Or else, you could create default ippool after helm installation. -> -> (2) spiderpool-controller pod is running as hostnetwork mode, and it needs take host port, -> it is set with podAntiAffinity to make sure that a node will only run a spiderpool-controller pod. -> so, if you set the replicas number of spiderpool-controller to be bigger than 2, make sure there is enough nodes - -## Parameters - -### Global parameters - -| Name | Description | Value | -| ------------------------------- | --------------------------------------------------------------------------- | ------------------------------------ | -| `global.imageRegistryOverride` | Global image registry for all images, which is used for offline environment | `""` | -| `global.nameOverride` | instance name | `""` | -| `global.clusterDnsDomain` | cluster dns domain | `cluster.local` | -| `global.commonAnnotations` | Annotations to add to all deployed objects | `{}` | -| `global.commonLabels` | Labels to add to all deployed objects | `{}` | -| `global.cniBinHostPath` | the host path of the IPAM plugin directory. | `/opt/cni/bin` | -| `global.cniConfHostPath` | the host path of the cni config directory | `/etc/cni/net.d` | -| `global.ipamUNIXSocketHostPath` | the host path of unix domain socket for ipam plugin | `/var/run/spidernet/spiderpool.sock` | -| `global.configName` | the configmap name | `spiderpool-conf` | -| `global.ciliumConfigMap` | the cilium's configMap, default is kube-system/cilium-config | `kube-system/cilium-config` | - -### ipam parameters - -| Name | Description | Value | -| -------------------------------------- | --------------------------------------------------------------------------- | ------ | -| `ipam.enableIPv4` | enable ipv4 | `true` | -| `ipam.enableIPv6` | enable ipv6 | `true` | -| `ipam.enableStatefulSet` | the network mode | `true` | -| `ipam.enableKubevirtStaticIP` | the feature to keep kubevirt vm pod static IP | `true` | -| `ipam.enableSpiderSubnet` | SpiderSubnet feature gate. | `true` | -| `ipam.subnetDefaultFlexibleIPNumber` | the default flexible IP number of SpiderSubnet feature auto-created IPPools | `1` | -| `ipam.gc.enabled` | enable retrieve IP in spiderippool CR | `true` | -| `ipam.gc.gcAll.intervalInSecond` | the gc all interval duration | `600` | -| `ipam.gc.GcDeletingTimeOutPod.enabled` | enable retrieve IP for the pod who times out of deleting graceful period | `true` | -| `ipam.gc.GcDeletingTimeOutPod.delay` | the gc delay seconds after the pod times out of deleting graceful period | `0` | - -### grafanaDashboard parameters - -| Name | Description | Value | -| ------------------------------ | ------------------------------------------------------------------------------------------------ | ------- | -| `grafanaDashboard.install` | install grafanaDashboard for spiderpool. This requires the grafana operator CRDs to be available | `false` | -| `grafanaDashboard.namespace` | the grafanaDashboard namespace. Default to the namespace of helm instance | `""` | -| `grafanaDashboard.annotations` | the additional annotations of spiderpool grafanaDashboard | `{}` | -| `grafanaDashboard.labels` | the additional label of spiderpool grafanaDashboard | `{}` | - -### coordinator parameters - -| Name | Description | Value | -| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | -| `coordinator.enabled` | enable SpiderCoordinator | `true` | -| `coordinator.name` | the name of the default SpiderCoordinator CR | `default` | -| `coordinator.mode` | optional network mode, ["auto","underlay", "overlay", "disabled"] | `auto` | -| `coordinator.podCIDRType` | Pod CIDR type that should be collected, [ "auto", "cluster", "calico", "cilium", "none" ] | `auto` | -| `coordinator.detectGateway` | detect the reachability of the gateway | `false` | -| `coordinator.detectIPConflict` | detect IP address conflicts | `false` | -| `coordinator.tunePodRoutes` | tune Pod routes | `true` | -| `coordinator.hijackCIDR` | Additional subnets that need to be hijacked to the host forward, the default link-local range "169.254.0.0/16" is used for NodeLocal DNS | `["169.254.0.0/16"]` | - -### rdma parameters - -| Name | Description | Value | -| ----------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------- | -| `rdma.rdmaSharedDevicePlugin.install` | install rdma shared device plugin for macvlan cni | `false` | -| `rdma.rdmaSharedDevicePlugin.name` | the name of rdma shared device plugin | `spiderpool-rdma-shared-device-plugin` | -| `rdma.rdmaSharedDevicePlugin.image.registry` | the image registry of rdma shared device plugin | `ghcr.io` | -| `rdma.rdmaSharedDevicePlugin.image.repository` | the image repository of rdma shared device plugin | `mellanox/k8s-rdma-shared-dev-plugin` | -| `rdma.rdmaSharedDevicePlugin.image.pullPolicy` | the image pullPolicy of rdma shared device plugin | `IfNotPresent` | -| `rdma.rdmaSharedDevicePlugin.image.digest` | the image digest of rdma shared device plugin | `""` | -| `rdma.rdmaSharedDevicePlugin.image.tag` | the image tag of rdma shared device plugin | `latest` | -| `rdma.rdmaSharedDevicePlugin.image.imagePullSecrets` | the image imagePullSecrets of rdma shared device plugin | `[]` | -| `rdma.rdmaSharedDevicePlugin.podAnnotations` | the additional annotations | `{}` | -| `rdma.rdmaSharedDevicePlugin.podLabels` | the additional label | `{}` | -| `rdma.rdmaSharedDevicePlugin.resources.limits.cpu` | the cpu limit | `300m` | -| `rdma.rdmaSharedDevicePlugin.resources.limits.memory` | the memory limit | `300Mi` | -| `rdma.rdmaSharedDevicePlugin.resources.requests.cpu` | the cpu requests | `100m` | -| `rdma.rdmaSharedDevicePlugin.resources.requests.memory` | the memory requests | `50Mi` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval` | periodic Update Interval | `300` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix` | resource prefix | `spidernet.io` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName` | resource Name | `hca_shared_devices` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax` | rdma Hca Max | `500` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.vendors` | rdma device vendors, default to mellanox device | `15b3` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs` | rdma device IDs, default to mellanox device | `1017` | - -### multus parameters - -| Name | Description | Value | -| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | -| `multus.enableMultusConfig` | enable SpiderMultusConfig | `true` | -| `multus.multusCNI.install` | enable install multus-CNI | `true` | -| `multus.multusCNI.uninstall` | enable remove multus-CNI configuration and binary files on multus-ds pod shutdown. Enable this if you uninstall multus from your cluster. Disable this in the multus upgrade phase to prevent CNI configuration file from being removed, which may cause pods start failure | `false` | -| `multus.multusCNI.name` | the name of spiderpool multus | `spiderpool-multus` | -| `multus.multusCNI.image.registry` | the multus-CNI image registry | `ghcr.io` | -| `multus.multusCNI.image.repository` | the multus-CNI image repository | `k8snetworkplumbingwg/multus-cni` | -| `multus.multusCNI.image.pullPolicy` | the multus-CNI image pullPolicy | `IfNotPresent` | -| `multus.multusCNI.image.digest` | the multus-CNI image digest | `""` | -| `multus.multusCNI.image.tag` | the multus-CNI image tag | `v3.9.3` | -| `multus.multusCNI.image.imagePullSecrets` | the multus-CNI image imagePullSecrets | `[]` | -| `multus.multusCNI.defaultCniCRName` | if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool | `""` | -| `multus.multusCNI.securityContext.privileged` | the securityContext privileged of multus-CNI daemonset pod | `true` | -| `multus.multusCNI.extraEnv` | the additional environment variables of multus-CNI daemonset pod container | `[]` | -| `multus.multusCNI.extraVolumes` | the additional volumes of multus-CNI daemonset pod container | `[]` | -| `multus.multusCNI.extraVolumeMounts` | the additional hostPath mounts of multus-CNI daemonset pod container | `[]` | -| `multus.multusCNI.log.logLevel` | the multus-CNI daemonset pod log level | `debug` | -| `multus.multusCNI.log.logFile` | the multus-CNI daemonset pod log file | `/var/log/multus.log` | - -### plugins parameters - -| Name | Description | Value | -| -------------------------------- | ---------------------------------------------------------- | -------------------------------------------- | -| `plugins.installCNI` | install all cni plugins to each node | `false` | -| `plugins.installRdmaCNI` | install rdma cni used to isolate rdma device for sriov cni | `true` | -| `plugins.installOvsCNI` | install ovs cni to each node | `true` | -| `plugins.installibSriovCNI` | install ib-sriov cni to each node | `true` | -| `plugins.installIpoibCNI` | install ipoib cni to each node | `true` | -| `plugins.image.registry` | the image registry of plugins | `ghcr.io` | -| `plugins.image.repository` | the image repository of plugins | `spidernet-io/spiderpool/spiderpool-plugins` | -| `plugins.image.pullPolicy` | the image pullPolicy of plugins | `IfNotPresent` | -| `plugins.image.digest` | the image digest of plugins | `""` | -| `plugins.image.tag` | the image tag of plugins | `v0.9.2` | -| `plugins.image.imagePullSecrets` | the image imagePullSecrets of plugins | `[]` | - -### clusterDefaultPool parameters - -| Name | Description | Value | -| -------------------------------------- | ---------------------------------------------------------------------------- | ------------------- | -| `clusterDefaultPool.installIPv4IPPool` | install ipv4 spiderpool instance. It is required to set ipam.enableIPv4=true | `false` | -| `clusterDefaultPool.installIPv6IPPool` | install ipv6 spiderpool instance. It is required to set ipam.enableIPv6=true | `false` | -| `clusterDefaultPool.ipv4IPPoolName` | the name of ipv4 spiderpool instance | `default-v4-ippool` | -| `clusterDefaultPool.ipv6IPPoolName` | the name of ipv6 spiderpool instance | `default-v6-ippool` | -| `clusterDefaultPool.ipv4SubnetName` | the name of ipv4 spidersubnet instance | `default-v4-subnet` | -| `clusterDefaultPool.ipv6SubnetName` | the name of ipv6 spidersubnet instance | `default-v6-subnet` | -| `clusterDefaultPool.ipv4Subnet` | the subnet of ipv4 spiderpool instance | `""` | -| `clusterDefaultPool.ipv6Subnet` | the subnet of ipv6 spiderpool instance | `""` | -| `clusterDefaultPool.ipv4IPRanges` | the available IP of ipv4 spiderpool instance | `[]` | -| `clusterDefaultPool.ipv6IPRanges` | the available IP of ipv6 spiderpool instance | `[]` | -| `clusterDefaultPool.ipv4Gateway` | the gateway of ipv4 subnet | `""` | -| `clusterDefaultPool.ipv6Gateway` | the gateway of ipv6 subnet | `""` | - -### spiderpoolAgent parameters - -| Name | Description | Value | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------ | -| `spiderpoolAgent.name` | the spiderpoolAgent name | `spiderpool-agent` | -| `spiderpoolAgent.binName` | the binName name of spiderpoolAgent | `/usr/bin/spiderpool-agent` | -| `spiderpoolAgent.image.registry` | the image registry of spiderpoolAgent | `ghcr.io` | -| `spiderpoolAgent.image.repository` | the image repository of spiderpoolAgent | `spidernet-io/spiderpool/spiderpool-agent` | -| `spiderpoolAgent.image.pullPolicy` | the image pullPolicy of spiderpoolAgent | `IfNotPresent` | -| `spiderpoolAgent.image.digest` | the image digest of spiderpoolAgent, which takes preference over tag | `""` | -| `spiderpoolAgent.image.tag` | the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. | `""` | -| `spiderpoolAgent.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolAgent | `[]` | -| `spiderpoolAgent.serviceAccount.create` | create the service account for the spiderpoolAgent | `true` | -| `spiderpoolAgent.serviceAccount.annotations` | the annotations of spiderpoolAgent service account | `{}` | -| `spiderpoolAgent.service.annotations` | the annotations for spiderpoolAgent service | `{}` | -| `spiderpoolAgent.service.type` | the type for spiderpoolAgent service | `ClusterIP` | -| `spiderpoolAgent.priorityClassName` | the priority Class Name for spiderpoolAgent | `system-node-critical` | -| `spiderpoolAgent.affinity` | the affinity of spiderpoolAgent | `{}` | -| `spiderpoolAgent.extraArgs` | the additional arguments of spiderpoolAgent container | `[]` | -| `spiderpoolAgent.extraEnv` | the additional environment variables of spiderpoolAgent container | `[]` | -| `spiderpoolAgent.extraVolumes` | the additional volumes of spiderpoolAgent container | `[]` | -| `spiderpoolAgent.extraVolumeMounts` | the additional hostPath mounts of spiderpoolAgent container | `[]` | -| `spiderpoolAgent.podAnnotations` | the additional annotations of spiderpoolAgent pod | `{}` | -| `spiderpoolAgent.podLabels` | the additional label of spiderpoolAgent pod | `{}` | -| `spiderpoolAgent.resources.limits.cpu` | the cpu limit of spiderpoolAgent pod | `1000m` | -| `spiderpoolAgent.resources.limits.memory` | the memory limit of spiderpoolAgent pod | `1024Mi` | -| `spiderpoolAgent.resources.requests.cpu` | the cpu requests of spiderpoolAgent pod | `100m` | -| `spiderpoolAgent.resources.requests.memory` | the memory requests of spiderpoolAgent pod | `128Mi` | -| `spiderpoolAgent.securityContext` | the security Context of spiderpoolAgent pod | `{}` | -| `spiderpoolAgent.httpPort` | the http Port for spiderpoolAgent, for health checking | `5710` | -| `spiderpoolAgent.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking | `60` | -| `spiderpoolAgent.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolAgent health checking | `2` | -| `spiderpoolAgent.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking | `6` | -| `spiderpoolAgent.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolAgent health checking | `10` | -| `spiderpoolAgent.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking | `3` | -| `spiderpoolAgent.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolAgent health checking | `10` | -| `spiderpoolAgent.prometheus.enabled` | enable spiderpool agent to collect metrics | `false` | -| `spiderpoolAgent.prometheus.enabledDebugMetric` | enable spiderpool agent to collect debug level metrics | `false` | -| `spiderpoolAgent.prometheus.port` | the metrics port of spiderpool agent | `5711` | -| `spiderpoolAgent.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolAgent.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolAgent.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolAgent serviceMonitor | `{}` | -| `spiderpoolAgent.prometheus.serviceMonitor.labels` | the additional label of spiderpoolAgent serviceMonitor | `{}` | -| `spiderpoolAgent.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolAgent serviceMonitor's scraping action | `10s` | -| `spiderpoolAgent.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolAgent.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolAgent.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolAgent prometheusRule | `{}` | -| `spiderpoolAgent.prometheus.prometheusRule.labels` | the additional label of spiderpoolAgent prometheusRule | `{}` | -| `spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationFailure` | the additional rule of spiderpoolAgent prometheusRule | `true` | -| `spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationOverTime` | the additional rule of spiderpoolAgent prometheusRule | `true` | -| `spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMHighAllocationDurations` | the additional rule of spiderpoolAgent prometheusRule | `true` | -| `spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseFailure` | the additional rule of spiderpoolAgent prometheusRule | `true` | -| `spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseOverTime` | the additional rule of spiderpoolAgent prometheusRule | `true` | -| `spiderpoolAgent.debug.logLevel` | the log level of spiderpool agent [debug, info, warn, error, fatal, panic] | `info` | -| `spiderpoolAgent.debug.gopsPort` | the gops port of spiderpool agent | `5712` | - -### spiderpoolController parameters - -| Name | Description | Value | -| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -| `spiderpoolController.name` | the spiderpoolController name | `spiderpool-controller` | -| `spiderpoolController.replicas` | the replicas number of spiderpoolController pod | `1` | -| `spiderpoolController.binName` | the binName name of spiderpoolController | `/usr/bin/spiderpool-controller` | -| `spiderpoolController.hostnetwork` | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `spiderpoolController.image.registry` | the image registry of spiderpoolController | `ghcr.io` | -| `spiderpoolController.image.repository` | the image repository of spiderpoolController | `spidernet-io/spiderpool/spiderpool-controller` | -| `spiderpoolController.image.pullPolicy` | the image pullPolicy of spiderpoolController | `IfNotPresent` | -| `spiderpoolController.image.digest` | the image digest of spiderpoolController, which takes preference over tag | `""` | -| `spiderpoolController.image.tag` | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. | `""` | -| `spiderpoolController.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolController | `[]` | -| `spiderpoolController.serviceAccount.create` | create the service account for the spiderpoolController | `true` | -| `spiderpoolController.serviceAccount.annotations` | the annotations of spiderpoolController service account | `{}` | -| `spiderpoolController.service.annotations` | the annotations for spiderpoolController service | `{}` | -| `spiderpoolController.service.type` | the type for spiderpoolController service | `ClusterIP` | -| `spiderpoolController.priorityClassName` | the priority Class Name for spiderpoolController | `system-node-critical` | -| `spiderpoolController.affinity` | the affinity of spiderpoolController | `{}` | -| `spiderpoolController.extraArgs` | the additional arguments of spiderpoolController container | `[]` | -| `spiderpoolController.extraEnv` | the additional environment variables of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumes` | the additional volumes of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumeMounts` | the additional hostPath mounts of spiderpoolController container | `[]` | -| `spiderpoolController.podAnnotations` | the additional annotations of spiderpoolController pod | `{}` | -| `spiderpoolController.podLabels` | the additional label of spiderpoolController pod | `{}` | -| `spiderpoolController.securityContext` | the security Context of spiderpoolController pod | `{}` | -| `spiderpoolController.resources.limits.cpu` | the cpu limit of spiderpoolController pod | `500m` | -| `spiderpoolController.resources.limits.memory` | the memory limit of spiderpoolController pod | `1024Mi` | -| `spiderpoolController.resources.requests.cpu` | the cpu requests of spiderpoolController pod | `100m` | -| `spiderpoolController.resources.requests.memory` | the memory requests of spiderpoolController pod | `128Mi` | -| `spiderpoolController.podDisruptionBudget.enabled` | enable podDisruptionBudget for spiderpoolController pod | `false` | -| `spiderpoolController.podDisruptionBudget.minAvailable` | minimum number/percentage of pods that should remain scheduled. | `1` | -| `spiderpoolController.httpPort` | the http Port for spiderpoolController, for health checking and http service | `5720` | -| `spiderpoolController.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `30` | -| `spiderpoolController.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `2` | -| `spiderpoolController.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `6` | -| `spiderpoolController.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `3` | -| `spiderpoolController.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.webhookPort` | the http port for spiderpoolController webhook | `5722` | -| `spiderpoolController.prometheus.enabled` | enable spiderpool Controller to collect metrics | `false` | -| `spiderpoolController.prometheus.enabledDebugMetric` | enable spiderpool Controller to collect debug level metrics | `false` | -| `spiderpoolController.prometheus.port` | the metrics port of spiderpool Controller | `5721` | -| `spiderpoolController.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.labels` | the additional label of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolController serviceMonitor's scraping action | `10s` | -| `spiderpoolController.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.labels` | the additional label of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts` | the additional rule of spiderpoolController prometheusRule | `true` | -| `spiderpoolController.debug.logLevel` | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] | `info` | -| `spiderpoolController.debug.gopsPort` | the gops port of spiderpool Controller | `5724` | -| `spiderpoolController.tls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `spiderpoolController.tls.secretName` | the secret name for storing TLS certificates | `spiderpool-controller-server-certs` | -| `spiderpoolController.tls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `365` | -| `spiderpoolController.tls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `spiderpoolController.tls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `spiderpoolController.tls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `spiderpoolController.tls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `spiderpoolController.tls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `spiderpoolController.tls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | - -### spiderpoolInit parameters - -| Name | Description | Value | -| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -| `spiderpoolInit.name` | the init job for installing default spiderippool | `spiderpool-init` | -| `spiderpoolInit.binName` | the binName name of spiderpoolInit | `/usr/bin/spiderpool-init` | -| `spiderpoolInit.hostnetwork` | enable hostnetwork mode of spiderpoolInit pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `spiderpoolInit.image.registry` | the image registry of spiderpoolInit | `ghcr.io` | -| `spiderpoolInit.image.repository` | the image repository of spiderpoolInit | `spidernet-io/spiderpool/spiderpool-controller` | -| `spiderpoolInit.image.pullPolicy` | the image pullPolicy of spiderpoolInit | `IfNotPresent` | -| `spiderpoolInit.image.digest` | the image digest of spiderpoolInit, which takes preference over tag | `""` | -| `spiderpoolInit.image.tag` | the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. | `""` | -| `spiderpoolInit.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolInit | `[]` | -| `spiderpoolInit.priorityClassName` | the priority Class Name for spiderpoolInit | `system-node-critical` | -| `spiderpoolInit.affinity` | the affinity of spiderpoolInit | `{}` | -| `spiderpoolInit.extraArgs` | the additional arguments of spiderpoolInit container | `[]` | -| `spiderpoolInit.resources.limits.cpu` | the cpu limit of spiderpoolInit pod | `200m` | -| `spiderpoolInit.resources.limits.memory` | the memory limit of spiderpoolInit pod | `256Mi` | -| `spiderpoolInit.resources.requests.cpu` | the cpu requests of spiderpoolInit pod | `100m` | -| `spiderpoolInit.resources.requests.memory` | the memory requests of spiderpoolInit pod | `128Mi` | -| `spiderpoolInit.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpool-init health checking | `30` | -| `spiderpoolInit.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpool-init health checking | `10` | -| `spiderpoolInit.extraEnv` | the additional environment variables of spiderpoolInit container | `[]` | -| `spiderpoolInit.securityContext` | the security Context of spiderpoolInit pod | `{}` | -| `spiderpoolInit.podAnnotations` | the additional annotations of spiderpoolInit pod | `{}` | -| `spiderpoolInit.podLabels` | the additional label of spiderpoolInit pod | `{}` | -| `spiderpoolInit.serviceAccount.annotations` | the annotations of spiderpoolInit service account | `{}` | - -### sriov network operator parameters - -| Name | Description | Value | -| ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -| `sriov.install` | install sriov network operator | `false` | -| `sriov.name` | the name of sriov network operator | `spiderpool-sriov-operator` | -| `sriov.affinity` | the affinity | `{}` | -| `sriov.hostnetwork` | enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `sriov.replicas` | the replicas number | `1` | -| `sriov.resourcePrefix` | the resource prefix | `spidernet.io` | -| `sriov.priorityClassName` | the priority Class Name | `system-node-critical` | -| `sriov.enableAdmissionController` | enable Admission Controller | `false` | -| `sriov.resources.limits.cpu` | the cpu limit | `300m` | -| `sriov.resources.limits.memory` | the memory limit | `300Mi` | -| `sriov.resources.requests.cpu` | the cpu requests | `100m` | -| `sriov.resources.requests.memory` | the memory requests | `128Mi` | -| `sriov.image.registry` | registry for all images | `ghcr.io` | -| `sriov.image.pullPolicy` | the image pullPolicy for all images | `IfNotPresent` | -| `sriov.image.imagePullSecrets` | the image imagePullSecrets for all images | `[]` | -| `sriov.image.operator.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator` | -| `sriov.image.operator.tag` | the image tag | `v1.2.0` | -| `sriov.image.sriovConfigDaemon.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-config-daemon` | -| `sriov.image.sriovConfigDaemon.tag` | the image tag | `v1.2.0` | -| `sriov.image.sriovCni.repository` | the image repository | `k8snetworkplumbingwg/sriov-cni` | -| `sriov.image.sriovCni.tag` | the image tag | `v2.7.0` | -| `sriov.image.ibSriovCni.repository` | the image repository | `k8snetworkplumbingwg/ib-sriov-cni` | -| `sriov.image.ibSriovCni.tag` | the image tag | `v1.0.2` | -| `sriov.image.sriovDevicePlugin.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-device-plugin` | -| `sriov.image.sriovDevicePlugin.tag` | the image tag | `v3.5.1` | -| `sriov.image.resourcesInjector.repository` | the image repository | `k8snetworkplumbingwg/network-resources-injector` | -| `sriov.image.resourcesInjector.tag` | the image tag | `v1.5` | -| `sriov.image.webhook.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-webhook` | -| `sriov.image.webhook.tag` | the image tag | `v1.2.0` | diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/values.yaml b/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/values.yaml deleted file mode 100644 index 374afe374..000000000 --- a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/values.yaml +++ /dev/null @@ -1,939 +0,0 @@ -# Default values for spiderpool. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -## @section Global parameters -## -global: - ## @param global.imageRegistryOverride Global image registry for all images, which is used for offline environment - imageRegistryOverride: "" - - ## @param global.nameOverride instance name - ## default spiderpool - nameOverride: "" - - ## @param global.clusterDnsDomain cluster dns domain - clusterDnsDomain: "cluster.local" - - ## @param global.commonAnnotations Annotations to add to all deployed objects - commonAnnotations: {} - - ## @param global.commonLabels Labels to add to all deployed objects - commonLabels: {} - # label1: v1 - # labele: v2 - - ## @param global.cniBinHostPath the host path of the IPAM plugin directory. - cniBinHostPath: /opt/cni/bin - - ## @param global.cniConfHostPath the host path of the cni config directory - cniConfHostPath: /etc/cni/net.d - - ## @param global.ipamUNIXSocketHostPath the host path of unix domain socket for ipam plugin - ipamUNIXSocketHostPath: /var/run/spidernet/spiderpool.sock - - ## @param global.configName the configmap name - configName: "spiderpool-conf" - - ## @param global.ciliumConfigMap the cilium's configMap, default is kube-system/cilium-config - ciliumConfigMap: kube-system/cilium-config - -## @section ipam parameters -## -ipam: - ## @param ipam.enableIPv4 enable ipv4 - enableIPv4: true - - ## @param ipam.enableIPv6 enable ipv6 - enableIPv6: true - - ## @param ipam.enableStatefulSet the network mode - enableStatefulSet: true - - ## @param ipam.enableKubevirtStaticIP the feature to keep kubevirt vm pod static IP - enableKubevirtStaticIP: true - - ## @param ipam.enableSpiderSubnet SpiderSubnet feature gate. - enableSpiderSubnet: true - - ## @param ipam.subnetDefaultFlexibleIPNumber the default flexible IP number of SpiderSubnet feature auto-created IPPools - subnetDefaultFlexibleIPNumber: 1 - - gc: - ## @param ipam.gc.enabled enable retrieve IP in spiderippool CR - enabled: true - - gcAll: - ## @param ipam.gc.gcAll.intervalInSecond the gc all interval duration - intervalInSecond: 600 - - GcDeletingTimeOutPod: - ## @param ipam.gc.GcDeletingTimeOutPod.enabled enable retrieve IP for the pod who times out of deleting graceful period - enabled: true - - ## @param ipam.gc.GcDeletingTimeOutPod.delay the gc delay seconds after the pod times out of deleting graceful period - delay: 0 - -## @section grafanaDashboard parameters -## -grafanaDashboard: - ## @param grafanaDashboard.install install grafanaDashboard for spiderpool. This requires the grafana operator CRDs to be available - install: false - - ## @param grafanaDashboard.namespace the grafanaDashboard namespace. Default to the namespace of helm instance - namespace: "" - - ## @param grafanaDashboard.annotations the additional annotations of spiderpool grafanaDashboard - annotations: {} - - ## @param grafanaDashboard.labels the additional label of spiderpool grafanaDashboard - labels: {} - -## @section coordinator parameters -## -coordinator: - ## @param coordinator.enabled enable SpiderCoordinator - enabled: true - - ## @param coordinator.name the name of the default SpiderCoordinator CR - name: "default" - - ## @param coordinator.mode optional network mode, ["auto","underlay", "overlay", "disabled"] - mode: "auto" - - ## @param coordinator.podCIDRType Pod CIDR type that should be collected, [ "auto", "cluster", "calico", "cilium", "none" ] - podCIDRType: "auto" - - ## @param coordinator.detectGateway detect the reachability of the gateway - detectGateway: false - - ## @param coordinator.detectIPConflict detect IP address conflicts - detectIPConflict: false - - ## @param coordinator.tunePodRoutes tune Pod routes - tunePodRoutes: true - - ## @param coordinator.hijackCIDR Additional subnets that need to be hijacked to the host forward, the default link-local range "169.254.0.0/16" is used for NodeLocal DNS - hijackCIDR: ["169.254.0.0/16"] - -## @section rdma parameters -## -rdma: - rdmaSharedDevicePlugin: - ## @param rdma.rdmaSharedDevicePlugin.install install rdma shared device plugin for macvlan cni - install: false - - ## @param rdma.rdmaSharedDevicePlugin.name the name of rdma shared device plugin - name: "spiderpool-rdma-shared-device-plugin" - - image: - ## @param rdma.rdmaSharedDevicePlugin.image.registry the image registry of rdma shared device plugin - registry: ghcr.io - - ## @param rdma.rdmaSharedDevicePlugin.image.repository the image repository of rdma shared device plugin - repository: mellanox/k8s-rdma-shared-dev-plugin - - ## @param rdma.rdmaSharedDevicePlugin.image.pullPolicy the image pullPolicy of rdma shared device plugin - pullPolicy: IfNotPresent - - ## @param rdma.rdmaSharedDevicePlugin.image.digest the image digest of rdma shared device plugin - digest: "" - - ## @param rdma.rdmaSharedDevicePlugin.image.tag the image tag of rdma shared device plugin - tag: latest - - ## @param rdma.rdmaSharedDevicePlugin.image.imagePullSecrets the image imagePullSecrets of rdma shared device plugin - imagePullSecrets: [] - # - name: "image-pull-secret" - - ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.rollingUpdate.maxUnavailable - ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.type - updateStrategy: - rollingUpdate: - maxUnavailable: 2 - type: RollingUpdate - - ## @skip rdma.rdmaSharedDevicePlugin.tolerations - tolerations: - - operator: Exists - - ## @param rdma.rdmaSharedDevicePlugin.podAnnotations the additional annotations - podAnnotations: {} - - ## @param rdma.rdmaSharedDevicePlugin.podLabels the additional label - podLabels: {} - - resources: - limits: - ## @param rdma.rdmaSharedDevicePlugin.resources.limits.cpu the cpu limit - cpu: 300m - ## @param rdma.rdmaSharedDevicePlugin.resources.limits.memory the memory limit - memory: 300Mi - requests: - ## @param rdma.rdmaSharedDevicePlugin.resources.requests.cpu the cpu requests - cpu: 100m - ## @param rdma.rdmaSharedDevicePlugin.resources.requests.memory the memory requests - memory: 50Mi - - deviceConfig: - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval periodic Update Interval - periodicUpdateInterval: 300 - - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix resource prefix - resourcePrefix: "spidernet.io" - - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName resource Name - resourceName: "hca_shared_devices" - - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax rdma Hca Max - rdmaHcaMax: 500 - - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.vendors rdma device vendors, default to mellanox device - vendors: "15b3" - - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs rdma device IDs, default to mellanox device - deviceIDs: "1017" - -## @section multus parameters -## -multus: - ## @param multus.enableMultusConfig enable SpiderMultusConfig - enableMultusConfig: true - - multusCNI: - ## @param multus.multusCNI.install enable install multus-CNI - install: true - - ## @param multus.multusCNI.uninstall enable remove multus-CNI configuration and binary files on multus-ds pod shutdown. Enable this if you uninstall multus from your cluster. Disable this in the multus upgrade phase to prevent CNI configuration file from being removed, which may cause pods start failure - uninstall: false - - ## @param multus.multusCNI.name the name of spiderpool multus - name: "spiderpool-multus" - - image: - ## @param multus.multusCNI.image.registry the multus-CNI image registry - registry: ghcr.io - - ## @param multus.multusCNI.image.repository the multus-CNI image repository - repository: k8snetworkplumbingwg/multus-cni - - ## @param multus.multusCNI.image.pullPolicy the multus-CNI image pullPolicy - pullPolicy: IfNotPresent - - ## @param multus.multusCNI.image.digest the multus-CNI image digest - digest: "" - - ## @param multus.multusCNI.image.tag the multus-CNI image tag - tag: v3.9.3 - # tag: v4.0.2-thick - - ## @param multus.multusCNI.image.imagePullSecrets the multus-CNI image imagePullSecrets - imagePullSecrets: [] - # - name: "image-pull-secret" - - ## @param multus.multusCNI.defaultCniCRName if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool - defaultCniCRName: "" - - securityContext: - ## @param multus.multusCNI.securityContext.privileged the securityContext privileged of multus-CNI daemonset pod - privileged: true - - ## @param multus.multusCNI.extraEnv the additional environment variables of multus-CNI daemonset pod container - extraEnv: [] - - ## @param multus.multusCNI.extraVolumes the additional volumes of multus-CNI daemonset pod container - extraVolumes: [] - # - name: test-val - # mountPath: /host/tmp - - ## @param multus.multusCNI.extraVolumeMounts the additional hostPath mounts of multus-CNI daemonset pod container - extraVolumeMounts: [] - # - name: test-val - # mountPath: /tmp - - log: - ## @param multus.multusCNI.log.logLevel the multus-CNI daemonset pod log level - logLevel: "debug" - - ## @param multus.multusCNI.log.logFile the multus-CNI daemonset pod log file - logFile: "/var/log/multus.log" - -## @section plugins parameters -## -plugins: - ## @param plugins.installCNI install all cni plugins to each node - installCNI: false - - ## @param plugins.installRdmaCNI install rdma cni used to isolate rdma device for sriov cni - installRdmaCNI: true - - ## @param plugins.installOvsCNI install ovs cni to each node - installOvsCNI: true - - ## @param plugins.installibSriovCNI install ib-sriov cni to each node - installibSriovCNI: true - - ## @param plugins.installIpoibCNI install ipoib cni to each node - installIpoibCNI: true - - image: - ## @param plugins.image.registry the image registry of plugins - registry: ghcr.io - - ## @param plugins.image.repository the image repository of plugins - repository: spidernet-io/spiderpool/spiderpool-plugins - - ## @param plugins.image.pullPolicy the image pullPolicy of plugins - pullPolicy: IfNotPresent - - ## @param plugins.image.digest the image digest of plugins - digest: "" - - ## @param plugins.image.tag the image tag of plugins - tag: v0.9.2 - - ## @param plugins.image.imagePullSecrets the image imagePullSecrets of plugins - imagePullSecrets: [] - -## @section clusterDefaultPool parameters -## -clusterDefaultPool: - ## @param clusterDefaultPool.installIPv4IPPool install ipv4 spiderpool instance. It is required to set ipam.enableIPv4=true - installIPv4IPPool: false - - ## @param clusterDefaultPool.installIPv6IPPool install ipv6 spiderpool instance. It is required to set ipam.enableIPv6=true - installIPv6IPPool: false - - ## @param clusterDefaultPool.ipv4IPPoolName the name of ipv4 spiderpool instance - ipv4IPPoolName: "default-v4-ippool" - - ## @param clusterDefaultPool.ipv6IPPoolName the name of ipv6 spiderpool instance - ipv6IPPoolName: "default-v6-ippool" - - ## @param clusterDefaultPool.ipv4SubnetName the name of ipv4 spidersubnet instance - ipv4SubnetName: "default-v4-subnet" - - ## @param clusterDefaultPool.ipv6SubnetName the name of ipv6 spidersubnet instance - ipv6SubnetName: "default-v6-subnet" - - ## @param clusterDefaultPool.ipv4Subnet the subnet of ipv4 spiderpool instance - ipv4Subnet: "" - - ## @param clusterDefaultPool.ipv6Subnet the subnet of ipv6 spiderpool instance - ipv6Subnet: "" - - ## @param clusterDefaultPool.ipv4IPRanges the available IP of ipv4 spiderpool instance - ipv4IPRanges: [] - - ## @param clusterDefaultPool.ipv6IPRanges the available IP of ipv6 spiderpool instance - ipv6IPRanges: [] - - ## @param clusterDefaultPool.ipv4Gateway the gateway of ipv4 subnet - ipv4Gateway: "" - - ## @param clusterDefaultPool.ipv6Gateway the gateway of ipv6 subnet - ipv6Gateway: "" - -## @section spiderpoolAgent parameters -## -spiderpoolAgent: - ## @param spiderpoolAgent.name the spiderpoolAgent name - name: "spiderpool-agent" - - ## @param spiderpoolAgent.binName the binName name of spiderpoolAgent - binName: "/usr/bin/spiderpool-agent" - - image: - ## @param spiderpoolAgent.image.registry the image registry of spiderpoolAgent - registry: ghcr.io - - ## @param spiderpoolAgent.image.repository the image repository of spiderpoolAgent - repository: spidernet-io/spiderpool/spiderpool-agent - - ## @param spiderpoolAgent.image.pullPolicy the image pullPolicy of spiderpoolAgent - pullPolicy: IfNotPresent - - ## @param spiderpoolAgent.image.digest the image digest of spiderpoolAgent, which takes preference over tag - digest: "" - - ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - - ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent - imagePullSecrets: [] - # - name: "image-pull-secret" - - ## @skip spiderpoolAgent.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - - serviceAccount: - ## @param spiderpoolAgent.serviceAccount.create create the service account for the spiderpoolAgent - create: true - ## @param spiderpoolAgent.serviceAccount.annotations the annotations of spiderpoolAgent service account - annotations: {} - - ## @skip spiderpoolAgent.updateStrategy.rollingUpdate.maxUnavailable - ## @skip spiderpoolAgent.updateStrategy.type - updateStrategy: - rollingUpdate: - maxUnavailable: 2 - type: RollingUpdate - - service: - ## @param spiderpoolAgent.service.annotations the annotations for spiderpoolAgent service - annotations: {} - ## @param spiderpoolAgent.service.type the type for spiderpoolAgent service - type: ClusterIP - - ## @skip spiderpoolAgent.tolerations - tolerations: - - operator: Exists - - ## @param spiderpoolAgent.priorityClassName the priority Class Name for spiderpoolAgent - priorityClassName: "system-node-critical" - - ## @param spiderpoolAgent.affinity the affinity of spiderpoolAgent - affinity: {} - - ## @param spiderpoolAgent.extraArgs the additional arguments of spiderpoolAgent container - extraArgs: [] - - ## @param spiderpoolAgent.extraEnv the additional environment variables of spiderpoolAgent container - extraEnv: [] - - ## @param spiderpoolAgent.extraVolumes the additional volumes of spiderpoolAgent container - extraVolumes: [] - - ## @param spiderpoolAgent.extraVolumeMounts the additional hostPath mounts of spiderpoolAgent container - extraVolumeMounts: [] - - ## @param spiderpoolAgent.podAnnotations the additional annotations of spiderpoolAgent pod - podAnnotations: {} - - ## @param spiderpoolAgent.podLabels the additional label of spiderpoolAgent pod - podLabels: {} - - resources: - limits: - ## @param spiderpoolAgent.resources.limits.cpu the cpu limit of spiderpoolAgent pod - cpu: 1000m - ## @param spiderpoolAgent.resources.limits.memory the memory limit of spiderpoolAgent pod - memory: 1024Mi - requests: - ## @param spiderpoolAgent.resources.requests.cpu the cpu requests of spiderpoolAgent pod - cpu: 100m - ## @param spiderpoolAgent.resources.requests.memory the memory requests of spiderpoolAgent pod - memory: 128Mi - - ## @param spiderpoolAgent.securityContext the security Context of spiderpoolAgent pod - securityContext: {} - # runAsUser: 0 - - ## @param spiderpoolAgent.httpPort the http Port for spiderpoolAgent, for health checking - httpPort: 5710 - - healthChecking: - startupProbe: - ## @param spiderpoolAgent.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 60 - ## @param spiderpoolAgent.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 2 - - livenessProbe: - ## @param spiderpoolAgent.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 6 - ## @param spiderpoolAgent.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 10 - - readinessProbe: - ## @param spiderpoolAgent.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 3 - ## @param spiderpoolAgent.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 10 - - prometheus: - ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics - enabled: false - - ## @param spiderpoolAgent.prometheus.enabledDebugMetric enable spiderpool agent to collect debug level metrics - enabledDebugMetric: false - - ## @param spiderpoolAgent.prometheus.port the metrics port of spiderpool agent - port: 5711 - - serviceMonitor: - ## @param spiderpoolAgent.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available - install: false - - ## @param spiderpoolAgent.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance - namespace: "" - - ## @param spiderpoolAgent.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolAgent serviceMonitor - annotations: {} - - ## @param spiderpoolAgent.prometheus.serviceMonitor.labels the additional label of spiderpoolAgent serviceMonitor - labels: {} - - ## @param spiderpoolAgent.prometheus.serviceMonitor.interval represents the interval of spiderpoolAgent serviceMonitor's scraping action - interval: "10s" - - prometheusRule: - ## @param spiderpoolAgent.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available - install: false - - ## @param spiderpoolAgent.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance - namespace: "" - - ## @param spiderpoolAgent.prometheus.prometheusRule.annotations the additional annotations of spiderpoolAgent prometheusRule - annotations: {} - - ## @param spiderpoolAgent.prometheus.prometheusRule.labels the additional label of spiderpoolAgent prometheusRule - labels: {} - - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationFailure the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMAllocationFailure: true - - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationOverTime the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMAllocationOverTime: true - - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMHighAllocationDurations the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMHighAllocationDurations: true - - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseFailure the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMReleaseFailure: true - - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseOverTime the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMReleaseOverTime: true - - debug: - ## @param spiderpoolAgent.debug.logLevel the log level of spiderpool agent [debug, info, warn, error, fatal, panic] - logLevel: "info" - ## @param spiderpoolAgent.debug.gopsPort the gops port of spiderpool agent - gopsPort: 5712 - -## @section spiderpoolController parameters -## -spiderpoolController: - ## @param spiderpoolController.name the spiderpoolController name - name: "spiderpool-controller" - - ## @param spiderpoolController.replicas the replicas number of spiderpoolController pod - replicas: 1 - - ## @param spiderpoolController.binName the binName name of spiderpoolController - binName: "/usr/bin/spiderpool-controller" - - ## @param spiderpoolController.hostnetwork enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true - - image: - ## @param spiderpoolController.image.registry the image registry of spiderpoolController - registry: ghcr.io - - ## @param spiderpoolController.image.repository the image repository of spiderpoolController - repository: spidernet-io/spiderpool/spiderpool-controller - - ## @param spiderpoolController.image.pullPolicy the image pullPolicy of spiderpoolController - pullPolicy: IfNotPresent - - ## @param spiderpoolController.image.digest the image digest of spiderpoolController, which takes preference over tag - digest: "" - - ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - - ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController - imagePullSecrets: [] - # - name: "image-pull-secret" - - ## @skip spiderpoolController.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - - serviceAccount: - ## @param spiderpoolController.serviceAccount.create create the service account for the spiderpoolController - create: true - ## @param spiderpoolController.serviceAccount.annotations the annotations of spiderpoolController service account - annotations: {} - - service: - ## @param spiderpoolController.service.annotations the annotations for spiderpoolController service - annotations: {} - ## @param spiderpoolController.service.type the type for spiderpoolController service - type: ClusterIP - - ## @skip spiderpoolController.tolerations - tolerations: - - operator: Exists - - ## @param spiderpoolController.priorityClassName the priority Class Name for spiderpoolController - priorityClassName: "system-node-critical" - - ## @param spiderpoolController.affinity the affinity of spiderpoolController - affinity: {} - - ## @param spiderpoolController.extraArgs the additional arguments of spiderpoolController container - extraArgs: [] - - ## @param spiderpoolController.extraEnv the additional environment variables of spiderpoolController container - extraEnv: [] - - ## @param spiderpoolController.extraVolumes the additional volumes of spiderpoolController container - extraVolumes: [] - # - name: test-val - # mountPath: /host/tmp - - ## @param spiderpoolController.extraVolumeMounts the additional hostPath mounts of spiderpoolController container - extraVolumeMounts: [] - # - name: test-val - # mountPath: /tmp - - ## @param spiderpoolController.podAnnotations the additional annotations of spiderpoolController pod - podAnnotations: {} - # test: 100 - - ## @param spiderpoolController.podLabels the additional label of spiderpoolController pod - podLabels: {} - - ## @param spiderpoolController.securityContext the security Context of spiderpoolController pod - securityContext: {} - # runAsUser: 0 - - resources: - limits: - ## @param spiderpoolController.resources.limits.cpu the cpu limit of spiderpoolController pod - cpu: 500m - ## @param spiderpoolController.resources.limits.memory the memory limit of spiderpoolController pod - memory: 1024Mi - requests: - ## @param spiderpoolController.resources.requests.cpu the cpu requests of spiderpoolController pod - cpu: 100m - ## @param spiderpoolController.resources.requests.memory the memory requests of spiderpoolController pod - memory: 128Mi - - podDisruptionBudget: - ## @param spiderpoolController.podDisruptionBudget.enabled enable podDisruptionBudget for spiderpoolController pod - enabled: false - - ## @param spiderpoolController.podDisruptionBudget.minAvailable minimum number/percentage of pods that should remain scheduled. - minAvailable: 1 - - ## @param spiderpoolController.httpPort the http Port for spiderpoolController, for health checking and http service - httpPort: 5720 - - healthChecking: - startupProbe: - ## @param spiderpoolController.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 30 - - ## @param spiderpoolController.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 2 - - livenessProbe: - ## @param spiderpoolController.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 6 - - ## @param spiderpoolController.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 10 - - readinessProbe: - ## @param spiderpoolController.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 3 - - ## @param spiderpoolController.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 10 - - ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook - webhookPort: 5722 - - prometheus: - ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics - enabled: false - - ## @param spiderpoolController.prometheus.enabledDebugMetric enable spiderpool Controller to collect debug level metrics - enabledDebugMetric: false - - ## @param spiderpoolController.prometheus.port the metrics port of spiderpool Controller - port: 5721 - - serviceMonitor: - ## @param spiderpoolController.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available - install: false - - ## @param spiderpoolController.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance - namespace: "" - - ## @param spiderpoolController.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolController serviceMonitor - annotations: {} - - ## @param spiderpoolController.prometheus.serviceMonitor.labels the additional label of spiderpoolController serviceMonitor - labels: {} - - ## @param spiderpoolController.prometheus.serviceMonitor.interval represents the interval of spiderpoolController serviceMonitor's scraping action - interval: "10s" - - prometheusRule: - ## @param spiderpoolController.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available - install: false - - ## @param spiderpoolController.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance - namespace: "" - - ## @param spiderpoolController.prometheus.prometheusRule.annotations the additional annotations of spiderpoolController prometheusRule - annotations: {} - - ## @param spiderpoolController.prometheus.prometheusRule.labels the additional label of spiderpoolController prometheusRule - labels: {} - - ## @param spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts the additional rule of spiderpoolController prometheusRule - enableWarningIPGCFailureCounts: true - - debug: - ## @param spiderpoolController.debug.logLevel the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] - logLevel: "info" - - ## @param spiderpoolController.debug.gopsPort the gops port of spiderpool Controller - gopsPort: 5724 - - ## TLS configuration for webhook - tls: - ## @param spiderpoolController.tls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - - ## @param spiderpoolController.tls.secretName the secret name for storing TLS certificates - secretName: "spiderpool-controller-server-certs" - - ## for certmanager method - certmanager: - ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 365 - - ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - - ## @param spiderpoolController.tls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - - ## @param spiderpoolController.tls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - - ## for provided method - provided: - ## @param spiderpoolController.tls.provided.tlsCert encoded tls certificate for provided method - ## @param spiderpoolController.tls.provided.tlsKey encoded tls key for provided method - ## @param spiderpoolController.tls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - - ## for auto method - auto: - ## @param spiderpoolController.tls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - - ## @param spiderpoolController.tls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - - ## @param spiderpoolController.tls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - - ## @param spiderpoolController.tls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] - -## @section spiderpoolInit parameters -## -spiderpoolInit: - ## @param spiderpoolInit.name the init job for installing default spiderippool - name: "spiderpool-init" - - ## @param spiderpoolInit.binName the binName name of spiderpoolInit - binName: "/usr/bin/spiderpool-init" - - ## @param spiderpoolInit.hostnetwork enable hostnetwork mode of spiderpoolInit pod. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true - - image: - ## @param spiderpoolInit.image.registry the image registry of spiderpoolInit - registry: ghcr.io - - ## @param spiderpoolInit.image.repository the image repository of spiderpoolInit - repository: spidernet-io/spiderpool/spiderpool-controller - - ## @param spiderpoolInit.image.pullPolicy the image pullPolicy of spiderpoolInit - pullPolicy: IfNotPresent - - ## @param spiderpoolInit.image.digest the image digest of spiderpoolInit, which takes preference over tag - digest: "" - - ## @param spiderpoolInit.image.tag the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - - ## @param spiderpoolInit.image.imagePullSecrets the image imagePullSecrets of spiderpoolInit - imagePullSecrets: [] - # - name: "image-pull-secret" - - ## @param spiderpoolInit.priorityClassName the priority Class Name for spiderpoolInit - priorityClassName: "system-node-critical" - - ## @skip spiderpoolInit.tolerations - tolerations: - - operator: Exists - - ## @skip spiderpoolInit.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - - ## @param spiderpoolInit.affinity the affinity of spiderpoolInit - affinity: {} - - ## @param spiderpoolInit.extraArgs the additional arguments of spiderpoolInit container - extraArgs: [] - - resources: - limits: - ## @param spiderpoolInit.resources.limits.cpu the cpu limit of spiderpoolInit pod - cpu: 200m - ## @param spiderpoolInit.resources.limits.memory the memory limit of spiderpoolInit pod - memory: 256Mi - requests: - ## @param spiderpoolInit.resources.requests.cpu the cpu requests of spiderpoolInit pod - cpu: 100m - ## @param spiderpoolInit.resources.requests.memory the memory requests of spiderpoolInit pod - memory: 128Mi - - readinessProbe: - ## @param spiderpoolInit.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpool-init health checking - failureThreshold: 30 - - ## @param spiderpoolInit.readinessProbe.periodSeconds the period seconds of startup probe for spiderpool-init health checking - periodSeconds: 10 - - ## @param spiderpoolInit.extraEnv the additional environment variables of spiderpoolInit container - extraEnv: [] - - ## @param spiderpoolInit.securityContext the security Context of spiderpoolInit pod - securityContext: {} - # runAsUser: 0 - - ## @param spiderpoolInit.podAnnotations the additional annotations of spiderpoolInit pod - podAnnotations: {} - - ## @param spiderpoolInit.podLabels the additional label of spiderpoolInit pod - podLabels: {} - - serviceAccount: - ## @param spiderpoolInit.serviceAccount.annotations the annotations of spiderpoolInit service account - annotations: {} - -## @section sriov network operator parameters -## -sriov: - ## @param sriov.install install sriov network operator - install: false - - ## @param sriov.name the name of sriov network operator - name: "spiderpool-sriov-operator" - - ## @skip sriov.tolerations - tolerations: - - operator: Exists - - ## @skip sriov.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - - ## @param sriov.affinity the affinity - affinity: {} - - ## @param sriov.hostnetwork enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true - - ## @param sriov.replicas the replicas number - replicas: 1 - - ## @param sriov.resourcePrefix the resource prefix - resourcePrefix: "spidernet.io" - - ## @param sriov.priorityClassName the priority Class Name - priorityClassName: "system-node-critical" - - ## @param sriov.enableAdmissionController enable Admission Controller - enableAdmissionController: false - - resources: - limits: - ## @param sriov.resources.limits.cpu the cpu limit - cpu: 300m - ## @param sriov.resources.limits.memory the memory limit - memory: 300Mi - requests: - ## @param sriov.resources.requests.cpu the cpu requests - cpu: 100m - ## @param sriov.resources.requests.memory the memory requests - memory: 128Mi - - image: - ## @param sriov.image.registry registry for all images - registry: ghcr.io - - ## @param sriov.image.pullPolicy the image pullPolicy for all images - pullPolicy: IfNotPresent - - ## @param sriov.image.imagePullSecrets the image imagePullSecrets for all images - imagePullSecrets: [] - # - name: "image-pull-secret" - - operator: - ## @param sriov.image.operator.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator - - ## @param sriov.image.operator.tag the image tag - tag: v1.2.0 - - sriovConfigDaemon: - ## @param sriov.image.sriovConfigDaemon.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator-config-daemon - - ## @param sriov.image.sriovConfigDaemon.tag the image tag - tag: v1.2.0 - - sriovCni: - ## @param sriov.image.sriovCni.repository the image repository - repository: k8snetworkplumbingwg/sriov-cni - - ## @param sriov.image.sriovCni.tag the image tag - tag: v2.7.0 - - ibSriovCni: - ## @param sriov.image.ibSriovCni.repository the image repository - repository: k8snetworkplumbingwg/ib-sriov-cni - - ## @param sriov.image.ibSriovCni.tag the image tag - tag: v1.0.2 - - sriovDevicePlugin: - ## @param sriov.image.sriovDevicePlugin.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-device-plugin - - ## @param sriov.image.sriovDevicePlugin.tag the image tag - tag: v3.5.1 - - resourcesInjector: - ## @param sriov.image.resourcesInjector.repository the image repository - repository: k8snetworkplumbingwg/network-resources-injector - - ## @param sriov.image.resourcesInjector.tag the image tag - tag: v1.5 - - webhook: - ## @param sriov.image.webhook.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator-webhook - - ## @param sriov.image.webhook.tag the image tag - tag: v1.2.0 diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml b/build/helm/edgemesh/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml similarity index 94% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml index 0aa53ae45..92072ffbb 100644 --- a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml +++ b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidercoordinators.yaml @@ -39,18 +39,23 @@ spec: description: CoordinationSpec defines the desired state of SpiderCoordinator. properties: detectGateway: + default: false type: boolean detectIPConflict: + default: false type: boolean hijackCIDR: items: type: string type: array hostRPFilter: + default: 0 type: integer hostRuleTable: + default: 500 type: integer mode: + default: auto enum: - auto - underlay @@ -74,8 +79,10 @@ spec: podMACPrefix: type: string tunePodRoutes: + default: true type: boolean txQueueLen: + default: 0 type: integer type: object status: diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderendpoints.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderendpoints.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderendpoints.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderendpoints.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml similarity index 97% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml index 51d4169f3..c0676d854 100644 --- a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml +++ b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml @@ -52,18 +52,23 @@ spec: description: CoordinationSpec defines the desired state of SpiderCoordinator. properties: detectGateway: + default: false type: boolean detectIPConflict: + default: false type: boolean hijackCIDR: items: type: string type: array hostRPFilter: + default: 0 type: integer hostRuleTable: + default: 500 type: integer mode: + default: auto enum: - auto - underlay @@ -87,8 +92,10 @@ spec: podMACPrefix: type: string tunePodRoutes: + default: true type: boolean txQueueLen: + default: 0 type: integer type: object customCNI: diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderreservedips.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderreservedips.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderreservedips.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spiderreservedips.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidersubnets.yaml b/build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidersubnets.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidersubnets.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/spiderpool.spidernet.io_spidersubnets.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml b/build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml rename to build/helm/edgemesh/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/NOTES.txt b/build/helm/edgemesh/charts/spiderpool/templates/NOTES.txt similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/NOTES.txt rename to build/helm/edgemesh/charts/spiderpool/templates/NOTES.txt diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/_helpers.tpl b/build/helm/edgemesh/charts/spiderpool/templates/_helpers.tpl similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/_helpers.tpl rename to build/helm/edgemesh/charts/spiderpool/templates/_helpers.tpl diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/configmap.yaml b/build/helm/edgemesh/charts/spiderpool/templates/configmap.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/configmap.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/configmap.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/daemonset.yaml b/build/helm/edgemesh/charts/spiderpool/templates/daemonset.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/daemonset.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/daemonset.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/deployment.yaml b/build/helm/edgemesh/charts/spiderpool/templates/deployment.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/deployment.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/deployment.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/grafanaDashboard.yaml b/build/helm/edgemesh/charts/spiderpool/templates/grafanaDashboard.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/grafanaDashboard.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/grafanaDashboard.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/pdb.yaml b/build/helm/edgemesh/charts/spiderpool/templates/pdb.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/pdb.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/pdb.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/pod.yaml b/build/helm/edgemesh/charts/spiderpool/templates/pod.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/pod.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/pod.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/prometheusrule.yaml b/build/helm/edgemesh/charts/spiderpool/templates/prometheusrule.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/prometheusrule.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/prometheusrule.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml b/build/helm/edgemesh/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/role.yaml b/build/helm/edgemesh/charts/spiderpool/templates/role.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/role.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/role.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/role_binding.yaml b/build/helm/edgemesh/charts/spiderpool/templates/role_binding.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/role_binding.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/role_binding.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/service.yaml b/build/helm/edgemesh/charts/spiderpool/templates/service.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/service.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/service.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/serviceaccount.yaml b/build/helm/edgemesh/charts/spiderpool/templates/serviceaccount.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/serviceaccount.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/serviceaccount.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/servicemonitor.yaml b/build/helm/edgemesh/charts/spiderpool/templates/servicemonitor.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/servicemonitor.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/servicemonitor.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrolebinding.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/clusterrolebinding.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrolebinding.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/clusterrolebinding.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/configmap.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/configmap.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/operator.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/operator.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/role.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/role.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/rolebinding.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/rolebinding.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/rolebinding.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/rolebinding.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/serviceaccount.yaml b/build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/serviceaccount.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/sriov-network-operator/serviceaccount.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/sriov-network-operator/serviceaccount.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/tls.yaml b/build/helm/edgemesh/charts/spiderpool/templates/tls.yaml similarity index 100% rename from build/helm/edgemesh/charts/spiderpool/charts/spiderpool/templates/tls.yaml rename to build/helm/edgemesh/charts/spiderpool/templates/tls.yaml diff --git a/build/helm/edgemesh/charts/spiderpool/values.schema.json b/build/helm/edgemesh/charts/spiderpool/values.schema.json deleted file mode 100644 index 2160ea406..000000000 --- a/build/helm/edgemesh/charts/spiderpool/values.schema.json +++ /dev/null @@ -1,439 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft-07/schema", - "type": "object", - "properties": { - "spiderpool": { - "title": "The spiderpool Schema", - "type": "object", - "properties": { - "global": { - "title": "Global Setting", - "type": "object", - "required": [ - "imageRegistryOverride" - ], - "properties": { - "imageRegistryOverride": { - "title": "global image Registry", - "type": "string", - "default": "ghcr.m.daocloud.io", - "examples": [ - "ghcr.m.daocloud.io" - ] - } - } - }, - "spiderpoolAgent": { - "title": "Spiderpool Agent Setting", - "description": "spiderpool agent is a daemonset", - "type": "object", - "properties": { - "image": { - "title": "Spiderpool Agent Image", - "type": "object", - "required": [ - "repository" - ], - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "spidernet-io/spiderpool/spiderpool-agent", - "examples": [ - "spidernet-io/spiderpool/spiderpool-agent" - ] - } - } - } - } - }, - "spiderpoolController": { - "title": "Spiderpool Controller Setting", - "description": "spiderpool controller is a deployment", - "type": "object", - "required": [ - "replicas" - ], - "properties": { - "replicas": { - "title": "replicas number", - "type": "integer", - "default": 1, - "minimum": 1, - "examples": [ - 1 - ] - }, - "image": { - "title": "Spiderpool Controller Image", - "type": "object", - "required": [ - "repository" - ], - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "spidernet-io/spiderpool/spiderpool-controller" - } - } - } - } - }, - "multus": { - "type": "object", - "title": "Multus Setting", - "properties": { - "multusCNI": { - "type": "object", - "required": [ - "install" - ], - "properties": { - "install": { - "type": "boolean", - "title": "Install Multus CNI", - "description": "If you already have multus installed, you can set it to false. Default to true", - "default": true, - "examples": [ - { - "install": true - } - ] - }, - "defaultCniCRName": { - "type": "string", - "title": "Default CNI Name", - "description": "The name of cluster default CNI name. Default is \"\", If this value is empty, spiderpool will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/" - }, - "image": { - "type": "object", - "title": "Multus Image", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/multus-cni" - } - } - } - } - } - } - }, - "sriov": { - "type": "object", - "title": "SriovCNI", - "properties": { - "install": { - "type": "boolean", - "title": "Install Sriov-CNI", - "description": "Install all SR-IOV components on-demand through the SRIOV operator." - }, - "image": { - "type": "object", - "properties": { - "operator": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/sriov-network-operator", - "examples": [ - "k8snetworkplumbingwg/sriov-network-operator" - ] - } - } - }, - "sriovCni": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/sriov-cni", - "examples": [ - "k8snetworkplumbingwg/sriov-cni" - ] - } - } - }, - "sriovDevicePlugin": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/sriov-network-device-plugin", - "examples": [ - "k8snetworkplumbingwg/sriov-network-device-plugin" - ] - } - } - }, - "sriovConfigDaemon": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/sriov-network-operator-config-daemon", - "examples": [ - "k8snetworkplumbingwg/sriov-network-operator-config-daemon" - ] - } - } - }, - "ibSriovCni": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/ib-sriov-cni", - "examples": [ - "k8snetworkplumbingwg/ib-sriov-cni" - ] - } - } - }, - "resourcesInjector": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/network-resources-injector", - "examples": [ - "k8snetworkplumbingwg/network-resources-injector" - ] - } - } - }, - "webhook": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "k8snetworkplumbingwg/sriov-network-operator-webhook", - "examples": [ - "k8snetworkplumbingwg/sriov-network-operator-webhook" - ] - } - } - } - } - } - } - }, - "rdma": { - "type": "object", - "properties": { - "rdmaSharedDevicePlugin": { - "type": "object", - "title": "RdmaSharedDevicePlugin", - "properties": { - "install": { - "type": "boolean", - "title": "Install RdmaSharedDevicePlugin", - "description": "RdmaSharedDevicePlugin can be used with macvlan for RDMA" - }, - "image": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "mellanox/k8s-rdma-shared-dev-plugin", - "examples": [ - "mellanox/k8s-rdma-shared-dev-plugin" - ] - } - } - }, - "deviceConfig": { - "type": "object", - "title": "RdmaSharedDevicePlugin Config", - "properties": { - "resourceName": { - "type": "string", - "default": "hca_shared_devices", - "description": "Endpoint resource name. Should not contain special characters, must be unique in the scope of the resource prefix.", - "examples": [ - "hca_shared_devices" - ] - }, - "vendors": { - "type": "string", - "default": "15b3", - "description": "Target device's vendor Hex code as string, Example: \"15b3\"." - }, - "deviceIDs": { - "type": "string", - "description": "A list of devices IDs to be selected. Examples: \"1017\".", - "default": "1017", - "examples": [ - "1017" - ] - } - } - } - } - } - } - }, - "plugins": { - "type": "object", - "title": "CNI-Plugins", - "properties": { - "image": { - "type": "object", - "properties": { - "repository": { - "title": "repository", - "type": "string", - "default": "spidernet-io/spiderpool/spiderpool-plugins", - "examples": [ - "spidernet-io/spiderpool/spiderpool-plugins" - ] - } - } - }, - "installCNI": { - "type": "boolean", - "title": "install CNI-Plugins", - "description": "install CNI-Plugins binary(macvlan, ipvlan, etc.) to each node. If you haven't installed it, you can set it to true. Default to false", - "default": false, - "examples": [ - false - ] - }, - "installRdmaCNI": { - "type": "boolean", - "title": "install RDMA-CNI", - "description": "install RDMA-CNI plugin binary to each node. If you haven't installed it, you can set it to true. Default to true", - "default": true, - "examples": [ - false - ] - } - } - }, - "ipam": { - "title": "IP Family Setting", - "type": "object", - "default": {}, - "required": [ - "enableIPv4", - "enableIPv6" - ], - "properties": { - "enableIPv4": { - "title": "enable IPv4", - "description": "enable IPAM IPv4 feature. Notice: required to create IPv4 ippool", - "type": "boolean", - "default": true, - "examples": [ - true - ] - }, - "enableIPv6": { - "title": "enable IPv6", - "description": "enable IPAM IPv6 feature. Notice: required to create IPv6 ippool", - "type": "boolean", - "default": false, - "examples": [ - true - ] - } - } - }, - "clusterDefaultPool": { - "title": "Cluster Default Ippool Installation", - "type": "object", - "default": {}, - "required": [ - "installIPv4IPPool", - "installIPv6IPPool" - ], - "properties": { - "installIPv4IPPool": { - "title": "install IPv4 ippool", - "description": "when 'enable IPv4', required to install IPv4 ippool", - "type": "boolean", - "default": false, - "examples": [ - false - ] - }, - "installIPv6IPPool": { - "title": "install IPv6 ippool", - "description": "when 'enable IPv6', required to install IPv6 ippool", - "type": "boolean", - "default": false, - "examples": [ - false - ] - }, - "ipv4Subnet": { - "title": "IPv4 ippool subnet", - "type": "string", - "default": "192.168.1.0/24", - "examples": [ - "192.168.1.0/24" - ] - }, - "ipv6Subnet": { - "title": "IPv6 ippool subnet", - "type": "string", - "default": "fd00::/64", - "examples": [ - "fd00::/64" - ] - }, - "ipv4Gateway": { - "title": "IPv4 ippool gateway", - "default": "192.168.1.1", - "type": "string" - }, - "ipv6Gateway": { - "title": "IPv6 ippool gateway", - "default": "fd00::1", - "type": "string" - }, - "ipv4IPRanges": { - "title": "IP Ranges for default IPv4 ippool", - "type": "array", - "description": "each item could be range format like '192.168.0.10-192.168.0.100', or comma format like '192.168.0.10,192.168.0.11,192.168.0.12'. Notice: all IP address must belong to ipv4Subnet", - "default": [], - "items": { - "type": "string" - }, - "examples": [ - [ - "192.168.1.10-192.168.1.200" - ] - ] - }, - "ipv6IPRanges": { - "title": "IP Ranges for default IPv6 ippool", - "type": "array", - "description": "each item could be range format like 'fd00::10-fd00::200', or comma format like 'fd00::10,fd00::20,fd00::30'. Notice: all IP address must belong to ipv6Subnet ", - "default": [], - "items": { - "type": "string" - }, - "examples": [ - [ - "fd00::10-fd00::200" - ] - ] - } - } - } - } - } - } -} \ No newline at end of file diff --git a/build/helm/edgemesh/charts/spiderpool/values.yaml b/build/helm/edgemesh/charts/spiderpool/values.yaml index 2a36a0f2e..ce207738c 100644 --- a/build/helm/edgemesh/charts/spiderpool/values.yaml +++ b/build/helm/edgemesh/charts/spiderpool/values.yaml @@ -1,710 +1,939 @@ -# child values -spiderpool: - # Default values for spiderpool. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - - ## @section Global parameters - ## - global: - ## @param global.imageRegistryOverride Global image registry for all images, which is used for offline environment - imageRegistryOverride: "ghcr.m.daocloud.io" - ## @param global.nameOverride instance name - ## default spiderpool - nameOverride: "" - ## @param global.clusterDnsDomain cluster dns domain - clusterDnsDomain: "cluster.local" - ## @param global.commonAnnotations Annotations to add to all deployed objects - commonAnnotations: {} - ## @param global.commonLabels Labels to add to all deployed objects - commonLabels: {} - # label1: v1 - # labele: v2 - - ## @param global.cniBinHostPath the host path of the IPAM plugin directory. - cniBinHostPath: /opt/cni/bin - ## @param global.cniConfHostPath the host path of the cni config directory - cniConfHostPath: /etc/cni/net.d - ## @param global.ipamUNIXSocketHostPath the host path of unix domain socket for ipam plugin - ipamUNIXSocketHostPath: /var/run/spidernet/spiderpool.sock - ## @param global.configName the configmap name - configName: "spiderpool-conf" - ## @param global.ciliumConfigMap the cilium's configMap, default is kube-system/cilium-config - ciliumConfigMap: kube-system/cilium-config - ## @section ipam parameters - ## - ipam: - ## @param ipam.enableIPv4 enable ipv4 - enableIPv4: true - ## @param ipam.enableIPv6 enable ipv6 - enableIPv6: false - ## @param ipam.enableStatefulSet the network mode - enableStatefulSet: true - ## @param ipam.enableKubevirtStaticIP the feature to keep kubevirt vm pod static IP - enableKubevirtStaticIP: true - ## @param ipam.enableSpiderSubnet SpiderSubnet feature gate. - enableSpiderSubnet: true - ## @param ipam.subnetDefaultFlexibleIPNumber the default flexible IP number of SpiderSubnet feature auto-created IPPools - subnetDefaultFlexibleIPNumber: 1 - gc: - ## @param ipam.gc.enabled enable retrieve IP in spiderippool CR +# Default values for spiderpool. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +## @section Global parameters +## +global: + ## @param global.imageRegistryOverride Global image registry for all images, which is used for offline environment + imageRegistryOverride: "" + + ## @param global.nameOverride instance name + ## default spiderpool + nameOverride: "" + + ## @param global.clusterDnsDomain cluster dns domain + clusterDnsDomain: "cluster.local" + + ## @param global.commonAnnotations Annotations to add to all deployed objects + commonAnnotations: {} + + ## @param global.commonLabels Labels to add to all deployed objects + commonLabels: {} + # label1: v1 + # labele: v2 + + ## @param global.cniBinHostPath the host path of the IPAM plugin directory. + cniBinHostPath: /opt/cni/bin + + ## @param global.cniConfHostPath the host path of the cni config directory + cniConfHostPath: /etc/cni/net.d + + ## @param global.ipamUNIXSocketHostPath the host path of unix domain socket for ipam plugin + ipamUNIXSocketHostPath: /var/run/spidernet/spiderpool.sock + + ## @param global.configName the configmap name + configName: "spiderpool-conf" + + ## @param global.ciliumConfigMap the cilium's configMap, default is kube-system/cilium-config + ciliumConfigMap: kube-system/cilium-config + +## @section ipam parameters +## +ipam: + ## @param ipam.enableIPv4 enable ipv4 + enableIPv4: true + + ## @param ipam.enableIPv6 enable ipv6 + enableIPv6: true + + ## @param ipam.enableStatefulSet the network mode + enableStatefulSet: true + + ## @param ipam.enableKubevirtStaticIP the feature to keep kubevirt vm pod static IP + enableKubevirtStaticIP: true + + ## @param ipam.enableSpiderSubnet SpiderSubnet feature gate. + enableSpiderSubnet: true + + ## @param ipam.subnetDefaultFlexibleIPNumber the default flexible IP number of SpiderSubnet feature auto-created IPPools + subnetDefaultFlexibleIPNumber: 1 + + gc: + ## @param ipam.gc.enabled enable retrieve IP in spiderippool CR + enabled: true + + gcAll: + ## @param ipam.gc.gcAll.intervalInSecond the gc all interval duration + intervalInSecond: 600 + + GcDeletingTimeOutPod: + ## @param ipam.gc.GcDeletingTimeOutPod.enabled enable retrieve IP for the pod who times out of deleting graceful period enabled: true - gcAll: - ## @param ipam.gc.gcAll.intervalInSecond the gc all interval duration - intervalInSecond: 600 - GcDeletingTimeOutPod: - ## @param ipam.gc.GcDeletingTimeOutPod.enabled enable retrieve IP for the pod who times out of deleting graceful period - enabled: true - ## @param ipam.gc.GcDeletingTimeOutPod.delay the gc delay seconds after the pod times out of deleting graceful period - delay: 0 - ## @section grafanaDashboard parameters - ## - grafanaDashboard: - ## @param grafanaDashboard.install install grafanaDashboard for spiderpool. This requires the grafana operator CRDs to be available + + ## @param ipam.gc.GcDeletingTimeOutPod.delay the gc delay seconds after the pod times out of deleting graceful period + delay: 0 + +## @section grafanaDashboard parameters +## +grafanaDashboard: + ## @param grafanaDashboard.install install grafanaDashboard for spiderpool. This requires the grafana operator CRDs to be available + install: false + + ## @param grafanaDashboard.namespace the grafanaDashboard namespace. Default to the namespace of helm instance + namespace: "" + + ## @param grafanaDashboard.annotations the additional annotations of spiderpool grafanaDashboard + annotations: {} + + ## @param grafanaDashboard.labels the additional label of spiderpool grafanaDashboard + labels: {} + +## @section coordinator parameters +## +coordinator: + ## @param coordinator.enabled enable SpiderCoordinator + enabled: true + + ## @param coordinator.name the name of the default SpiderCoordinator CR + name: "default" + + ## @param coordinator.mode optional network mode, ["auto","underlay", "overlay", "disabled"] + mode: "auto" + + ## @param coordinator.podCIDRType Pod CIDR type that should be collected, [ "auto", "cluster", "calico", "cilium", "none" ] + podCIDRType: "auto" + + ## @param coordinator.detectGateway detect the reachability of the gateway + detectGateway: false + + ## @param coordinator.detectIPConflict detect IP address conflicts + detectIPConflict: false + + ## @param coordinator.tunePodRoutes tune Pod routes + tunePodRoutes: true + + ## @param coordinator.hijackCIDR Additional subnets that need to be hijacked to the host forward, the default link-local range "169.254.0.0/16" is used for NodeLocal DNS + hijackCIDR: ["169.254.0.0/16"] + +## @section rdma parameters +## +rdma: + rdmaSharedDevicePlugin: + ## @param rdma.rdmaSharedDevicePlugin.install install rdma shared device plugin for macvlan cni install: false - ## @param grafanaDashboard.namespace the grafanaDashboard namespace. Default to the namespace of helm instance - namespace: "" - ## @param grafanaDashboard.annotations the additional annotations of spiderpool grafanaDashboard - annotations: {} - ## @param grafanaDashboard.labels the additional label of spiderpool grafanaDashboard - labels: {} - ## @section coordinator parameters - ## - coordinator: - ## @param coordinator.enabled enable SpiderCoordinator - enabled: true - ## @param coordinator.name the name of the default SpiderCoordinator CR - name: "default" - ## @param coordinator.mode optional network mode, ["auto","underlay", "overlay", "disabled"] - mode: "auto" - ## @param coordinator.podCIDRType Pod CIDR type that should be collected, [ "auto", "cluster", "calico", "cilium", "none" ] - podCIDRType: "auto" - ## @param coordinator.detectGateway detect the reachability of the gateway - detectGateway: true - ## @param coordinator.detectIPConflict detect IP address conflicts - detectIPConflict: true - ## @param coordinator.tunePodRoutes tune Pod routes - tunePodRoutes: true - ## @param coordinator.hijackCIDR Additional subnets that need to be hijacked to the host forward, the default link-local range "169.254.0.0/16" is used for NodeLocal DNS - hijackCIDR: ["169.254.0.0/16"] - ## @section rdma parameters - ## - rdma: - rdmaSharedDevicePlugin: - ## @param rdma.rdmaSharedDevicePlugin.install install rdma shared device plugin for macvlan cni - install: false - ## @param rdma.rdmaSharedDevicePlugin.name the name of rdma shared device plugin - name: "spiderpool-rdma-shared-device-plugin" - image: - ## @param rdma.rdmaSharedDevicePlugin.image.registry the image registry of rdma shared device plugin - registry: ghcr.m.daocloud.io - ## @param rdma.rdmaSharedDevicePlugin.image.repository the image repository of rdma shared device plugin - repository: mellanox/k8s-rdma-shared-dev-plugin - ## @param rdma.rdmaSharedDevicePlugin.image.pullPolicy the image pullPolicy of rdma shared device plugin - pullPolicy: IfNotPresent - ## @param rdma.rdmaSharedDevicePlugin.image.digest the image digest of rdma shared device plugin - digest: "" - ## @param rdma.rdmaSharedDevicePlugin.image.tag the image tag of rdma shared device plugin - tag: latest - ## @param rdma.rdmaSharedDevicePlugin.image.imagePullSecrets the image imagePullSecrets of rdma shared device plugin - imagePullSecrets: [] - # - name: "image-pull-secret" - ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.rollingUpdate.maxUnavailable - ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.type - updateStrategy: - rollingUpdate: - maxUnavailable: 2 - type: RollingUpdate - ## @skip rdma.rdmaSharedDevicePlugin.tolerations - tolerations: - - operator: Exists - ## @param rdma.rdmaSharedDevicePlugin.podAnnotations the additional annotations - podAnnotations: {} - ## @param rdma.rdmaSharedDevicePlugin.podLabels the additional label - podLabels: {} - resources: - limits: - ## @param rdma.rdmaSharedDevicePlugin.resources.limits.cpu the cpu limit - cpu: 300m - ## @param rdma.rdmaSharedDevicePlugin.resources.limits.memory the memory limit - memory: 300Mi - requests: - ## @param rdma.rdmaSharedDevicePlugin.resources.requests.cpu the cpu requests - cpu: 100m - ## @param rdma.rdmaSharedDevicePlugin.resources.requests.memory the memory requests - memory: 50Mi - deviceConfig: - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval periodic Update Interval - periodicUpdateInterval: 300 - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix resource prefix - resourcePrefix: "spidernet.io" - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName resource Name - resourceName: "hca_shared_devices" - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax rdma Hca Max - rdmaHcaMax: 500 - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.vendors rdma device vendors, default to mellanox device - vendors: "15b3" - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs rdma device IDs, default to mellanox device - deviceIDs: "1017" - ## @section multus parameters - ## - multus: - ## @param multus.enableMultusConfig enable SpiderMultusConfig - enableMultusConfig: true - multusCNI: - ## @param multus.multusCNI.install enable install multus-CNI - install: true - ## @param multus.multusCNI.uninstall enable remove multus-CNI configuration and binary files on multus-ds pod shutdown. Enable this if you uninstall multus from your cluster. Disable this in the multus upgrade phase to prevent CNI configuration file from being removed, which may cause pods start failure - uninstall: true - ## @param multus.multusCNI.name the name of spiderpool multus - name: "spiderpool-multus" - image: - ## @param multus.multusCNI.image.registry the multus-CNI image registry - registry: ghcr.m.daocloud.io - ## @param multus.multusCNI.image.repository the multus-CNI image repository - repository: k8snetworkplumbingwg/multus-cni - ## @param multus.multusCNI.image.pullPolicy the multus-CNI image pullPolicy - pullPolicy: IfNotPresent - ## @param multus.multusCNI.image.digest the multus-CNI image digest - digest: "" - ## @param multus.multusCNI.image.tag the multus-CNI image tag - tag: v3.9.3 - # tag: v4.0.2-thick - - ## @param multus.multusCNI.image.imagePullSecrets the multus-CNI image imagePullSecrets - imagePullSecrets: [] - # - name: "image-pull-secret" - ## @param multus.multusCNI.defaultCniCRName if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool - defaultCniCRName: "" - securityContext: - ## @param multus.multusCNI.securityContext.privileged the securityContext privileged of multus-CNI daemonset pod - privileged: true - ## @param multus.multusCNI.extraEnv the additional environment variables of multus-CNI daemonset pod container - extraEnv: [] - ## @param multus.multusCNI.extraVolumes the additional volumes of multus-CNI daemonset pod container - extraVolumes: [] - # - name: test-val - # mountPath: /host/tmp - ## @param multus.multusCNI.extraVolumeMounts the additional hostPath mounts of multus-CNI daemonset pod container - extraVolumeMounts: [] - # - name: test-val - # mountPath: /tmp - - log: - ## @param multus.multusCNI.log.logLevel the multus-CNI daemonset pod log level - logLevel: "debug" - ## @param multus.multusCNI.log.logFile the multus-CNI daemonset pod log file - logFile: "/var/log/multus.log" - ## @section plugins parameters - ## - plugins: - ## @param plugins.installCNI install all cni plugins to each node - installCNI: false - ## @param plugins.installRdmaCNI install rdma cni used to isolate rdma device for sriov cni - installRdmaCNI: true - ## @param plugins.installOvsCNI install ovs cni to each node - installOvsCNI: true - ## @param plugins.installibSriovCNI install ib-sriov cni to each node - installibSriovCNI: true - ## @param plugins.installIpoibCNI install ipoib cni to each node - installIpoibCNI: true - image: - ## @param plugins.image.registry the image registry of plugins - registry: ghcr.m.daocloud.io - ## @param plugins.image.repository the image repository of plugins - repository: spidernet-io/spiderpool/spiderpool-plugins - ## @param plugins.image.pullPolicy the image pullPolicy of plugins - pullPolicy: IfNotPresent - ## @param plugins.image.digest the image digest of plugins - digest: "" - ## @param plugins.image.tag the image tag of plugins - tag: v0.9.2 - ## @param plugins.image.imagePullSecrets the image imagePullSecrets of plugins - imagePullSecrets: [] - ## @section clusterDefaultPool parameters - ## - clusterDefaultPool: - ## @param clusterDefaultPool.installIPv4IPPool install ipv4 spiderpool instance. It is required to set ipam.enableIPv4=true - installIPv4IPPool: true - ## @param clusterDefaultPool.installIPv6IPPool install ipv6 spiderpool instance. It is required to set ipam.enableIPv6=true - installIPv6IPPool: false - ## @param clusterDefaultPool.ipv4IPPoolName the name of ipv4 spiderpool instance - ipv4IPPoolName: "default-v4-ippool" - ## @param clusterDefaultPool.ipv6IPPoolName the name of ipv6 spiderpool instance - ipv6IPPoolName: "default-v6-ippool" - ## @param clusterDefaultPool.ipv4SubnetName the name of ipv4 spidersubnet instance - ipv4SubnetName: "default-v4-subnet" - ## @param clusterDefaultPool.ipv6SubnetName the name of ipv6 spidersubnet instance - ipv6SubnetName: "default-v6-subnet" - ## @param clusterDefaultPool.ipv4Subnet the subnet of ipv4 spiderpool instance - ipv4Subnet: "192.168.0.0/16" - ## @param clusterDefaultPool.ipv6Subnet the subnet of ipv6 spiderpool instance - ipv6Subnet: "fd00::/112" - ## @param clusterDefaultPool.ipv4IPRanges the available IP of ipv4 spiderpool instance - ipv4IPRanges: - - 192.168.0.10-192.168.0.100 - ## @param clusterDefaultPool.ipv6IPRanges the available IP of ipv6 spiderpool instance - ipv6IPRanges: - - fd00::10-fd00::100 - ## @param clusterDefaultPool.ipv4Gateway the gateway of ipv4 subnet - ipv4Gateway: "192.168.0.1" - ## @param clusterDefaultPool.ipv6Gateway the gateway of ipv6 subnet - ipv6Gateway: "fd00::1" - ## @section spiderpoolAgent parameters - ## - spiderpoolAgent: - ## @param spiderpoolAgent.name the spiderpoolAgent name - name: "spiderpool-agent" - ## @param spiderpoolAgent.binName the binName name of spiderpoolAgent - binName: "/usr/bin/spiderpool-agent" + ## @param rdma.rdmaSharedDevicePlugin.name the name of rdma shared device plugin + name: "spiderpool-rdma-shared-device-plugin" + image: - ## @param spiderpoolAgent.image.registry the image registry of spiderpoolAgent - registry: ghcr.m.daocloud.io - ## @param spiderpoolAgent.image.repository the image repository of spiderpoolAgent - repository: spidernet-io/spiderpool/spiderpool-agent - ## @param spiderpoolAgent.image.pullPolicy the image pullPolicy of spiderpoolAgent + ## @param rdma.rdmaSharedDevicePlugin.image.registry the image registry of rdma shared device plugin + registry: ghcr.io + + ## @param rdma.rdmaSharedDevicePlugin.image.repository the image repository of rdma shared device plugin + repository: mellanox/k8s-rdma-shared-dev-plugin + + ## @param rdma.rdmaSharedDevicePlugin.image.pullPolicy the image pullPolicy of rdma shared device plugin pullPolicy: IfNotPresent - ## @param spiderpoolAgent.image.digest the image digest of spiderpoolAgent, which takes preference over tag + + ## @param rdma.rdmaSharedDevicePlugin.image.digest the image digest of rdma shared device plugin digest: "" - ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent + + ## @param rdma.rdmaSharedDevicePlugin.image.tag the image tag of rdma shared device plugin + tag: latest + + ## @param rdma.rdmaSharedDevicePlugin.image.imagePullSecrets the image imagePullSecrets of rdma shared device plugin imagePullSecrets: [] # - name: "image-pull-secret" - ## @skip spiderpoolAgent.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - serviceAccount: - ## @param spiderpoolAgent.serviceAccount.create create the service account for the spiderpoolAgent - create: true - ## @param spiderpoolAgent.serviceAccount.annotations the annotations of spiderpoolAgent service account - annotations: {} - ## @skip spiderpoolAgent.updateStrategy.rollingUpdate.maxUnavailable - ## @skip spiderpoolAgent.updateStrategy.type + + ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.rollingUpdate.maxUnavailable + ## @skip rdma.rdmaSharedDevicePlugin.updateStrategy.type updateStrategy: rollingUpdate: maxUnavailable: 2 type: RollingUpdate - service: - ## @param spiderpoolAgent.service.annotations the annotations for spiderpoolAgent service - annotations: {} - ## @param spiderpoolAgent.service.type the type for spiderpoolAgent service - type: ClusterIP - ## @skip spiderpoolAgent.tolerations + + ## @skip rdma.rdmaSharedDevicePlugin.tolerations tolerations: - operator: Exists - ## @param spiderpoolAgent.priorityClassName the priority Class Name for spiderpoolAgent - priorityClassName: "system-node-critical" - ## @param spiderpoolAgent.affinity the affinity of spiderpoolAgent - affinity: {} - ## @param spiderpoolAgent.extraArgs the additional arguments of spiderpoolAgent container - extraArgs: [] - ## @param spiderpoolAgent.extraEnv the additional environment variables of spiderpoolAgent container - extraEnv: [] - ## @param spiderpoolAgent.extraVolumes the additional volumes of spiderpoolAgent container - extraVolumes: [] - ## @param spiderpoolAgent.extraVolumeMounts the additional hostPath mounts of spiderpoolAgent container - extraVolumeMounts: [] - ## @param spiderpoolAgent.podAnnotations the additional annotations of spiderpoolAgent pod + + ## @param rdma.rdmaSharedDevicePlugin.podAnnotations the additional annotations podAnnotations: {} - ## @param spiderpoolAgent.podLabels the additional label of spiderpoolAgent pod + + ## @param rdma.rdmaSharedDevicePlugin.podLabels the additional label podLabels: {} + resources: limits: - ## @param spiderpoolAgent.resources.limits.cpu the cpu limit of spiderpoolAgent pod - cpu: 1000m - ## @param spiderpoolAgent.resources.limits.memory the memory limit of spiderpoolAgent pod - memory: 1024Mi + ## @param rdma.rdmaSharedDevicePlugin.resources.limits.cpu the cpu limit + cpu: 300m + ## @param rdma.rdmaSharedDevicePlugin.resources.limits.memory the memory limit + memory: 300Mi requests: - ## @param spiderpoolAgent.resources.requests.cpu the cpu requests of spiderpoolAgent pod - cpu: 10m - ## @param spiderpoolAgent.resources.requests.memory the memory requests of spiderpoolAgent pod - memory: 32Mi - ## @param spiderpoolAgent.securityContext the security Context of spiderpoolAgent pod - securityContext: {} - # runAsUser: 0 - - ## @param spiderpoolAgent.httpPort the http Port for spiderpoolAgent, for health checking - httpPort: 5710 - healthChecking: - startupProbe: - ## @param spiderpoolAgent.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 60 - ## @param spiderpoolAgent.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 2 - livenessProbe: - ## @param spiderpoolAgent.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 6 - ## @param spiderpoolAgent.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 10 - readinessProbe: - ## @param spiderpoolAgent.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking - failureThreshold: 3 - ## @param spiderpoolAgent.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking - periodSeconds: 10 - prometheus: - ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics - enabled: false - ## @param spiderpoolAgent.prometheus.enabledDebugMetric enable spiderpool agent to collect debug level metrics - enabledDebugMetric: false - ## @param spiderpoolAgent.prometheus.port the metrics port of spiderpool agent - port: 5711 - serviceMonitor: - ## @param spiderpoolAgent.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available - install: false - ## @param spiderpoolAgent.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance - namespace: "" - ## @param spiderpoolAgent.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolAgent serviceMonitor - annotations: {} - ## @param spiderpoolAgent.prometheus.serviceMonitor.labels the additional label of spiderpoolAgent serviceMonitor - labels: {} - ## @param spiderpoolAgent.prometheus.serviceMonitor.interval represents the interval of spiderpoolAgent serviceMonitor's scraping action - interval: "10s" - prometheusRule: - ## @param spiderpoolAgent.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available - install: false - ## @param spiderpoolAgent.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance - namespace: "" - ## @param spiderpoolAgent.prometheus.prometheusRule.annotations the additional annotations of spiderpoolAgent prometheusRule - annotations: {} - ## @param spiderpoolAgent.prometheus.prometheusRule.labels the additional label of spiderpoolAgent prometheusRule - labels: {} - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationFailure the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMAllocationFailure: true - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationOverTime the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMAllocationOverTime: true - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMHighAllocationDurations the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMHighAllocationDurations: true - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseFailure the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMReleaseFailure: true - ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseOverTime the additional rule of spiderpoolAgent prometheusRule - enableWarningIPAMReleaseOverTime: true - debug: - ## @param spiderpoolAgent.debug.logLevel the log level of spiderpool agent [debug, info, warn, error, fatal, panic] - logLevel: "info" - ## @param spiderpoolAgent.debug.gopsPort the gops port of spiderpool agent - gopsPort: 5712 - ## @section spiderpoolController parameters - ## - spiderpoolController: - ## @param spiderpoolController.name the spiderpoolController name - name: "spiderpool-controller" - ## @param spiderpoolController.replicas the replicas number of spiderpoolController pod - replicas: 1 - ## @param spiderpoolController.binName the binName name of spiderpoolController - binName: "/usr/bin/spiderpool-controller" - ## @param spiderpoolController.hostnetwork enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true + ## @param rdma.rdmaSharedDevicePlugin.resources.requests.cpu the cpu requests + cpu: 100m + ## @param rdma.rdmaSharedDevicePlugin.resources.requests.memory the memory requests + memory: 50Mi + + deviceConfig: + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval periodic Update Interval + periodicUpdateInterval: 300 + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix resource prefix + resourcePrefix: "spidernet.io" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName resource Name + resourceName: "hca_shared_devices" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax rdma Hca Max + rdmaHcaMax: 500 + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.vendors rdma device vendors, default to mellanox device + vendors: "15b3" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs rdma device IDs, default to mellanox device + deviceIDs: "1017" + +## @section multus parameters +## +multus: + ## @param multus.enableMultusConfig enable SpiderMultusConfig + enableMultusConfig: true + + multusCNI: + ## @param multus.multusCNI.install enable install multus-CNI + install: true + + ## @param multus.multusCNI.uninstall enable remove multus-CNI configuration and binary files on multus-ds pod shutdown. Enable this if you uninstall multus from your cluster. Disable this in the multus upgrade phase to prevent CNI configuration file from being removed, which may cause pods start failure + uninstall: false + + ## @param multus.multusCNI.name the name of spiderpool multus + name: "spiderpool-multus" + image: - ## @param spiderpoolController.image.registry the image registry of spiderpoolController - registry: ghcr.m.daocloud.io - ## @param spiderpoolController.image.repository the image repository of spiderpoolController - repository: spidernet-io/spiderpool/spiderpool-controller - ## @param spiderpoolController.image.pullPolicy the image pullPolicy of spiderpoolController + ## @param multus.multusCNI.image.registry the multus-CNI image registry + registry: ghcr.io + + ## @param multus.multusCNI.image.repository the multus-CNI image repository + repository: k8snetworkplumbingwg/multus-cni + + ## @param multus.multusCNI.image.pullPolicy the multus-CNI image pullPolicy pullPolicy: IfNotPresent - ## @param spiderpoolController.image.digest the image digest of spiderpoolController, which takes preference over tag + + ## @param multus.multusCNI.image.digest the multus-CNI image digest digest: "" - ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController + + ## @param multus.multusCNI.image.tag the multus-CNI image tag + tag: v3.9.3 + # tag: v4.0.2-thick + + ## @param multus.multusCNI.image.imagePullSecrets the multus-CNI image imagePullSecrets imagePullSecrets: [] # - name: "image-pull-secret" - ## @skip spiderpoolController.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - serviceAccount: - ## @param spiderpoolController.serviceAccount.create create the service account for the spiderpoolController - create: true - ## @param spiderpoolController.serviceAccount.annotations the annotations of spiderpoolController service account - annotations: {} - service: - ## @param spiderpoolController.service.annotations the annotations for spiderpoolController service - annotations: {} - ## @param spiderpoolController.service.type the type for spiderpoolController service - type: ClusterIP - ## @skip spiderpoolController.tolerations - tolerations: - - operator: Exists - effect: NoSchedule - ## @param spiderpoolController.priorityClassName the priority Class Name for spiderpoolController - priorityClassName: "system-node-critical" - ## @param spiderpoolController.affinity the affinity of spiderpoolController - affinity: {} - ## @param spiderpoolController.extraArgs the additional arguments of spiderpoolController container - extraArgs: [] - ## @param spiderpoolController.extraEnv the additional environment variables of spiderpoolController container + + ## @param multus.multusCNI.defaultCniCRName if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool + defaultCniCRName: "" + + securityContext: + ## @param multus.multusCNI.securityContext.privileged the securityContext privileged of multus-CNI daemonset pod + privileged: true + + ## @param multus.multusCNI.extraEnv the additional environment variables of multus-CNI daemonset pod container extraEnv: [] - ## @param spiderpoolController.extraVolumes the additional volumes of spiderpoolController container + + ## @param multus.multusCNI.extraVolumes the additional volumes of multus-CNI daemonset pod container extraVolumes: [] - # - name: test-val + # - name: test-val # mountPath: /host/tmp - ## @param spiderpoolController.extraVolumeMounts the additional hostPath mounts of spiderpoolController container + ## @param multus.multusCNI.extraVolumeMounts the additional hostPath mounts of multus-CNI daemonset pod container extraVolumeMounts: [] + # - name: test-val + # mountPath: /tmp + + log: + ## @param multus.multusCNI.log.logLevel the multus-CNI daemonset pod log level + logLevel: "debug" + + ## @param multus.multusCNI.log.logFile the multus-CNI daemonset pod log file + logFile: "/var/log/multus.log" + +## @section plugins parameters +## +plugins: + ## @param plugins.installCNI install all cni plugins to each node + installCNI: false + + ## @param plugins.installRdmaCNI install rdma cni used to isolate rdma device for sriov cni + installRdmaCNI: true + + ## @param plugins.installOvsCNI install ovs cni to each node + installOvsCNI: true + + ## @param plugins.installibSriovCNI install ib-sriov cni to each node + installibSriovCNI: true + + ## @param plugins.installIpoibCNI install ipoib cni to each node + installIpoibCNI: true + + image: + ## @param plugins.image.registry the image registry of plugins + registry: ghcr.io + + ## @param plugins.image.repository the image repository of plugins + repository: spidernet-io/spiderpool/spiderpool-plugins + + ## @param plugins.image.pullPolicy the image pullPolicy of plugins + pullPolicy: IfNotPresent + + ## @param plugins.image.digest the image digest of plugins + digest: "" + + ## @param plugins.image.tag the image tag of plugins + tag: v0.9.2 + + ## @param plugins.image.imagePullSecrets the image imagePullSecrets of plugins + imagePullSecrets: [] + +## @section clusterDefaultPool parameters +## +clusterDefaultPool: + ## @param clusterDefaultPool.installIPv4IPPool install ipv4 spiderpool instance. It is required to set ipam.enableIPv4=true + installIPv4IPPool: false + + ## @param clusterDefaultPool.installIPv6IPPool install ipv6 spiderpool instance. It is required to set ipam.enableIPv6=true + installIPv6IPPool: false + + ## @param clusterDefaultPool.ipv4IPPoolName the name of ipv4 spiderpool instance + ipv4IPPoolName: "default-v4-ippool" + + ## @param clusterDefaultPool.ipv6IPPoolName the name of ipv6 spiderpool instance + ipv6IPPoolName: "default-v6-ippool" + + ## @param clusterDefaultPool.ipv4SubnetName the name of ipv4 spidersubnet instance + ipv4SubnetName: "default-v4-subnet" + + ## @param clusterDefaultPool.ipv6SubnetName the name of ipv6 spidersubnet instance + ipv6SubnetName: "default-v6-subnet" + + ## @param clusterDefaultPool.ipv4Subnet the subnet of ipv4 spiderpool instance + ipv4Subnet: "" + + ## @param clusterDefaultPool.ipv6Subnet the subnet of ipv6 spiderpool instance + ipv6Subnet: "" + + ## @param clusterDefaultPool.ipv4IPRanges the available IP of ipv4 spiderpool instance + ipv4IPRanges: [] + + ## @param clusterDefaultPool.ipv6IPRanges the available IP of ipv6 spiderpool instance + ipv6IPRanges: [] + + ## @param clusterDefaultPool.ipv4Gateway the gateway of ipv4 subnet + ipv4Gateway: "" + + ## @param clusterDefaultPool.ipv6Gateway the gateway of ipv6 subnet + ipv6Gateway: "" + +## @section spiderpoolAgent parameters +## +spiderpoolAgent: + ## @param spiderpoolAgent.name the spiderpoolAgent name + name: "spiderpool-agent" + + ## @param spiderpoolAgent.binName the binName name of spiderpoolAgent + binName: "/usr/bin/spiderpool-agent" + + image: + ## @param spiderpoolAgent.image.registry the image registry of spiderpoolAgent + registry: ghcr.io + + ## @param spiderpoolAgent.image.repository the image repository of spiderpoolAgent + repository: spidernet-io/spiderpool/spiderpool-agent + + ## @param spiderpoolAgent.image.pullPolicy the image pullPolicy of spiderpoolAgent + pullPolicy: IfNotPresent + + ## @param spiderpoolAgent.image.digest the image digest of spiderpoolAgent, which takes preference over tag + digest: "" + + ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. + tag: v0.9.1 + + ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent + imagePullSecrets: [] + # - name: "image-pull-secret" + + ## @skip spiderpoolAgent.nodeSelector.kubernetes.io/os + nodeSelector: + kubernetes.io/os: linux + + serviceAccount: + ## @param spiderpoolAgent.serviceAccount.create create the service account for the spiderpoolAgent + create: true + ## @param spiderpoolAgent.serviceAccount.annotations the annotations of spiderpoolAgent service account + annotations: {} + + ## @skip spiderpoolAgent.updateStrategy.rollingUpdate.maxUnavailable + ## @skip spiderpoolAgent.updateStrategy.type + updateStrategy: + rollingUpdate: + maxUnavailable: 2 + type: RollingUpdate + + service: + ## @param spiderpoolAgent.service.annotations the annotations for spiderpoolAgent service + annotations: {} + ## @param spiderpoolAgent.service.type the type for spiderpoolAgent service + type: ClusterIP + + ## @skip spiderpoolAgent.tolerations + tolerations: + - operator: Exists + + ## @param spiderpoolAgent.priorityClassName the priority Class Name for spiderpoolAgent + priorityClassName: "system-node-critical" + + ## @param spiderpoolAgent.affinity the affinity of spiderpoolAgent + affinity: {} + + ## @param spiderpoolAgent.extraArgs the additional arguments of spiderpoolAgent container + extraArgs: [] + + ## @param spiderpoolAgent.extraEnv the additional environment variables of spiderpoolAgent container + extraEnv: [] + + ## @param spiderpoolAgent.extraVolumes the additional volumes of spiderpoolAgent container + extraVolumes: [] + + ## @param spiderpoolAgent.extraVolumeMounts the additional hostPath mounts of spiderpoolAgent container + extraVolumeMounts: [] + + ## @param spiderpoolAgent.podAnnotations the additional annotations of spiderpoolAgent pod + podAnnotations: {} + + ## @param spiderpoolAgent.podLabels the additional label of spiderpoolAgent pod + podLabels: {} + + resources: + limits: + ## @param spiderpoolAgent.resources.limits.cpu the cpu limit of spiderpoolAgent pod + cpu: 1000m + ## @param spiderpoolAgent.resources.limits.memory the memory limit of spiderpoolAgent pod + memory: 1024Mi + requests: + ## @param spiderpoolAgent.resources.requests.cpu the cpu requests of spiderpoolAgent pod + cpu: 100m + ## @param spiderpoolAgent.resources.requests.memory the memory requests of spiderpoolAgent pod + memory: 128Mi + + ## @param spiderpoolAgent.securityContext the security Context of spiderpoolAgent pod + securityContext: {} + # runAsUser: 0 + + ## @param spiderpoolAgent.httpPort the http Port for spiderpoolAgent, for health checking + httpPort: 5710 + + healthChecking: + startupProbe: + ## @param spiderpoolAgent.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking + failureThreshold: 60 + ## @param spiderpoolAgent.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking + periodSeconds: 2 + + livenessProbe: + ## @param spiderpoolAgent.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking + failureThreshold: 6 + ## @param spiderpoolAgent.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking + periodSeconds: 10 + + readinessProbe: + ## @param spiderpoolAgent.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolAgent health checking + failureThreshold: 3 + ## @param spiderpoolAgent.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolAgent health checking + periodSeconds: 10 + + prometheus: + ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics + enabled: false + + ## @param spiderpoolAgent.prometheus.enabledDebugMetric enable spiderpool agent to collect debug level metrics + enabledDebugMetric: false + + ## @param spiderpoolAgent.prometheus.port the metrics port of spiderpool agent + port: 5711 + + serviceMonitor: + ## @param spiderpoolAgent.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available + install: false + + ## @param spiderpoolAgent.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance + namespace: "" + + ## @param spiderpoolAgent.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolAgent serviceMonitor + annotations: {} + + ## @param spiderpoolAgent.prometheus.serviceMonitor.labels the additional label of spiderpoolAgent serviceMonitor + labels: {} + + ## @param spiderpoolAgent.prometheus.serviceMonitor.interval represents the interval of spiderpoolAgent serviceMonitor's scraping action + interval: "10s" + + prometheusRule: + ## @param spiderpoolAgent.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available + install: false + + ## @param spiderpoolAgent.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance + namespace: "" + + ## @param spiderpoolAgent.prometheus.prometheusRule.annotations the additional annotations of spiderpoolAgent prometheusRule + annotations: {} + + ## @param spiderpoolAgent.prometheus.prometheusRule.labels the additional label of spiderpoolAgent prometheusRule + labels: {} + + ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationFailure the additional rule of spiderpoolAgent prometheusRule + enableWarningIPAMAllocationFailure: true + + ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMAllocationOverTime the additional rule of spiderpoolAgent prometheusRule + enableWarningIPAMAllocationOverTime: true + + ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMHighAllocationDurations the additional rule of spiderpoolAgent prometheusRule + enableWarningIPAMHighAllocationDurations: true + + ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseFailure the additional rule of spiderpoolAgent prometheusRule + enableWarningIPAMReleaseFailure: true + + ## @param spiderpoolAgent.prometheus.prometheusRule.enableWarningIPAMReleaseOverTime the additional rule of spiderpoolAgent prometheusRule + enableWarningIPAMReleaseOverTime: true + + debug: + ## @param spiderpoolAgent.debug.logLevel the log level of spiderpool agent [debug, info, warn, error, fatal, panic] + logLevel: "info" + ## @param spiderpoolAgent.debug.gopsPort the gops port of spiderpool agent + gopsPort: 5712 + +## @section spiderpoolController parameters +## +spiderpoolController: + ## @param spiderpoolController.name the spiderpoolController name + name: "spiderpool-controller" + + ## @param spiderpoolController.replicas the replicas number of spiderpoolController pod + replicas: 1 + + ## @param spiderpoolController.binName the binName name of spiderpoolController + binName: "/usr/bin/spiderpool-controller" + + ## @param spiderpoolController.hostnetwork enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this + hostnetwork: true + + image: + ## @param spiderpoolController.image.registry the image registry of spiderpoolController + registry: ghcr.io + + ## @param spiderpoolController.image.repository the image repository of spiderpoolController + repository: spidernet-io/spiderpool/spiderpool-controller + + ## @param spiderpoolController.image.pullPolicy the image pullPolicy of spiderpoolController + pullPolicy: IfNotPresent + + ## @param spiderpoolController.image.digest the image digest of spiderpoolController, which takes preference over tag + digest: "" + + ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. + tag: v0.9.1 + + ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController + imagePullSecrets: [] + # - name: "image-pull-secret" + + ## @skip spiderpoolController.nodeSelector.kubernetes.io/os + nodeSelector: + kubernetes.io/os: linux + + serviceAccount: + ## @param spiderpoolController.serviceAccount.create create the service account for the spiderpoolController + create: true + ## @param spiderpoolController.serviceAccount.annotations the annotations of spiderpoolController service account + annotations: {} + + service: + ## @param spiderpoolController.service.annotations the annotations for spiderpoolController service + annotations: {} + ## @param spiderpoolController.service.type the type for spiderpoolController service + type: ClusterIP + + ## @skip spiderpoolController.tolerations + tolerations: + - operator: Exists + + ## @param spiderpoolController.priorityClassName the priority Class Name for spiderpoolController + priorityClassName: "system-node-critical" + + ## @param spiderpoolController.affinity the affinity of spiderpoolController + affinity: {} + + ## @param spiderpoolController.extraArgs the additional arguments of spiderpoolController container + extraArgs: [] + + ## @param spiderpoolController.extraEnv the additional environment variables of spiderpoolController container + extraEnv: [] + + ## @param spiderpoolController.extraVolumes the additional volumes of spiderpoolController container + extraVolumes: [] + # - name: test-val + # mountPath: /host/tmp + + ## @param spiderpoolController.extraVolumeMounts the additional hostPath mounts of spiderpoolController container + extraVolumeMounts: [] # - name: test-val # mountPath: /tmp - ## @param spiderpoolController.podAnnotations the additional annotations of spiderpoolController pod - podAnnotations: {} + ## @param spiderpoolController.podAnnotations the additional annotations of spiderpoolController pod + podAnnotations: {} # test: 100 - ## @param spiderpoolController.podLabels the additional label of spiderpoolController pod - podLabels: {} - ## @param spiderpoolController.securityContext the security Context of spiderpoolController pod - securityContext: {} - # runAsUser: 0 + ## @param spiderpoolController.podLabels the additional label of spiderpoolController pod + podLabels: {} - resources: - limits: - ## @param spiderpoolController.resources.limits.cpu the cpu limit of spiderpoolController pod - cpu: 500m - ## @param spiderpoolController.resources.limits.memory the memory limit of spiderpoolController pod - memory: 1024Mi - requests: - ## @param spiderpoolController.resources.requests.cpu the cpu requests of spiderpoolController pod - cpu: 10m - ## @param spiderpoolController.resources.requests.memory the memory requests of spiderpoolController pod - memory: 64Mi - podDisruptionBudget: - ## @param spiderpoolController.podDisruptionBudget.enabled enable podDisruptionBudget for spiderpoolController pod - enabled: false - ## @param spiderpoolController.podDisruptionBudget.minAvailable minimum number/percentage of pods that should remain scheduled. - minAvailable: 1 - ## @param spiderpoolController.httpPort the http Port for spiderpoolController, for health checking and http service - httpPort: 5720 - healthChecking: - startupProbe: - ## @param spiderpoolController.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 30 - ## @param spiderpoolController.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 2 - livenessProbe: - ## @param spiderpoolController.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 6 - ## @param spiderpoolController.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 10 - readinessProbe: - ## @param spiderpoolController.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking - failureThreshold: 3 - ## @param spiderpoolController.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking - periodSeconds: 10 - ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook - webhookPort: 5722 - prometheus: - ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics - enabled: false - ## @param spiderpoolController.prometheus.enabledDebugMetric enable spiderpool Controller to collect debug level metrics - enabledDebugMetric: false - ## @param spiderpoolController.prometheus.port the metrics port of spiderpool Controller - port: 5721 - serviceMonitor: - ## @param spiderpoolController.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available - install: false - ## @param spiderpoolController.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance - namespace: "" - ## @param spiderpoolController.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolController serviceMonitor - annotations: {} - ## @param spiderpoolController.prometheus.serviceMonitor.labels the additional label of spiderpoolController serviceMonitor - labels: {} - ## @param spiderpoolController.prometheus.serviceMonitor.interval represents the interval of spiderpoolController serviceMonitor's scraping action - interval: "10s" - prometheusRule: - ## @param spiderpoolController.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available - install: false - ## @param spiderpoolController.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance - namespace: "" - ## @param spiderpoolController.prometheus.prometheusRule.annotations the additional annotations of spiderpoolController prometheusRule - annotations: {} - ## @param spiderpoolController.prometheus.prometheusRule.labels the additional label of spiderpoolController prometheusRule - labels: {} - ## @param spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts the additional rule of spiderpoolController prometheusRule - enableWarningIPGCFailureCounts: true - debug: - ## @param spiderpoolController.debug.logLevel the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] - logLevel: "info" - ## @param spiderpoolController.debug.gopsPort the gops port of spiderpool Controller - gopsPort: 5724 - ## TLS configuration for webhook - tls: - ## @param spiderpoolController.tls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - ## @param spiderpoolController.tls.secretName the secret name for storing TLS certificates - secretName: "spiderpool-controller-server-certs" - ## for certmanager method - certmanager: - ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 365 - ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - ## @param spiderpoolController.tls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - ## @param spiderpoolController.tls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - ## for provided method - provided: - ## @param spiderpoolController.tls.provided.tlsCert encoded tls certificate for provided method - ## @param spiderpoolController.tls.provided.tlsKey encoded tls key for provided method - ## @param spiderpoolController.tls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - ## for auto method - auto: - ## @param spiderpoolController.tls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - ## @param spiderpoolController.tls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - ## @param spiderpoolController.tls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - ## @param spiderpoolController.tls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] - ## @section spiderpoolInit parameters - ## - spiderpoolInit: - ## @param spiderpoolInit.name the init job for installing default spiderippool - name: "spiderpool-init" - ## @param spiderpoolInit.binName the binName name of spiderpoolInit - binName: "/usr/bin/spiderpool-init" - ## @param spiderpoolInit.hostnetwork enable hostnetwork mode of spiderpoolInit pod. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true - image: - ## @param spiderpoolInit.image.registry the image registry of spiderpoolInit - registry: ghcr.m.daocloud.io - ## @param spiderpoolInit.image.repository the image repository of spiderpoolInit - repository: spidernet-io/spiderpool/spiderpool-controller - ## @param spiderpoolInit.image.pullPolicy the image pullPolicy of spiderpoolInit - pullPolicy: IfNotPresent - ## @param spiderpoolInit.image.digest the image digest of spiderpoolInit, which takes preference over tag - digest: "" - ## @param spiderpoolInit.image.tag the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. - tag: v0.9.0 - ## @param spiderpoolInit.image.imagePullSecrets the image imagePullSecrets of spiderpoolInit - imagePullSecrets: [] - # - name: "image-pull-secret" - ## @param spiderpoolInit.priorityClassName the priority Class Name for spiderpoolInit - priorityClassName: "system-node-critical" - ## @skip spiderpoolInit.tolerations - tolerations: - - operator: Exists - ## @skip spiderpoolInit.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - ## @param spiderpoolInit.affinity the affinity of spiderpoolInit - affinity: {} - ## @param spiderpoolInit.extraArgs the additional arguments of spiderpoolInit container - extraArgs: [] - resources: - limits: - ## @param spiderpoolInit.resources.limits.cpu the cpu limit of spiderpoolInit pod - cpu: 200m - ## @param spiderpoolInit.resources.limits.memory the memory limit of spiderpoolInit pod - memory: 256Mi - requests: - ## @param spiderpoolInit.resources.requests.cpu the cpu requests of spiderpoolInit pod - cpu: 10m - ## @param spiderpoolInit.resources.requests.memory the memory requests of spiderpoolInit pod - memory: 32Mi - readinessProbe: - ## @param spiderpoolInit.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpool-init health checking + ## @param spiderpoolController.securityContext the security Context of spiderpoolController pod + securityContext: {} + # runAsUser: 0 + + resources: + limits: + ## @param spiderpoolController.resources.limits.cpu the cpu limit of spiderpoolController pod + cpu: 500m + ## @param spiderpoolController.resources.limits.memory the memory limit of spiderpoolController pod + memory: 1024Mi + requests: + ## @param spiderpoolController.resources.requests.cpu the cpu requests of spiderpoolController pod + cpu: 100m + ## @param spiderpoolController.resources.requests.memory the memory requests of spiderpoolController pod + memory: 128Mi + + podDisruptionBudget: + ## @param spiderpoolController.podDisruptionBudget.enabled enable podDisruptionBudget for spiderpoolController pod + enabled: false + + ## @param spiderpoolController.podDisruptionBudget.minAvailable minimum number/percentage of pods that should remain scheduled. + minAvailable: 1 + + ## @param spiderpoolController.httpPort the http Port for spiderpoolController, for health checking and http service + httpPort: 5720 + + healthChecking: + startupProbe: + ## @param spiderpoolController.healthChecking.startupProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking failureThreshold: 30 - ## @param spiderpoolInit.readinessProbe.periodSeconds the period seconds of startup probe for spiderpool-init health checking + + ## @param spiderpoolController.healthChecking.startupProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking + periodSeconds: 2 + + livenessProbe: + ## @param spiderpoolController.healthChecking.livenessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking + failureThreshold: 6 + + ## @param spiderpoolController.healthChecking.livenessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking periodSeconds: 10 - ## @param spiderpoolInit.extraEnv the additional environment variables of spiderpoolInit container - extraEnv: [] - ## @param spiderpoolInit.securityContext the security Context of spiderpoolInit pod - securityContext: {} - # runAsUser: 0 - ## @param spiderpoolInit.podAnnotations the additional annotations of spiderpoolInit pod - podAnnotations: {} - ## @param spiderpoolInit.podLabels the additional label of spiderpoolInit pod - podLabels: {} - serviceAccount: - ## @param spiderpoolInit.serviceAccount.annotations the annotations of spiderpoolInit service account + readinessProbe: + ## @param spiderpoolController.healthChecking.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpoolController health checking + failureThreshold: 3 + + ## @param spiderpoolController.healthChecking.readinessProbe.periodSeconds the period seconds of startup probe for spiderpoolController health checking + periodSeconds: 10 + + ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook + webhookPort: 5722 + + prometheus: + ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics + enabled: false + + ## @param spiderpoolController.prometheus.enabledDebugMetric enable spiderpool Controller to collect debug level metrics + enabledDebugMetric: false + + ## @param spiderpoolController.prometheus.port the metrics port of spiderpool Controller + port: 5721 + + serviceMonitor: + ## @param spiderpoolController.prometheus.serviceMonitor.install install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available + install: false + + ## @param spiderpoolController.prometheus.serviceMonitor.namespace the serviceMonitor namespace. Default to the namespace of helm instance + namespace: "" + + ## @param spiderpoolController.prometheus.serviceMonitor.annotations the additional annotations of spiderpoolController serviceMonitor annotations: {} - ## @section sriov network operator parameters - ## - sriov: - ## @param sriov.install install sriov network operator - install: false - ## @param sriov.name the name of sriov network operator - name: "spiderpool-sriov-operator" - ## @skip sriov.tolerations - tolerations: - - operator: Exists - ## @skip sriov.nodeSelector.kubernetes.io/os - nodeSelector: - kubernetes.io/os: linux - ## @param sriov.affinity the affinity - affinity: {} - ## @param sriov.hostnetwork enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this - hostnetwork: true - ## @param sriov.replicas the replicas number - replicas: 1 - ## @param sriov.resourcePrefix the resource prefix - resourcePrefix: "spidernet.io" - ## @param sriov.priorityClassName the priority Class Name - priorityClassName: "system-node-critical" - ## @param sriov.enableAdmissionController enable Admission Controller - enableAdmissionController: false - resources: - limits: - ## @param sriov.resources.limits.cpu the cpu limit - cpu: 300m - ## @param sriov.resources.limits.memory the memory limit - memory: 300Mi - requests: - ## @param sriov.resources.requests.cpu the cpu requests - cpu: 100m - ## @param sriov.resources.requests.memory the memory requests - memory: 128Mi - image: - ## @param sriov.image.registry registry for all images - registry: ghcr.io - ## @param sriov.image.pullPolicy the image pullPolicy for all images - pullPolicy: IfNotPresent - ## @param sriov.image.imagePullSecrets the image imagePullSecrets for all images - imagePullSecrets: [] - # - name: "image-pull-secret" - operator: - ## @param sriov.image.operator.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator - ## @param sriov.image.operator.tag the image tag - tag: v1.2.0 - sriovConfigDaemon: - ## @param sriov.image.sriovConfigDaemon.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator-config-daemon - ## @param sriov.image.sriovConfigDaemon.tag the image tag - tag: v1.2.0 - sriovCni: - ## @param sriov.image.sriovCni.repository the image repository - repository: k8snetworkplumbingwg/sriov-cni - ## @param sriov.image.sriovCni.tag the image tag - tag: v2.7.0 - ibSriovCni: - ## @param sriov.image.ibSriovCni.repository the image repository - repository: k8snetworkplumbingwg/ib-sriov-cni - ## @param sriov.image.ibSriovCni.tag the image tag - tag: v1.0.2 - sriovDevicePlugin: - ## @param sriov.image.sriovDevicePlugin.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-device-plugin - ## @param sriov.image.sriovDevicePlugin.tag the image tag - tag: v3.5.1 - resourcesInjector: - ## @param sriov.image.resourcesInjector.repository the image repository - repository: k8snetworkplumbingwg/network-resources-injector - ## @param sriov.image.resourcesInjector.tag the image tag - tag: v1.5 - webhook: - ## @param sriov.image.webhook.repository the image repository - repository: k8snetworkplumbingwg/sriov-network-operator-webhook - ## @param sriov.image.webhook.tag the image tag - tag: v1.2.0 + ## @param spiderpoolController.prometheus.serviceMonitor.labels the additional label of spiderpoolController serviceMonitor + labels: {} + + ## @param spiderpoolController.prometheus.serviceMonitor.interval represents the interval of spiderpoolController serviceMonitor's scraping action + interval: "10s" + + prometheusRule: + ## @param spiderpoolController.prometheus.prometheusRule.install install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available + install: false + + ## @param spiderpoolController.prometheus.prometheusRule.namespace the prometheusRule namespace. Default to the namespace of helm instance + namespace: "" + + ## @param spiderpoolController.prometheus.prometheusRule.annotations the additional annotations of spiderpoolController prometheusRule + annotations: {} + + ## @param spiderpoolController.prometheus.prometheusRule.labels the additional label of spiderpoolController prometheusRule + labels: {} + + ## @param spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts the additional rule of spiderpoolController prometheusRule + enableWarningIPGCFailureCounts: true + + debug: + ## @param spiderpoolController.debug.logLevel the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] + logLevel: "info" + + ## @param spiderpoolController.debug.gopsPort the gops port of spiderpool Controller + gopsPort: 5724 + + ## TLS configuration for webhook + tls: + ## @param spiderpoolController.tls.method the method for generating TLS certificates. [ provided , certmanager , auto] + ## - provided: provide all certificates by helm options + ## - certmanager: This method use cert-manager to generate & rotate certificates. + ## - auto: Auto generate cert. + method: auto + + ## @param spiderpoolController.tls.secretName the secret name for storing TLS certificates + secretName: "spiderpool-controller-server-certs" + + ## for certmanager method + certmanager: + ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method + certValidityDuration: 365 + + ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. + issuerName: "" + + ## @param spiderpoolController.tls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated + extraDnsNames: [] + + ## @param spiderpoolController.tls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated + extraIPAddresses: [] + + ## for provided method + provided: + ## @param spiderpoolController.tls.provided.tlsCert encoded tls certificate for provided method + ## @param spiderpoolController.tls.provided.tlsKey encoded tls key for provided method + ## @param spiderpoolController.tls.provided.tlsCa encoded tls CA for provided method + tlsCert: "" + tlsKey: "" + tlsCa: "" + + ## for auto method + auto: + ## @param spiderpoolController.tls.auto.caExpiration ca expiration for auto method + # in day , default 200 years + caExpiration: '73000' + + ## @param spiderpoolController.tls.auto.certExpiration server cert expiration for auto method + # in day, default 200 years + certExpiration: '73000' + + ## @param spiderpoolController.tls.auto.extraIpAddresses extra IP addresses of server certificate for auto method + extraIpAddresses: [] + + ## @param spiderpoolController.tls.auto.extraDnsNames extra DNS names of server cert for auto method + extraDnsNames: [] + +## @section spiderpoolInit parameters +## +spiderpoolInit: + ## @param spiderpoolInit.name the init job for installing default spiderippool + name: "spiderpool-init" + + ## @param spiderpoolInit.binName the binName name of spiderpoolInit + binName: "/usr/bin/spiderpool-init" + + ## @param spiderpoolInit.hostnetwork enable hostnetwork mode of spiderpoolInit pod. Notice, if no CNI available before spiderpool installation, must enable this + hostnetwork: true + + image: + ## @param spiderpoolInit.image.registry the image registry of spiderpoolInit + registry: ghcr.io + + ## @param spiderpoolInit.image.repository the image repository of spiderpoolInit + repository: spidernet-io/spiderpool/spiderpool-controller + + ## @param spiderpoolInit.image.pullPolicy the image pullPolicy of spiderpoolInit + pullPolicy: IfNotPresent + + ## @param spiderpoolInit.image.digest the image digest of spiderpoolInit, which takes preference over tag + digest: "" + + ## @param spiderpoolInit.image.tag the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. + tag: v0.9.1 + + ## @param spiderpoolInit.image.imagePullSecrets the image imagePullSecrets of spiderpoolInit + imagePullSecrets: [] + # - name: "image-pull-secret" + + ## @param spiderpoolInit.priorityClassName the priority Class Name for spiderpoolInit + priorityClassName: "system-node-critical" + + ## @skip spiderpoolInit.tolerations + tolerations: + - operator: Exists + + ## @skip spiderpoolInit.nodeSelector.kubernetes.io/os + nodeSelector: + kubernetes.io/os: linux + + ## @param spiderpoolInit.affinity the affinity of spiderpoolInit + affinity: {} + + ## @param spiderpoolInit.extraArgs the additional arguments of spiderpoolInit container + extraArgs: [] + + resources: + limits: + ## @param spiderpoolInit.resources.limits.cpu the cpu limit of spiderpoolInit pod + cpu: 200m + ## @param spiderpoolInit.resources.limits.memory the memory limit of spiderpoolInit pod + memory: 256Mi + requests: + ## @param spiderpoolInit.resources.requests.cpu the cpu requests of spiderpoolInit pod + cpu: 100m + ## @param spiderpoolInit.resources.requests.memory the memory requests of spiderpoolInit pod + memory: 128Mi + + readinessProbe: + ## @param spiderpoolInit.readinessProbe.failureThreshold the failure threshold of startup probe for spiderpool-init health checking + failureThreshold: 30 + + ## @param spiderpoolInit.readinessProbe.periodSeconds the period seconds of startup probe for spiderpool-init health checking + periodSeconds: 10 + + ## @param spiderpoolInit.extraEnv the additional environment variables of spiderpoolInit container + extraEnv: [] + + ## @param spiderpoolInit.securityContext the security Context of spiderpoolInit pod + securityContext: {} + # runAsUser: 0 + + ## @param spiderpoolInit.podAnnotations the additional annotations of spiderpoolInit pod + podAnnotations: {} + + ## @param spiderpoolInit.podLabels the additional label of spiderpoolInit pod + podLabels: {} + + serviceAccount: + ## @param spiderpoolInit.serviceAccount.annotations the annotations of spiderpoolInit service account + annotations: {} + +## @section sriov network operator parameters +## +sriov: + ## @param sriov.install install sriov network operator + install: false + + ## @param sriov.name the name of sriov network operator + name: "spiderpool-sriov-operator" + + ## @skip sriov.tolerations + tolerations: + - operator: Exists + + ## @skip sriov.nodeSelector.kubernetes.io/os + nodeSelector: + kubernetes.io/os: linux + + ## @param sriov.affinity the affinity + affinity: {} + + ## @param sriov.hostnetwork enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this + hostnetwork: true + + ## @param sriov.replicas the replicas number + replicas: 1 + + ## @param sriov.resourcePrefix the resource prefix + resourcePrefix: "spidernet.io" + + ## @param sriov.priorityClassName the priority Class Name + priorityClassName: "system-node-critical" + + ## @param sriov.enableAdmissionController enable Admission Controller + enableAdmissionController: false + + resources: + limits: + ## @param sriov.resources.limits.cpu the cpu limit + cpu: 300m + ## @param sriov.resources.limits.memory the memory limit + memory: 300Mi + requests: + ## @param sriov.resources.requests.cpu the cpu requests + cpu: 100m + ## @param sriov.resources.requests.memory the memory requests + memory: 128Mi + + image: + ## @param sriov.image.registry registry for all images + registry: ghcr.io + + ## @param sriov.image.pullPolicy the image pullPolicy for all images + pullPolicy: IfNotPresent + + ## @param sriov.image.imagePullSecrets the image imagePullSecrets for all images + imagePullSecrets: [] + # - name: "image-pull-secret" + + operator: + ## @param sriov.image.operator.repository the image repository + repository: k8snetworkplumbingwg/sriov-network-operator + + ## @param sriov.image.operator.tag the image tag + tag: v1.2.0 + + sriovConfigDaemon: + ## @param sriov.image.sriovConfigDaemon.repository the image repository + repository: k8snetworkplumbingwg/sriov-network-operator-config-daemon + + ## @param sriov.image.sriovConfigDaemon.tag the image tag + tag: v1.2.0 + + sriovCni: + ## @param sriov.image.sriovCni.repository the image repository + repository: k8snetworkplumbingwg/sriov-cni + + ## @param sriov.image.sriovCni.tag the image tag + tag: v2.7.0 + + ibSriovCni: + ## @param sriov.image.ibSriovCni.repository the image repository + repository: k8snetworkplumbingwg/ib-sriov-cni + + ## @param sriov.image.ibSriovCni.tag the image tag + tag: v1.0.2 + + sriovDevicePlugin: + ## @param sriov.image.sriovDevicePlugin.repository the image repository + repository: k8snetworkplumbingwg/sriov-network-device-plugin + + ## @param sriov.image.sriovDevicePlugin.tag the image tag + tag: v3.5.1 + + resourcesInjector: + ## @param sriov.image.resourcesInjector.repository the image repository + repository: k8snetworkplumbingwg/network-resources-injector + + ## @param sriov.image.resourcesInjector.tag the image tag + tag: v1.5 + + webhook: + ## @param sriov.image.webhook.repository the image repository + repository: k8snetworkplumbingwg/sriov-network-operator-webhook + + ## @param sriov.image.webhook.tag the image tag + tag: v1.2.0 diff --git a/build/helm/edgemesh/values.yaml b/build/helm/edgemesh/values.yaml index 4ea912c9b..a6f6c3b02 100644 --- a/build/helm/edgemesh/values.yaml +++ b/build/helm/edgemesh/values.yaml @@ -33,8 +33,9 @@ agent: enable: true edgeTunnel: enable: true - spiderpool: + coordinator: + enabled: false multus: enableMultusConfig: false multusCNI: @@ -45,6 +46,5 @@ spiderpool: installOvsCNI: false installibSriovCNI: false installIpoibCNI: false - coordinator: - enabled: false - \ No newline at end of file + sriov: + install: false diff --git a/hack/update-spiderpool-charts.sh b/hack/update-spiderpool-charts.sh new file mode 100755 index 000000000..32bf4b362 --- /dev/null +++ b/hack/update-spiderpool-charts.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +SPIDERPOOL_REPO_NAME="spiderpool" +SPIDERPOOL_REPO_URL="https://spidernet-io.github.io/spiderpool" +SPIDERPOOL_VERSION="0.9.1" + +if ! which helm &>/dev/null ; then + echo "error, please install 'helm'" + exit 1 +fi + +CURRENT_FILENAME=$( basename $0 ) +CURRENT_DIR_PATH=$(cd $(dirname $0); pwd) +PROJECT_ROOT_PATH=$( cd ${CURRENT_DIR_PATH}/.. && pwd ) +SPIDERPOOL_HELM_DIR=${PROJECT_ROOT_PATH}/build/helm/edgemesh/charts +SPIDERPOOL_HELM_PATH=${SPIDERPOOL_HELM_DIR}/spiderpool + +echo "generate helm chart for spiderpool ${SPIDERPOOL_VERSION}" +rm -rf ${SPIDERPOOL_HELM_PATH} +helm repo add ${SPIDERPOOL_REPO_NAME} ${SPIDERPOOL_REPO_URL} +helm repo update ${SPIDERPOOL_REPO_NAME} +cd ${SPIDERPOOL_HELM_DIR} +helm pull ${SPIDERPOOL_REPO_NAME}/${SPIDERPOOL_REPO_NAME} --untar --version ${SPIDERPOOL_VERSION} +echo "succeeded to generate chart to $SPIDERPOOL_HELM_PATH" +exit 0