This is an automated email from the ASF dual-hosted git repository.
gkoszyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new a00ca904 feat(helm): Unified helm chart (#2185)
a00ca904 is described below
commit a00ca904ba4532a885f4f3d9a3c6e37f9cc6945f
Author: Michael van Niekerk <[email protected]>
AuthorDate: Sat Sep 20 09:13:12 2025 +0200
feat(helm): Unified helm chart (#2185)
Currently, the server and ui are different Helm charts. This PR unifies
them.
The values.yaml file is thus more prominently split up between server
and ui.
---
helm/README.md | 5 -
helm/charts/iggy-server/Chart.yaml | 30 ---
helm/charts/iggy-server/README.md | 53 -----
helm/charts/iggy-server/templates/_helpers.tpl | 67 -------
helm/charts/iggy-server/templates/deployment.yaml | 92 ---------
helm/charts/iggy-server/templates/ingress.yaml | 79 --------
helm/charts/iggy-server/values.yaml | 126 ------------
helm/charts/iggy-ui/.helmignore | 23 ---
helm/charts/iggy-ui/README.md | 47 -----
helm/charts/iggy-ui/templates/NOTES.txt | 22 ---
helm/charts/iggy-ui/templates/deployment.yaml | 83 --------
helm/charts/iggy-ui/templates/ingress.yaml | 78 --------
helm/charts/iggy-ui/values.yaml | 105 ----------
helm/charts/{iggy-server => iggy}/.helmignore | 0
helm/charts/{iggy-ui => iggy}/Chart.yaml | 8 +-
helm/charts/iggy/README.md | 94 +++++++++
.../{iggy-server => iggy}/templates/NOTES.txt | 22 +--
.../{iggy-ui => iggy}/templates/_helpers.tpl | 48 ++++-
helm/charts/iggy/templates/deployment.yaml | 200 +++++++++++++++++++
.../{iggy-server => iggy}/templates/hpa.yaml | 6 +-
.../service.yaml => iggy/templates/iggy-pvc.yaml} | 33 ++--
helm/charts/iggy/templates/ingress.yaml | 143 ++++++++++++++
.../templates/root-user-credentials.yaml} | 19 +-
.../{iggy-server => iggy}/templates/service.yaml | 29 ++-
.../templates/serviceaccount.yaml | 4 +-
.../templates/servicemonitor.yaml | 14 +-
helm/charts/iggy/values.yaml | 219 +++++++++++++++++++++
27 files changed, 778 insertions(+), 871 deletions(-)
diff --git a/helm/README.md b/helm/README.md
deleted file mode 100644
index e5e62db1..00000000
--- a/helm/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The source code has been moved to [Apache
Iggy](https://github.com/apache/iggy/)
-
-## iggy-helm
-
-Official Helm chart for Apache Iggy
diff --git a/helm/charts/iggy-server/Chart.yaml
b/helm/charts/iggy-server/Chart.yaml
deleted file mode 100644
index 4c7d946d..00000000
--- a/helm/charts/iggy-server/Chart.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
----
-apiVersion: v2
-name: iggy-server
-description: A Helm chart for Iggy server
-type: application
-version: 0.1.0
-appVersion: "0.4.300"
-sources:
- - https://github.com/apache/iggy
-keywords:
- - iggy
- - messages
- - streaming
diff --git a/helm/charts/iggy-server/README.md
b/helm/charts/iggy-server/README.md
deleted file mode 100644
index c812bb72..00000000
--- a/helm/charts/iggy-server/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# iggy-server
-
-


-
-A Helm chart for Kubernetes
-
-## Values
-
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| additionalLabels | object | `{}` | Additional labels to add to all resources
|
-| affinity | object | `{}` | |
-| autoscaling.enabled | bool | `false` | |
-| autoscaling.maxReplicas | int | `100` | |
-| autoscaling.minReplicas | int | `1` | |
-| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
-| fullnameOverride | string | `""` | |
-| image.pullPolicy | string | `"IfNotPresent"` | |
-| image.repository | string | `"nginx"` | |
-| image.tag | string | `""` | |
-| imagePullSecrets | list | `[]` | |
-| ingress.annotations | object | `{}` | |
-| ingress.className | string | `""` | |
-| ingress.enabled | bool | `false` | |
-| ingress.hosts[0].host | string | `"chart-example.local"` | |
-| ingress.hosts[0].paths[0].path | string | `"/"` | |
-| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
-| ingress.tls | list | `[]` | |
-| nameOverride | string | `""` | |
-| nodeSelector | object | `{}` | |
-| podAnnotations | object | `{}` | |
-| podSecurityContext | object | `{}` | |
-| replicaCount | int | `1` | |
-| resources | object | `{}` | |
-| securityContext | object | `{}` | |
-| server.ports.http | int | `3000` | |
-| server.ports.quic | int | `8080` | |
-| server.ports.tcp | int | `8090` | |
-| service.type | string | `"ClusterIP"` | |
-| serviceAccount.annotations | object | `{}` | |
-| serviceAccount.create | bool | `true` | |
-| serviceAccount.name | string | `""` | |
-| serviceMonitor.additionalLabels | object | `{}` | Add custom labels to the
ServiceMonitor resource |
-| serviceMonitor.enabled | bool | `true` | Enable this if you're using
`"https://github.com/coreos/prometheus-operator"` |
-| serviceMonitor.honorLabels | bool | `false` | |
-| serviceMonitor.interval | string | `"30s"` | Fallback to the prometheus
default unless specified |
-| serviceMonitor.namespace | string | `""` | Namespace to deploy the
ServiceMonitor |
-| serviceMonitor.path | string | `"/metrics"` | Path to scrape metrics |
-| serviceMonitor.scrapeTimeout | string | `"10s"` | Timeout for scrape metrics
request |
-| tolerations | list | `[]` | |
-
-----------------------------------------------
-Autogenerated from chart metadata using [helm-docs
v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
diff --git a/helm/charts/iggy-server/templates/_helpers.tpl
b/helm/charts/iggy-server/templates/_helpers.tpl
deleted file mode 100644
index 6175cab6..00000000
--- a/helm/charts/iggy-server/templates/_helpers.tpl
+++ /dev/null
@@ -1,67 +0,0 @@
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "iggy-server.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 "iggy-server.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 "iggy-server.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 |
trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Common labels
-*/}}
-{{- define "iggy-server.labels" -}}
-helm.sh/chart: {{ include "iggy-server.chart" . }}
-{{ include "iggy-server.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/component: server
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-app.kubernetes.io/part-of: iggy-server
-{{- if .Values.additionalLabels }}
-{{ toYaml .Values.additionalLabels }}
-{{- end }}
-{{- end }}
-
-{{/*
-Selector labels
-*/}}
-{{- define "iggy-server.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "iggy-server.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-{{/*
-Create the name of the service account to use
-*/}}
-{{- define "iggy-server.serviceAccountName" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (include "iggy-server.fullname" .) .Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
diff --git a/helm/charts/iggy-server/templates/deployment.yaml
b/helm/charts/iggy-server/templates/deployment.yaml
deleted file mode 100644
index fe7cbf38..00000000
--- a/helm/charts/iggy-server/templates/deployment.yaml
+++ /dev/null
@@ -1,92 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ include "iggy-server.fullname" . }}
- labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
-spec:
- {{- if not .Values.autoscaling.enabled }}
- replicas: {{ .Values.replicaCount }}
- {{- end }}
- selector:
- matchLabels:
- {{- include "iggy-server.selectorLabels" . | nindent 6 }}
- template:
- metadata:
- {{- with .Values.podAnnotations }}
- annotations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- labels:
- {{- include "iggy-server.labels" . | nindent 8 }}
- spec:
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- serviceAccountName: {{ include "iggy-server.serviceAccountName" . }}
- securityContext:
- {{- toYaml .Values.podSecurityContext | nindent 8 }}
- containers:
- - name: {{ .Chart.Name }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag |
default .Chart.AppVersion }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - name: http
- containerPort: {{ .Values.server.ports.http }}
- protocol: TCP
- - name: tcp
- containerPort: {{ .Values.server.ports.tcp }}
- protocol: TCP
- - name: quic
- containerPort: {{ .Values.server.ports.quic }}
- protocol: TCP
- {{ if .Values.env }}
- env:
- {{- range .Values.env }}
- - name: {{ .name }}
- value: {{ .value | quote }}
- {{- end }}
- {{ end }}
- livenessProbe:
- httpGet:
- path: /
- port: http
- readinessProbe:
- httpGet:
- path: /
- port: http
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
diff --git a/helm/charts/iggy-server/templates/ingress.yaml
b/helm/charts/iggy-server/templates/ingress.yaml
deleted file mode 100644
index bd6ed0b0..00000000
--- a/helm/charts/iggy-server/templates/ingress.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-{{- if .Values.ingress.enabled -}}
-{{- $fullName := include "iggy-server.fullname" . -}}
-{{- $svcPort := .Values.service.port -}}
-{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion)) }}
- {{- if not (hasKey .Values.ingress.annotations
"kubernetes.io/ingress.class") }}
- {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class"
.Values.ingress.className}}
- {{- end }}
-{{- end }}
-{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
-apiVersion: networking.k8s.io/v1
-{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
-apiVersion: networking.k8s.io/v1beta1
-{{- else }}
-apiVersion: extensions/v1beta1
-{{- end }}
-kind: Ingress
-metadata:
- name: {{ $fullName }}
- labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
- {{- with .Values.ingress.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if and .Values.ingress.className (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion) }}
- ingressClassName: {{ .Values.ingress.className }}
- {{- end }}
- {{- if .Values.ingress.tls }}
- tls:
- {{- range .Values.ingress.tls }}
- - hosts:
- {{- range .hosts }}
- - {{ . | quote }}
- {{- end }}
- secretName: {{ .secretName }}
- {{- end }}
- {{- end }}
- rules:
- {{- range .Values.ingress.hosts }}
- - host: {{ .host | quote }}
- http:
- paths:
- {{- range .paths }}
- - path: {{ .path }}
- {{- if and .pathType (semverCompare ">=1.18-0"
$.Capabilities.KubeVersion.GitVersion) }}
- pathType: {{ .pathType }}
- {{- end }}
- backend:
- {{- if semverCompare ">=1.19-0"
$.Capabilities.KubeVersion.GitVersion }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $svcPort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $svcPort }}
- {{- end }}
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/helm/charts/iggy-server/values.yaml
b/helm/charts/iggy-server/values.yaml
deleted file mode 100644
index 2b1931e9..00000000
--- a/helm/charts/iggy-server/values.yaml
+++ /dev/null
@@ -1,126 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
----
-# Default values for iggy-server.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-replicaCount: 1
-
-image:
- repository: apache/iggy
- pullPolicy: IfNotPresent
- # Overrides the image tag whose default is the chart appVersion.
- tag: ""
-
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
-
-# -- Additional labels to add to all resources
-additionalLabels: {}
- # app: iggy
-
-serviceAccount:
- # Specifies whether a service account should be created
- create: true
- # Annotations to add to the service account
- annotations: {}
- # The name of the service account to use.
- # If not set and create is true, a name is generated using the fullname
template
- name: ""
-
-podAnnotations: {}
-
-podSecurityContext: {}
- # fsGroup: 2000
-
-securityContext: {}
- # capabilities:
- # drop:
- # - ALL
- # readOnlyRootFilesystem: true
- # runAsNonRoot: true
- # runAsUser: 1000
-
-service:
- type: ClusterIP
- port: 3000
-
-ingress:
- enabled: false
- className: ""
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- hosts:
- - host: chart-example.local
- paths:
- - path: /
- pathType: ImplementationSpecific
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as
a conscious
- # choice for the user. This also increases chances charts run on
environments with little
- # resources, such as Minikube. If you do want to specify resources,
uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after
'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
-autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 100
- targetCPUUtilizationPercentage: 80
- # targetMemoryUtilizationPercentage: 80
-
-nodeSelector: {}
-
-tolerations: []
-
-affinity: {}
-
-serviceMonitor:
- # -- Enable this if you're using
https://github.com/coreos/prometheus-operator
- enabled: true
- # -- Namespace to deploy the ServiceMonitor
- namespace: ""
- # -- Fallback to the prometheus default unless specified
- interval: 30s
- # -- Add custom labels to the ServiceMonitor resource
- additionalLabels: {}
- honorLabels: false
- # -- Path to scrape metrics
- path: /metrics
- # -- Timeout for scrape metrics request
- scrapeTimeout: 10s
-
-# Iggy configuration
-server:
- ports:
- http: 3000
- quic: 8080
- tcp: 8090
diff --git a/helm/charts/iggy-ui/.helmignore b/helm/charts/iggy-ui/.helmignore
deleted file mode 100644
index 0e8a0eb3..00000000
--- a/helm/charts/iggy-ui/.helmignore
+++ /dev/null
@@ -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/
diff --git a/helm/charts/iggy-ui/README.md b/helm/charts/iggy-ui/README.md
deleted file mode 100644
index a07d1938..00000000
--- a/helm/charts/iggy-ui/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# iggy-ui
-
-


-
-A Helm chart for Iggy UI
-
-## Source Code
-
-* <https://github.com/apache/iggy>
-
-## Values
-
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| additionalLabels | object | `{}` | Additional labels to add to all resources
|
-| affinity | object | `{}` | |
-| fullnameOverride | string | `""` | |
-| image.pullPolicy | string | `"IfNotPresent"` | |
-| image.repository | string | `"apache/iggy-web-ui"` | |
-| image.tag | string | `""` | |
-| imagePullSecrets | list | `[]` | |
-| ingress.annotations | object | `{}` | |
-| ingress.className | string | `""` | |
-| ingress.enabled | bool | `false` | |
-| ingress.hosts[0].host | string | `"chart-example.local"` | |
-| ingress.hosts[0].paths[0].path | string | `"/"` | |
-| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
-| ingress.tls | list | `[]` | |
-| nameOverride | string | `""` | |
-| nodeSelector | object | `{}` | |
-| podAnnotations | object | `{}` | |
-| podSecurityContext | object | `{}` | |
-| replicaCount | int | `1` | |
-| resources | object | `{}` | |
-| securityContext | object | `{}` | |
-| server.endpoint | string | `"http://iggy-server:80"` | |
-| service.port | int | `3050` | |
-| service.type | string | `"ClusterIP"` | |
-| serviceAccount.annotations | object | `{}` | |
-| serviceAccount.create | bool | `true` | |
-| serviceAccount.name | string | `""` | |
-| tolerations | list | `[]` | |
-| ui.extraEnvs | object | `{}` | |
-| ui.ports.http | int | `3050` | |
-
-----------------------------------------------
-Autogenerated from chart metadata using [helm-docs
v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
diff --git a/helm/charts/iggy-ui/templates/NOTES.txt
b/helm/charts/iggy-ui/templates/NOTES.txt
deleted file mode 100644
index 40ba3de3..00000000
--- a/helm/charts/iggy-ui/templates/NOTES.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range $host := .Values.ingress.hosts }}
- {{- range .paths }}
- http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
- {{- end }}
-{{- end }}
-{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o
jsonpath="{.spec.ports[0].nodePort}" services {{ include "iggy-ui.fullname" .
}})
- export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o
jsonpath="{.items[0].status.addresses[0].address}")
- echo http://$NODE_IP:$NODE_PORT
-{{- else if contains "LoadBalancer" .Values.service.type }}
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- You can watch the status of by running 'kubectl get --namespace {{
.Release.Namespace }} svc -w {{ include "iggy-ui.fullname" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{
include "iggy-ui.fullname" . }} --template "{{"{{ range (index
.status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
- echo http://$SERVICE_IP:{{ .Values.service.port }}
-{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l
"app.kubernetes.io/name={{ include "iggy-ui.name" .
}},app.kubernetes.io/instance={{ .Release.Name }}" -o
jsonpath="{.items[0].metadata.name}")
- export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }}
$POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
- echo "Visit http://127.0.0.1:8080 to use your application"
- kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME
8080:$CONTAINER_PORT
-{{- end }}
diff --git a/helm/charts/iggy-ui/templates/deployment.yaml
b/helm/charts/iggy-ui/templates/deployment.yaml
deleted file mode 100644
index 364dfd2b..00000000
--- a/helm/charts/iggy-ui/templates/deployment.yaml
+++ /dev/null
@@ -1,83 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ include "iggy-ui.fullname" . }}
- labels:
- {{- include "iggy-ui.labels" . | nindent 4 }}
-spec:
- replicas: {{ .Values.replicaCount }}
- selector:
- matchLabels:
- {{- include "iggy-ui.selectorLabels" . | nindent 6 }}
- template:
- metadata:
- {{- with .Values.podAnnotations }}
- annotations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- labels:
- {{- include "iggy-ui.labels" . | nindent 8 }}
- spec:
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- serviceAccountName: {{ include "iggy-ui.serviceAccountName" . }}
- securityContext:
- {{- toYaml .Values.podSecurityContext | nindent 8 }}
- containers:
- - name: {{ .Chart.Name }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag |
default .Chart.AppVersion }}"
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- ports:
- - name: http
- containerPort: {{ .Values.ui.ports.http }}
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /
- port: http
- readinessProbe:
- httpGet:
- path: /
- port: http
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- env:
- - name: PUBLIC_IGGY_API_URL
- value: {{ .Values.server.endpoint }}
- {{- with .Values.ui.extraEnvs }}
- {{- . | toYaml | nindent 12 }}
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
diff --git a/helm/charts/iggy-ui/templates/ingress.yaml
b/helm/charts/iggy-ui/templates/ingress.yaml
deleted file mode 100644
index f9e08a19..00000000
--- a/helm/charts/iggy-ui/templates/ingress.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-{{- if .Values.ingress.enabled -}}
-{{- $fullName := include "iggy-ui.fullname" . -}}
-{{- $svcPort := .Values.service.port -}}
-{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion)) }}
- {{- if not (hasKey .Values.ingress.annotations
"kubernetes.io/ingress.class") }}
- {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class"
.Values.ingress.className}}
- {{- end }}
-{{- end }}
-{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
-apiVersion: networking.k8s.io/v1
-{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
-apiVersion: networking.k8s.io/v1beta1
-{{- else -}}
-apiVersion: extensions/v1beta1
-{{- end }}
-kind: Ingress
-metadata:
- name: {{ $fullName }}
- labels:
- {{- include "iggy-ui.labels" . | nindent 4 }}
- {{- with .Values.ingress.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-spec:
- {{- if and .Values.ingress.className (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion) }}
- ingressClassName: {{ .Values.ingress.className }}
- {{- end }}
- {{- if .Values.ingress.tls }}
- tls:
- {{- range .Values.ingress.tls }}
- - hosts:
- {{- range .hosts }}
- - {{ . | quote }}
- {{- end }}
- secretName: {{ .secretName }}
- {{- end }}
- {{- end }}
- rules:
- {{- range .Values.ingress.hosts }}
- - host: {{ .host | quote }}
- http:
- paths:
- {{- range .paths }}
- - path: {{ .path }}
- {{- if and .pathType (semverCompare ">=1.18-0"
$.Capabilities.KubeVersion.GitVersion) }}
- pathType: {{ .pathType }}
- {{- end }}
- backend:
- {{- if semverCompare ">=1.19-0"
$.Capabilities.KubeVersion.GitVersion }}
- service:
- name: {{ $fullName }}
- port:
- number: {{ $svcPort }}
- {{- else }}
- serviceName: {{ $fullName }}
- servicePort: {{ $svcPort }}
- {{- end }}
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/helm/charts/iggy-ui/values.yaml b/helm/charts/iggy-ui/values.yaml
deleted file mode 100644
index 739f397b..00000000
--- a/helm/charts/iggy-ui/values.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
----
-# Default values for iggy-ui.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-replicaCount: 1
-
-image:
- repository: apache/iggy-web-ui
- pullPolicy: IfNotPresent
- # Overrides the image tag whose default is the chart appVersion.
- tag: ""
-
-imagePullSecrets: []
-nameOverride: ""
-fullnameOverride: ""
-
-# -- Additional labels to add to all resources
-additionalLabels: {}
- # app: iggy
-
-serviceAccount:
- # Specifies whether a service account should be created
- create: true
- # Annotations to add to the service account
- annotations: {}
- # The name of the service account to use.
- # If not set and create is true, a name is generated using the fullname
template
- name: ""
-
-podAnnotations: {}
-
-podSecurityContext: {}
- # fsGroup: 2000
-
-securityContext: {}
- # capabilities:
- # drop:
- # - ALL
- # readOnlyRootFilesystem: true
- # runAsNonRoot: true
- # runAsUser: 1000
-
-service:
- type: ClusterIP
- port: 3050
-
-ingress:
- enabled: false
- className: ""
- annotations: {}
- # kubernetes.io/ingress.class: nginx
- # kubernetes.io/tls-acme: "true"
- hosts:
- - host: chart-example.local
- paths:
- - path: /
- pathType: ImplementationSpecific
- tls: []
- # - secretName: chart-example-tls
- # hosts:
- # - chart-example.local
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as
a conscious
- # choice for the user. This also increases chances charts run on
environments with little
- # resources, such as Minikube. If you do want to specify resources,
uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after
'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
-nodeSelector: {}
-
-tolerations: []
-
-affinity: {}
-
-# Iggy configuration
-ui:
- ports:
- http: 3050
- extraEnvs: {}
-server:
- endpoint: http://iggy-server:80
diff --git a/helm/charts/iggy-server/.helmignore b/helm/charts/iggy/.helmignore
similarity index 100%
rename from helm/charts/iggy-server/.helmignore
rename to helm/charts/iggy/.helmignore
diff --git a/helm/charts/iggy-ui/Chart.yaml b/helm/charts/iggy/Chart.yaml
similarity index 89%
rename from helm/charts/iggy-ui/Chart.yaml
rename to helm/charts/iggy/Chart.yaml
index 0e43e117..0aa40e8d 100644
--- a/helm/charts/iggy-ui/Chart.yaml
+++ b/helm/charts/iggy/Chart.yaml
@@ -17,11 +17,11 @@
---
apiVersion: v2
-name: iggy-ui
-description: A Helm chart for Iggy UI
+name: iggy
+description: A Helm chart for Apache Iggy server and web-ui
type: application
-version: 0.1.0
-appVersion: "latest"
+version: 0.2.0
+appVersion: "0.5.0"
sources:
- https://github.com/apache/iggy
keywords:
diff --git a/helm/charts/iggy/README.md b/helm/charts/iggy/README.md
new file mode 100644
index 00000000..0124f84c
--- /dev/null
+++ b/helm/charts/iggy/README.md
@@ -0,0 +1,94 @@
+# iggy
+
+


+
+A Helm chart for Apache Iggy server and web-ui
+
+## Source Code
+
+* <https://github.com/apache/iggy>
+
+## Values
+
+| Key | Type | Default
| Description
|
+|----------------------------------------------|--------|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| additionalLabels | object | `{}`
| Additional labels to add to all resources
|
+| autoscaling.enabled | bool | `false`
|
|
+| autoscaling.maxReplicas | int | `100`
|
|
+| autoscaling.minReplicas | int | `1`
|
|
+| autoscaling.targetCPUUtilizationPercentage | int | `80`
|
|
+| fullnameOverride | string | `""`
|
|
+| imagePullSecrets | list | `[]`
|
|
+| nameOverride | string | `""`
|
|
+| podAnnotations | object | `{}`
|
|
+| podSecurityContext | object | `{}`
|
|
+| resources | object | `{}`
|
|
+| securityContext | object | `{}`
|
|
+| server.affinity | object | `{}`
|
|
+| server.enabled | bool | `true`
|
|
+| server.env | list |
`[{"name":"RUST_LOG","value":"info"}]`
| Set up environmental variables to be
added to the container
|
+| server.image.pullPolicy | string | `"IfNotPresent"`
|
|
+| server.image.repository | string | `"apache/iggy"`
|
|
+| server.image.tag | string | `""`
|
|
+| server.ingress.annotations | object | `{}`
|
|
+| server.ingress.className | string | `""`
|
|
+| server.ingress.enabled | bool | `false`
|
|
+| server.ingress.hosts[0].host | string |
`"chart-example.local"`
|
|
+| server.ingress.hosts[0].paths[0].path | string | `"/"`
|
|
+| server.ingress.hosts[0].paths[0].pathType | string |
`"ImplementationSpecific"`
|
|
+| server.ingress.tls | list | `[]`
|
|
+| server.nodeSelector | object | `{}`
|
|
+| server.persistence | object |
`{"accessMode":"ReadWriteOnce","annotations":{},"enabled":false,"existingClaim":"","size":"8Gi","storageClass":""}`
| Add persistence volume claim configuration
|
+| server.persistence.accessMode | string | `"ReadWriteOnce"`
| PVC Access mode
|
+| server.persistence.annotations | object | `{}`
| PVC annotations
|
+| server.persistence.enabled | bool | `false`
| Enable persistence using a PVC
|
+| server.persistence.existingClaim | string | `""`
| A manually managed Persistent Volume and Claim Requires
persistence.enabled: true If defined, PVC must be created manually before
volume will be bound
|
+| server.persistence.size | string | `"8Gi"`
| PVC claim size
|
+| server.persistence.storageClass | string | `""`
| Persistent Volume Storage Class If defined, storageClassName:
<storageClass> If set to "-", storageClassName: "", which disables dynamic
provisioning If undefined (the default) or set to null, no storageClassName
spec is set, choosing the default provisioner. (gp2 on AWS, standard on
GKE, AWS & OpenStack) |
+| server.ports.http | int | `3000`
|
|
+| server.ports.quic | int | `8080`
|
|
+| server.ports.tcp | int | `8090`
|
|
+| server.replicaCount | int | `1`
|
|
+| server.service.port | int | `3000`
|
|
+| server.service.type | string | `"ClusterIP"`
|
|
+| server.serviceMonitor.additionalLabels | object | `{}`
| Add custom labels to the ServiceMonitor resource
|
+| server.serviceMonitor.enabled | bool | `true`
| Enable this if you're using [Prometheus
Operator](https://github.com/coreos/prometheus-operator)
|
+| server.serviceMonitor.honorLabels | bool | `false`
|
|
+| server.serviceMonitor.interval | string | `"30s"`
| Fallback to the prometheus default unless specified
|
+| server.serviceMonitor.namespace | string | `""`
| Namespace to deploy the ServiceMonitor
|
+| server.serviceMonitor.path | string | `"/metrics"`
| Path to scrape metrics
|
+| server.serviceMonitor.scrapeTimeout | string | `"10s"`
| Timeout for scrape metrics request
|
+| server.tolerations | list | `[]`
|
|
+| server.users.root.createSecret | bool | `true`
| Create a secret for the root user
|
+| server.users.root.existingSecret | object |
`{"name":"","passwordKey":"password","usernameKey":"username"}`
| Whether to use an existing secret for the
root user
|
+| server.users.root.existingSecret.passwordKey | string | `"password"`
| Key in the secret to get the root password from
|
+| server.users.root.existingSecret.usernameKey | string | `"username"`
| Key in the secret to get the root username from
|
+| server.users.root.password | string | `"changeit"`
|
|
+| server.users.root.username | string | `"iggy"`
|
|
+| serviceAccount.annotations | object | `{}`
|
|
+| serviceAccount.create | bool | `true`
|
|
+| serviceAccount.name | string | `""`
|
|
+| ui.affinity | object | `{}`
|
|
+| ui.enabled | bool | `true`
|
|
+| ui.env | object | `{}`
| Extra environmental variables to add to the container
|
+| ui.image.pullPolicy | string | `"IfNotPresent"`
|
|
+| ui.image.repository | string |
`"apache/iggy-web-ui"`
|
|
+| ui.image.tag | string | `"latest"`
|
|
+| ui.ingress.annotations | object | `{}`
|
|
+| ui.ingress.className | string | `""`
|
|
+| ui.ingress.enabled | bool | `false`
|
|
+| ui.ingress.hosts[0].host | string |
`"chart-example.local"`
|
|
+| ui.ingress.hosts[0].paths[0].path | string | `"/"`
|
|
+| ui.ingress.hosts[0].paths[0].pathType | string |
`"ImplementationSpecific"`
|
|
+| ui.ingress.tls | list | `[]`
|
|
+| ui.nodeSelector | object | `{}`
|
|
+| ui.ports.http | int | `3050`
|
|
+| ui.replicaCount | int | `1`
|
|
+| ui.resources | object | `{}`
|
|
+| ui.server.endpoint | string | `""`
| Set the Iggy server endpoint explicitly. If kept blank, the
Iggy service URL will be used
|
+| ui.service.port | int | `3050`
|
|
+| ui.service.type | string | `"ClusterIP"`
|
|
+| ui.tolerations | list | `[]`
|
|
+
+----------------------------------------------
+Autogenerated from chart metadata using [helm-docs
v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
diff --git a/helm/charts/iggy-server/templates/NOTES.txt
b/helm/charts/iggy/templates/NOTES.txt
similarity index 54%
rename from helm/charts/iggy-server/templates/NOTES.txt
rename to helm/charts/iggy/templates/NOTES.txt
index f4096db5..ac2d8154 100644
--- a/helm/charts/iggy-server/templates/NOTES.txt
+++ b/helm/charts/iggy/templates/NOTES.txt
@@ -1,21 +1,21 @@
1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range $host := .Values.ingress.hosts }}
+{{- if .Values.server.ingress.enabled }}
+{{- range $host := .Values.server.ingress.hosts }}
{{- range .paths }}
- http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
+ http{{ if $.Values.server.ingress.tls }}s{{ end }}://{{ $host.host }}{{
.path }}
{{- end }}
{{- end }}
-{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o
jsonpath="{.spec.ports[0].nodePort}" services {{ include "iggy-server.fullname"
. }})
+{{- else if contains "NodePort" .Values.server.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o
jsonpath="{.spec.ports[0].nodePort}" services {{ include "iggy.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o
jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
-{{- else if contains "LoadBalancer" .Values.service.type }}
+{{- else if contains "LoadBalancer" .Values.server.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- You can watch the status of by running 'kubectl get --namespace {{
.Release.Namespace }} svc -w {{ include "iggy-server.fullname" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{
include "iggy-server.fullname" . }} --template "{{"{{ range (index
.status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
- echo http://$SERVICE_IP:{{ .Values.service.port }}
-{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l
"app.kubernetes.io/name={{ include "iggy-server.name" .
}},app.kubernetes.io/instance={{ .Release.Name }}" -o
jsonpath="{.items[0].metadata.name}")
+ You can watch the status of by running 'kubectl get --namespace {{
.Release.Namespace }} svc -w {{ include "iggy.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{
include "iggy.fullname" . }} --template "{{"{{ range (index
.status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
+ echo http://$SERVICE_IP:{{ .Values.server.service.port }}
+{{- else if contains "ClusterIP" .Values.server.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l
"app.kubernetes.io/name={{ include "iggy.name" .
}},app.kubernetes.io/instance={{ .Release.Name }}" -o
jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }}
$POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME
8080:$CONTAINER_PORT
diff --git a/helm/charts/iggy-ui/templates/_helpers.tpl
b/helm/charts/iggy/templates/_helpers.tpl
similarity index 60%
rename from helm/charts/iggy-ui/templates/_helpers.tpl
rename to helm/charts/iggy/templates/_helpers.tpl
index fdba2850..9f6b2fdc 100644
--- a/helm/charts/iggy-ui/templates/_helpers.tpl
+++ b/helm/charts/iggy/templates/_helpers.tpl
@@ -1,7 +1,7 @@
{{/*
Expand the name of the chart.
*/}}
-{{- define "iggy-ui.name" -}}
+{{- define "iggy.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
@@ -10,7 +10,7 @@ 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 "iggy-ui.fullname" -}}
+{{- define "iggy.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
@@ -26,10 +26,42 @@ If release name contains chart name it will be used as a
full name.
{{/*
Create chart name and version as used by the chart label.
*/}}
-{{- define "iggy-ui.chart" -}}
+{{- define "iggy.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 |
trimSuffix "-" }}
{{- end }}
+{{/*
+Common labels
+*/}}
+{{- define "iggy.labels" -}}
+helm.sh/chart: {{ include "iggy.chart" . }}
+{{ include "iggy.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/component: server
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+app.kubernetes.io/part-of: iggy-server
+{{- if .Values.additionalLabels }}
+{{ toYaml .Values.additionalLabels }}
+{{- end }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "iggy.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "iggy.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "iggy-ui.chart" -}}
+{{- printf "%s-ui-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63
| trimSuffix "-" }}
+{{- end }}
+
{{/*
Common labels
*/}}
@@ -41,7 +73,7 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/component: server
app.kubernetes.io/managed-by: {{ .Release.Service }}
-app.kubernetes.io/part-of: iggy-ui
+app.kubernetes.io/part-of: iggy-server
{{- if .Values.additionalLabels }}
{{ toYaml .Values.additionalLabels }}
{{- end }}
@@ -51,16 +83,16 @@ app.kubernetes.io/part-of: iggy-ui
Selector labels
*/}}
{{- define "iggy-ui.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "iggy-ui.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/name: {{ include "iggy.name" . }}-ui
+app.kubernetes.io/instance: {{ .Release.Name }}-ui
{{- end }}
{{/*
Create the name of the service account to use
*/}}
-{{- define "iggy-ui.serviceAccountName" -}}
+{{- define "iggy.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
-{{- default (include "iggy-ui.fullname" .) .Values.serviceAccount.name }}
+{{- default (include "iggy.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
diff --git a/helm/charts/iggy/templates/deployment.yaml
b/helm/charts/iggy/templates/deployment.yaml
new file mode 100644
index 00000000..474cfdd7
--- /dev/null
+++ b/helm/charts/iggy/templates/deployment.yaml
@@ -0,0 +1,200 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+{{ if .Values.server.enabled }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "iggy.fullname" . }}
+ labels:
+ {{ include "iggy.labels" . | nindent 4 }}
+spec:
+ {{- if not .Values.autoscaling.enabled }}
+ replicas: {{ .Values.server.replicaCount }}
+ {{- end }}
+ selector:
+ matchLabels:
+ {{ include "iggy.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{ include "iggy.labels" . | nindent 8 }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "iggy.serviceAccountName" . }}
+ securityContext:
+ {{ toYaml .Values.server.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{ toYaml .Values.securityContext | nindent 12 }}
+ image: "{{ .Values.server.image.repository }}:{{
.Values.server.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.server.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.server.ports.http }}
+ protocol: TCP
+ - name: tcp
+ containerPort: {{ .Values.server.ports.tcp }}
+ protocol: TCP
+ - name: quic
+ containerPort: {{ .Values.server.ports.quic }}
+ protocol: TCP
+ env:
+ {{ if .Values.server.users.root.existingSecret.name }}
+ - name: IGGY_ROOT_USERNAME
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Values.server.users.root.existingSecret.name }}
+ key: {{ .Values.server.users.root.existingSecret.usernameKey
}}
+ - name: IGGY_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Values.server.users.root.existingSecret.name }}
+ key: {{ .Values.server.users.root.existingSecret.passwordKey
}}
+ {{ else }}{{ if .Values.server.users.root.createSecret }}
+ - name: IGGY_ROOT_USERNAME
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "iggy.fullname" . }}-root-credentials
+ key: username
+ - name: IGGY_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "iggy.fullname" . }}-root-credentials
+ key: password
+ {{- end }}{{- end}}
+ {{ if .Values.server.env }}
+ {{- range .Values.server.env }}
+ - name: {{ .name }}
+ value: {{ .value | quote }}
+ {{- end }}
+ {{ end }}
+ volumeMounts:
+ - name: iggy-server-data
+ mountPath: /local_data
+ subPath: {{ ternary "root" (printf "%s/root"
.Values.server.persistence.subPath) (empty .Values.server.persistence.subPath)
}}
+
+ livenessProbe:
+ httpGet:
+ path: /
+ port: http
+ readinessProbe:
+ httpGet:
+ path: /
+ port: http
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ {{- with .Values.server.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.server.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.server.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ volumes:
+ - name: iggy-server-data
+ {{- if .Values.server.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ if .Values.server.persistence.existingClaim }}{{
.Values.server.persistence.existingClaim }}{{- else }}{{ template
"iggy.fullname" . }}{{- end }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+{{- end }}
+{{ if .Values.ui.enabled }}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "iggy.fullname" . }}-ui
+ labels:
+ {{ include "iggy-ui.labels" . | nindent 4 }}
+spec:
+ replicas: {{ .Values.ui.replicaCount }}
+ selector:
+ matchLabels:
+ {{ include "iggy-ui.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{ include "iggy-ui.labels" . | nindent 8 }}-ui
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "iggy.serviceAccountName" . }}
+ securityContext:
+ {{ toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{ toYaml .Values.securityContext | nindent 12 }}
+ image: "{{ .Values.ui.image.repository }}:{{ .Values.ui.image.tag |
default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.ui.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.ui.ports.http }}
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ path: /
+ port: http
+ readinessProbe:
+ httpGet:
+ path: /
+ port: http
+ resources:
+ {{ toYaml .Values.ui.resources | nindent 12 }}
+ env:
+ - name: PUBLIC_IGGY_API_URL
+ {{- if .Values.ui.server.endpoint }}
+ value: {{ .Values.ui.server.endpoint }}
+ {{- else }}
+ value: http://{{ include "iggy.fullname" . }}:{{
.Values.server.ports.http }}{{- end }}
+ {{- with .Values.ui.env }}
+ {{ . | toYaml | nindent 10 }}
+ {{- end }}
+ {{- with .Values.ui.nodeSelector }}
+ nodeSelector:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.ui.affinity }}
+ affinity:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.ui.tolerations }}
+ tolerations:
+ {{ toYaml . | nindent 8 }}
+ {{- end }}
+{{- end }}
diff --git a/helm/charts/iggy-server/templates/hpa.yaml
b/helm/charts/iggy/templates/hpa.yaml
similarity index 93%
rename from helm/charts/iggy-server/templates/hpa.yaml
rename to helm/charts/iggy/templates/hpa.yaml
index 195e0bf8..ea7b4cb5 100644
--- a/helm/charts/iggy-server/templates/hpa.yaml
+++ b/helm/charts/iggy/templates/hpa.yaml
@@ -23,14 +23,14 @@ apiVersion: autoscaling/v2beta2
{{- end }}
kind: HorizontalPodAutoscaler
metadata:
- name: {{ include "iggy-server.fullname" . }}
+ name: {{ include "iggy.fullname" . }}
labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
+ {{- include "iggy.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
- name: {{ include "iggy-server.fullname" . }}
+ name: {{ include "iggy.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
diff --git a/helm/charts/iggy-ui/templates/service.yaml
b/helm/charts/iggy/templates/iggy-pvc.yaml
similarity index 54%
rename from helm/charts/iggy-ui/templates/service.yaml
rename to helm/charts/iggy/templates/iggy-pvc.yaml
index 5df8675d..c1a5e8cb 100644
--- a/helm/charts/iggy-ui/templates/service.yaml
+++ b/helm/charts/iggy/templates/iggy-pvc.yaml
@@ -15,18 +15,29 @@
# specific language governing permissions and limitations
# under the License.
+{{- if and .Values.server.persistence.enabled (not
.Values.server.persistence.existingClaim) }}
+kind: PersistentVolumeClaim
apiVersion: v1
-kind: Service
metadata:
- name: {{ include "iggy-ui.fullname" . }}
+ name: {{ template "iggy.fullname" . }}
labels:
- {{- include "iggy-ui.labels" . | nindent 4 }}
+ {{- include "iggy.labels" . | nindent 8 }}
+ annotations:
+ helm.sh/resource-policy: keep
+ {{- with .Values.server.persistence.annotations }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
spec:
- type: {{ .Values.service.type }}
- ports:
- - name: http
- port: {{ .Values.ui.ports.http }}
- targetPort: http
- protocol: TCP
- selector:
- {{- include "iggy-ui.selectorLabels" . | nindent 4 }}
+ accessModes:
+ - {{ .Values.server.persistence.accessMode | quote }}
+ resources:
+ requests:
+ storage: {{ .Values.server.persistence.size | quote }}
+ {{- with .Values.server.persistence.storageClass }}
+ {{- if (eq "-" .) }}
+ storageClassName: ""
+ {{- else }}
+ storageClassName: "{{ . }}"
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/helm/charts/iggy/templates/ingress.yaml
b/helm/charts/iggy/templates/ingress.yaml
new file mode 100644
index 00000000..ccea1039
--- /dev/null
+++ b/helm/charts/iggy/templates/ingress.yaml
@@ -0,0 +1,143 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+{{ if .Values.server.ingress.enabled -}}
+{{ $fullName := include "iggy.fullname" . -}}
+{{ $svcPort := .Values.server.service.port -}}
+{{- if and .Values.server.ingress.className (not (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion)) }}
+ {{- if not (hasKey .Values.server.ingress.annotations
"kubernetes.io/ingress.class") }}
+ {{- $_ := set .Values.server.ingress.annotations
"kubernetes.io/ingress.class" .Values.server.ingress.className}}
+ {{- end }}
+{{- end }}
+{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
+apiVersion: networking.k8s.io/v1
+{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
+apiVersion: networking.k8s.io/v1beta1
+{{- else }}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ labels:
+ {{- include "iggy.labels" . | nindent 4 }}
+ {{- with .Values.server.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if and .Values.server.ingress.className (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion) }}
+ ingressClassName: {{ .Values.server.ingress.className }}
+ {{- end }}
+ {{- if .Values.server.ingress.tls }}
+ tls:
+ {{- range .Values.server.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.server.ingress.hosts }}
+ - host: {{ .host | quote }}
+ http:
+ paths:
+ {{- range .paths }}
+ - path: {{ .path }}
+ {{- if and .pathType (semverCompare ">=1.18-0"
$.Capabilities.KubeVersion.GitVersion) }}
+ pathType: {{ .pathType }}
+ {{- end }}
+ backend:
+ {{- if semverCompare ">=1.19-0"
$.Capabilities.KubeVersion.GitVersion }}
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $svcPort }}
+ {{- else }}
+ serviceName: {{ $fullName }}
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+
+{{ if .Values.ui.ingress.enabled -}}
+---
+{{ $fullName := include "iggy.fullname" . -}}
+{{ $svcPort := .Values.ui.service.port -}}
+{{- if and .Values.ui.ingress.className (not (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion)) }}
+ {{- if not (hasKey .Values.ui.ingress.annotations
"kubernetes.io/ingress.class") }}
+ {{- $_ := set .Values.ui.ingress.annotations "kubernetes.io/ingress.class"
.Values.ui.ingress.className}}
+ {{- end }}
+{{- end }}
+{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1
+{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1beta1
+{{- else -}}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ labels:
+ {{- include "iggy.labels" . | nindent 4 }}
+ {{- with .Values.ui.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if and .Values.ui.ingress.className (semverCompare ">=1.18-0"
.Capabilities.KubeVersion.GitVersion) }}
+ ingressClassName: {{ .Values.ui.ingress.className }}
+ {{- end }}
+ {{- if .Values.ui.ingress.tls }}
+ tls:
+ {{- range .Values.ui.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.ui.ingress.hosts }}
+ - host: {{ .host | quote }}
+ http:
+ paths:
+ {{- range .paths }}
+ - path: {{ .path }}
+ {{- if and .pathType (semverCompare ">=1.18-0"
$.Capabilities.KubeVersion.GitVersion) }}
+ pathType: {{ .pathType }}
+ {{- end }}
+ backend:
+ {{- if semverCompare ">=1.19-0"
$.Capabilities.KubeVersion.GitVersion }}
+ service:
+ name: {{ $fullName }}
+ port:
+ number: {{ $svcPort }}
+ {{- else }}
+ serviceName: {{ $fullName }}
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/helm/charts/iggy-ui/templates/serviceaccount.yaml
b/helm/charts/iggy/templates/root-user-credentials.yaml
similarity index 68%
rename from helm/charts/iggy-ui/templates/serviceaccount.yaml
rename to helm/charts/iggy/templates/root-user-credentials.yaml
index 0a06e4b8..d6ce48f5 100644
--- a/helm/charts/iggy-ui/templates/serviceaccount.yaml
+++ b/helm/charts/iggy/templates/root-user-credentials.yaml
@@ -14,16 +14,15 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-
-{{- if .Values.serviceAccount.create -}}
+{{- if and .Values.server.users.root.createSecret (not
.Values.server.users.root.existingSecret.name) }}
apiVersion: v1
-kind: ServiceAccount
+kind: Secret
metadata:
- name: {{ include "iggy-ui.serviceAccountName" . }}
+ name: {{ include "iggy.fullname" . }}-root-credentials
labels:
- {{- include "iggy-ui.labels" . | nindent 4 }}
- {{- with .Values.serviceAccount.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
-{{- end }}
+ {{- include "iggy.labels" . | nindent 4 }}
+type: Opaque
+stringData:
+ username: {{ .Values.server.users.root.username | quote }}
+ password: {{ .Values.server.users.root.password | quote }}
+{{- end }}
\ No newline at end of file
diff --git a/helm/charts/iggy-server/templates/service.yaml
b/helm/charts/iggy/templates/service.yaml
similarity index 64%
rename from helm/charts/iggy-server/templates/service.yaml
rename to helm/charts/iggy/templates/service.yaml
index 92ba3eee..98ef767f 100644
--- a/helm/charts/iggy-server/templates/service.yaml
+++ b/helm/charts/iggy/templates/service.yaml
@@ -14,15 +14,15 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-
+{{ if .Values.server.enabled }}
apiVersion: v1
kind: Service
metadata:
- name: {{ include "iggy-server.fullname" . }}
+ name: {{ include "iggy.fullname" . }}
labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
+ {{- include "iggy.labels" . | nindent 4 }}
spec:
- type: {{ .Values.service.type }}
+ type: {{ .Values.server.service.type }}
ports:
- name: http
port: {{ .Values.server.ports.http }}
@@ -37,4 +37,23 @@ spec:
targetPort: tcp
protocol: TCP
selector:
- {{- include "iggy-server.selectorLabels" . | nindent 4 }}
+ {{- include "iggy.selectorLabels" . | nindent 4 }}
+{{- end }}
+{{ if .Values.ui.enabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "iggy.fullname" . }}-ui
+ labels:
+ {{ include "iggy-ui.labels" . | nindent 4 }}
+spec:
+ type: {{ .Values.ui.service.type }}
+ ports:
+ - name: http
+ port: {{ .Values.ui.ports.http }}
+ targetPort: http
+ protocol: TCP
+ selector:
+ {{ include "iggy-ui.selectorLabels" . | nindent 4 }}
+{{- end }}
\ No newline at end of file
diff --git a/helm/charts/iggy-server/templates/serviceaccount.yaml
b/helm/charts/iggy/templates/serviceaccount.yaml
similarity index 90%
rename from helm/charts/iggy-server/templates/serviceaccount.yaml
rename to helm/charts/iggy/templates/serviceaccount.yaml
index 5f050f6e..8861aa70 100644
--- a/helm/charts/iggy-server/templates/serviceaccount.yaml
+++ b/helm/charts/iggy/templates/serviceaccount.yaml
@@ -19,9 +19,9 @@
apiVersion: v1
kind: ServiceAccount
metadata:
- name: {{ include "iggy-server.serviceAccountName" . }}
+ name: {{ include "iggy.serviceAccountName" . }}
labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
+ {{- include "iggy.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
diff --git a/helm/charts/iggy-server/templates/servicemonitor.yaml
b/helm/charts/iggy/templates/servicemonitor.yaml
similarity index 74%
rename from helm/charts/iggy-server/templates/servicemonitor.yaml
rename to helm/charts/iggy/templates/servicemonitor.yaml
index 273a39d6..5bd623f8 100644
--- a/helm/charts/iggy-server/templates/servicemonitor.yaml
+++ b/helm/charts/iggy/templates/servicemonitor.yaml
@@ -15,26 +15,26 @@
# specific language governing permissions and limitations
# under the License.
-{{- if .Values.serviceMonitor.enabled }}
+{{- if .Values.server.serviceMonitor.enabled }}
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
- {{- include "iggy-server.labels" . | nindent 4 }}
- {{- if .Values.serviceMonitor.additionalLabels }}
- {{ toYaml .Values.serviceMonitor.additionalLabels }}
+ {{- include "iggy.labels" . | nindent 4 }}
+ {{- if .Values.server.serviceMonitor.additionalLabels }}
+ {{ toYaml .Values.server.serviceMonitor.additionalLabels }}
{{- end }}
- name: {{ template "iggy-server.fullname" . }}
+ name: {{ template "iggy.fullname" . }}
namespace: {{ .Release.Namespace }}
spec:
endpoints:
- - path: {{ .Values.serviceMonitor.path }}
+ - path: {{ .Values.server.serviceMonitor.path }}
port: http
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
- {{- include "iggy-server.selectorLabels" . | nindent 6 }}
+ {{- include "iggy.selectorLabels" . | nindent 6 }}
{{- end }}
diff --git a/helm/charts/iggy/values.yaml b/helm/charts/iggy/values.yaml
new file mode 100644
index 00000000..cd12f4ca
--- /dev/null
+++ b/helm/charts/iggy/values.yaml
@@ -0,0 +1,219 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+---
+
+# Iggy server configuration
+server:
+ enabled: true
+ replicaCount: 1
+ image:
+ repository: apache/iggy
+ pullPolicy: IfNotPresent
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+ ports:
+ http: 3000
+ quic: 8080
+ tcp: 8090
+
+ service:
+ type: ClusterIP
+ port: 3000
+
+ serviceMonitor:
+ # -- Enable this if you're using [Prometheus
Operator](https://github.com/coreos/prometheus-operator)
+ enabled: true
+ # -- Namespace to deploy the ServiceMonitor
+ namespace: ""
+ # -- Fallback to the prometheus default unless specified
+ interval: 30s
+ # -- Add custom labels to the ServiceMonitor resource
+ additionalLabels: { }
+ honorLabels: false
+ # -- Path to scrape metrics
+ path: /metrics
+ # -- Timeout for scrape metrics request
+ scrapeTimeout: 10s
+
+ users:
+ root:
+ # -- Create a secret for the root user
+ createSecret: true
+ username: iggy
+ password: changeit
+ # -- Whether to use an existing secret for the root user
+ existingSecret:
+ name: ""
+ # -- Key in the secret to get the root username from
+ usernameKey: username
+ # -- Key in the secret to get the root password from
+ passwordKey: password
+
+ # -- Add persistence volume claim configuration
+ persistence:
+ # -- Enable persistence using a PVC
+ enabled: false
+ # -- PVC annotations
+ annotations: { }
+ # -- Persistent Volume Storage Class
+ # If defined, storageClassName: <storageClass>
+ # If set to "-", storageClassName: "", which disables dynamic provisioning
+ # If undefined (the default) or set to null, no storageClassName spec is
+ # set, choosing the default provisioner. (gp2 on AWS, standard on
+ # GKE, AWS & OpenStack)
+ storageClass: ""
+
+ # -- A manually managed Persistent Volume and Claim
+ # Requires persistence.enabled: true
+ # If defined, PVC must be created manually before volume will be bound
+ existingClaim: ""
+
+ # -- PVC Access mode
+ accessMode: ReadWriteOnce
+ # -- PVC claim size
+ size: 8Gi
+ # -- Set up environmental variables to be added to the container
+ env:
+ - name: RUST_LOG
+ value: info
+
+ nodeSelector: { }
+
+ tolerations: [ ]
+
+ affinity: { }
+
+ ingress:
+ enabled: false
+ className: ""
+ annotations: { }
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: chart-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ tls: [ ]
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+# Iggy web-ui configuration
+ui:
+ enabled: true
+ ports:
+ http: 3050
+ server:
+ # -- Set the Iggy server endpoint explicitly. If kept blank, the Iggy
service URL will be used
+ endpoint: ""
+
+ service:
+ type: ClusterIP
+ port: 3050
+ replicaCount: 1
+ # -- Extra environmental variables to add to the container
+ env: {}
+ image:
+ repository: apache/iggy-web-ui
+ pullPolicy: IfNotPresent
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: "latest"
+ ingress:
+ enabled: false
+ className: ""
+ annotations: { }
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: chart-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ tls: [ ]
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+ resources: { }
+ # We usually recommend not to specify default resources and to leave this
as a conscious
+ # choice for the user. This also increases chances charts run on
environments with little
+ # resources, such as Minikube. If you do want to specify resources,
uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after
'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+ nodeSelector: { }
+
+ tolerations: [ ]
+
+ affinity: { }
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""
+
+# -- Additional labels to add to all resources
+additionalLabels: {}
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname
template
+ name: ""
+
+podAnnotations: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as
a conscious
+ # choice for the user. This also increases chances charts run on
environments with little
+ # resources, such as Minikube. If you do want to specify resources,
uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after
'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+autoscaling:
+ enabled: false
+ minReplicas: 1
+ maxReplicas: 100
+ targetCPUUtilizationPercentage: 80
+ # targetMemoryUtilizationPercentage: 80
+
+
+