Compare commits
21 Commits
3075ae8a3a
...
8f45e67eec
Author | SHA1 | Date | |
---|---|---|---|
8f45e67eec | |||
7f1d4333d7 | |||
cc9983742d | |||
a0f3230fab | |||
0b761fc5c4 | |||
22748995bc | |||
b00d3a6a14 | |||
fd2c32ed30 | |||
12e0b0cfcf | |||
db1f237a69 | |||
5a16422f75 | |||
84081514c6 | |||
12fd6df3d8 | |||
71d8919cc5 | |||
58986e1d5b | |||
257bedf284 | |||
6a002155a7 | |||
fb9865ef2c | |||
f01df7954d | |||
e6493e9961 | |||
9e87f92d45 |
@ -251,7 +251,7 @@ control_plane_node() {
|
||||
done
|
||||
|
||||
# see if we are a former member and remove our former self if so
|
||||
MY_ID=$(etcdctl member list --endpoints=$etcd_endpoints | grep $ETCD_NODENAME | awk '{print $1}' | sed -e 's/,$//')
|
||||
MY_ID=$(etcdctl member list --endpoints=$etcd_endpoints | grep $ETCD_NODENAME | awk '{print $1}' | sed -e 's/,$//' || true)
|
||||
[ -n "$MY_ID" ] && retry 12 5 5 etcdctl member remove $MY_ID --endpoints=$etcd_endpoints
|
||||
|
||||
# flush etcd data directory as joining with previous storage seems flaky, especially during etcd version upgrades
|
||||
|
@ -83,6 +83,9 @@ function get_kubezero_secret() {
|
||||
|
||||
|
||||
function ensure_kubezero_secret_key() {
|
||||
local ns=$1
|
||||
local secret=$2
|
||||
|
||||
local secret="$(kubectl get secret -n $ns $secret -o yaml)"
|
||||
local key
|
||||
local val
|
||||
@ -264,6 +267,11 @@ function _helm() {
|
||||
|
||||
crds
|
||||
|
||||
elif [ $action == "dryrun" ]; then
|
||||
cat $WORKDIR/values.yaml
|
||||
render
|
||||
cat $WORKDIR/helm.yaml
|
||||
|
||||
elif [ $action == "apply" -o $action == "replace" ]; then
|
||||
echo "using values to $action of module $module: "
|
||||
cat $WORKDIR/values.yaml
|
||||
|
@ -10,7 +10,14 @@ def migrate(values):
|
||||
|
||||
# 1.32
|
||||
try:
|
||||
values["istio-ingress"]["gateway"]["service"]["extraPorts"] = values["istio-ingress"]["gateway"]["service"]["ports"]
|
||||
values["istio-ingress"]["gateway"]["service"].pop("ports")
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
try:
|
||||
values["istio-private-ingress"]["gateway"]["service"]["extraPorts"] = values["istio-private-ingress"]["gateway"]["service"]["ports"]
|
||||
values["istio-private-ingress"]["gateway"]["service"].pop("ports")
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
|
@ -2,8 +2,8 @@ apiVersion: v2
|
||||
name: kubezero-addons
|
||||
description: KubeZero umbrella chart for various optional cluster addons
|
||||
type: application
|
||||
version: 0.8.14
|
||||
appVersion: v1.31
|
||||
version: 0.8.15
|
||||
appVersion: v1.32
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
@ -34,7 +34,7 @@ dependencies:
|
||||
repository: https://nvidia.github.io/k8s-device-plugin
|
||||
condition: nvidia-device-plugin.enabled
|
||||
- name: neuron-helm-chart
|
||||
version: 1.1.1
|
||||
version: 1.1.2
|
||||
# https://github.com/aws-neuron/neuron-helm-charts/tree/main/charts/neuron-helm-chart
|
||||
repository: oci://public.ecr.aws/neuron #/neuron-helm-chart
|
||||
condition: neuron-helm-chart.enabled
|
||||
@ -43,7 +43,7 @@ dependencies:
|
||||
repository: https://bitnami-labs.github.io/sealed-secrets
|
||||
condition: sealed-secrets.enabled
|
||||
- name: aws-node-termination-handler
|
||||
version: 0.27.0
|
||||
version: 0.27.1
|
||||
repository: "oci://public.ecr.aws/aws-ec2/helm"
|
||||
condition: aws-node-termination-handler.enabled
|
||||
- name: aws-eks-asg-rolling-update-handler
|
||||
@ -54,4 +54,4 @@ dependencies:
|
||||
version: 0.3.2
|
||||
repository: https://caas-team.github.io/helm-charts/
|
||||
condition: py-kube-downscaler.enabled
|
||||
kubeVersion: ">= 1.30.0-0"
|
||||
kubeVersion: ">= 1.31.0-0"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# kubezero-addons
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
KubeZero umbrella chart for various optional cluster addons
|
||||
|
||||
@ -14,7 +14,7 @@ KubeZero umbrella chart for various optional cluster addons
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>= 1.30.0-0`
|
||||
Kubernetes: `>= 1.31.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
@ -24,8 +24,8 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| https://kubernetes.github.io/autoscaler | cluster-autoscaler | 9.46.6 |
|
||||
| https://nvidia.github.io/k8s-device-plugin | nvidia-device-plugin | 0.17.1 |
|
||||
| https://twin.github.io/helm-charts | aws-eks-asg-rolling-update-handler | 1.5.0 |
|
||||
| oci://public.ecr.aws/aws-ec2/helm | aws-node-termination-handler | 0.27.0 |
|
||||
| oci://public.ecr.aws/neuron | neuron-helm-chart | 1.1.1 |
|
||||
| oci://public.ecr.aws/aws-ec2/helm | aws-node-termination-handler | 0.27.1 |
|
||||
| oci://public.ecr.aws/neuron | neuron-helm-chart | 1.1.2 |
|
||||
|
||||
# MetalLB
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
appVersion: 1.25.0
|
||||
appVersion: 1.25.1
|
||||
description: A Helm chart for the AWS Node Termination Handler.
|
||||
home: https://github.com/aws/aws-node-termination-handler/
|
||||
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
|
||||
@ -21,4 +21,4 @@ name: aws-node-termination-handler
|
||||
sources:
|
||||
- https://github.com/aws/aws-node-termination-handler/
|
||||
type: application
|
||||
version: 0.27.0
|
||||
version: 0.27.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
description: KubeZero Argo - Events, Workflow, CD
|
||||
name: kubezero-argo
|
||||
version: 0.4.0
|
||||
version: 0.4.1
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
@ -22,11 +22,11 @@ dependencies:
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
condition: argo-events.enabled
|
||||
- name: argo-cd
|
||||
version: 8.0.9
|
||||
version: 8.0.14
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
condition: argo-cd.enabled
|
||||
- name: argocd-image-updater
|
||||
version: 0.12.1
|
||||
version: 0.12.2
|
||||
repository: https://argoproj.github.io/argo-helm
|
||||
condition: argocd-image-updater.enabled
|
||||
kubeVersion: ">= 1.30.0-0"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# kubezero-argo
|
||||
|
||||

|
||||

|
||||
|
||||
KubeZero Argo - Events, Workflow, CD
|
||||
|
||||
@ -18,9 +18,9 @@ Kubernetes: `>= 1.30.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://argoproj.github.io/argo-helm | argo-cd | 8.0.9 |
|
||||
| https://argoproj.github.io/argo-helm | argo-cd | 8.0.14 |
|
||||
| https://argoproj.github.io/argo-helm | argo-events | 2.4.15 |
|
||||
| https://argoproj.github.io/argo-helm | argocd-image-updater | 0.12.1 |
|
||||
| https://argoproj.github.io/argo-helm | argocd-image-updater | 0.12.2 |
|
||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | 0.2.1 |
|
||||
|
||||
## Values
|
||||
@ -53,7 +53,7 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| argo-cd.dex.enabled | bool | `false` | |
|
||||
| argo-cd.enabled | bool | `false` | |
|
||||
| argo-cd.global.image.repository | string | `"public.ecr.aws/zero-downtime/zdt-argocd"` | |
|
||||
| argo-cd.global.image.tag | string | `"v3.0.3"` | |
|
||||
| argo-cd.global.image.tag | string | `"v3.0.5"` | |
|
||||
| argo-cd.global.logging.format | string | `"json"` | |
|
||||
| argo-cd.global.networkPolicy.create | bool | `true` | |
|
||||
| argo-cd.istio.enabled | bool | `false` | |
|
||||
@ -83,8 +83,8 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| argo-events.configs.jetstream.streamConfig.maxMsgs | int | `1000000` | Maximum number of messages before expiring oldest message |
|
||||
| argo-events.configs.jetstream.streamConfig.replicas | int | `1` | Number of replicas, defaults to 3 and requires minimal 3 |
|
||||
| argo-events.configs.jetstream.versions[0].configReloaderImage | string | `"natsio/nats-server-config-reloader:0.14.1"` | |
|
||||
| argo-events.configs.jetstream.versions[0].metricsExporterImage | string | `"natsio/prometheus-nats-exporter:0.17.2"` | |
|
||||
| argo-events.configs.jetstream.versions[0].natsImage | string | `"nats:2.11.1-scratch"` | |
|
||||
| argo-events.configs.jetstream.versions[0].metricsExporterImage | string | `"natsio/prometheus-nats-exporter:0.17.3"` | |
|
||||
| argo-events.configs.jetstream.versions[0].natsImage | string | `"nats:2.11.4-scratch"` | |
|
||||
| argo-events.configs.jetstream.versions[0].startCommand | string | `"/nats-server"` | |
|
||||
| argo-events.configs.jetstream.versions[0].version | string | `"2.10.11"` | |
|
||||
| argo-events.enabled | bool | `false` | |
|
||||
|
@ -26,6 +26,7 @@ spec:
|
||||
prune: true
|
||||
syncOptions:
|
||||
- ApplyOutOfSyncOnly=true
|
||||
- ServerSideApply=true
|
||||
info:
|
||||
- name: "Source:"
|
||||
value: "https://git.zero-downtime.net/ZeroDownTime/KubeZero/src/branch/release/v1.32/"
|
||||
|
@ -25,8 +25,8 @@ argo-events:
|
||||
# do NOT use -alpine tag as the entrypoint differs
|
||||
versions:
|
||||
- version: 2.10.11
|
||||
natsImage: nats:2.11.1-scratch
|
||||
metricsExporterImage: natsio/prometheus-nats-exporter:0.17.2
|
||||
natsImage: nats:2.11.4-scratch
|
||||
metricsExporterImage: natsio/prometheus-nats-exporter:0.17.3
|
||||
configReloaderImage: natsio/nats-server-config-reloader:0.14.1
|
||||
startCommand: /nats-server
|
||||
|
||||
@ -38,7 +38,7 @@ argo-cd:
|
||||
format: json
|
||||
image:
|
||||
repository: public.ecr.aws/zero-downtime/zdt-argocd
|
||||
tag: v3.0.3
|
||||
tag: v3.0.5
|
||||
networkPolicy:
|
||||
create: true
|
||||
|
||||
@ -63,6 +63,10 @@ argo-cd:
|
||||
application.instanceLabelKey: Null
|
||||
server.rbac.log.enforce.enable: Null
|
||||
|
||||
resource.compareoptions: |
|
||||
# disables status field diffing in specified resource types
|
||||
ignoreAggregatedRoles: true
|
||||
|
||||
resource.customizations: |
|
||||
argoproj.io/Application:
|
||||
health.lua: |
|
||||
|
@ -17,11 +17,11 @@ dependencies:
|
||||
version: 0.2.1
|
||||
repository: https://cdn.zero-downtime.net/charts/
|
||||
- name: redis
|
||||
version: 21.1.11
|
||||
version: 21.2.0
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: redis.enabled
|
||||
- name: redis-cluster
|
||||
version: 12.0.7
|
||||
version: 12.0.8
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: redis-cluster.enabled
|
||||
|
||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: kubezero-falco
|
||||
description: Falco Container Security and Audit components
|
||||
type: application
|
||||
version: 0.1.2
|
||||
version: 0.1.3
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
@ -16,7 +16,7 @@ dependencies:
|
||||
version: 0.2.1
|
||||
repository: https://cdn.zero-downtime.net/charts/
|
||||
- name: falco
|
||||
version: 4.2.5
|
||||
version: 5.0.0
|
||||
repository: https://falcosecurity.github.io/charts
|
||||
condition: k8saudit.enabled
|
||||
alias: k8saudit
|
||||
|
@ -42,17 +42,3 @@ helm.sh/chart: {{ include "kubezero-lib.chart" . }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/part-of: kubezero
|
||||
{{- end -}}
|
||||
|
||||
{{- /*
|
||||
kubezero-lib.util.merge will merge two YAML templates and output the result.
|
||||
This takes an array of three values:
|
||||
- the top context
|
||||
- the template name of the overrides (destination)
|
||||
- the template name of the base (source)
|
||||
*/ -}}
|
||||
{{- define "kubezero-lib.util.merge" -}}
|
||||
{{- $top := first . -}}
|
||||
{{- $overrides := fromYaml (include (index . 1) $top) | default (dict ) -}}
|
||||
{{- $tpl := fromYaml (include (index . 2) $top) | default (dict ) -}}
|
||||
{{- toYaml (merge $overrides $tpl) -}}
|
||||
{{- end -}}
|
||||
|
@ -12,7 +12,7 @@ kube-prometheus-stack:
|
||||
kubeStateMetrics:
|
||||
enabled: true
|
||||
kubeProxy:
|
||||
enabled: true
|
||||
enabled: false
|
||||
|
||||
kubeEtcd:
|
||||
enabled: true
|
||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: kubezero-mq
|
||||
description: KubeZero umbrella chart for MQ systems like NATS, RabbitMQ
|
||||
type: application
|
||||
version: 0.3.11
|
||||
version: 0.3.12
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
@ -17,7 +17,7 @@ dependencies:
|
||||
version: 0.2.1
|
||||
repository: https://cdn.zero-downtime.net/charts/
|
||||
- name: nats
|
||||
version: 1.3.3
|
||||
version: 1.3.7
|
||||
repository: https://nats-io.github.io/k8s/helm/charts/
|
||||
condition: nats.enabled
|
||||
- name: rabbitmq
|
||||
|
@ -1,6 +1,6 @@
|
||||
# kubezero-mq
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
KubeZero umbrella chart for MQ systems like NATS, RabbitMQ
|
||||
|
||||
@ -20,7 +20,7 @@ Kubernetes: `>= 1.26.0`
|
||||
|------------|------|---------|
|
||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | 0.2.1 |
|
||||
| https://charts.bitnami.com/bitnami | rabbitmq | 14.7.0 |
|
||||
| https://nats-io.github.io/k8s/helm/charts/ | nats | 1.3.3 |
|
||||
| https://nats-io.github.io/k8s/helm/charts/ | nats | 1.3.7 |
|
||||
|
||||
## Values
|
||||
|
||||
@ -32,6 +32,8 @@ Kubernetes: `>= 1.26.0`
|
||||
| nats.istio.gateway | string | `"istio-ingress/private-ingressgateway"` | |
|
||||
| nats.mqtt.enabled | bool | `false` | |
|
||||
| nats.natsBox.enabled | bool | `false` | |
|
||||
| nats.podTemplate.topologySpreadConstraints."kubernetes.io/hostname".maxSkew | int | `1` | |
|
||||
| nats.podTemplate.topologySpreadConstraints."kubernetes.io/hostname".whenUnsatisfiable | string | `"DoNotSchedule"` | |
|
||||
| nats.promExporter.enabled | bool | `false` | |
|
||||
| nats.promExporter.podMonitor.enabled | bool | `false` | |
|
||||
| rabbitmq.auth.existingErlangSecret | string | `"rabbitmq"` | |
|
||||
|
@ -1,5 +1,5 @@
|
||||
configmap: grafana-dashboards-nats
|
||||
condition: '.Values.nats.exporter.serviceMonitor.enabled'
|
||||
condition: '.Values.nats.promExporter.podMonitor.enabled'
|
||||
gzip: true
|
||||
# folder:
|
||||
dashboards:
|
||||
|
@ -10,7 +10,6 @@ keywords:
|
||||
- multus
|
||||
- cilium
|
||||
- aws-cni
|
||||
- metallb
|
||||
maintainers:
|
||||
- name: Stefan Reimer
|
||||
email: stefan@zero-downtime.net
|
||||
@ -22,10 +21,6 @@ dependencies:
|
||||
version: 1.17.4
|
||||
repository: https://helm.cilium.io/
|
||||
condition: cilium.enabled
|
||||
- name: metallb
|
||||
version: 0.14.9
|
||||
repository: https://metallb.github.io/metallb
|
||||
condition: metallb.enabled
|
||||
- name: haproxy
|
||||
version: 1.24.0
|
||||
repository: https://haproxytech.github.io/helm-charts
|
||||
|
@ -21,19 +21,21 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | 0.2.1 |
|
||||
| https://haproxytech.github.io/helm-charts | haproxy | 1.24.0 |
|
||||
| https://helm.cilium.io/ | cilium | 1.17.4 |
|
||||
| https://metallb.github.io/metallb | metallb | 0.14.9 |
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| cilium.bpf.preallocateMaps | bool | `true` | |
|
||||
| cilium.cgroup.autoMount.enabled | bool | `false` | |
|
||||
| cilium.cgroup.hostRoot | string | `"/sys/fs/cgroup"` | |
|
||||
| cilium.cluster.id | int | `240` | |
|
||||
| cilium.cluster.name | string | `"default"` | |
|
||||
| cilium.cni.binPath | string | `"/usr/libexec/cni"` | |
|
||||
| cilium.cni.exclusive | bool | `false` | |
|
||||
| cilium.cni.exclusive | bool | `true` | |
|
||||
| cilium.cni.iptablesRemoveAWSRules | bool | `false` | |
|
||||
| cilium.cni.logFile | string | `"/var/log/cilium-cni.log"` | |
|
||||
| cilium.dnsProxy.enableTransparentMode | bool | `true` | |
|
||||
| cilium.enabled | bool | `false` | |
|
||||
| cilium.envoy.enabled | bool | `false` | |
|
||||
| cilium.hubble.enabled | bool | `false` | |
|
||||
@ -45,7 +47,8 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| cilium.hubble.ui.enabled | bool | `false` | |
|
||||
| cilium.image.useDigest | bool | `false` | |
|
||||
| cilium.ipam.operator.clusterPoolIPv4PodCIDRList[0] | string | `"10.240.0.0/16"` | |
|
||||
| cilium.k8s.apiServerURLs | string | `""` | |
|
||||
| cilium.k8sServiceHost | string | `""` | |
|
||||
| cilium.k8sServicePort | int | `6443` | |
|
||||
| cilium.kubeProxyReplacement | bool | `true` | |
|
||||
| cilium.l7Proxy | bool | `false` | |
|
||||
| cilium.operator.nodeSelector."node-role.kubernetes.io/control-plane" | string | `""` | |
|
||||
@ -56,12 +59,13 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| cilium.operator.tolerations[0].key | string | `"node-role.kubernetes.io/control-plane"` | |
|
||||
| cilium.operator.tolerations[1].effect | string | `"NoSchedule"` | |
|
||||
| cilium.operator.tolerations[1].key | string | `"node.cilium.io/agent-not-ready"` | |
|
||||
| cilium.operator.tolerations[2].effect | string | `"NoSchedule"` | |
|
||||
| cilium.operator.tolerations[2].key | string | `"node.kubernetes.io/not-ready"` | |
|
||||
| cilium.prometheus.enabled | bool | `false` | |
|
||||
| cilium.prometheus.port | int | `9091` | |
|
||||
| cilium.prometheus.serviceMonitor.enabled | bool | `false` | |
|
||||
| cilium.resources.limits.memory | string | `"1Gi"` | |
|
||||
| cilium.resources.requests.cpu | string | `"10m"` | |
|
||||
| cilium.resources.requests.memory | string | `"160Mi"` | |
|
||||
| cilium.resources.requests.cpu | string | `"50m"` | |
|
||||
| cilium.resources.requests.memory | string | `"256Mi"` | |
|
||||
| cilium.routingMode | string | `"tunnel"` | |
|
||||
| cilium.sysctlfix.enabled | bool | `false` | |
|
||||
| cilium.tunnelProtocol | string | `"geneve"` | |
|
||||
@ -109,11 +113,6 @@ Kubernetes: `>= 1.30.0-0`
|
||||
| haproxy.serviceMonitor.endpoints[0].path | string | `"/metrics"` | |
|
||||
| haproxy.serviceMonitor.endpoints[0].port | string | `"prometheus"` | |
|
||||
| haproxy.serviceMonitor.endpoints[0].scheme | string | `"http"` | |
|
||||
| metallb.controller.nodeSelector."node-role.kubernetes.io/control-plane" | string | `""` | |
|
||||
| metallb.controller.tolerations[0].effect | string | `"NoSchedule"` | |
|
||||
| metallb.controller.tolerations[0].key | string | `"node-role.kubernetes.io/control-plane"` | |
|
||||
| metallb.enabled | bool | `false` | |
|
||||
| metallb.ipAddressPools | list | `[]` | |
|
||||
| multus.clusterNetwork | string | `"cilium"` | |
|
||||
| multus.defaultNetworks | list | `[]` | |
|
||||
| multus.enabled | bool | `false` | |
|
||||
|
@ -1,27 +0,0 @@
|
||||
{{- if .Values.metallb.enabled }}
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: L2Advertisement
|
||||
metadata:
|
||||
name: l2advertisement1
|
||||
namespace: kube-system
|
||||
spec:
|
||||
ipAddressPools:
|
||||
{{- range $key, $val := .Values.metallb.ipAddressPools }}
|
||||
{{- if eq $val.protocol "layer2" }}
|
||||
- {{ $val.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
---
|
||||
|
||||
{{- range $key, $val := .Values.metallb.ipAddressPools }}
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: {{ $val.name }}
|
||||
namespace: kube-system
|
||||
spec:
|
||||
addresses:
|
||||
{{- $val.addresses | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
---
|
||||
{{- end }}
|
@ -1,19 +1,3 @@
|
||||
metallb:
|
||||
enabled: false
|
||||
|
||||
controller:
|
||||
tolerations:
|
||||
- key: node-role.kubernetes.io/control-plane
|
||||
effect: NoSchedule
|
||||
nodeSelector:
|
||||
node-role.kubernetes.io/control-plane: ""
|
||||
|
||||
ipAddressPools: []
|
||||
#- name: my-ip-space
|
||||
# protocol: layer2
|
||||
# addresses:
|
||||
# - 192.168.42.0/24
|
||||
|
||||
multus:
|
||||
enabled: false
|
||||
image:
|
||||
@ -33,10 +17,10 @@ cilium:
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 160Mi
|
||||
limits:
|
||||
memory: 1Gi
|
||||
cpu: 50m
|
||||
memory: 256Mi
|
||||
# limits:
|
||||
# memory: 1Gi
|
||||
# cpu: 4000m
|
||||
|
||||
cni:
|
||||
@ -68,6 +52,13 @@ cilium:
|
||||
dnsProxy:
|
||||
enableTransparentMode: true
|
||||
|
||||
# For LB support via L2announcement or BGP - on-prem only
|
||||
# l2announcements:
|
||||
# enabled: true
|
||||
# Not needed normally
|
||||
# externalIPs:
|
||||
# enabled: true
|
||||
|
||||
k8sServiceHost: ""
|
||||
k8sServicePort: 6443
|
||||
# k8s:
|
||||
@ -80,8 +71,9 @@ cilium:
|
||||
enabled: false
|
||||
hostRoot: "/sys/fs/cgroup"
|
||||
|
||||
bpf:
|
||||
preallocateMaps: true
|
||||
# we need biDirectional so use helm init-container
|
||||
#bpf:
|
||||
# autoMount:
|
||||
# enabled: false
|
||||
|
||||
|
23
charts/kubezero-policy/Chart.yaml
Normal file
23
charts/kubezero-policy/Chart.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: v2
|
||||
name: kubezero-policy
|
||||
description: KubeZero umbrella chart for Kyverno
|
||||
type: application
|
||||
version: 0.1.0
|
||||
appVersion: v1.14
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
- kubezero
|
||||
- kyverno
|
||||
maintainers:
|
||||
- name: Stefan Reimer
|
||||
email: stefan@zero-downtime.net
|
||||
dependencies:
|
||||
- name: kubezero-lib
|
||||
version: 0.2.1
|
||||
repository: https://cdn.zero-downtime.net/charts/
|
||||
- name: kyverno
|
||||
version: 3.4.2
|
||||
repository: https://kyverno.github.io/kyverno/
|
||||
condition: kyverno.enabled
|
||||
kubeVersion: ">= 1.30.0-0"
|
30
charts/kubezero-policy/README.md
Normal file
30
charts/kubezero-policy/README.md
Normal file
@ -0,0 +1,30 @@
|
||||
# kubezero-policy
|
||||
|
||||
  
|
||||
|
||||
KubeZero umbrella chart for Kyverno
|
||||
|
||||
**Homepage:** <https://kubezero.com>
|
||||
|
||||
## Maintainers
|
||||
|
||||
| Name | Email | Url |
|
||||
| ---- | ------ | --- |
|
||||
| Stefan Reimer | <stefan@zero-downtime.net> | |
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>= 1.30.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | 0.2.1 |
|
||||
| https://kyverno.github.io/kyverno/ | kyverno | 3.4.2 |
|
||||
|
||||
# Kyverno
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| kyverno.enabled | bool | `false` | |
|
18
charts/kubezero-policy/README.md.gotmpl
Normal file
18
charts/kubezero-policy/README.md.gotmpl
Normal file
@ -0,0 +1,18 @@
|
||||
{{ template "chart.header" . }}
|
||||
{{ template "chart.deprecationWarning" . }}
|
||||
|
||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
||||
|
||||
{{ template "chart.description" . }}
|
||||
|
||||
{{ template "chart.homepageLine" . }}
|
||||
|
||||
{{ template "chart.maintainersSection" . }}
|
||||
|
||||
{{ template "chart.sourcesSection" . }}
|
||||
|
||||
{{ template "chart.requirementsSection" . }}
|
||||
|
||||
# Kyverno
|
||||
|
||||
{{ template "chart.valuesSection" . }}
|
52
charts/kubezero-policy/templates/kyverno/certifcates.yaml
Normal file
52
charts/kubezero-policy/templates/kyverno/certifcates.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
{{- if and false .Values.kyverno.enabled }}
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ template "kubezero-lib.fullname" . }}-admission-tls
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{ include "kubezero-lib.labels" . | nindent 4 }}
|
||||
spec:
|
||||
secretName: {{ template "kubezero-lib.fullname" . }}-kyverno-svc.{{ .Release.Namespace }}.svc.kyverno-tls-pair
|
||||
issuerRef:
|
||||
name: kubezero-local-ca-issuer
|
||||
kind: ClusterIssuer
|
||||
duration: 8760h0m0s
|
||||
privateKey:
|
||||
encoding: PKCS8
|
||||
usages:
|
||||
- "client auth"
|
||||
- "server auth"
|
||||
commonName: {{ template "kubezero-lib.fullname" . }}-admission
|
||||
dnsNames:
|
||||
# <cluster-name>-<nodepool-component>-<index>
|
||||
- 'kyverno-svc'
|
||||
- 'kyverno-svc.{{ .Release.Namespace }}'
|
||||
- 'kyverno-svc.{{ .Release.Namespace }}.svc'
|
||||
---
|
||||
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ template "kubezero-lib.fullname" . }}-cleanup-tls
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{ include "kubezero-lib.labels" . | nindent 4 }}
|
||||
spec:
|
||||
secretName: {{ template "kubezero-lib.fullname" . }}-kyverno-cleanup-controller.{{ .Release.Namespace }}.svc.kyverno-tls-pair
|
||||
issuerRef:
|
||||
name: kubezero-local-ca-issuer
|
||||
kind: ClusterIssuer
|
||||
duration: 8760h0m0s
|
||||
privateKey:
|
||||
encoding: PKCS8
|
||||
usages:
|
||||
- "client auth"
|
||||
- "server auth"
|
||||
commonName: {{ template "kubezero-lib.fullname" . }}-cleanup-controller
|
||||
dnsNames:
|
||||
# <cluster-name>-<nodepool-component>-<index>
|
||||
- 'kyverno-cleanup-controller'
|
||||
- 'kyverno-cleanup-controller.{{ .Release.Namespace }}'
|
||||
- 'kyverno-cleanup-controller.{{ .Release.Namespace }}.svc'
|
||||
{{- end }}
|
9
charts/kubezero-policy/update.sh
Executable file
9
charts/kubezero-policy/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
. ../../scripts/lib-update.sh
|
||||
|
||||
login_ecr_public
|
||||
update_helm
|
||||
|
||||
update_docs
|
28
charts/kubezero-policy/values.yaml
Normal file
28
charts/kubezero-policy/values.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
kyverno:
|
||||
enabled: false
|
||||
|
||||
# templating:
|
||||
# enabled: true
|
||||
|
||||
admissionController:
|
||||
revisionHistoryLimit: 2
|
||||
|
||||
nodeSelector:
|
||||
node-role.kubernetes.io/control-plane: ""
|
||||
tolerations:
|
||||
- key: node-role.kubernetes.io/control-plane
|
||||
effect: NoSchedule
|
||||
|
||||
# container:
|
||||
# extraArgs:
|
||||
# caSecretName: kubezero-policy-admission-tls
|
||||
# tlsSecretName: kubezero-policy-admission-tls
|
||||
|
||||
backgroundController:
|
||||
enabled: false
|
||||
|
||||
# cleanupController:
|
||||
# enabled: false
|
||||
|
||||
reportsController:
|
||||
enabled: false
|
@ -10,7 +10,8 @@ metadata:
|
||||
labels:
|
||||
{{- include "kubezero-lib.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-options: Replace=true
|
||||
argocd.argoproj.io/compare-options: IncludeMutationWebhook=true
|
||||
# argocd.argoproj.io/sync-options: Replace=true
|
||||
{{- with ( index .Values $name "annotations" ) }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
@ -28,7 +29,7 @@ spec:
|
||||
helm:
|
||||
skipTests: true
|
||||
valuesObject:
|
||||
{{- include (print $name "-values") $ | nindent 8 }}
|
||||
{{- toYaml (merge (omit (index .Values $name) "enabled" "namespace" "retain" "targetRevision") (fromYaml (include (print $name "-values") $ ))) | nindent 8 }}
|
||||
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
@ -41,6 +42,7 @@ spec:
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ApplyOutOfSyncOnly=true
|
||||
- ServerSideApply=true
|
||||
info:
|
||||
- name: "Source:"
|
||||
value: "https://git.zero-downtime.net/ZeroDownTime/KubeZero/src/branch/release/v1.31/charts/kubezero-{{ $name }}"
|
||||
|
@ -10,9 +10,9 @@ argo-cd:
|
||||
params:
|
||||
{{- if not $.Values.global.highAvailable }}
|
||||
# Reduce load on API server on single node control plane
|
||||
controller.status.processors: 2
|
||||
controller.operation.processors: 1
|
||||
controller.kubectl.parallelism.limit: 1
|
||||
controller.status.processors: 4
|
||||
controller.operation.processors: 2
|
||||
controller.kubectl.parallelism.limit: 2
|
||||
{{- else }}
|
||||
controller.status.processors: 8
|
||||
controller.operation.processors: 4
|
||||
|
@ -67,7 +67,7 @@ gateway:
|
||||
gatewayProtocol: HTTPS
|
||||
tls:
|
||||
mode: SIMPLE
|
||||
{{- with index .Values "istio-ingress" "gateway" "service" "ports" }}
|
||||
{{- with index .Values "istio-ingress" "gateway" "service" "extraPorts" }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
@ -93,7 +93,6 @@ certificates:
|
||||
{{- toYaml $cert.dnsNames | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
proxyProtocol: {{ default true (index .Values "istio-ingress" "proxyProtocol") }}
|
||||
{{- with (index .Values "istio-ingress" "hardening") }}
|
||||
hardening:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
|
@ -64,7 +64,7 @@ gateway:
|
||||
gatewayProtocol: HTTPS
|
||||
tls:
|
||||
mode: SIMPLE
|
||||
{{- with index .Values "istio-private-ingress" "gateway" "service" "ports" }}
|
||||
{{- with index .Values "istio-private-ingress" "gateway" "service" "extraPorts" }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
@ -88,7 +88,6 @@ certificates:
|
||||
dnsNames:
|
||||
{{- toYaml $cert.dnsNames | nindent 4 }}
|
||||
{{- end }}
|
||||
proxyProtocol: {{ default true (index .Values "istio-private-ingress" "proxyProtocol") }}
|
||||
{{- with (index .Values "istio-private-ingress" "hardening") }}
|
||||
hardening:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
|
@ -1,28 +1,17 @@
|
||||
{{- define "network-values" }}
|
||||
multus:
|
||||
enabled: false
|
||||
clusterNetwork: "cilium"
|
||||
|
||||
# {{- if eq .Values.global.platform "aws" }}
|
||||
# image:
|
||||
# pullPolicy: Never
|
||||
# {{- end }}
|
||||
|
||||
cilium:
|
||||
enabled: true
|
||||
k8sServiceHost: {{ .Values.global.apiServerUrl }}
|
||||
|
||||
# {{- if eq .Values.global.platform "aws" }}
|
||||
# image:
|
||||
# pullPolicy: Never
|
||||
# {{- end }}
|
||||
k8sServiceHost: {{ .Values.global.apiServerUrl }}
|
||||
# k8s:
|
||||
# apiServerURLs: "https://{{ .Values.global.apiServerUrl }}"
|
||||
|
||||
cluster:
|
||||
name: {{ .Values.global.clusterName }}
|
||||
{{- with .Values.network.cilium.cluster.id }}
|
||||
id: {{ . }}
|
||||
{{- with ((.Values.network.cilium).cluster).id }}
|
||||
ipam:
|
||||
operator:
|
||||
clusterPoolIPv4PodCIDRList:
|
||||
@ -43,11 +32,6 @@ cilium:
|
||||
serviceMonitor:
|
||||
enabled: {{ .Values.metrics.enabled }}
|
||||
|
||||
{{- with .Values.network.metallb }}
|
||||
metallb:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
|
||||
{{- with .Values.network.haproxy }}
|
||||
haproxy:
|
||||
{{- toYaml . | nindent 2 }}
|
||||
@ -57,12 +41,6 @@ haproxy:
|
||||
|
||||
|
||||
{{- define "network-argo" }}
|
||||
# Metallb
|
||||
ignoreDifferences:
|
||||
- group: apiextensions.k8s.io
|
||||
kind: CustomResourceDefinition
|
||||
jsonPointers:
|
||||
- /spec/conversion/webhook/clientConfig/caBundle
|
||||
{{- end }}
|
||||
|
||||
{{ include "kubezero-app.app" . }}
|
||||
|
9
charts/kubezero/templates/policy.yaml
Normal file
9
charts/kubezero/templates/policy.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
{{- define "policy-values" }}
|
||||
kyverno:
|
||||
dummy: test
|
||||
{{- end }}
|
||||
|
||||
{{- define "policy-argo" }}
|
||||
{{- end }}
|
||||
|
||||
{{ include "kubezero-app.app" . }}
|
@ -30,12 +30,17 @@ addons:
|
||||
aws-eks-asg-rolling-update-handler:
|
||||
enabled: false
|
||||
|
||||
policy:
|
||||
enabled: false
|
||||
namespace: kyverno
|
||||
targetRevision: 0.1.0
|
||||
|
||||
network:
|
||||
enabled: true
|
||||
retain: true
|
||||
targetRevision: 0.5.9
|
||||
cilium:
|
||||
cluster: {}
|
||||
enabled: true
|
||||
|
||||
cert-manager:
|
||||
enabled: false
|
||||
@ -61,13 +66,13 @@ storage:
|
||||
istio:
|
||||
enabled: false
|
||||
namespace: istio-system
|
||||
targetRevision: 0.24.3
|
||||
targetRevision: 0.24.6
|
||||
|
||||
istio-ingress:
|
||||
enabled: false
|
||||
chart: kubezero-istio-gateway
|
||||
namespace: istio-ingress
|
||||
targetRevision: 0.24.3
|
||||
targetRevision: 0.24.6
|
||||
gateway:
|
||||
service: {}
|
||||
|
||||
@ -75,7 +80,7 @@ istio-private-ingress:
|
||||
enabled: false
|
||||
chart: kubezero-istio-gateway
|
||||
namespace: istio-ingress
|
||||
targetRevision: 0.24.3
|
||||
targetRevision: 0.24.6
|
||||
gateway:
|
||||
service: {}
|
||||
|
||||
@ -118,7 +123,7 @@ logging:
|
||||
argo:
|
||||
enabled: false
|
||||
namespace: argocd
|
||||
targetRevision: 0.4.0
|
||||
targetRevision: 0.4.1
|
||||
argo-cd:
|
||||
enabled: false
|
||||
istio:
|
||||
|
Loading…
x
Reference in New Issue
Block a user