Compare commits

..

1 Commits

Author SHA1 Message Date
Andrei Kvapil
e02fd2d8ce Update kubeapps-15.0.2
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-26 10:17:33 +02:00
107 changed files with 4570 additions and 6474 deletions

View File

@@ -20,28 +20,9 @@ miss_map=$(echo "$new_map" | awk 'NR==FNR { new_map[$1 " " $2] = $3; next } { if
resolved_miss_map=$( resolved_miss_map=$(
echo "$miss_map" | while read chart version commit; do echo "$miss_map" | while read chart version commit; do
if [ "$commit" = HEAD ]; then if [ "$commit" = HEAD ]; then
line=$(awk '/^version:/ {print NR; exit}' "./$chart/Chart.yaml") line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
change_commit=$(git --no-pager blame -L"$line",+1 -- "$chart/Chart.yaml" | awk '{print $1}') change_commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
commit=$(git describe --always "$change_commit~1")
if [ "$change_commit" = "00000000" ]; then
# Not commited yet, use previus commit
line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
if [ $(echo $commit | cut -c1) = "^" ]; then
# Previus commit not exists
commit=$(echo $commit | cut -c2-)
fi
else
# Commited, but version_map wasn't updated
line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
change_commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
if [ $(echo $change_commit | cut -c1) = "^" ]; then
# Previus commit not exists
commit=$(echo $change_commit | cut -c2-)
else
commit=$(git describe --always "$change_commit~1")
fi
fi
fi fi
echo "$chart $version $commit" echo "$chart $version $commit"
done done

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.4.0" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1"
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.4.0" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1"
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 . --url http://cozystack.cozy-system.svc/repos/apps cd "$(OUT)" && helm repo index .
rm -rf "$(TMP)" rm -rf "$(TMP)"
fix-chartnames: fix-chartnames:

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "24.3.0" appVersion: "1.16.0"

View File

@@ -21,8 +21,8 @@ spec:
clusters: clusters:
- name: "clickhouse" - name: "clickhouse"
layout: layout:
shardsCount: {{ .Values.shards }} shardsCount: 1
replicasCount: {{ .Values.replicas }} replicasCount: 2
{{- with .Values.size }} {{- with .Values.size }}
templates: templates:
volumeClaimTemplates: volumeClaimTemplates:

View File

@@ -1,6 +1,4 @@
size: 10Gi size: 10Gi
shards: 1
replicas: 2
users: users:
user1: user1:

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.25.3" appVersion: "1.16.0"

View File

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

View File

@@ -74,7 +74,7 @@ data:
option redispatch 1 option redispatch 1
default-server observe layer7 error-limit 10 on-error mark-down default-server observe layer7 error-limit 10 on-error mark-down
{{- range $i, $e := until (int $.Values.nginx.replicas) }} {{- range $i, $e := until (int $.Values.replicas) }}
server cache{{ $i }} {{ $.Release.Name }}-nginx-cache-{{ $i }}:80 check server cache{{ $i }} {{ $.Release.Name }}-nginx-cache-{{ $i }}:80 check
{{- end }} {{- end }}
{{- range $i, $e := $.Values.endpoints }} {{- range $i, $e := $.Values.endpoints }}

View File

@@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.haproxy.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-haproxy app: {{ .Release.Name }}-haproxy

View File

@@ -11,7 +11,7 @@ spec:
selector: selector:
matchLabels: matchLabels:
app: {{ $.Release.Name }}-nginx-cache app: {{ $.Release.Name }}-nginx-cache
{{- range $i := until (int $.Values.nginx.replicas) }} {{- range $i := until 3 }}
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment

View File

@@ -1,10 +1,4 @@
external: false external: false
haproxy:
replicas: 2
nginx:
replicas: 2
size: 10Gi size: 10Gi
endpoints: endpoints:
- 10.100.3.1:80 - 10.100.3.1:80

View File

@@ -22,4 +22,4 @@ version: 0.1.0
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "3.7.0" appVersion: "1.16.0"

View File

@@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
kafka: kafka:
replicas: {{ .Values.replicas }} replicas: 3
listeners: listeners:
- name: plain - name: plain
port: 9092 port: 9092
@@ -41,7 +41,7 @@ spec:
{{- end }} {{- end }}
deleteClaim: true deleteClaim: true
zookeeper: zookeeper:
replicas: {{ .Values.replicas }} replicas: 3
storage: storage:
type: persistent-claim type: persistent-claim
{{- with .Values.zookeeper.size }} {{- with .Values.zookeeper.size }}

View File

@@ -1,10 +1,8 @@
external: false external: false
kafka: kafka:
size: 10Gi size: 10Gi
replicas: 3
zookeeper: zookeeper:
size: 5Gi size: 5Gi
replicas: 3
topics: topics:
- name: Results - name: Results

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.19.0" appVersion: "1.16.0"

View File

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

View File

@@ -15,12 +15,6 @@ 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

@@ -64,13 +64,12 @@ metadata:
cluster.x-k8s.io/managed-by: kamaji cluster.x-k8s.io/managed-by: kamaji
name: {{ .Release.Name }} name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- range $groupName, $group := .Values.nodeGroups }}
--- ---
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
template: template:
spec: spec:
@@ -79,7 +78,7 @@ spec:
kubeletExtraArgs: {} kubeletExtraArgs: {}
discovery: discovery:
bootstrapToken: bootstrapToken:
apiServerEndpoint: {{ $.Release.Name }}.{{ $.Release.Namespace }}.svc:6443 apiServerEndpoint: {{ .Release.Name }}.{{ .Release.Namespace }}.svc:6443
initConfiguration: initConfiguration:
skipPhases: skipPhases:
- addon/kube-proxy - addon/kube-proxy
@@ -87,8 +86,8 @@ spec:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate kind: KubevirtMachineTemplate
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
template: template:
spec: spec:
@@ -96,7 +95,7 @@ spec:
checkStrategy: ssh checkStrategy: ssh
virtualMachineTemplate: virtualMachineTemplate:
metadata: metadata:
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
runStrategy: Always runStrategy: Always
template: template:
@@ -104,7 +103,7 @@ spec:
domain: domain:
cpu: cpu:
threads: 1 threads: 1
cores: {{ $group.resources.cpu }} cores: 2
sockets: 1 sockets: 1
devices: devices:
disks: disks:
@@ -113,7 +112,7 @@ spec:
name: containervolume name: containervolume
networkInterfaceMultiqueue: true networkInterfaceMultiqueue: true
memory: memory:
guest: {{ $group.resources.memory }} guest: 1024Mi
evictionStrategy: External evictionStrategy: External
volumes: volumes:
- containerDisk: - containerDisk:
@@ -123,28 +122,29 @@ spec:
apiVersion: cluster.x-k8s.io/v1beta1 apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment kind: MachineDeployment
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
annotations: annotations:
cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "{{ $group.minReplicas }}" cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "2"
cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "{{ $group.maxReplicas }}" cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "0"
capacity.cluster-autoscaler.kubernetes.io/memory: "{{ $group.resources.memory }}" capacity.cluster-autoscaler.kubernetes.io/memory: "1024Mi"
capacity.cluster-autoscaler.kubernetes.io/cpu: "{{ $group.resources.cpu }}" capacity.cluster-autoscaler.kubernetes.io/cpu: "2"
spec: spec:
clusterName: {{ $.Release.Name }} clusterName: {{ .Release.Name }}
selector:
matchLabels: null
template: template:
spec: spec:
bootstrap: bootstrap:
configRef: configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: default namespace: default
clusterName: {{ $.Release.Name }} clusterName: {{ .Release.Name }}
infrastructureRef: infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate kind: KubevirtMachineTemplate
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: default namespace: default
version: v1.29.0 version: v1.23.10
{{- end }}

View File

@@ -16,10 +16,12 @@ 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/control-plane - key: node-role.kubernetes.io/master
operator: Exists operator: Exists
effect: "NoSchedule" effect: "NoSchedule"
containers: containers:

View File

@@ -12,12 +12,6 @@ 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,12 +14,6 @@ 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:
@@ -50,4 +44,6 @@ 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

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"host": {
"type": "string",
"title": "Domain name for this kubernetes cluster",
"description": "This host will be used for all apps deployed in this tenant"
}
}
}

View File

@@ -1,10 +1 @@
host: "" host: ""
controlPlane:
replicas: 2
nodeGroups:
md0:
minReplicas: 0
maxReplicas: 10
resources:
cpu: 2
memory: 1024Mi

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.3.0 version: 0.2.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "11.0.2" appVersion: "1.16.0"

View File

@@ -12,7 +12,7 @@ spec:
port: 3306 port: 3306
replicas: {{ .Values.replicas }} replicas: 2
affinity: affinity:
podAntiAffinity: podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution: requiredDuringSchedulingIgnoredDuringExecution:
@@ -28,13 +28,11 @@ spec:
- {{ .Release.Name }} - {{ .Release.Name }}
topologyKey: "kubernetes.io/hostname" topologyKey: "kubernetes.io/hostname"
{{- if gt (int .Values.replicas) 1 }}
replication: replication:
enabled: true enabled: true
#primary: #primary:
# podIndex: 0 # podIndex: 0
# automaticFailover: true # automaticFailover: true
{{- end }}
metrics: metrics:
enabled: true enabled: true

View File

@@ -1,8 +1,6 @@
external: false external: false
size: 10Gi size: 10Gi
replicas: 2
users: users:
root: root:
password: strongpassword password: strongpassword

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "16.2" appVersion: "1.16.0"

View File

@@ -4,7 +4,7 @@ kind: Cluster
metadata: metadata:
name: {{ .Release.Name }} name: {{ .Release.Name }}
spec: spec:
instances: {{ .Values.replicas }} instances: 2
enableSuperuserAccess: true enableSuperuserAccess: true
postgresql: postgresql:

View File

@@ -1,6 +1,5 @@
external: false external: false
size: 10Gi size: 10Gi
replicas: 2
users: users:
user1: user1:

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "3.12.2" appVersion: "1.16.0"

View File

@@ -6,7 +6,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.replicas }} replicas: 3
{{- if .Values.external }} {{- if .Values.external }}
service: service:
type: LoadBalancer type: LoadBalancer

View File

@@ -5,10 +5,6 @@
"external": { "external": {
"type": "boolean", "type": "boolean",
"title": "Enable external Access" "title": "Enable external Access"
},
"replicas": {
"type": "integer",
"title": "Replicas"
} }
} }
} }

View File

@@ -1,2 +1 @@
replicas: 3
external: false external: false

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.1
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "6.2.6" appVersion: "1.16.0"

View File

@@ -14,7 +14,7 @@ spec:
limits: limits:
memory: 100Mi memory: 100Mi
redis: redis:
replicas: {{ .Values.replicas }} replicas: 3
resources: resources:
requests: requests:
cpu: 150m cpu: 150m

View File

@@ -9,10 +9,6 @@
"size": { "size": {
"type": "string", "type": "string",
"title": "Disk Size" "title": "Disk Size"
},
"replicas": {
"type": "integer",
"title": "Replicas"
} }
} }
} }

View File

@@ -1,3 +1,2 @@
replicas: 2
external: false external: false
size: 5Gi size: 5Gi

View File

@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "2.9.7" appVersion: "1.16.0"

View File

@@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-haproxy app: {{ .Release.Name }}-haproxy

View File

@@ -1,5 +1,4 @@
external: false external: false
replicas: 2
httpAndHttps: httpAndHttps:
mode: tcp mode: tcp
targetPorts: targetPorts:

View File

@@ -1,26 +1,17 @@
clickhouse 0.1.0 ca79f72 clickhouse 0.1.0 HEAD
clickhouse 0.2.0 HEAD http-cache 0.1.0 HEAD
http-cache 0.1.0 a956713
http-cache 0.2.0 HEAD
kafka 0.1.0 HEAD kafka 0.1.0 HEAD
kubernetes 0.1.0 f642698 kubernetes 0.1.0 HEAD
kubernetes 0.2.0 HEAD
mysql 0.1.0 f642698 mysql 0.1.0 f642698
mysql 0.2.0 8b975ff0 mysql 0.2.0 HEAD
mysql 0.3.0 HEAD postgres 0.1.0 HEAD
postgres 0.1.0 f642698 rabbitmq 0.1.0 HEAD
postgres 0.2.0 HEAD redis 0.1.1 HEAD
rabbitmq 0.1.0 f642698 tcp-balancer 0.1.0 HEAD
rabbitmq 0.2.0 HEAD
redis 0.1.1 f642698
redis 0.2.0 HEAD
tcp-balancer 0.1.0 f642698
tcp-balancer 0.2.0 HEAD
tenant 0.1.3 3d1b86c tenant 0.1.3 3d1b86c
tenant 0.1.4 d200480 tenant 0.1.4 d200480
tenant 0.1.5 e3ab858 tenant 0.1.5 e3ab858
tenant 1.0.0 HEAD tenant 1.0.0 HEAD
virtual-machine 0.1.4 f2015d6 virtual-machine 0.1.4 f2015d6
virtual-machine 0.1.5 HEAD virtual-machine 0.1.5 HEAD
vpn 0.1.0 f642698 vpn 0.1.0 HEAD
vpn 0.2.0 HEAD

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: vpn name: vpn
description: Managed VPN service description: Establish a connection from your computer
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Outline_VPN_icon.png/600px-Outline_VPN_icon.png icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Outline_VPN_icon.png/600px-Outline_VPN_icon.png
# A chart can be either an 'application' or a 'library' chart. # A chart can be either an 'application' or a 'library' chart.
@@ -16,10 +16,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0 version: 0.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.8.1" appVersion: "1.16.0"

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-vpn name: {{ .Release.Name }}-vpn
spec: spec:
replicas: {{ .Values.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-vpn app: {{ .Release.Name }}-vpn

View File

@@ -1,5 +1,4 @@
external: false external: false
replicas: 2
users: users:
user1: user1:

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,25 +3,24 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.7.1 version: v1.6.4
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.7.1 imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240410 - imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240410 - imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20240312 - imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1 - imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1 - imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
output: output:
kind: initramfs kind: initramfs
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,25 +3,24 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.7.1 version: v1.6.4
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.7.1 imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240410 - imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240410 - imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20240312 - imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1 - imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1 - imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
output: output:
kind: installer kind: installer
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,25 +3,24 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.7.1 version: v1.6.4
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.7.1 imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240410 - imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240410 - imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20240312 - imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1 - imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1 - imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
output: output:
kind: iso kind: iso
imageOptions: {}
outFormat: raw outFormat: raw

View File

@@ -3,25 +3,24 @@
arch: amd64 arch: amd64
platform: metal platform: metal
secureboot: false secureboot: false
version: v1.7.1 version: v1.6.4
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.7.1 imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240410 - imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240410 - imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20240312 - imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1 - imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1 - imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
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.7.1 version: v1.6.4
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.7.1 imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions: systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240410 - imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240410 - imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240410 - imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240410 - imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240410 - imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20240312 - imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240410 - imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.8-v1.7.1 - imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.2.3-v1.7.1 - imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
output: output:
kind: nocloud kind: image
imageOptions: { diskSize: 1306525696, diskFormat: raw } imageOptions: { diskSize: 1306525696, diskFormat: raw }
outFormat: .xz outFormat: .xz

View File

@@ -52,12 +52,6 @@ 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,12 +26,6 @@ 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,12 +81,6 @@ 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,12 +26,6 @@ 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,11 +23,9 @@ 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 . --url http://cozystack.cozy-system.svc/repos/extra cd "$(OUT)" && helm repo index .
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: 2.0.0 version: 1.0.0

View File

@@ -1,50 +0,0 @@
---
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

@@ -1,176 +0,0 @@
---
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

@@ -0,0 +1,19 @@
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,4 +1,3 @@
etcd 1.0.0 f7eaab0 etcd 1.0.0 HEAD
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.7.1-fix imageUrl: ghcr.io/kvaps/test:cluster-api-control-plane-provider-kamaji-v0.6.0-fix7
--- ---
apiVersion: operator.cluster.x-k8s.io/v1alpha2 apiVersion: operator.cluster.x-k8s.io/v1alpha2
kind: BootstrapProvider kind: BootstrapProvider

View File

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

View File

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

View File

@@ -35,12 +35,12 @@ RUN sed -i \
-e 's/#cbd4d8/#b7bbc1/g' \ -e 's/#cbd4d8/#b7bbc1/g' \
-e 's/#aeb8bc/#989da3/g' \ -e 's/#aeb8bc/#989da3/g' \
-e 's/#859399/#7b7f85/g' \ -e 's/#859399/#7b7f85/g' \
-e 's/#6a7a81/#5b686e/g' \ -e 's/#6a7a81/#63666b/g' \
-e 's/#4f6169/#4f5256/g' \ -e 's/#4f6169/#4f5256/g' \
-e 's/#3a4d55/#3a3d41/g' \ -e 's/#3a4d55/#3a3d41/g' \
-e 's/#2d4048/#202124/g' \ -e 's/#2d4048/#202124/g' \
-e 's/#21333b/#383d44/g' \ -e 's/#21333b/#1a1c1f/g' \
-e 's/#1b2b32/#2a2d2f/g' \ -e 's/#1b2b32/#141619/g' \
$(grep -rl "#2d4048\|#25333d\|#fcfdfd\|#f1f6f8\|#e3eaed\|#cbd4d8\|#aeb8bc\|#859399\|#6a7a81\|#4f6169\|#3a4d55\|#2d4048\|#21333b\|#1b2b32") $(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

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:273a8e7055816068b2975d8ac10f0f7d114cafef74057680ffc60414d4d8cf4c", "containerimage.config.digest": "sha256:ab059b6397905b2a2084def06582e61b49c4a8a3374747e87b08c82621357420",
"containerimage.digest": "sha256:5e111f09ee9c34281e2ef02cb0d41700943f8c036014110765bb002831148547" "containerimage.digest": "sha256:9c1093da42482f116b27407edcdf8b24122885e295cbb632e565213c66fc07c0"
} }

View File

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

View File

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

View File

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

View File

@@ -1,8 +0,0 @@
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

@@ -1,23 +0,0 @@
# 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

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

View File

@@ -1,63 +0,0 @@
# 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 | `[]` | |

View File

@@ -1,51 +0,0 @@
{{/*
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

@@ -1,14 +0,0 @@
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

@@ -1,8 +0,0 @@
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

@@ -1,29 +0,0 @@
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

@@ -1,29 +0,0 @@
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

@@ -1,81 +0,0 @@
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

@@ -1,11 +0,0 @@
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

@@ -1,19 +0,0 @@
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

@@ -1,14 +0,0 @@
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

@@ -1,14 +0,0 @@
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

@@ -1,38 +0,0 @@
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

@@ -1,14 +0,0 @@
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

@@ -1,16 +0,0 @@
{{- 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

@@ -1,114 +0,0 @@
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

@@ -1,15 +0,0 @@
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

@@ -1,14 +0,0 @@
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

@@ -1,12 +0,0 @@
{{- 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

@@ -1,284 +0,0 @@
{
"$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"
}

View File

@@ -1,98 +0,0 @@
etcdOperator:
image:
repository: ghcr.io/aenix-io/etcd-operator
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: ""
args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=127.0.0.1:8080
- --leader-elect
service:
type: ClusterIP
port: 9443
envVars: {}
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
kubeRbacProxy:
image:
repository: gcr.io/kubebuilder/kube-rbac-proxy
pullPolicy: IfNotPresent
tag: v0.16.0
args:
- --secure-listen-address=0.0.0.0:8443
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=0
service:
type: ClusterIP
port: 8443
livenessProbe: {}
readinessProbe: {}
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
kubernetesClusterDomain: cluster.local
replicaCount: 1
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
podAnnotations: {}
podLabels: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext:
runAsNonRoot: true
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -3,22 +3,20 @@ annotations:
catalog.cattle.io/display-name: Kamaji catalog.cattle.io/display-name: Kamaji
catalog.cattle.io/release-name: kamaji catalog.cattle.io/release-name: kamaji
apiVersion: v2 apiVersion: v2
appVersion: v0.5.0 appVersion: v0.4.1
description: Kamaji is the Hosted Control Plane Manager for Kubernetes. description: Kamaji is a Kubernetes Control Plane Manager.
home: https://github.com/clastix/kamaji home: https://github.com/clastix/kamaji
icon: https://github.com/clastix/kamaji/raw/master/assets/logo-colored.png icon: https://github.com/clastix/kamaji/raw/master/assets/logo-colored.png
kubeVersion: '>=1.21.0-0' kubeVersion: '>=1.21.0-0'
maintainers: maintainers:
- email: dario@tranchitella.eu - email: dario@tranchitella.eu
name: Dario Tranchitella name: Dario Tranchitella
url: https://clastix.io
- email: me@maxgio.it - email: me@maxgio.it
name: Massimiliano Giovagnoli name: Massimiliano Giovagnoli
- email: me@bsctl.io - email: me@bsctl.io
name: Adriano Pezzuto name: Adriano Pezzuto
url: https://clastix.io
name: kamaji name: kamaji
sources: sources:
- https://github.com/clastix/kamaji - https://github.com/clastix/kamaji
type: application type: application
version: 0.15.2 version: 0.14.1

View File

@@ -1,16 +1,16 @@
# kamaji # kamaji
![Version: 0.15.2](https://img.shields.io/badge/Version-0.15.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.5.0](https://img.shields.io/badge/AppVersion-v0.5.0-informational?style=flat-square) ![Version: 0.14.1](https://img.shields.io/badge/Version-0.14.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.1](https://img.shields.io/badge/AppVersion-v0.4.1-informational?style=flat-square)
Kamaji is the Hosted Control Plane Manager for Kubernetes. Kamaji is a Kubernetes Control Plane Manager.
## Maintainers ## Maintainers
| Name | Email | Url | | Name | Email | Url |
| ---- | ------ | --- | | ---- | ------ | --- |
| Dario Tranchitella | <dario@tranchitella.eu> | <https://clastix.io> | | Dario Tranchitella | <dario@tranchitella.eu> | |
| Massimiliano Giovagnoli | <me@maxgio.it> | | | Massimiliano Giovagnoli | <me@maxgio.it> | |
| Adriano Pezzuto | <me@bsctl.io> | <https://clastix.io> | | Adriano Pezzuto | <me@bsctl.io> | |
## Source Code ## Source Code
@@ -66,8 +66,6 @@ Here the values you can override:
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| affinity | object | `{}` | Kubernetes affinity rules to apply to Kamaji controller pods | | affinity | object | `{}` | Kubernetes affinity rules to apply to Kamaji controller pods |
| cfssl.image.repository | string | `"cfssl/cfssl"` | |
| cfssl.image.tag | string | `"latest"` | |
| datastore.basicAuth.passwordSecret.keyPath | string | `nil` | The Secret key where the data is stored. | | datastore.basicAuth.passwordSecret.keyPath | string | `nil` | The Secret key where the data is stored. |
| datastore.basicAuth.passwordSecret.name | string | `nil` | The name of the Secret containing the password used to connect to the relational database. | | datastore.basicAuth.passwordSecret.name | string | `nil` | The name of the Secret containing the password used to connect to the relational database. |
| datastore.basicAuth.passwordSecret.namespace | string | `nil` | The namespace of the Secret containing the password used to connect to the relational database. | | datastore.basicAuth.passwordSecret.namespace | string | `nil` | The namespace of the Secret containing the password used to connect to the relational database. |

View File

@@ -30,19 +30,10 @@ spec:
description: DataStore is the Schema for the datastores API. description: DataStore is the Schema for the datastores API.
properties: properties:
apiVersion: apiVersion:
description: |- description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string type: string
kind: kind:
description: |- description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string type: string
metadata: metadata:
type: object type: object
@@ -50,24 +41,18 @@ spec:
description: DataStoreSpec defines the desired state of DataStore. description: DataStoreSpec defines the desired state of DataStore.
properties: properties:
basicAuth: basicAuth:
description: |- description: In case of authentication enabled for the given data store, specifies the username and password pair. This value is optional.
In case of authentication enabled for the given data store, specifies the username and password pair.
This value is optional.
properties: properties:
password: password:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:
@@ -84,17 +69,13 @@ spec:
username: username:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:
@@ -120,9 +101,7 @@ spec:
- PostgreSQL - PostgreSQL
type: string type: string
endpoints: endpoints:
description: |- description: List of the endpoints to connect to the shared datastore. No need for protocol, just bare IP/FQDN and port.
List of the endpoints to connect to the shared datastore.
No need for protocol, just bare IP/FQDN and port.
items: items:
type: string type: string
minItems: 1 minItems: 1
@@ -131,24 +110,18 @@ spec:
description: Defines the TLS/SSL configuration required to connect to the data store in a secure way. description: Defines the TLS/SSL configuration required to connect to the data store in a secure way.
properties: properties:
certificateAuthority: certificateAuthority:
description: |- description: Retrieve the Certificate Authority certificate and private key, such as bare content of the file, or a SecretReference. The key reference is required since etcd authentication is based on certificates, and Kamaji is responsible in creating this.
Retrieve the Certificate Authority certificate and private key, such as bare content of the file, or a SecretReference.
The key reference is required since etcd authentication is based on certificates, and Kamaji is responsible in creating this.
properties: properties:
certificate: certificate:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:
@@ -165,17 +138,13 @@ spec:
privateKey: privateKey:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:
@@ -198,17 +167,13 @@ spec:
certificate: certificate:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:
@@ -225,17 +190,13 @@ spec:
privateKey: privateKey:
properties: properties:
content: content:
description: |- description: Bare content of the file, base64 encoded. It has precedence over the SecretReference value.
Bare content of the file, base64 encoded.
It has precedence over the SecretReference value.
format: byte format: byte
type: string type: string
secretReference: secretReference:
properties: properties:
keyPath: keyPath:
description: |- description: Name of the key for the given Secret reference where the content is stored. This value is mandatory.
Name of the key for the given Secret reference where the content is stored.
This value is mandatory.
minLength: 1 minLength: 1
type: string type: string
name: name:

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