Compare commits

..

19 Commits

Author SHA1 Message Date
Andrei Kvapil
9efbf5d22e Update release images 2024-05-06 13:51:30 +02:00
Andrei Kvapil
662f12e0ce Fix kubernetes chart post-rendering 2024-05-06 13:42:11 +02:00
Andrei Kvapil
3439cf39dd Add basic topologySpreadConstraints 2024-05-06 12:58:33 +02:00
Andrei Kvapil
965e1be283 Fix datastore creation depends on created secrets 2024-05-06 12:58:32 +02:00
Marian Koreniuk
9145be14c1 Merge pull request #117 from aenix-io/release-0.1.0v2
Prepare release v0.4.0
2024-05-06 09:25:39 +02:00
Andrei Kvapil
fca349c641 Update Talos v1.7.1 2024-05-04 07:32:08 +02:00
Andrei Kvapil
0b38599394 Prepare release v0.4.0
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-05-03 23:12:35 +02:00
Andrei Kvapil
0a33950a40 Prepare release v0.4.0 (#115) 2024-05-03 23:02:41 +02:00
Andrei Kvapil
e3376a223e Fix tolerations in Kubernetes chart (#116) 2024-05-03 13:26:02 +02:00
Marian Koreniuk
dee190ad4f Merge pull request #95 from aenix-io/etcd-operator
Replace kamaji-etcd with aenix-io/etcd-operator
2024-05-02 22:42:52 +02:00
Marian Koreniuk
66f963bfd0 Merge pull request #104 from aenix-io/replicas
Introduce replicas options
2024-04-26 16:03:09 +02:00
Andrei Kvapil
4f2757731a Fix: dashboard colors for dark mode (#108)
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-26 12:12:00 +02:00
Andrei Kvapil
372c3cbd17 Update Kamaji v0.5.0 (#99)
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-26 11:00:06 +02:00
Andrei Kvapil
ff9ab5ba85 Fix older versions in dashboard (#102)
Workaround for https://github.com/vmware-tanzu/kubeapps/issues/7740

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-26 10:41:05 +02:00
Andrei Kvapil
c7568d2312 Update kubeapps-15.0.2 (#103)
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-26 10:18:22 +02:00
Marian Koreniuk
f4778abb3f Merge pull request #105 from aenix-io/upd-linstor
Update LISNTOR v1.27.1
2024-04-25 20:49:14 +02:00
Andrei Kvapil
68a7cc52c3 Update LISNTOR v1.27.1
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-25 18:29:23 +02:00
Marian Koreniuk
be508fd107 Fix etcd-operator Makefile 2024-04-24 16:21:06 +03:00
Andrei Kvapil
a6d0f7cfd4 Add etcd-operator
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-24 12:29:05 +02:00
111 changed files with 8523 additions and 6109 deletions

View File

@@ -63,7 +63,7 @@ spec:
serviceAccountName: cozystack serviceAccountName: cozystack
containers: containers:
- name: cozystack - name: cozystack
image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.4.0"
env: env:
- name: KUBERNETES_SERVICE_HOST - name: KUBERNETES_SERVICE_HOST
value: localhost value: localhost
@@ -82,7 +82,7 @@ spec:
fieldRef: fieldRef:
fieldPath: metadata.name fieldPath: metadata.name
- name: darkhttpd - name: darkhttpd
image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.4.0"
command: command:
- /usr/bin/darkhttpd - /usr/bin/darkhttpd
- /cozystack/assets - /cozystack/assets

View File

@@ -7,7 +7,7 @@ repo:
awk '$$3 != "HEAD" {print "mkdir -p $(TMP)/" $$1 "-" $$2}' versions_map | sh -ex awk '$$3 != "HEAD" {print "mkdir -p $(TMP)/" $$1 "-" $$2}' versions_map | sh -ex
awk '$$3 != "HEAD" {print "git archive " $$3 " " $$1 " | tar -xf- --strip-components=1 -C $(TMP)/" $$1 "-" $$2 }' versions_map | sh -ex awk '$$3 != "HEAD" {print "git archive " $$3 " " $$1 " | tar -xf- --strip-components=1 -C $(TMP)/" $$1 "-" $$2 }' versions_map | sh -ex
helm package -d "$(OUT)" $$(find . $(TMP) -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")' | sort -V) helm package -d "$(OUT)" $$(find . $(TMP) -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")' | sort -V)
cd "$(OUT)" && helm repo index . cd "$(OUT)" && helm repo index . --url http://cozystack.cozy-system.svc/repos/apps
rm -rf "$(TMP)" rm -rf "$(TMP)"
fix-chartnames: fix-chartnames:

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:e406d5ac59cc06bbab51e16ae9a520143ad4f54952ef8f8cca982dc89454d616", "containerimage.config.digest": "sha256:9eb68d2d503d7e22afc6fde2635f566fd3456bbdb3caad5dc9f887be1dc2b8ab",
"containerimage.digest": "sha256:08e5063e65d2adc17278abee0ab43ce31cf37bc9bc7eb7988ef16f1f1c459862" "containerimage.digest": "sha256:1f44274dbc2c3be2a98e6cef83d68a041ae9ef31abb8ab069a525a2a92702bdd"
} }

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:62baab666445d76498fb14cc1d0865fc82e4bdd5cb1d7ba80475dc5024184622", "containerimage.config.digest": "sha256:a7e8e6e35ac07bcf6253c9cfcf21fd3c315bd0653ad0427dd5f0cae95ffd3722",
"containerimage.digest": "sha256:9363d717f966f4e7927da332eaaf17401b42203a2fcb493b428f94d096dae3a5" "containerimage.digest": "sha256:c03bffeeb70fe7dd680d2eca3021d2405fbcd9961dd38437f5673560c31c72cc"
} }

View File

@@ -15,6 +15,12 @@ spec:
labels: labels:
app: {{ .Release.Name }}-cluster-autoscaler app: {{ .Release.Name }}-cluster-autoscaler
spec: spec:
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: "NoSchedule"
containers: containers:
- image: ghcr.io/kvaps/test:cluster-autoscaller - image: ghcr.io/kvaps/test:cluster-autoscaller
name: cluster-autoscaler name: cluster-autoscaler

View File

@@ -16,12 +16,10 @@ spec:
spec: spec:
serviceAccountName: {{ .Release.Name }}-kcsi serviceAccountName: {{ .Release.Name }}-kcsi
priorityClassName: system-cluster-critical priorityClassName: system-cluster-critical
nodeSelector:
node-role.kubernetes.io/control-plane: ""
tolerations: tolerations:
- key: CriticalAddonsOnly - key: CriticalAddonsOnly
operator: Exists operator: Exists
- key: node-role.kubernetes.io/master - key: node-role.kubernetes.io/control-plane
operator: Exists operator: Exists
effect: "NoSchedule" effect: "NoSchedule"
containers: containers:

View File

@@ -12,6 +12,12 @@ spec:
spec: spec:
serviceAccountName: {{ .Release.Name }}-flux-teardown serviceAccountName: {{ .Release.Name }}-flux-teardown
restartPolicy: Never restartPolicy: Never
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: "NoSchedule"
containers: containers:
- name: kubectl - name: kubectl
image: docker.io/clastix/kubectl:v1.29.1 image: docker.io/clastix/kubectl:v1.29.1

View File

@@ -14,6 +14,12 @@ spec:
labels: labels:
k8s-app: {{ .Release.Name }}-kccm k8s-app: {{ .Release.Name }}-kccm
spec: spec:
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: "NoSchedule"
containers: containers:
- name: kubevirt-cloud-controller-manager - name: kubevirt-cloud-controller-manager
args: args:
@@ -44,6 +50,4 @@ spec:
- secret: - secret:
secretName: {{ .Release.Name }}-admin-kubeconfig secretName: {{ .Release.Name }}-admin-kubeconfig
name: kubeconfig name: kubeconfig
tolerations:
- operator: Exists
serviceAccountName: {{ .Release.Name }}-kccm serviceAccountName: {{ .Release.Name }}-kccm

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:29b11ecbb92bae830f2e55cd4b6f7f3ada09b2f5514c0eeee395bd2dbd12fb81", "containerimage.config.digest": "sha256:aefc3ca9f56f69270d7ce6f56a1ce5b531332d5641481eb54c8e74b66b0f3341",
"containerimage.digest": "sha256:791df989ff37a76062c7c638dbfc93435df9ee0db48797f2045c80b6d6b937c0" "containerimage.digest": "sha256:a2bf43cb7eb812166edfeb1a4fae6a76a4ddba93be2c0ba9040a804ccb53c261"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/cozystack:v0.3.1 ghcr.io/aenix-io/cozystack/cozystack:v0.4.0

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:d63ac434876b4e47c130e6b99f0c9657e718f9d97f522f5ccd878eab75844122", "containerimage.config.digest": "sha256:68ea72fcc581352fabfd87fa6fd482968cc85ee520cab7a614f1244d7ae36eb0",
"containerimage.digest": "sha256:9963580a02ac4ddccafb60f2411365910bcadd73f92d1c9187a278221306a4ed" "containerimage.digest": "sha256:cea915e08a19eb6892f3facf3b3648368cd4a05abefc49bc2616ba3340c27e82"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/matchbox:v1.6.4 ghcr.io/aenix-io/cozystack/matchbox:v1.7.1

View File

@@ -3,24 +3,25 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.6.4 version: v1.7.1
input: input:
kernel: kernel:
path: /usr/install/amd64/vmlinuz path: /usr/install/amd64/vmlinuz
initramfs: initramfs:
path: /usr/install/amd64/initramfs.xz path: /usr/install/amd64/initramfs.xz
baseInstaller: baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4 imageRef: ghcr.io/siderolabs/installer:v1.7.1
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115 - imageRef: ghcr.io/siderolabs/amd-ucode:20240410
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115 - imageRef: ghcr.io/siderolabs/i915-ucode:20240410
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114 - imageRef: ghcr.io/siderolabs/intel-ucode:20240312
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4 - imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4 - imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1
output: output:
kind: initramfs kind: initramfs
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,24 +3,25 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.6.4 version: v1.7.1
input: input:
kernel: kernel:
path: /usr/install/amd64/vmlinuz path: /usr/install/amd64/vmlinuz
initramfs: initramfs:
path: /usr/install/amd64/initramfs.xz path: /usr/install/amd64/initramfs.xz
baseInstaller: baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4 imageRef: ghcr.io/siderolabs/installer:v1.7.1
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115 - imageRef: ghcr.io/siderolabs/amd-ucode:20240410
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115 - imageRef: ghcr.io/siderolabs/i915-ucode:20240410
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114 - imageRef: ghcr.io/siderolabs/intel-ucode:20240312
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4 - imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4 - imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1
output: output:
kind: installer kind: installer
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,24 +3,25 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.6.4 version: v1.7.1
input: input:
kernel: kernel:
path: /usr/install/amd64/vmlinuz path: /usr/install/amd64/vmlinuz
initramfs: initramfs:
path: /usr/install/amd64/initramfs.xz path: /usr/install/amd64/initramfs.xz
baseInstaller: baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4 imageRef: ghcr.io/siderolabs/installer:v1.7.1
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115 - imageRef: ghcr.io/siderolabs/amd-ucode:20240410
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115 - imageRef: ghcr.io/siderolabs/i915-ucode:20240410
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114 - imageRef: ghcr.io/siderolabs/intel-ucode:20240312
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4 - imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4 - imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1
output: output:
kind: iso kind: iso
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,24 +3,25 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.6.4 version: v1.7.1
input: input:
kernel: kernel:
path: /usr/install/amd64/vmlinuz path: /usr/install/amd64/vmlinuz
initramfs: initramfs:
path: /usr/install/amd64/initramfs.xz path: /usr/install/amd64/initramfs.xz
baseInstaller: baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4 imageRef: ghcr.io/siderolabs/installer:v1.7.1
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115 - imageRef: ghcr.io/siderolabs/amd-ucode:20240410
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115 - imageRef: ghcr.io/siderolabs/i915-ucode:20240410
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114 - imageRef: ghcr.io/siderolabs/intel-ucode:20240312
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4 - imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4 - imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1
output: output:
kind: kernel kind: kernel
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,25 +3,25 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.6.4 version: v1.7.1
input: input:
kernel: kernel:
path: /usr/install/amd64/vmlinuz path: /usr/install/amd64/vmlinuz
initramfs: initramfs:
path: /usr/install/amd64/initramfs.xz path: /usr/install/amd64/initramfs.xz
baseInstaller: baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4 imageRef: ghcr.io/siderolabs/installer:v1.7.1
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115 - imageRef: ghcr.io/siderolabs/amd-ucode:20240410
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115 - imageRef: ghcr.io/siderolabs/i915-ucode:20240410
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114 - imageRef: ghcr.io/siderolabs/intel-ucode:20240312
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4 - imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4 - imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1
output: output:
kind: image kind: nocloud
imageOptions: { diskSize: 1306525696, diskFormat: raw } imageOptions: { diskSize: 1306525696, diskFormat: raw }
outFormat: .xz outFormat: .xz

View File

@@ -52,6 +52,12 @@ releases:
privileged: true privileged: true
dependsOn: [cilium] dependsOn: [cilium]
- name: etcd-operator
releaseName: etcd-operator
chart: cozy-etcd-operator
namespace: cozy-etcd-operator
dependsOn: [cilium,cert-manager]
- name: grafana-operator - name: grafana-operator
releaseName: grafana-operator releaseName: grafana-operator
chart: cozy-grafana-operator chart: cozy-grafana-operator

View File

@@ -26,6 +26,12 @@ releases:
privileged: true privileged: true
dependsOn: [victoria-metrics-operator] dependsOn: [victoria-metrics-operator]
- name: etcd-operator
releaseName: etcd-operator
chart: cozy-etcd-operator
namespace: cozy-etcd-operator
dependsOn: [cert-manager]
- name: grafana-operator - name: grafana-operator
releaseName: grafana-operator releaseName: grafana-operator
chart: cozy-grafana-operator chart: cozy-grafana-operator

View File

@@ -81,6 +81,12 @@ releases:
privileged: true privileged: true
dependsOn: [cilium,kubeovn] dependsOn: [cilium,kubeovn]
- name: etcd-operator
releaseName: etcd-operator
chart: cozy-etcd-operator
namespace: cozy-etcd-operator
dependsOn: [cilium,kubeovn,cert-manager]
- name: grafana-operator - name: grafana-operator
releaseName: grafana-operator releaseName: grafana-operator
chart: cozy-grafana-operator chart: cozy-grafana-operator

View File

@@ -26,6 +26,12 @@ releases:
privileged: true privileged: true
dependsOn: [victoria-metrics-operator] dependsOn: [victoria-metrics-operator]
- name: etcd-operator
releaseName: etcd-operator
chart: cozy-etcd-operator
namespace: cozy-etcd-operator
dependsOn: [cert-manager]
- name: grafana-operator - name: grafana-operator
releaseName: grafana-operator releaseName: grafana-operator
chart: cozy-grafana-operator chart: cozy-grafana-operator

View File

@@ -23,9 +23,11 @@ spec:
interval: 1m interval: 1m
releaseName: {{ $x.releaseName | default $x.name }} releaseName: {{ $x.releaseName | default $x.name }}
install: install:
crds: CreateReplace
remediation: remediation:
retries: -1 retries: -1
upgrade: upgrade:
crds: CreateReplace
remediation: remediation:
retries: -1 retries: -1
chart: chart:

View File

@@ -7,7 +7,7 @@ repo:
awk '$$3 != "HEAD" {print "mkdir -p $(TMP)/" $$1 "-" $$2}' versions_map | sh -ex awk '$$3 != "HEAD" {print "mkdir -p $(TMP)/" $$1 "-" $$2}' versions_map | sh -ex
awk '$$3 != "HEAD" {print "git archive " $$3 " " $$1 " | tar -xf- --strip-components=1 -C $(TMP)/" $$1 "-" $$2 }' versions_map | sh -ex awk '$$3 != "HEAD" {print "git archive " $$3 " " $$1 " | tar -xf- --strip-components=1 -C $(TMP)/" $$1 "-" $$2 }' versions_map | sh -ex
helm package -d "$(OUT)" $$(find . $(TMP) -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")' | sort -V) helm package -d "$(OUT)" $$(find . $(TMP) -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")' | sort -V)
cd "$(OUT)" && helm repo index . cd "$(OUT)" && helm repo index . --url http://cozystack.cozy-system.svc/repos/extra
rm -rf "$(TMP)" rm -rf "$(TMP)"
fix-chartnames: fix-chartnames:

View File

@@ -3,4 +3,4 @@ name: etcd
description: Storage for Kubernetes clusters description: Storage for Kubernetes clusters
icon: https://www.svgrepo.com/show/353714/etcd.svg icon: https://www.svgrepo.com/show/353714/etcd.svg
type: application type: application
version: 1.0.0 version: 2.0.0

View File

@@ -0,0 +1,50 @@
---
apiVersion: kamaji.clastix.io/v1alpha1
kind: DataStore
metadata:
name: {{ .Release.Namespace }}
spec:
driver: etcd
endpoints:
- etcd-0.etcd-headless.{{ .Release.Namespace }}.svc:2379
- etcd-1.etcd-headless.{{ .Release.Namespace }}.svc:2379
- etcd-2.etcd-headless.{{ .Release.Namespace }}.svc:2379
tlsConfig:
certificateAuthority:
certificate:
secretReference:
keyPath: tls.crt
name: etcd-ca-tls
namespace: {{ .Release.Namespace }}
privateKey:
secretReference:
keyPath: tls.key
name: etcd-ca-tls
namespace: {{ .Release.Namespace }}
clientCertificate:
certificate:
secretReference:
keyPath: tls.crt
name: etcd-client-tls
namespace: {{ .Release.Namespace }}
privateKey:
secretReference:
keyPath: tls.key
name: etcd-client-tls
namespace: {{ .Release.Namespace }}
---
apiVersion: v1
kind: Secret
metadata:
name: etcd-ca-tls
annotations:
helm.sh/hook: pre-install
helm.sh/resource-policy: keep
---
apiVersion: v1
kind: Secret
metadata:
name: etcd-client-tls
annotations:
helm.sh/hook: pre-install
helm.sh/resource-policy: keep

View File

@@ -0,0 +1,176 @@
---
apiVersion: etcd.aenix.io/v1alpha1
kind: EtcdCluster
metadata:
name: etcd
spec:
storage: {}
security:
tls:
peerTrustedCASecret: etcd-peer-ca-tls
peerSecret: etcd-peer-tls
serverSecret: etcd-server-tls
clientTrustedCASecret: etcd-ca-tls
clientSecret: etcd-client-tls
podTemplate:
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app.kubernetes.io/instance: etcd
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: etcd-selfsigning-issuer
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: etcd-peer-ca
spec:
isCA: true
usages:
- "signing"
- "key encipherment"
- "cert sign"
commonName: etcd-peer-ca
subject:
organizations:
- ACME Inc.
organizationalUnits:
- Widgets
secretName: etcd-peer-ca-tls
privateKey:
algorithm: RSA
size: 4096
issuerRef:
name: etcd-selfsigning-issuer
kind: Issuer
group: cert-manager.io
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: etcd-ca
spec:
isCA: true
usages:
- "signing"
- "key encipherment"
- "cert sign"
commonName: etcd-ca
subject:
organizations:
- ACME Inc.
organizationalUnits:
- Widgets
secretName: etcd-ca-tls
privateKey:
algorithm: RSA
size: 4096
issuerRef:
name: etcd-selfsigning-issuer
kind: Issuer
group: cert-manager.io
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: etcd-peer-issuer
spec:
ca:
secretName: etcd-peer-ca-tls
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: etcd-issuer
spec:
ca:
secretName: etcd-ca-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: etcd-server
spec:
secretName: etcd-server-tls
isCA: false
usages:
- "server auth"
- "signing"
- "key encipherment"
dnsNames:
- etcd-0
- etcd-0.etcd-headless
- etcd-0.etcd-headless.{{ .Release.Namespace }}.svc
- etcd-1
- etcd-1.etcd-headless
- etcd-1.etcd-headless.{{ .Release.Namespace }}.svc
- etcd-2
- etcd-2.etcd-headless
- etcd-2.etcd-headless.{{ .Release.Namespace }}.svc
- localhost
- "127.0.0.1"
privateKey:
rotationPolicy: Always
algorithm: RSA
size: 4096
issuerRef:
name: etcd-issuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: etcd-peer
spec:
secretName: etcd-peer-tls
isCA: false
usages:
- "server auth"
- "client auth"
- "signing"
- "key encipherment"
dnsNames:
- etcd-0
- etcd-0.etcd-headless
- etcd-0.etcd-headless.{{ .Release.Namespace }}.svc
- etcd-1
- etcd-1.etcd-headless
- etcd-1.etcd-headless.{{ .Release.Namespace }}.svc
- etcd-2
- etcd-2.etcd-headless
- etcd-2.etcd-headless.{{ .Release.Namespace }}.svc
- localhost
- "127.0.0.1"
privateKey:
rotationPolicy: Always
algorithm: RSA
size: 4096
issuerRef:
name: etcd-peer-issuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: etcd-client
spec:
commonName: root
secretName: etcd-client-tls
usages:
- "signing"
- "key encipherment"
- "client auth"
privateKey:
rotationPolicy: Always
algorithm: RSA
size: 4096
issuerRef:
name: etcd-issuer
kind: Issuer

View File

@@ -1,19 +0,0 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: kamaji-etcd
spec:
chart:
spec:
chart: cozy-kamaji-etcd
reconcileStrategy: Revision
sourceRef:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
version: '*'
interval: 1m0s
timeout: 5m0s
values:
kamaji-etcd:
fullnameOverride: etcd

View File

@@ -1,3 +1,4 @@
etcd 1.0.0 HEAD etcd 1.0.0 f7eaab0
etcd 2.0.0 HEAD
ingress 1.0.0 HEAD ingress 1.0.0 HEAD
monitoring 1.0.0 HEAD monitoring 1.0.0 HEAD

View File

@@ -13,7 +13,7 @@ spec:
deployment: deployment:
containers: containers:
- name: manager - name: manager
imageUrl: ghcr.io/kvaps/test:cluster-api-control-plane-provider-kamaji-v0.6.0-fix7 imageUrl: ghcr.io/kvaps/test:cluster-api-control-plane-provider-kamaji-v0.7.1-fix
--- ---
apiVersion: operator.cluster.x-k8s.io/v1alpha2 apiVersion: operator.cluster.x-k8s.io/v1alpha2
kind: BootstrapProvider kind: BootstrapProvider

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: redis - name: redis
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 18.19.2 version: 19.0.2
- name: postgresql - name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 13.4.6 version: 15.2.4
- name: common - name: common
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 2.19.0 version: 2.19.1
digest: sha256:b4965a22517e61212e78abb8d1cbe86e800c8664b3139e2047f4bd62b3e55b24 digest: sha256:2ff034d67cb1b9c11f0243b3ab9a6a8642bf12142df2f86043f9006adf6dbba1
generated: "2024-03-13T11:51:34.216594+01:00" generated: "2024-04-08T09:01:34.727544997Z"

View File

@@ -2,33 +2,33 @@ annotations:
category: Infrastructure category: Infrastructure
images: | images: |
- name: kubeapps-apis - name: kubeapps-apis
image: docker.io/bitnami/kubeapps-apis:2.9.0-debian-12-r19 image: docker.io/bitnami/kubeapps-apis:2.10.0-debian-12-r0
- name: kubeapps-apprepository-controller - name: kubeapps-apprepository-controller
image: docker.io/bitnami/kubeapps-apprepository-controller:2.9.0-debian-12-r18 image: docker.io/bitnami/kubeapps-apprepository-controller:2.10.0-debian-12-r0
- name: kubeapps-asset-syncer - name: kubeapps-asset-syncer
image: docker.io/bitnami/kubeapps-asset-syncer:2.9.0-debian-12-r19 image: docker.io/bitnami/kubeapps-asset-syncer:2.10.0-debian-12-r0
- name: kubeapps-dashboard - name: kubeapps-dashboard
image: docker.io/bitnami/kubeapps-dashboard:2.9.0-debian-12-r18 image: docker.io/bitnami/kubeapps-dashboard:2.10.0-debian-12-r0
- name: kubeapps-oci-catalog - name: kubeapps-oci-catalog
image: docker.io/bitnami/kubeapps-oci-catalog:2.9.0-debian-12-r17 image: docker.io/bitnami/kubeapps-oci-catalog:2.10.0-debian-12-r0
- name: kubeapps-pinniped-proxy - name: kubeapps-pinniped-proxy
image: docker.io/bitnami/kubeapps-pinniped-proxy:2.9.0-debian-12-r17 image: docker.io/bitnami/kubeapps-pinniped-proxy:2.10.0-debian-12-r0
- name: nginx - name: nginx
image: docker.io/bitnami/nginx:1.25.4-debian-12-r3 image: docker.io/bitnami/nginx:1.25.4-debian-12-r7
- name: oauth2-proxy - name: oauth2-proxy
image: docker.io/bitnami/oauth2-proxy:7.6.0-debian-12-r4 image: docker.io/bitnami/oauth2-proxy:7.6.0-debian-12-r7
licenses: Apache-2.0 licenses: Apache-2.0
apiVersion: v2 apiVersion: v2
appVersion: 2.9.0 appVersion: 2.10.0
dependencies: dependencies:
- condition: packaging.flux.enabled - condition: packaging.flux.enabled
name: redis name: redis
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 18.x.x version: 19.x.x
- condition: packaging.helm.enabled - condition: packaging.helm.enabled
name: postgresql name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 13.x.x version: 15.x.x
- name: common - name: common
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
tags: tags:
@@ -51,4 +51,4 @@ maintainers:
name: kubeapps name: kubeapps
sources: sources:
- https://github.com/bitnami/charts/tree/main/bitnami/kubeapps - https://github.com/bitnami/charts/tree/main/bitnami/kubeapps
version: 14.7.2 version: 15.0.2

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ annotations:
category: Infrastructure category: Infrastructure
licenses: Apache-2.0 licenses: Apache-2.0
apiVersion: v2 apiVersion: v2
appVersion: 2.19.0 appVersion: 2.19.1
description: A Library Helm Chart for grouping common logic between bitnami charts. description: A Library Helm Chart for grouping common logic between bitnami charts.
This chart is not deployable by itself. This chart is not deployable by itself.
home: https://bitnami.com home: https://bitnami.com
@@ -20,4 +20,4 @@ name: common
sources: sources:
- https://github.com/bitnami/charts - https://github.com/bitnami/charts
type: library type: library
version: 2.19.0 version: 2.19.1

View File

@@ -11,7 +11,7 @@ These presets are for basic testing and not meant to be used in production
{{ include "common.resources.preset" (dict "type" "nano") -}} {{ include "common.resources.preset" (dict "type" "nano") -}}
*/}} */}}
{{- define "common.resources.preset" -}} {{- define "common.resources.preset" -}}
{{/* The limits are the requests increased by 50% (except ephemeral-storage)*/}} {{/* The limits are the requests increased by 50% (except ephemeral-storage and xlarge/2xlarge sizes)*/}}
{{- $presets := dict {{- $presets := dict
"nano" (dict "nano" (dict
"requests" (dict "cpu" "100m" "memory" "128Mi" "ephemeral-storage" "50Mi") "requests" (dict "cpu" "100m" "memory" "128Mi" "ephemeral-storage" "50Mi")
@@ -34,11 +34,11 @@ These presets are for basic testing and not meant to be used in production
"limits" (dict "cpu" "1.5" "memory" "3072Mi" "ephemeral-storage" "1024Mi") "limits" (dict "cpu" "1.5" "memory" "3072Mi" "ephemeral-storage" "1024Mi")
) )
"xlarge" (dict "xlarge" (dict
"requests" (dict "cpu" "2.0" "memory" "4096Mi" "ephemeral-storage" "50Mi") "requests" (dict "cpu" "1.5" "memory" "4096Mi" "ephemeral-storage" "50Mi")
"limits" (dict "cpu" "3.0" "memory" "6144Mi" "ephemeral-storage" "1024Mi") "limits" (dict "cpu" "3.0" "memory" "6144Mi" "ephemeral-storage" "1024Mi")
) )
"2xlarge" (dict "2xlarge" (dict
"requests" (dict "cpu" "4.0" "memory" "8192Mi" "ephemeral-storage" "50Mi") "requests" (dict "cpu" "1.5" "memory" "4096Mi" "ephemeral-storage" "50Mi")
"limits" (dict "cpu" "6.0" "memory" "12288Mi" "ephemeral-storage" "1024Mi") "limits" (dict "cpu" "6.0" "memory" "12288Mi" "ephemeral-storage" "1024Mi")
) )
}} }}
@@ -47,4 +47,4 @@ These presets are for basic testing and not meant to be used in production
{{- else -}} {{- else -}}
{{- printf "ERROR: Preset key '%s' invalid. Allowed values are %s" .type (join "," (keys $presets)) | fail -}} {{- printf "ERROR: Preset key '%s' invalid. Allowed values are %s" .type (join "," (keys $presets)) | fail -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@@ -35,4 +35,4 @@ maintainers:
name: redis name: redis
sources: sources:
- https://github.com/bitnami/charts/tree/main/bitnami/redis - https://github.com/bitnami/charts/tree/main/bitnami/redis
version: 18.19.2 version: 19.0.2

View File

@@ -28,8 +28,8 @@ spec:
{{- if .Values.metrics.podMonitor.honorLabels }} {{- if .Values.metrics.podMonitor.honorLabels }}
honorLabels: {{ .Values.metrics.podMonitor.honorLabels }} honorLabels: {{ .Values.metrics.podMonitor.honorLabels }}
{{- end }} {{- end }}
{{- if .Values.metrics.podMonitor.relabellings }} {{- with concat .Values.metrics.podMonitor.relabelings .Values.metrics.podMonitor.relabellings }}
relabelings: {{- toYaml .Values.metrics.podMonitor.relabellings | nindent 6 }} relabelings: {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
{{- if .Values.metrics.podMonitor.metricRelabelings }} {{- if .Values.metrics.podMonitor.metricRelabelings }}
metricRelabelings: {{- toYaml .Values.metrics.podMonitor.metricRelabelings | nindent 6 }} metricRelabelings: {{- toYaml .Values.metrics.podMonitor.metricRelabelings | nindent 6 }}
@@ -45,8 +45,8 @@ spec:
{{- if .honorLabels }} {{- if .honorLabels }}
honorLabels: {{ .honorLabels }} honorLabels: {{ .honorLabels }}
{{- end }} {{- end }}
{{- if .relabellings }} {{- with concat .Values.metrics.podMonitor.relabelings .Values.metrics.podMonitor.relabellings }}
relabelings: {{- toYaml .relabellings | nindent 6 }} relabelings: {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
{{- if .metricRelabelings }} {{- if .metricRelabelings }}
metricRelabelings: {{- toYaml .metricRelabelings | nindent 6 }} metricRelabelings: {{- toYaml .metricRelabelings | nindent 6 }}

View File

@@ -598,8 +598,9 @@ spec:
image: {{ template "redis.kubectl.image" . }} image: {{ template "redis.kubectl.image" . }}
imagePullPolicy: {{ .Values.kubectl.image.pullPolicy | quote }} imagePullPolicy: {{ .Values.kubectl.image.pullPolicy | quote }}
command: {{- toYaml .Values.kubectl.command | nindent 12 }} command: {{- toYaml .Values.kubectl.command | nindent 12 }}
securityContext: {{- if .Values.kubectl.containerSecurityContext.enabled }}
runAsUser: 0 securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.kubectl.containerSecurityContext "context" $) | nindent 12 }}
{{- end }}
volumeMounts: volumeMounts:
- name: kubectl-shared - name: kubectl-shared
mountPath: /etc/shared mountPath: /etc/shared

View File

@@ -28,8 +28,8 @@ spec:
{{- if .Values.metrics.serviceMonitor.honorLabels }} {{- if .Values.metrics.serviceMonitor.honorLabels }}
honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }} honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }}
{{- end }} {{- end }}
{{- if .Values.metrics.serviceMonitor.relabellings }} {{- with concat .Values.metrics.serviceMonitor.relabelings .Values.metrics.serviceMonitor.relabellings }}
relabelings: {{- toYaml .Values.metrics.serviceMonitor.relabellings | nindent 6 }} relabelings: {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
{{- if .Values.metrics.serviceMonitor.metricRelabelings }} {{- if .Values.metrics.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.metricRelabelings | nindent 6 }} metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.metricRelabelings | nindent 6 }}
@@ -45,8 +45,8 @@ spec:
{{- if .honorLabels }} {{- if .honorLabels }}
honorLabels: {{ .honorLabels }} honorLabels: {{ .honorLabels }}
{{- end }} {{- end }}
{{- if .relabellings }} {{- with concat .Values.metrics.serviceMonitor.relabelings .Values.metrics.serviceMonitor.relabellings }}
relabelings: {{- toYaml .relabellings | nindent 6 }} relabelings: {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
{{- if .metricRelabelings }} {{- if .metricRelabelings }}
metricRelabelings: {{- toYaml .metricRelabelings | nindent 6 }} metricRelabelings: {{- toYaml .metricRelabelings | nindent 6 }}

View File

@@ -30,7 +30,7 @@ global:
openshift: openshift:
## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
## ##
adaptSecurityContext: disabled adaptSecurityContext: auto
## @section Common parameters ## @section Common parameters
## ##
@@ -275,7 +275,7 @@ master:
## @param master.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if master.resources is set (master.resources is recommended for production). ## @param master.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if master.resources is set (master.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param master.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param master.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:
@@ -315,12 +315,12 @@ master:
## ##
containerSecurityContext: containerSecurityContext:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: {}
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
capabilities: capabilities:
@@ -737,7 +737,7 @@ replica:
## @param replica.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if replica.resources is set (replica.resources is recommended for production). ## @param replica.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if replica.resources is set (replica.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param replica.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param replica.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:
@@ -777,12 +777,12 @@ replica:
## ##
containerSecurityContext: containerSecurityContext:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: {}
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
capabilities: capabilities:
@@ -1306,7 +1306,7 @@ sentinel:
## @param sentinel.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sentinel.resources is set (sentinel.resources is recommended for production). ## @param sentinel.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sentinel.resources is set (sentinel.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param sentinel.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param sentinel.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:
@@ -1332,12 +1332,12 @@ sentinel:
## ##
containerSecurityContext: containerSecurityContext:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: {}
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
capabilities: capabilities:
@@ -1708,12 +1708,12 @@ metrics:
## ##
containerSecurityContext: containerSecurityContext:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: {}
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
capabilities: capabilities:
@@ -1729,7 +1729,7 @@ metrics:
## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:
@@ -1812,7 +1812,10 @@ metrics:
## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended ## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended
## ##
scrapeTimeout: "" scrapeTimeout: ""
## @param metrics.serviceMonitor.relabellings Metrics RelabelConfigs to apply to samples before scraping. ## @param metrics.serviceMonitor.relabelings Metrics RelabelConfigs to apply to samples before scraping.
##
relabelings: []
## @skip metrics.serviceMonitor.relabellings DEPRECATED: Use `metrics.serviceMonitor.relabelings` instead.
## ##
relabellings: [] relabellings: []
## @param metrics.serviceMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion. ## @param metrics.serviceMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion.
@@ -1866,7 +1869,10 @@ metrics:
## @param metrics.podMonitor.scrapeTimeout The timeout after which the scrape is ended ## @param metrics.podMonitor.scrapeTimeout The timeout after which the scrape is ended
## ##
scrapeTimeout: "" scrapeTimeout: ""
## @param metrics.podMonitor.relabellings Metrics RelabelConfigs to apply to samples before scraping. ## @param metrics.podMonitor.relabelings Metrics RelabelConfigs to apply to samples before scraping.
##
relabelings: []
## @skip metrics.podMonitor.relabellings DEPRECATED: Use `metrics.podMonitor.relabelings` instead.
## ##
relabellings: [] relabellings: []
## @param metrics.podMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion. ## @param metrics.podMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion.
@@ -1988,7 +1994,7 @@ volumePermissions:
## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:
@@ -2009,7 +2015,7 @@ volumePermissions:
## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed) ## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
## ##
containerSecurityContext: containerSecurityContext:
seLinuxOptions: null seLinuxOptions: {}
runAsUser: 0 runAsUser: 0
## Kubectl InitContainer ## Kubectl InitContainer
@@ -2046,6 +2052,30 @@ kubectl:
## @param kubectl.command kubectl command to execute ## @param kubectl.command kubectl command to execute
## ##
command: ["/opt/bitnami/scripts/kubectl-scripts/update-master-label.sh"] command: ["/opt/bitnami/scripts/kubectl-scripts/update-master-label.sh"]
## Configure Container Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param kubectl.containerSecurityContext.enabled Enabled kubectl containers' Security Context
## @param kubectl.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
## @param kubectl.containerSecurityContext.runAsUser Set kubectl containers' Security Context runAsUser
## @param kubectl.containerSecurityContext.runAsGroup Set kubectl containers' Security Context runAsGroup
## @param kubectl.containerSecurityContext.runAsNonRoot Set kubectl containers' Security Context runAsNonRoot
## @param kubectl.containerSecurityContext.allowPrivilegeEscalation Set kubectl containers' Security Context allowPrivilegeEscalation
## @param kubectl.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
## @param kubectl.containerSecurityContext.seccompProfile.type Set kubectl containers' Security Context seccompProfile
## @param kubectl.containerSecurityContext.capabilities.drop Set kubectl containers' Security Context capabilities to drop
##
containerSecurityContext:
enabled: true
seLinuxOptions: {}
runAsUser: 1001
runAsGroup: 1001
runAsNonRoot: true
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
seccompProfile:
type: RuntimeDefault
capabilities:
drop: ["ALL"]
## Bitnami Kubectl resource requests and limits ## Bitnami Kubectl resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param kubectl.resources.limits The resources limits for the kubectl containers ## @param kubectl.resources.limits The resources limits for the kubectl containers
@@ -2096,7 +2126,7 @@ sysctl:
## @param sysctl.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sysctl.resources is set (sysctl.resources is recommended for production). ## @param sysctl.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sysctl.resources is set (sysctl.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "nano"
## @param sysctl.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) ## @param sysctl.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example: ## Example:
## resources: ## resources:

View File

@@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "kubeapps.apprepository.fullname" . }} name: {{ template "kubeapps.apprepository.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -0,0 +1,59 @@
{{- /*
Copyright VMware, Inc.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.packaging.helm.enabled .Values.apprepository.networkPolicy.enabled }}
kind: NetworkPolicy
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "kubeapps.apprepository.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
policyTypes:
- Ingress
- Egress
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.apprepository.podLabels .Values.commonLabels ) "context" . ) }}
podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: apprepository
{{- if .Values.apprepository.networkPolicy.allowExternalEgress }}
egress:
- {}
{{- else }}
egress:
# Allow dns resolution
- ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
{{- range $port := .Values.apprepository.networkPolicy.kubeAPIServerPorts }}
- port: {{ $port }}
{{- end }}
# Allow connection to PostgreSQL
- ports:
- port: {{ include "kubeapps.postgresql.port" . }}
{{- if .Values.postgresql.enabled }}
to:
- podSelector:
matchLabels:
app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{- if .Values.apprepository.networkPolicy.extraEgress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.apprepository.networkPolicy.extraEgress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
ingress:
{{- if .Values.apprepository.networkPolicy.extraIngress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.apprepository.networkPolicy.extraIngress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -12,7 +12,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: Role kind: Role
metadata: metadata:
name: {{ template "kubeapps.apprepository.fullname" . }} name: {{ template "kubeapps.apprepository.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
@@ -73,7 +73,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: RoleBinding kind: RoleBinding
metadata: metadata:
name: {{ template "kubeapps.apprepository.fullname" . }} name: {{ template "kubeapps.apprepository.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
@@ -112,7 +112,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: Role kind: Role
metadata: metadata:
name: {{ printf "%s-repositories-read" .Release.Name }} name: {{ printf "%s-repositories-read" .Release.Name }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
@@ -132,7 +132,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: Role kind: Role
metadata: metadata:
name: {{ printf "%s-repositories-write" .Release.Name }} name: {{ printf "%s-repositories-write" .Release.Name }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: apprepository app.kubernetes.io/component: apprepository
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "kubeapps.apprepository.serviceAccountName" . }} name: {{ template "kubeapps.apprepository.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.apprepository.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ template "kubeapps.dashboard-config.fullname" . }} name: {{ template "kubeapps.dashboard-config.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -3,12 +3,12 @@ Copyright VMware, Inc.
SPDX-License-Identifier: APACHE-2.0 SPDX-License-Identifier: APACHE-2.0
*/}} */}}
{{- if .Values.dashboard.enabled -}} {{- if .Values.dashboard.enabled }}
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "kubeapps.dashboard.fullname" . }} name: {{ template "kubeapps.dashboard.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -0,0 +1,71 @@
{{- /*
Copyright VMware, Inc.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if and .Values.dashboard.enabled .Values.dashboard.networkPolicy.enabled }}
kind: NetworkPolicy
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "kubeapps.dashboard.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: dashboard
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
policyTypes:
- Ingress
- Egress
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.dashboard.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: dashboard
{{- if .Values.dashboard.networkPolicy.allowExternalEgress }}
egress:
- {}
{{- else }}
egress:
# Allow dns resolution
- ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
{{- range $port := .Values.dashboard.networkPolicy.kubeAPIServerPorts }}
- port: {{ $port }}
{{- end }}
{{- if .Values.dashboard.networkPolicy.extraEgress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dashboard.networkPolicy.extraEgress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
ingress:
# Allow inbound connections
- ports:
- port: {{ .Values.dashboard.containerPorts.http }}
{{- if not .Values.dashboard.networkPolicy.allowExternal }}
from:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
{{- if .Values.dashboard.networkPolicy.ingressNSMatchLabels }}
- namespaceSelector:
matchLabels:
{{- range $key, $value := .Values.dashboard.networkPolicy.ingressNSMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- if .Values.dashboard.networkPolicy.ingressNSPodMatchLabels }}
podSelector:
matchLabels:
{{- range $key, $value := .Values.dashboard.networkPolicy.ingressNSPodMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.dashboard.networkPolicy.extraIngress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dashboard.networkPolicy.extraIngress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "kubeapps.dashboard.fullname" . }} name: {{ template "kubeapps.dashboard.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.dashboard.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -7,7 +7,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ template "kubeapps.frontend-config.fullname" . }} name: {{ template "kubeapps.frontend-config.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -7,7 +7,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "common.names.fullname" . }} name: {{ template "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -0,0 +1,77 @@
{{- /*
Copyright VMware, Inc.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.frontend.networkPolicy.enabled }}
kind: NetworkPolicy
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: frontend
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
policyTypes:
- Ingress
- Egress
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.frontend.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: frontend
{{- if .Values.frontend.networkPolicy.allowExternalEgress }}
egress:
- {}
{{- else }}
egress:
# Allow dns resolution
- ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
{{- range $port := .Values.frontend.networkPolicy.kubeAPIServerPorts }}
- port: {{ $port }}
{{- end }}
{{- if .Values.frontend.networkPolicy.extraEgress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.frontend.networkPolicy.extraEgress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
ingress:
# Allow inbound connections
- ports:
- port: {{ .Values.frontend.containerPorts.http }}
{{- if and .Values.authProxy.enabled (not .Values.authProxy.external) }}
- port: {{ .Values.authProxy.containerPorts.proxy }}
{{- end }}
{{- if .Values.pinnipedProxy.enabled }}
- port: {{ .Values.pinnipedProxy.containerPorts.pinnipedProxy }}
{{- end }}
{{- if not .Values.frontend.networkPolicy.allowExternal }}
from:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
{{- if .Values.frontend.networkPolicy.ingressNSMatchLabels }}
- namespaceSelector:
matchLabels:
{{- range $key, $value := .Values.frontend.networkPolicy.ingressNSMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- if .Values.frontend.networkPolicy.ingressNSPodMatchLabels }}
podSelector:
matchLabels:
{{- range $key, $value := .Values.frontend.networkPolicy.ingressNSPodMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.frontend.networkPolicy.extraIngress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.frontend.networkPolicy.extraIngress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ template "kubeapps.oauth2_proxy-secret.name" . }} name: {{ template "kubeapps.oauth2_proxy-secret.name" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -7,7 +7,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "common.names.fullname" . }} name: {{ template "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.frontend.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
@@ -64,7 +64,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "kubeapps.pinniped-proxy.fullname" . }} name: {{ template "kubeapps.pinniped-proxy.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: frontend app.kubernetes.io/component: frontend
{{- if or .Values.pinnipedProxy.service.annotations .Values.commonAnnotations }} {{- if or .Values.pinnipedProxy.service.annotations .Values.commonAnnotations }}

View File

@@ -15,7 +15,7 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ template "common.names.fullname" . }}-http-api name: {{ template "common.names.fullname" . }}-http-api
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- if or .Values.ingress.annotations .Values.commonAnnotations }} {{- if or .Values.ingress.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }} {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }}
@@ -75,7 +75,7 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ template "common.names.fullname" . }} name: {{ template "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- if or .Values.featureFlags.apiOnly.grpc.annotations .Values.ingress.annotations .Values.commonAnnotations }} {{- if or .Values.featureFlags.apiOnly.grpc.annotations .Values.ingress.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.featureFlags.apiOnly.grpc.annotations .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }} {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.featureFlags.apiOnly.grpc.annotations .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }}

View File

@@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ template "common.names.fullname" . }} name: {{ template "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- if or .Values.ingress.annotations .Values.commonAnnotations }} {{- if or .Values.ingress.annotations .Values.commonAnnotations }}
{{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }} {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingress.annotations .Values.commonAnnotations ) "context" . ) }}

View File

@@ -7,7 +7,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ printf "%s-configmap" (include "kubeapps.kubeappsapis.fullname" .) }} name: {{ printf "%s-configmap" (include "kubeapps.kubeappsapis.fullname" .) }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -7,7 +7,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "kubeapps.kubeappsapis.fullname" . }} name: {{ template "kubeapps.kubeappsapis.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -0,0 +1,74 @@
{{- /*
Copyright VMware, Inc.
SPDX-License-Identifier: APACHE-2.0
*/}}
{{- if .Values.kubeappsapis.networkPolicy.enabled }}
kind: NetworkPolicy
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ template "kubeapps.kubeappsapis.fullname" . }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: kubeappsapis
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
policyTypes:
- Ingress
- Egress
{{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.kubeappsapis.podLabels .Values.commonLabels $versionLabel ) "context" . ) }}
podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }}
app.kubernetes.io/component: kubeappsapis
{{- if .Values.kubeappsapis.networkPolicy.allowExternalEgress }}
egress:
- {}
{{- else }}
egress:
# Allow dns resolution
- ports:
- port: 53
protocol: UDP
- port: 53
protocol: TCP
{{- range $port := .Values.kubeappsapis.networkPolicy.kubeAPIServerPorts }}
- port: {{ $port }}
{{- end }}
{{- if .Values.kubeappsapis.networkPolicy.extraEgress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeappsapis.networkPolicy.extraEgress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
ingress:
# Allow inbound connections
- ports:
- port: {{ .Values.kubeappsapis.containerPorts.http }}
{{- if .Values.ociCatalog.enabled }}
- port: {{ .Values.ociCatalog.containerPorts.grpc }}
{{- end }}
{{- if not .Values.kubeappsapis.networkPolicy.allowExternal }}
from:
- podSelector:
matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }}
{{- if .Values.kubeappsapis.networkPolicy.ingressNSMatchLabels }}
- namespaceSelector:
matchLabels:
{{- range $key, $value := .Values.kubeappsapis.networkPolicy.ingressNSMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- if .Values.kubeappsapis.networkPolicy.ingressNSPodMatchLabels }}
podSelector:
matchLabels:
{{- range $key, $value := .Values.kubeappsapis.networkPolicy.ingressNSPodMatchLabels }}
{{ $key | quote }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.kubeappsapis.networkPolicy.extraIngress }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeappsapis.networkPolicy.extraIngress "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -53,6 +53,6 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "kubeapps.kubeappsapis.serviceAccountName" . }} name: {{ template "kubeapps.kubeappsapis.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@@ -7,7 +7,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "kubeapps.kubeappsapis.fullname" . }} name: {{ template "kubeapps.kubeappsapis.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "kubeapps.kubeappsapis.serviceAccountName" . }} name: {{ template "kubeapps.kubeappsapis.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.kubeappsapis.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}

View File

@@ -8,7 +8,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ template "kubeapps.clusters-config.fullname" . }} name: {{ template "kubeapps.clusters-config.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}

View File

@@ -30,7 +30,7 @@ apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ $secretName }} name: {{ $secretName }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}

View File

@@ -26,7 +26,7 @@ global:
openshift: openshift:
## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
## ##
adaptSecurityContext: disabled adaptSecurityContext: auto
## @section Common parameters ## @section Common parameters
## @param kubeVersion Override Kubernetes version ## @param kubeVersion Override Kubernetes version
@@ -211,7 +211,7 @@ frontend:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/nginx repository: bitnami/nginx
tag: 1.25.4-debian-12-r3 tag: 1.25.4-debian-12-r7
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -258,22 +258,21 @@ frontend:
type: RollingUpdate type: RollingUpdate
## Frontend containers' resource requests and limits ## Frontend containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param frontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if frontend.resources is set (frontend.resources is recommended for production). ## @param frontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if frontend.resources is set (frontend.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param frontend.resources.limits.cpu The CPU limits for the NGINX container ## @param frontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param frontend.resources.limits.memory The memory limits for the NGINX container ## Example:
## @param frontend.resources.requests.cpu The requested CPU for the NGINX container ## resources:
## @param frontend.resources.requests.memory The requested memory for the NGINX container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 25m
memory: 32Mi
## @param frontend.extraEnvVars Array with extra environment variables to add to the NGINX container ## @param frontend.extraEnvVars Array with extra environment variables to add to the NGINX container
## e.g: ## e.g:
## extraEnvVars: ## extraEnvVars:
@@ -322,10 +321,10 @@ frontend:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -537,6 +536,64 @@ frontend:
## timeoutSeconds: 300 ## timeoutSeconds: 300
## ##
sessionAffinityConfig: {} sessionAffinityConfig: {}
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## @param frontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
##
enabled: true
## @param frontend.networkPolicy.allowExternal Don't require server label for connections
## The Policy model to apply. When set to false, only pods with the correct
## server label will have network access to the ports server is listening
## on. When true, server will accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## @param frontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
##
allowExternalEgress: true
## @param frontend.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
##
kubeAPIServerPorts: [443, 6443, 8443]
## @param frontend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolice
## e.g:
## extraIngress:
## - ports:
## - port: 1234
## from:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
extraIngress: []
## @param frontend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraEgress:
## - ports:
## - port: 1234
## to:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
##
extraEgress: []
## @param frontend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
## @param frontend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
## @section Dashboard parameters ## @section Dashboard parameters
## Dashboard parameters ## Dashboard parameters
@@ -558,7 +615,7 @@ dashboard:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-dashboard repository: bitnami/kubeapps-dashboard
tag: 2.9.0-debian-12-r18 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -654,22 +711,21 @@ dashboard:
http: 8080 http: 8080
## Dashboard containers' resource requests and limits ## Dashboard containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param dashboard.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if dashboard.resources is set (dashboard.resources is recommended for production). ## @param dashboard.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if dashboard.resources is set (dashboard.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param dashboard.resources.limits.cpu The CPU limits for the Dashboard container ## @param dashboard.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param dashboard.resources.limits.memory The memory limits for the Dashboard container ## Example:
## @param dashboard.resources.requests.cpu The requested CPU for the Dashboard container ## resources:
## @param dashboard.resources.requests.memory The requested memory for the Dashboard container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 25m
memory: 32Mi
## Configure Pods Security Context ## Configure Pods Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param dashboard.podSecurityContext.enabled Enabled Dashboard pods' Security Context ## @param dashboard.podSecurityContext.enabled Enabled Dashboard pods' Security Context
@@ -701,10 +757,10 @@ dashboard:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -876,6 +932,64 @@ dashboard:
## @param dashboard.service.annotations Additional custom annotations for Dashboard service ## @param dashboard.service.annotations Additional custom annotations for Dashboard service
## ##
annotations: {} annotations: {}
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## @param dashboard.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
##
enabled: true
## @param dashboard.networkPolicy.allowExternal Don't require server label for connections
## The Policy model to apply. When set to false, only pods with the correct
## server label will have network access to the ports server is listening
## on. When true, server will accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## @param dashboard.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
##
allowExternalEgress: true
## @param dashboard.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
##
kubeAPIServerPorts: [443, 6443, 8443]
## @param dashboard.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolice
## e.g:
## extraIngress:
## - ports:
## - port: 1234
## from:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
extraIngress: []
## @param dashboard.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraEgress:
## - ports:
## - port: 1234
## to:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
##
extraEgress: []
## @param dashboard.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
## @param dashboard.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
## @section AppRepository Controller parameters ## @section AppRepository Controller parameters
## AppRepository Controller parameters ## AppRepository Controller parameters
@@ -893,7 +1007,7 @@ apprepository:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-apprepository-controller repository: bitnami/kubeapps-apprepository-controller
tag: 2.9.0-debian-12-r18 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -920,7 +1034,7 @@ apprepository:
syncImage: syncImage:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-asset-syncer repository: bitnami/kubeapps-asset-syncer
tag: 2.9.0-debian-12-r19 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1029,22 +1143,21 @@ apprepository:
type: RollingUpdate type: RollingUpdate
## AppRepository Controller containers' resource requests and limits ## AppRepository Controller containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param apprepository.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if apprepository.resources is set (apprepository.resources is recommended for production). ## @param apprepository.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if apprepository.resources is set (apprepository.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param apprepository.resources.limits.cpu The CPU limits for the AppRepository Controller container ## @param apprepository.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param apprepository.resources.limits.memory The memory limits for the AppRepository Controller container ## Example:
## @param apprepository.resources.requests.cpu The requested CPU for the AppRepository Controller container ## resources:
## @param apprepository.resources.requests.memory The requested memory for the AppRepository Controller container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 25m
memory: 32Mi
## Configure Pods Security Context ## Configure Pods Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param apprepository.podSecurityContext.enabled Enabled AppRepository Controller pods' Security Context ## @param apprepository.podSecurityContext.enabled Enabled AppRepository Controller pods' Security Context
@@ -1076,10 +1189,10 @@ apprepository:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -1199,6 +1312,52 @@ apprepository:
## command: ['sh', '-c', 'echo "hello world"'] ## command: ['sh', '-c', 'echo "hello world"']
## ##
initContainers: [] initContainers: []
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## @param apprepository.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
##
enabled: true
## @param apprepository.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
##
allowExternalEgress: true
## @param apprepository.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
##
kubeAPIServerPorts: [443, 6443, 8443]
## @param apprepository.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolice
## e.g:
## extraIngress:
## - ports:
## - port: 1234
## from:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
extraIngress: []
## @param apprepository.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraEgress:
## - ports:
## - port: 1234
## to:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
##
extraEgress: []
## AppRepository Controller Service Account ## AppRepository Controller Service Account
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
## @param apprepository.serviceAccount.create Specifies whether a ServiceAccount should be created ## @param apprepository.serviceAccount.create Specifies whether a ServiceAccount should be created
@@ -1232,7 +1391,7 @@ authProxy:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/oauth2-proxy repository: bitnami/oauth2-proxy
tag: 7.6.0-debian-12-r4 tag: 7.6.0-debian-12-r7
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1342,10 +1501,10 @@ authProxy:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -1353,22 +1512,21 @@ authProxy:
type: "RuntimeDefault" type: "RuntimeDefault"
## OAuth2 Proxy containers' resource requests and limits ## OAuth2 Proxy containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param authProxy.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if authProxy.resources is set (authProxy.resources is recommended for production). ## @param authProxy.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if authProxy.resources is set (authProxy.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param authProxy.resources.limits.cpu The CPU limits for the OAuth2 Proxy container ## @param authProxy.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param authProxy.resources.limits.memory The memory limits for the OAuth2 Proxy container ## Example:
## @param authProxy.resources.requests.cpu The requested CPU for the OAuth2 Proxy container ## resources:
## @param authProxy.resources.requests.memory The requested memory for the OAuth2 Proxy container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 25m
memory: 32Mi
## @section Pinniped Proxy parameters ## @section Pinniped Proxy parameters
## Pinniped Proxy configuration for converting user OIDC tokens to k8s client authorization certs ## Pinniped Proxy configuration for converting user OIDC tokens to k8s client authorization certs
@@ -1389,7 +1547,7 @@ pinnipedProxy:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-pinniped-proxy repository: bitnami/kubeapps-pinniped-proxy
tag: 2.9.0-debian-12-r17 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1473,10 +1631,10 @@ pinnipedProxy:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -1484,24 +1642,21 @@ pinnipedProxy:
type: "RuntimeDefault" type: "RuntimeDefault"
## Pinniped Proxy containers' resource requests and limits ## Pinniped Proxy containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param pinnipedProxy.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if pinnipedProxy.resources is set (pinnipedProxy.resources is recommended for production). ## @param pinnipedProxy.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if pinnipedProxy.resources is set (pinnipedProxy.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## Pinniped Proxy containers' resource requests and limits ## @param pinnipedProxy.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## Example:
## @param pinnipedProxy.resources.limits.cpu The CPU limits for the Pinniped Proxy container ## resources:
## @param pinnipedProxy.resources.limits.memory The memory limits for the Pinniped Proxy container ## requests:
## @param pinnipedProxy.resources.requests.cpu The requested CPU for the Pinniped Proxy container ## cpu: 2
## @param pinnipedProxy.resources.requests.memory The requested memory for the Pinniped Proxy container ## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 25m
memory: 32Mi
## Pinniped Proxy service parameters ## Pinniped Proxy service parameters
## ##
service: service:
@@ -1609,19 +1764,22 @@ postgresql:
enabled: false enabled: false
## PostgreSQL containers' resource requests and limits ## PostgreSQL containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param postgresql.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if postgresql.resources is set (postgresql.resources is recommended for production). ## @param postgresql.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if postgresql.resources is set (postgresql.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param postgresql.resources.limits The resources limits for the PostgreSQL container ## @param postgresql.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param postgresql.resources.requests.cpu The requested CPU for the PostgreSQL container ## Example:
## @param postgresql.resources.requests.memory The requested memory for the PostgreSQL container ## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: ##
limits: {} resources: {}
requests:
memory: 256Mi
cpu: 250m
## @section kubeappsapis parameters ## @section kubeappsapis parameters
kubeappsapis: kubeappsapis:
## @param kubeappsapis.enabledPlugins Manually override which plugins are enabled for the Kubeapps-APIs service ## @param kubeappsapis.enabledPlugins Manually override which plugins are enabled for the Kubeapps-APIs service
@@ -1704,7 +1862,7 @@ kubeappsapis:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-apis repository: bitnami/kubeapps-apis
tag: 2.9.0-debian-12-r19 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1765,22 +1923,21 @@ kubeappsapis:
http: 50051 http: 50051
## KubeappsAPIs containers' resource requests and limits ## KubeappsAPIs containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param kubeappsapis.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if kubeappsapis.resources is set (kubeappsapis.resources is recommended for production). ## @param kubeappsapis.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if kubeappsapis.resources is set (kubeappsapis.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param kubeappsapis.resources.limits.cpu The CPU limits for the KubeappsAPIs container ## @param kubeappsapis.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param kubeappsapis.resources.limits.memory The memory limits for the KubeappsAPIs container ## Example:
## @param kubeappsapis.resources.requests.cpu The requested CPU for the KubeappsAPIs container ## resources:
## @param kubeappsapis.resources.requests.memory The requested memory for the KubeappsAPIs container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 256Mi
requests:
cpu: 25m
memory: 32Mi
## Configure Pods Security Context ## Configure Pods Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param kubeappsapis.podSecurityContext.enabled Enabled KubeappsAPIs pods' Security Context ## @param kubeappsapis.podSecurityContext.enabled Enabled KubeappsAPIs pods' Security Context
@@ -1812,10 +1969,10 @@ kubeappsapis:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -1987,6 +2144,64 @@ kubeappsapis:
## @param kubeappsapis.service.annotations Additional custom annotations for KubeappsAPIs service ## @param kubeappsapis.service.annotations Additional custom annotations for KubeappsAPIs service
## ##
annotations: {} annotations: {}
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## @param kubeappsapis.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
##
enabled: true
## @param kubeappsapis.networkPolicy.allowExternal Don't require server label for connections
## The Policy model to apply. When set to false, only pods with the correct
## server label will have network access to the ports server is listening
## on. When true, server will accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## @param kubeappsapis.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
##
allowExternalEgress: true
## @param kubeappsapis.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
##
kubeAPIServerPorts: [443, 6443, 8443]
## @param kubeappsapis.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolice
## e.g:
## extraIngress:
## - ports:
## - port: 1234
## from:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
extraIngress: []
## @param kubeappsapis.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraEgress:
## - ports:
## - port: 1234
## to:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
##
extraEgress: []
## @param kubeappsapis.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
## @param kubeappsapis.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
## kubeappsapis Service Account ## kubeappsapis Service Account
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
## @param kubeappsapis.serviceAccount.create Specifies whether a ServiceAccount should be created ## @param kubeappsapis.serviceAccount.create Specifies whether a ServiceAccount should be created
@@ -2017,7 +2232,7 @@ ociCatalog:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/kubeapps-oci-catalog repository: bitnami/kubeapps-oci-catalog
tag: 2.9.0-debian-12-r17 tag: 2.10.0-debian-12-r0
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -2057,22 +2272,21 @@ ociCatalog:
grpc: 50061 grpc: 50061
## OCI Catalog containers' resource requests and limits ## OCI Catalog containers' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
## @param ociCatalog.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if ociCatalog.resources is set (ociCatalog.resources is recommended for production). ## @param ociCatalog.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ociCatalog.resources is set (ociCatalog.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
## ##
resourcesPreset: "none" resourcesPreset: "micro"
## @param ociCatalog.resources.limits.cpu The CPU limits for the OCI Catalog container ## @param ociCatalog.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## @param ociCatalog.resources.limits.memory The memory limits for the OCI Catalog container ## Example:
## @param ociCatalog.resources.requests.cpu The requested CPU for the OCI Catalog container ## resources:
## @param ociCatalog.resources.requests.memory The requested memory for the OCI Catalog container ## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ##
resources: resources: {}
limits:
cpu: 250m
memory: 256Mi
requests:
cpu: 25m
memory: 32Mi
## Configure Container Security Context (only main container) ## Configure Container Security Context (only main container)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param ociCatalog.containerSecurityContext.enabled Enabled containers' Security Context ## @param ociCatalog.containerSecurityContext.enabled Enabled containers' Security Context
@@ -2090,10 +2304,10 @@ ociCatalog:
enabled: true enabled: true
seLinuxOptions: null seLinuxOptions: null
runAsUser: 1001 runAsUser: 1001
runAsGroup: 0 runAsGroup: 1001
runAsNonRoot: true runAsNonRoot: true
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: ["ALL"] drop: ["ALL"]
@@ -2211,6 +2425,23 @@ redis:
## @param redis.master.persistence.enabled Enable Redis&reg; master data persistence using PVC ## @param redis.master.persistence.enabled Enable Redis&reg; master data persistence using PVC
## ##
enabled: false enabled: false
## Redis&reg; master resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param redis.master.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if master.resources is set (master.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "nano"
## @param redis.master.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
replica: replica:
## @param redis.replica.replicaCount Number of Redis&reg; replicas to deploy ## @param redis.replica.replicaCount Number of Redis&reg; replicas to deploy
## ##

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:ebf11c0997c964a7eeadabecf3bade4c42f623cd03d4c742c8e0748d744f2b48", "containerimage.config.digest": "sha256:78b413d1c9a4ecf3bec9383444b3e85c01d8b33bf903c6443bfa5bdfd8b5bc04",
"containerimage.digest": "sha256:1f2ba6374064bdc927fc7e61c95f58a6f76c121c828d438d212f8772bc52b170" "containerimage.digest": "sha256:ddfaadb33e33123f553a36a3ee5857a1bf53f312043f91d76ad24316591fd26e"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/dashboard:v0.3.1 ghcr.io/aenix-io/cozystack/dashboard:v0.4.0

View File

@@ -1,10 +1,10 @@
# Copyright 2018-2023 the Kubeapps contributors. # Copyright 2018-2023 the Kubeapps contributors.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
FROM bitnami/node:20.11.0 AS build FROM bitnami/node:20.12.1 AS build
WORKDIR /app WORKDIR /app
ARG VERSION=2.9.0 ARG VERSION=2.10.0
RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/v${VERSION}.tar.gz | tar xzf - --strip-components=2 kubeapps-${VERSION}/dashboard RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/v${VERSION}.tar.gz | tar xzf - --strip-components=2 kubeapps-${VERSION}/dashboard
COPY apple-touch-icon.png favicon-16x16.png favicon-32x32.png favicon.ico mstile-144x144.png mstile-150x150.png mstile-310x150.png mstile-310x310.png mstile-70x70.png safari-pinned-tab.svg public/ COPY apple-touch-icon.png favicon-16x16.png favicon-32x32.png favicon.ico mstile-144x144.png mstile-150x150.png mstile-310x150.png mstile-310x310.png mstile-70x70.png safari-pinned-tab.svg public/
@@ -26,8 +26,22 @@ RUN yarn install --frozen-lockfile
RUN yarn run prettier-check && yarn run ts-compile-check RUN yarn run prettier-check && yarn run ts-compile-check
RUN yarn run build RUN yarn run build
RUN sed -i 's/hsl(206, 25%, 25%)/hsl(225, 6%, 13%)/g' $(grep -rl 'hsl(206, 25\%, 25\%)') RUN sed -i \
RUN sed -i 's/#304250/#202124/g' $(grep -rl "#304250") -e 's/#2d4048/#202124/g' \
-e 's/#25333d/#1e2023/g' \
-e 's/#fcfdfd/#f3f4f5/g' \
-e 's/#f1f6f8/#e7e9eb/g' \
-e 's/#e3eaed/#d3d6da/g' \
-e 's/#cbd4d8/#b7bbc1/g' \
-e 's/#aeb8bc/#989da3/g' \
-e 's/#859399/#7b7f85/g' \
-e 's/#6a7a81/#5b686e/g' \
-e 's/#4f6169/#4f5256/g' \
-e 's/#3a4d55/#3a3d41/g' \
-e 's/#2d4048/#202124/g' \
-e 's/#21333b/#383d44/g' \
-e 's/#1b2b32/#2a2d2f/g' \
$(grep -rl "#2d4048\|#25333d\|#fcfdfd\|#f1f6f8\|#e3eaed\|#cbd4d8\|#aeb8bc\|#859399\|#6a7a81\|#4f6169\|#3a4d55\|#2d4048\|#21333b\|#1b2b32")
FROM bitnami/nginx:1.25.2 FROM bitnami/nginx:1.25.2
COPY --from=build /app/build /app COPY --from=build /app/build /app

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:e5f295cce1b460e2423f07326e812a201fac6ab594ecfc75eddfa81f46fd10fb", "containerimage.config.digest": "sha256:273a8e7055816068b2975d8ac10f0f7d114cafef74057680ffc60414d4d8cf4c",
"containerimage.digest": "sha256:6e32bb3f1afaf93e4e619d5655c43dcd1bf10e0d30aa8136e738484f1b0bd474" "containerimage.digest": "sha256:5e111f09ee9c34281e2ef02cb0d41700943f8c036014110765bb002831148547"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.3.1 ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.4.0

View File

@@ -1,21 +1,19 @@
# Copyright 2021-2023 the Kubeapps contributors. # Copyright 2021-2024 the Kubeapps contributors.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# syntax = docker/dockerfile:1 # syntax = docker/dockerfile:1
FROM alpine as source FROM alpine as source
ARG VERSION=v2.9.0 ARG VERSION=v2.10.0
RUN apk add --no-cache patch RUN apk add --no-cache patch
WORKDIR /source WORKDIR /source
RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/${VERSION}.tar.gz | tar xzf - --strip-components=1 RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/${VERSION}.tar.gz | tar xzf - --strip-components=1
COPY fix-flux.diff /patches/fix-flux.diff
COPY labels.diff /patches/labels.diff COPY labels.diff /patches/labels.diff
COPY reconcile-strategy.diff /patches/reconcile-strategy.diff COPY reconcile-strategy.diff /patches/reconcile-strategy.diff
RUN patch -p1 < /patches/fix-flux.diff
RUN patch -p1 < /patches/labels.diff RUN patch -p1 < /patches/labels.diff
RUN patch -p1 < /patches/reconcile-strategy.diff RUN patch -p1 < /patches/reconcile-strategy.diff
FROM bitnami/golang:1.21.1 as builder FROM bitnami/golang:1.22.2 as builder
WORKDIR /go/src/github.com/vmware-tanzu/kubeapps WORKDIR /go/src/github.com/vmware-tanzu/kubeapps
COPY --from=source /source/go.mod /source/go.sum ./ COPY --from=source /source/go.mod /source/go.sum ./
ARG VERSION="devel" ARG VERSION="devel"
@@ -25,16 +23,16 @@ ARG TARGETARCH
ARG lint ARG lint
# https://github.com/bufbuild/buf/releases/ # https://github.com/bufbuild/buf/releases/
ARG BUF_VERSION="1.26.0" ARG BUF_VERSION="1.30.1"
# https://github.com/golangci/golangci-lint/releases # https://github.com/golangci/golangci-lint/releases
ARG GOLANGCILINT_VERSION="1.53.3" ARG GOLANGCILINT_VERSION="1.57.2"
# https://github.com/grpc-ecosystem/grpc-health-probe/releases/ # https://github.com/grpc-ecosystem/grpc-health-probe/releases/
ARG GRPC_HEALTH_PROBE_VERSION="0.4.19" ARG GRPC_HEALTH_PROBE_VERSION="0.4.25"
# Install lint tools # Install lint tools
RUN if [ ! -z "$lint" ]; then \ RUN if [ ! -z ${lint:-} ]; then \
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v$GOLANGCILINT_VERSION; \ go install github.com/golangci/golangci-lint/cmd/golangci-lint@v$GOLANGCILINT_VERSION; \
fi fi
@@ -55,7 +53,7 @@ RUN --mount=type=cache,target=/go/pkg/mod \
COPY --from=source /source/pkg pkg COPY --from=source /source/pkg pkg
COPY --from=source /source/cmd cmd COPY --from=source /source/cmd cmd
RUN if [ ! -z "$lint" ]; then \ RUN if [ ! -z ${lint:-} ]; then \
# Run golangci-lint to detect issues # Run golangci-lint to detect issues
golangci-lint run --timeout=10m ./cmd/kubeapps-apis/... && \ golangci-lint run --timeout=10m ./cmd/kubeapps-apis/... && \
golangci-lint run --timeout=10m ./pkg/...; \ golangci-lint run --timeout=10m ./pkg/...; \
@@ -67,6 +65,7 @@ RUN /tmp/buf lint ./cmd/kubeapps-apis
# Build the main grpc server # Build the main grpc server
RUN --mount=type=cache,target=/go/pkg/mod \ RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/root/.cache/go-build \
GOPROXY="https://proxy.golang.org,direct" \
go build \ go build \
-ldflags "-X github.com/vmware-tanzu/kubeapps/cmd/kubeapps-apis/cmd.version=$VERSION" \ -ldflags "-X github.com/vmware-tanzu/kubeapps/cmd/kubeapps-apis/cmd.version=$VERSION" \
./cmd/kubeapps-apis ./cmd/kubeapps-apis

View File

@@ -1,27 +1,27 @@
diff --git b/system/kubeapps/images/kubeapps-apis/Dockerfile a/system/kubeapps/images/kubeapps-apis/Dockerfile
index e5fcd8c..f72964d 100644
--- b/system/kubeapps/images/kubeapps-apis/Dockerfile --- b/system/kubeapps/images/kubeapps-apis/Dockerfile
+++ a/system/kubeapps/images/kubeapps-apis/Dockerfile +++ a/system/kubeapps/images/kubeapps-apis/Dockerfile
@@ -3,9 +3,17 @@ @@ -3,9 +3,19 @@
# syntax = docker/dockerfile:1 # syntax = docker/dockerfile:1
+FROM alpine as source +FROM alpine as source
+ARG VERSION=v2.9.0 +ARG VERSION=v2.10.0
+RUN apk add --no-cache patch +RUN apk add --no-cache patch
+WORKDIR /source +WORKDIR /source
+RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/${VERSION}.tar.gz | tar xzf - --strip-components=1 +RUN wget -O- https://github.com/vmware-tanzu/kubeapps/archive/refs/tags/${VERSION}.tar.gz | tar xzf - --strip-components=1
+COPY fix-flux.diff /patches/fix-flux.diff +COPY labels.diff /patches/labels.diff
+RUN patch -p1 < /patches/fix-flux.diff +COPY reconcile-strategy.diff /patches/reconcile-strategy.diff
+RUN patch -p1 < /patches/labels.diff
+RUN patch -p1 < /patches/reconcile-strategy.diff
+ +
FROM bitnami/golang:1.21.1 as builder FROM bitnami/golang:1.22.2 as builder
WORKDIR /go/src/github.com/vmware-tanzu/kubeapps WORKDIR /go/src/github.com/vmware-tanzu/kubeapps
-COPY go.mod go.sum ./ -COPY go.mod go.sum ./
+COPY --from=source /source/go.mod /source/go.sum ./ +COPY --from=source /source/go.mod /source/go.sum ./
ARG VERSION="devel" ARG VERSION="devel"
ARG TARGETARCH ARG TARGETARCH
@@ -40,8 +48,8 @@ RUN --mount=type=cache,target=/go/pkg/mod \ @@ -40,8 +52,8 @@
# We don't copy the pkg and cmd directories until here so the above layers can # We don't copy the pkg and cmd directories until here so the above layers can
# be reused. # be reused.
@@ -30,5 +30,5 @@ index e5fcd8c..f72964d 100644
+COPY --from=source /source/pkg pkg +COPY --from=source /source/pkg pkg
+COPY --from=source /source/cmd cmd +COPY --from=source /source/cmd cmd
RUN if [ ! -z "$lint" ]; then \ RUN if [ ! -z ${lint:-} ]; then \
# Run golangci-lint to detect issues # Run golangci-lint to detect issues

View File

@@ -1,28 +0,0 @@
diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
index 8886f4d479e..1ab08c074a5 100644
--- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
+++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
@@ -579,9 +579,9 @@ func (s *repoEventSink) onAddRepo(key string, obj ctrlclient.Object) (interface{
// ref https://fluxcd.io/docs/components/source/helmrepositories/#status
func (s *repoEventSink) onAddHttpRepo(repo sourcev1.HelmRepository) ([]byte, bool, error) {
if artifact := repo.GetArtifact(); artifact != nil {
- if checksum := artifact.Checksum; checksum == "" {
+ if checksum := artifact.Digest; checksum == "" {
return nil, false, connect.NewError(connect.CodeInternal,
- fmt.Errorf("expected field status.artifact.checksum not found on HelmRepository\n[%s]",
+ fmt.Errorf("expected field status.artifact.digest not found on HelmRepository\n[%s]",
common.PrettyPrint(repo)))
} else {
return s.indexAndEncode(checksum, repo)
@@ -721,9 +721,9 @@ func (s *repoEventSink) onModifyHttpRepo(key string, oldValue interface{}, repo
// ref https://fluxcd.io/docs/components/source/helmrepositories/#status
var newChecksum string
if artifact := repo.GetArtifact(); artifact != nil {
- if newChecksum = artifact.Checksum; newChecksum == "" {
+ if newChecksum = artifact.Digest; newChecksum == "" {
return nil, false, connect.NewError(connect.CodeInternal,
- fmt.Errorf("expected field status.artifact.checksum not found on HelmRepository\n[%s]",
+ fmt.Errorf("expected field status.artifact.digest not found on HelmRepository\n[%s]",
common.PrettyPrint(repo)))
}
} else {

View File

@@ -1,5 +1,5 @@
diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
index fe7ca772d..3b46afbd1 100644 index c489cb6ca..8884a6484 100644
--- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
+++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
@@ -29,8 +29,10 @@ import ( @@ -29,8 +29,10 @@ import (
@@ -16,7 +16,7 @@ index fe7ca772d..3b46afbd1 100644
@@ -54,7 +56,10 @@ func (s *Server) listReleasesInCluster(ctx context.Context, headers http.Header, @@ -54,7 +56,10 @@ func (s *Server) listReleasesInCluster(ctx context.Context, headers http.Header,
// see any results created/updated/deleted after the first request is issued // see any results created/updated/deleted after the first request is issued
// To fix this, we must make use of resourceVersion := relList.GetResourceVersion() // To fix this, we must make use of resourceVersion := relList.GetResourceVersion()
var relList helmv2.HelmReleaseList var relList helmv2beta2.HelmReleaseList
- if err = client.List(ctx, &relList); err != nil { - if err = client.List(ctx, &relList); err != nil {
+ listOptions := ctrlclient.ListOptions{ + listOptions := ctrlclient.ListOptions{
+ LabelSelector: labels.SelectorFromSet(labels.Set{"cozystack.io/ui": "true"}), + LabelSelector: labels.SelectorFromSet(labels.Set{"cozystack.io/ui": "true"}),
@@ -25,18 +25,18 @@ index fe7ca772d..3b46afbd1 100644
return nil, connecterror.FromK8sError("list", "HelmRelease", namespace+"/*", err) return nil, connecterror.FromK8sError("list", "HelmRelease", namespace+"/*", err)
} else { } else {
return relList.Items, nil return relList.Items, nil
@@ -511,6 +516,9 @@ func (s *Server) newFluxHelmRelease(chart *models.Chart, targetName types.Namesp @@ -512,6 +517,9 @@ func (s *Server) newFluxHelmRelease(chart *models.Chart, targetName types.Namesp
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: chart.Name + "-" + targetName.Name, Name: targetName.Name,
Namespace: targetName.Namespace, Namespace: targetName.Namespace,
+ Labels: map[string]string{ + Labels: map[string]string{
+ "cozystack.io/ui": "true", + "cozystack.io/ui": "true",
+ }, + },
}, },
Spec: helmv2.HelmReleaseSpec{ Spec: helmv2beta2.HelmReleaseSpec{
Chart: helmv2.HelmChartTemplate{ Chart: helmv2beta2.HelmChartTemplate{
diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
index 1ab08c074..cd7b3b9aa 100644 index 790b21514..539276a17 100644
--- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
+++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo.go
@@ -32,6 +32,7 @@ import ( @@ -32,6 +32,7 @@ import (
@@ -49,7 +49,7 @@ index 1ab08c074..cd7b3b9aa 100644
log "k8s.io/klog/v2" log "k8s.io/klog/v2"
@@ -64,7 +65,8 @@ func (s *Server) listReposInNamespace(ctx context.Context, headers http.Header, @@ -64,7 +65,8 @@ func (s *Server) listReposInNamespace(ctx context.Context, headers http.Header,
var repoList sourcev1.HelmRepositoryList var repoList sourcev1beta2.HelmRepositoryList
listOptions := ctrlclient.ListOptions{ listOptions := ctrlclient.ListOptions{
- Namespace: ns, - Namespace: ns,
+ Namespace: ns, + Namespace: ns,
@@ -57,3 +57,13 @@ index 1ab08c074..cd7b3b9aa 100644
} }
if err := client.List(backgroundCtx, &repoList, &listOptions); err != nil { if err := client.List(backgroundCtx, &repoList, &listOptions); err != nil {
return nil, connecterror.FromK8sError("list", "HelmRepository", "", err) return nil, connecterror.FromK8sError("list", "HelmRepository", "", err)
@@ -927,6 +929,9 @@ func newFluxHelmRepo(
ObjectMeta: metav1.ObjectMeta{
Name: targetName.Name,
Namespace: targetName.Namespace,
+ Labels: map[string]string{
+ "cozystack.io/ui": "true",
+ },
},
Spec: sourcev1beta2.HelmRepositorySpec{
URL: url,

View File

@@ -1,9 +1,9 @@
diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
index fe7ca772d..8111feb1c 100644 index 8884a6484..4bf77071c 100644
--- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
+++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go
@@ -521,6 +529,7 @@ func (s *Server) newFluxHelmRelease(chart *models.Chart, targetName types.Namesp @@ -530,6 +530,7 @@ func (s *Server) newFluxHelmRelease(chart *models.Chart, targetName types.Namesp
Kind: sourcev1.HelmRepositoryKind, Kind: sourcev1beta2.HelmRepositoryKind,
Namespace: chart.Repo.Namespace, Namespace: chart.Repo.Namespace,
}, },
+ ReconcileStrategy: "Revision", + ReconcileStrategy: "Revision",

View File

@@ -15,3 +15,12 @@ kubeapps:
#serviceaccount-selector { #serviceaccount-selector {
display: none; display: none;
} }
.login-moreinfo {
display: none;
}
a[href="#/docs"] {
display: none;
}
.login-group .clr-form-control .clr-control-label {
display: none;
}

View File

@@ -0,0 +1,3 @@
images
hack
.gitkeep

View File

@@ -0,0 +1,2 @@
name: cozy-etcd-operator
version: 0.4.0

View File

@@ -0,0 +1,8 @@
NAME=etcd-operator
NAMESPACE=cozy-${NAME}
include ../../../scripts/package-system.mk
update:
rm -rf charts
helm pull oci://ghcr.io/aenix-io/charts/etcd-operator --untar --untardir charts

View File

@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

View File

@@ -0,0 +1,5 @@
apiVersion: v2
appVersion: v0.2.0
name: etcd-operator
type: application
version: 0.2.0

View File

@@ -0,0 +1,63 @@
# etcd-operator
![Version: 0.0.0](https://img.shields.io/badge/Version-0.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.0.0](https://img.shields.io/badge/AppVersion-v0.0.0-informational?style=flat-square)
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| etcdOperator.args[0] | string | `"--health-probe-bind-address=:8081"` | |
| etcdOperator.args[1] | string | `"--metrics-bind-address=127.0.0.1:8080"` | |
| etcdOperator.args[2] | string | `"--leader-elect"` | |
| etcdOperator.envVars | object | `{}` | |
| etcdOperator.image.pullPolicy | string | `"IfNotPresent"` | |
| etcdOperator.image.repository | string | `"ghcr.io/aenix-io/etcd-operator"` | |
| etcdOperator.image.tag | string | `""` | |
| etcdOperator.livenessProbe.httpGet.path | string | `"/healthz"` | |
| etcdOperator.livenessProbe.httpGet.port | int | `8081` | |
| etcdOperator.livenessProbe.initialDelaySeconds | int | `15` | |
| etcdOperator.livenessProbe.periodSeconds | int | `20` | |
| etcdOperator.readinessProbe.httpGet.path | string | `"/readyz"` | |
| etcdOperator.readinessProbe.httpGet.port | int | `8081` | |
| etcdOperator.readinessProbe.initialDelaySeconds | int | `5` | |
| etcdOperator.readinessProbe.periodSeconds | int | `10` | |
| etcdOperator.resources.limits.cpu | string | `"500m"` | |
| etcdOperator.resources.limits.memory | string | `"128Mi"` | |
| etcdOperator.resources.requests.cpu | string | `"100m"` | |
| etcdOperator.resources.requests.memory | string | `"64Mi"` | |
| etcdOperator.securityContext.allowPrivilegeEscalation | bool | `false` | |
| etcdOperator.securityContext.capabilities.drop[0] | string | `"ALL"` | |
| etcdOperator.service.port | int | `9443` | |
| etcdOperator.service.type | string | `"ClusterIP"` | |
| fullnameOverride | string | `""` | |
| imagePullSecrets | list | `[]` | |
| kubeRbacProxy.args[0] | string | `"--secure-listen-address=0.0.0.0:8443"` | |
| kubeRbacProxy.args[1] | string | `"--upstream=http://127.0.0.1:8080/"` | |
| kubeRbacProxy.args[2] | string | `"--logtostderr=true"` | |
| kubeRbacProxy.args[3] | string | `"--v=0"` | |
| kubeRbacProxy.image.pullPolicy | string | `"IfNotPresent"` | |
| kubeRbacProxy.image.repository | string | `"gcr.io/kubebuilder/kube-rbac-proxy"` | |
| kubeRbacProxy.image.tag | string | `"v0.16.0"` | |
| kubeRbacProxy.livenessProbe | object | `{}` | |
| kubeRbacProxy.readinessProbe | object | `{}` | |
| kubeRbacProxy.resources.limits.cpu | string | `"500m"` | |
| kubeRbacProxy.resources.limits.memory | string | `"128Mi"` | |
| kubeRbacProxy.resources.requests.cpu | string | `"100m"` | |
| kubeRbacProxy.resources.requests.memory | string | `"64Mi"` | |
| kubeRbacProxy.securityContext.allowPrivilegeEscalation | bool | `false` | |
| kubeRbacProxy.securityContext.capabilities.drop[0] | string | `"ALL"` | |
| kubeRbacProxy.service.port | int | `8443` | |
| kubeRbacProxy.service.type | string | `"ClusterIP"` | |
| kubernetesClusterDomain | string | `"cluster.local"` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | |
| replicaCount | int | `1` | |
| securityContext.runAsNonRoot | bool | `true` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| tolerations | list | `[]` | |

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "etcd-operator.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "etcd-operator.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "etcd-operator.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "etcd-operator.labels" -}}
helm.sh/chart: {{ include "etcd-operator.chart" . }}
{{ include "etcd-operator.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "etcd-operator.selectorLabels" -}}
app.kubernetes.io/name: {{ include "etcd-operator.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -0,0 +1,14 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-serving-cert
spec:
dnsNames:
- {{ include "etcd-operator.fullname" . }}-webhook-service.{{ .Release.Namespace }}.svc
- {{ include "etcd-operator.fullname" . }}-webhook-service.{{ .Release.Namespace }}.svc.{{ .Values.kubernetesClusterDomain }}
issuerRef:
kind: Issuer
name: {{ include "etcd-operator.fullname" . }}-selfsigned-issuer
secretName: webhook-server-cert

View File

@@ -0,0 +1,8 @@
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-selfsigned-issuer
spec:
selfSigned: {}

View File

@@ -0,0 +1,29 @@
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "etcd-operator.fullname" . }}-serving-cert
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-mutating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ include "etcd-operator.fullname" . }}-webhook-service
namespace: {{ .Release.Namespace }}
path: /mutate-etcd-aenix-io-v1alpha1-etcdcluster
failurePolicy: Fail
name: metcdcluster.kb.io
rules:
- apiGroups:
- etcd.aenix.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- etcdclusters
sideEffects: None

View File

@@ -0,0 +1,29 @@
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "etcd-operator.fullname" . }}-serving-cert
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-validating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
clientConfig:
service:
name: {{ include "etcd-operator.fullname" . }}-webhook-service
namespace: {{ .Release.Namespace }}
path: /validate-etcd-aenix-io-v1alpha1-etcdcluster
failurePolicy: Fail
name: vetcdcluster.kb.io
rules:
- apiGroups:
- etcd.aenix.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- etcdclusters
sideEffects: None

View File

@@ -0,0 +1,81 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-manager-role
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- services
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- statefulsets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- etcd.aenix.io
resources:
- etcdclusters
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- etcd.aenix.io
resources:
- etcdclusters/finalizers
verbs:
- update
- apiGroups:
- etcd.aenix.io
resources:
- etcdclusters/status
verbs:
- get
- patch
- update
- apiGroups:
- policy
resources:
- poddisruptionbudgets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch

View File

@@ -0,0 +1,11 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-metrics-reader
rules:
- nonResourceURLs:
- /metrics
verbs:
- get

View File

@@ -0,0 +1,19 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-proxy-role
rules:
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create

View File

@@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "etcd-operator.fullname" . }}-manager-role
subjects:
- kind: ServiceAccount
name: {{ include "etcd-operator.fullname" . }}-controller-manager
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-proxy-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "etcd-operator.fullname" . }}-proxy-role
subjects:
- kind: ServiceAccount
name: {{ include "etcd-operator.fullname" . }}-controller-manager
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,38 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-leader-election-role
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch

View File

@@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-leader-election-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "etcd-operator.fullname" . }}-leader-election-role
subjects:
- kind: ServiceAccount
name: {{ include "etcd-operator.fullname" . }}-controller-manager
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,16 @@
{{- if .Values.etcdOperator.envVars }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "etcd-operator.labels" . }}-env
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
data:
{{- range $k, $v := .Values.etcdOperator.envVars }}
{{- if typeOf $v | eq "string" }}
{{- print (tpl $k $) ": " (tpl $v $ | quote) | nindent 2 }}
{{- else }}
{{- print (tpl $k $) ": " ($v | quote) | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,114 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "etcd-operator.fullname" . }}-controller-manager
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "etcd-operator.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "etcd-operator.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: etcd-operator
image: {{ .Values.etcdOperator.image.repository }}:{{ .Values.etcdOperator.image.tag | default .Chart.AppVersion }}
imagePullPolicy: {{ .Values.etcdOperator.image.pullPolicy }}
{{- with .Values.etcdOperator.args }}
args:
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- containerPort: {{ .Values.etcdOperator.service.port }}
name: webhook-server
protocol: TCP
{{- with .Values.etcdOperator.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.etcdOperator.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.etcdOperator.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.etcdOperator.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.etcdOperator.envVars }}
envFrom:
- configMapRef:
name: {{ include "etcd-operator.fullname" . }}-env
{{- end }}
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
- name: kube-rbac-proxy
image: {{ .Values.kubeRbacProxy.image.repository }}:{{ .Values.kubeRbacProxy.image.tag }}
imagePullPolicy: {{ .Values.kubeRbacProxy.image.pullPolicy }}
{{- with .Values.kubeRbacProxy.args }}
args:
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- containerPort: {{ .Values.kubeRbacProxy.service.port }}
name: https
protocol: TCP
{{- with .Values.kubeRbacProxy.livenessProbe }}
livenessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.kubeRbacProxy.readinessProbe }}
readinessProbe:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.kubeRbacProxy.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.kubeRbacProxy.securityContext }}
securityContext:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "etcd-operator.fullname" . }}-controller-manager
terminationGracePeriodSeconds: 10
volumes:
- name: cert
secret:
defaultMode: 420
secretName: webhook-server-cert
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "etcd-operator.fullname" . }}-controller-manager-metrics-service
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
spec:
type: {{ .Values.kubeRbacProxy.service.type }}
ports:
- name: https
port: {{ .Values.kubeRbacProxy.service.port }}
protocol: TCP
targetPort: https
selector:
{{- include "etcd-operator.selectorLabels" . | nindent 4 }}

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
name: {{ include "etcd-operator.fullname" . }}-webhook-service
spec:
type: {{ .Values.etcdOperator.service.type }}
ports:
- port: 443
protocol: TCP
targetPort: {{ .Values.etcdOperator.service.port }}
selector:
{{- include "etcd-operator.selectorLabels" . | nindent 4 }}

View File

@@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "etcd-operator.fullname" . }}-controller-manager
labels:
{{- include "etcd-operator.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,284 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"affinity": {
"properties": {},
"type": "object"
},
"etcdOperator": {
"properties": {
"args": {
"items": {
"type": "string"
},
"type": "array"
},
"envVars": {
"properties": {},
"type": "object"
},
"image": {
"properties": {
"pullPolicy": {
"type": "string"
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
},
"type": "object"
},
"livenessProbe": {
"properties": {
"httpGet": {
"properties": {
"path": {
"type": "string"
},
"port": {
"type": "integer"
}
},
"type": "object"
},
"initialDelaySeconds": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
}
},
"type": "object"
},
"readinessProbe": {
"properties": {
"httpGet": {
"properties": {
"path": {
"type": "string"
},
"port": {
"type": "integer"
}
},
"type": "object"
},
"initialDelaySeconds": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
}
},
"type": "object"
},
"resources": {
"properties": {
"limits": {
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
},
"type": "object"
},
"requests": {
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"securityContext": {
"properties": {
"allowPrivilegeEscalation": {
"type": "boolean"
},
"capabilities": {
"properties": {
"drop": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"service": {
"properties": {
"port": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"fullnameOverride": {
"type": "string"
},
"imagePullSecrets": {
"type": "array"
},
"kubeRbacProxy": {
"properties": {
"args": {
"items": {
"type": "string"
},
"type": "array"
},
"image": {
"properties": {
"pullPolicy": {
"type": "string"
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
},
"type": "object"
},
"livenessProbe": {
"properties": {},
"type": "object"
},
"readinessProbe": {
"properties": {},
"type": "object"
},
"resources": {
"properties": {
"limits": {
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
},
"type": "object"
},
"requests": {
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"securityContext": {
"properties": {
"allowPrivilegeEscalation": {
"type": "boolean"
},
"capabilities": {
"properties": {
"drop": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"service": {
"properties": {
"port": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"kubernetesClusterDomain": {
"type": "string"
},
"nameOverride": {
"type": "string"
},
"nodeSelector": {
"properties": {},
"type": "object"
},
"podAnnotations": {
"properties": {},
"type": "object"
},
"podLabels": {
"properties": {},
"type": "object"
},
"podSecurityContext": {
"properties": {},
"type": "object"
},
"replicaCount": {
"type": "integer"
},
"securityContext": {
"properties": {
"runAsNonRoot": {
"type": "boolean"
}
},
"type": "object"
},
"serviceAccount": {
"properties": {
"annotations": {
"properties": {},
"type": "object"
},
"create": {
"type": "boolean"
}
},
"type": "object"
},
"tolerations": {
"type": "array"
}
},
"type": "object"
}

Some files were not shown because too many files have changed in this diff Show More