diff --git a/chart/templates/apps.yaml b/chart/templates/apps.yaml
index 5398fd0..697c972 100644
--- a/chart/templates/apps.yaml
+++ b/chart/templates/apps.yaml
@@ -13,16 +13,6 @@ spec:
repoURL: https://gitea.arcodange.duckdns.org/arcodange-org/tools
targetRevision: HEAD
path: {{ $app_name }}
- {{- if $app.patches }}
- helm:
- patches:
- {{- range $patch := $app.patches }}
- - target:
- {{- toYaml $patch.target | nindent 12 }}
- patch: |-
- {{ $patch.patch | nindent 12 }}
- {{- end }}
- {{- end }}
destination:
server: https://kubernetes.default.svc
namespace: tools
diff --git a/chart/values.yaml b/chart/values.yaml
index 3a105ef..27f40fa 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -5,17 +5,5 @@ tools:
hashicorp-vault: {}
crowdsec: {}
redis: {}
- clickhouse:
- patches:
- - target:
- kind: StatefulSet
- name: clickhouse
- patch: |-
- - op: add
- path: /spec/template/spec/containers/0/volumeMounts/-
- value:
- name: config-volume
- mountPath: /etc/clickhouse-server/users.d/custom-users.xml
- subPath: custom-users.xml
- readOnly: true
+ clickhouse: {}
grafana: {}
\ No newline at end of file
diff --git a/clickhouse/Chart.yaml b/clickhouse/Chart.yaml
deleted file mode 100644
index 5d130b4..0000000
--- a/clickhouse/Chart.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-# Chart: keydb-custom
-# Helm chart tailored for KeyDB (EqAlpha) on 2 Raspberry Pi 5 nodes
-# - Mode: master (statefulset index 0) + replica (index 1)
-# - Replica runs as replicaof master at startup
-# - server-threads = 4
-# - Config mounted via ConfigMap
-# - Liveness / readiness probes included
-# - Persistence via PersistentVolumeClaim (storageClass configurable)
-# -----------------------------------------------------------------------------
-# Chart.yaml
-# -----------------------------------------------------------------------------
-apiVersion: v2
-name: clickhouse
-description: A Helm chart for Kubernetes
-
-dependencies:
-- name: tool
- version: 0.1.0
- repository: https://gitea.arcodange.duckdns.org/api/packages/arcodange-org/helm
-- name: clickhouse
- version: 0.4.0
- repository: https://charts.pascaliske.dev
-
-# A chart can be either an 'application' or a 'library' chart.
-#
-# Application charts are a collection of templates that can be packaged into versioned archives
-# to be deployed.
-#
-# Library charts provide useful utilities or functions for the chart developer. They're included as
-# a dependency of application charts to inject those utilities and functions into the rendering
-# pipeline. Library charts do not define any templates and therefore cannot be deployed.
-type: application
-version: 0.1.0
-appVersion: "latest"
\ No newline at end of file
diff --git a/clickhouse/clickhouseValues.yaml b/clickhouse/clickhouseValues.yaml
new file mode 100644
index 0000000..b7024ea
--- /dev/null
+++ b/clickhouse/clickhouseValues.yaml
@@ -0,0 +1,176 @@
+global: {}
+image:
+ # -- The registry to pull the image from.
+ registry: docker.io
+ # -- The repository to pull the image from.
+ repository: clickhouse/clickhouse-server
+ # -- The docker tag, if left empty chart's appVersion will be used.
+ # @default -- `.Chart.AppVersion`
+ tag: ''
+ # -- The pull policy for the controller.
+ pullPolicy: IfNotPresent
+
+nameOverride: ''
+fullnameOverride: ''
+
+controller:
+ # -- Create a workload for this chart.
+ enabled: true
+ # -- Type of the workload object.
+ kind: StatefulSet
+ # -- The number of replicas.
+ replicas: 1
+ # -- The controller update strategy. Currently only applies to controllers of kind `Deployment`.
+ updateStrategy: {}
+ # -- Additional annotations for the controller object.
+ annotations: {}
+ # -- Additional labels for the controller object.
+ labels: {}
+
+service:
+ # -- Create a service for exposing this chart.
+ enabled: true
+ # -- The service type used.
+ type: ClusterIP
+ # -- ClusterIP used if service type is `ClusterIP`.
+ clusterIP: ''
+ # -- LoadBalancerIP if service type is `LoadBalancer`.
+ loadBalancerIP: ''
+ # -- Allowed addresses when service type is `LoadBalancer`.
+ loadBalancerSourceRanges: []
+ # -- Additional annotations for the service object.
+ annotations: {}
+ # -- Additional labels for the service object.
+ labels: {}
+
+env:
+ # -- Timezone for the container.
+ - name: TZ
+ value: Europe/Paris
+
+# -- List of extra arguments for the container.
+extraArgs: []
+ # - --loglevel warning
+
+ports:
+ rest:
+ # -- Enable the port inside the `Controller` and `Service` objects.
+ enabled: true
+ # -- The port used as internal port and cluster-wide port if `.service.type` == `ClusterIP`.
+ port: 8123
+ # -- The external port used if `.service.type` == `NodePort`.
+ nodePort: null
+ # -- The protocol used for the service.
+ protocol: TCP
+ rpc:
+ # -- Enable the port inside the `Controller` and `Service` objects.
+ enabled: true
+ # -- The port used as internal port and cluster-wide port if `.service.type` == `ClusterIP`.
+ port: 9000
+ # -- The external port used if `.service.type` == `NodePort`.
+ nodePort: null
+ # -- The protocol used for the service.
+ protocol: TCP
+
+configMap:
+ # -- Create a new config map object.
+ create: true
+ # -- Mount path of the config map object.
+ mountPath: /etc/config
+ # -- Use an existing config map object.
+ existingConfigMap: ''
+ # -- Map of configuration files as strings.
+ files:
+ custom-users.xml: |
+
+
+
+
+ ::1
+ 127.0.0.1
+
+
+
+ clickhousearcodange
+
+ ::/0
+ 0.0.0.0/0
+
+ default
+ default
+ 1
+
+
+
+ # file1.yml: |
+ # # contents
+ # file2.yml: |
+ # # contents
+ # -- Additional annotations for the config map object.
+ annotations: {}
+ # -- Additional labels for the config map object.
+ labels: {}
+
+persistentVolumeClaim:
+ # -- Create a new persistent volume claim object.
+ create: true
+ # -- Mount path of the persistent volume claim object.
+ mountPath: /var/lib/clickhouse
+ # -- Access mode of the persistent volume claim object.
+ accessMode: ReadWriteOnce
+ # -- Volume mode of the persistent volume claim object.
+ volumeMode: Filesystem
+ # -- Storage request size for the persistent volume claim object.
+ size: 16Gi
+ # -- Storage class name for the persistent volume claim object.
+ storageClassName: ''
+ # -- Use an existing persistent volume claim object.
+ existingPersistentVolumeClaim: ''
+ # -- Additional annotations for the persistent volume claim object.
+ annotations: {}
+ # -- Additional labels for the persistent volume claim object.
+ labels: {}
+
+serviceAccount:
+ # -- Create a `ServiceAccount` object.
+ create: true
+ # -- Specify the service account used for the controller.
+ name: ''
+ # -- Additional annotations for the role and role binding objects.
+ annotations: {}
+ # -- Additional labels for the role and role binding objects.
+ labels: {}
+
+# -- Pod-level security attributes. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context).
+securityContext:
+ fsGroup: 101
+ runAsNonRoot: true
+ runAsGroup: 101
+ runAsUser: 101
+
+# -- Compute resources used by the container. More info [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
+resources: {}
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+# -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
+affinity: {}
+ # nodeAffinity:
+ # requiredDuringSchedulingIgnoredDuringExecution:
+ # nodeSelectorTerms:
+ # - matchExpressions:
+ # - key: kubernetes.io/hostname
+ # operator: In
+ # values:
+ # - my-node-xyz
+
+# -- Pod-level tolerations. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
+tolerations: []
+ # - key: node-role.kubernetes.io/control-plane
+ # operator: Exists
+ # effect: NoSchedule
+
diff --git a/clickhouse/kustomization.yaml b/clickhouse/kustomization.yaml
new file mode 100644
index 0000000..8aa7938
--- /dev/null
+++ b/clickhouse/kustomization.yaml
@@ -0,0 +1,22 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+helmCharts:
+- name: clickhouse
+ repo: https://charts.pascaliske.dev
+ version: 0.4.0
+ releaseName: clickhouse
+ valuesFile: clickhouseValues.yaml
+
+patches:
+ - target:
+ kind: StatefulSet
+ name: clickhouse
+ patch: |-
+ - op: add
+ path: /spec/template/spec/containers/0/volumeMounts/-
+ value:
+ name: config-volume
+ mountPath: /etc/clickhouse-server/users.d/custom-users.xml
+ subPath: custom-users.xml
+ readOnly: true
\ No newline at end of file
diff --git a/clickhouse/templates/helm-chart-config.yaml b/clickhouse/templates/helm-chart-config.yaml
deleted file mode 100644
index 31cb271..0000000
--- a/clickhouse/templates/helm-chart-config.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-{{- if eq .Values.tool.kind "HelmChart" -}}
-{{- include "tool.helm-chart-config.tpl" . -}}
-{{- end -}}
\ No newline at end of file
diff --git a/clickhouse/templates/helm-chart.yaml b/clickhouse/templates/helm-chart.yaml
deleted file mode 100644
index c6b793d..0000000
--- a/clickhouse/templates/helm-chart.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-{{- if eq .Values.tool.kind "HelmChart" -}}
-{{- include "tool.helm-chart.tpl" . -}}
-{{- end -}}
\ No newline at end of file
diff --git a/clickhouse/values.yaml b/clickhouse/values.yaml
deleted file mode 100644
index ae65ba7..0000000
--- a/clickhouse/values.yaml
+++ /dev/null
@@ -1,185 +0,0 @@
-clickhouse: &clickhouse_config
- global: {}
- image:
- # -- The registry to pull the image from.
- registry: docker.io
- # -- The repository to pull the image from.
- repository: clickhouse/clickhouse-server
- # -- The docker tag, if left empty chart's appVersion will be used.
- # @default -- `.Chart.AppVersion`
- tag: ''
- # -- The pull policy for the controller.
- pullPolicy: IfNotPresent
-
- nameOverride: ''
- fullnameOverride: ''
-
- controller:
- # -- Create a workload for this chart.
- enabled: true
- # -- Type of the workload object.
- kind: StatefulSet
- # -- The number of replicas.
- replicas: 1
- # -- The controller update strategy. Currently only applies to controllers of kind `Deployment`.
- updateStrategy: {}
- # -- Additional annotations for the controller object.
- annotations: {}
- # -- Additional labels for the controller object.
- labels: {}
-
- service:
- # -- Create a service for exposing this chart.
- enabled: true
- # -- The service type used.
- type: ClusterIP
- # -- ClusterIP used if service type is `ClusterIP`.
- clusterIP: ''
- # -- LoadBalancerIP if service type is `LoadBalancer`.
- loadBalancerIP: ''
- # -- Allowed addresses when service type is `LoadBalancer`.
- loadBalancerSourceRanges: []
- # -- Additional annotations for the service object.
- annotations: {}
- # -- Additional labels for the service object.
- labels: {}
-
- env:
- # -- Timezone for the container.
- - name: TZ
- value: Europe/Paris
-
- # -- List of extra arguments for the container.
- extraArgs: []
- # - --loglevel warning
-
- ports:
- rest:
- # -- Enable the port inside the `Controller` and `Service` objects.
- enabled: true
- # -- The port used as internal port and cluster-wide port if `.service.type` == `ClusterIP`.
- port: 8123
- # -- The external port used if `.service.type` == `NodePort`.
- nodePort: null
- # -- The protocol used for the service.
- protocol: TCP
- rpc:
- # -- Enable the port inside the `Controller` and `Service` objects.
- enabled: true
- # -- The port used as internal port and cluster-wide port if `.service.type` == `ClusterIP`.
- port: 9000
- # -- The external port used if `.service.type` == `NodePort`.
- nodePort: null
- # -- The protocol used for the service.
- protocol: TCP
-
- configMap:
- # -- Create a new config map object.
- create: true
- # -- Mount path of the config map object.
- mountPath: /etc/config
- # -- Use an existing config map object.
- existingConfigMap: ''
- # -- Map of configuration files as strings.
- files:
- custom-users.xml: |
-
-
-
-
- ::1
- 127.0.0.1
-
-
-
- monmotdepasse
-
- ::/0
- 0.0.0.0/0
-
- default
- default
- 1
-
-
-
- # file1.yml: |
- # # contents
- # file2.yml: |
- # # contents
- # -- Additional annotations for the config map object.
- annotations: {}
- # -- Additional labels for the config map object.
- labels: {}
-
- persistentVolumeClaim:
- # -- Create a new persistent volume claim object.
- create: true
- # -- Mount path of the persistent volume claim object.
- mountPath: /var/lib/clickhouse
- # -- Access mode of the persistent volume claim object.
- accessMode: ReadWriteOnce
- # -- Volume mode of the persistent volume claim object.
- volumeMode: Filesystem
- # -- Storage request size for the persistent volume claim object.
- size: 1Gi
- # -- Storage class name for the persistent volume claim object.
- storageClassName: ''
- # -- Use an existing persistent volume claim object.
- existingPersistentVolumeClaim: ''
- # -- Additional annotations for the persistent volume claim object.
- annotations: {}
- # -- Additional labels for the persistent volume claim object.
- labels: {}
-
- serviceAccount:
- # -- Create a `ServiceAccount` object.
- create: true
- # -- Specify the service account used for the controller.
- name: ''
- # -- Additional annotations for the role and role binding objects.
- annotations: {}
- # -- Additional labels for the role and role binding objects.
- labels: {}
-
- # -- Pod-level security attributes. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context).
- securityContext:
- fsGroup: 101
- runAsNonRoot: true
- runAsGroup: 101
- runAsUser: 101
-
- # -- Compute resources used by the container. More info [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
- resources: {}
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
- # -- Pod-level affinity. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
- affinity: {}
- # nodeAffinity:
- # requiredDuringSchedulingIgnoredDuringExecution:
- # nodeSelectorTerms:
- # - matchExpressions:
- # - key: kubernetes.io/hostname
- # operator: In
- # values:
- # - my-node-xyz
-
- # -- Pod-level tolerations. More info [here](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling).
- tolerations: []
- # - key: node-role.kubernetes.io/control-plane
- # operator: Exists
- # effect: NoSchedule
-
-
-tool:
- # kind: 'SubChart' or 'HelmChart', if subchart then uncomment Chart.yaml dependency, else comment and use tool library with helm chart template
- kind: 'SubChart'
- repo: https://charts.pascaliske.dev
- chart: clickhouse
- version: 0.4.0
- values: *clickhouse_config