Charts CI

```
Updated:
  argo/argo-cd:
    - 5.26.1
  bitnami/kafka:
    - 21.4.0
  bitnami/postgresql:
    - 12.2.3
  bitnami/redis:
    - 17.8.5
  bitnami/tomcat:
    - 10.5.19
  bitnami/wordpress:
    - 15.2.54
  datadog/datadog:
    - 3.19.2
  gopaddle/gopaddle:
    - 4.2.6
  haproxy/haproxy:
    - 1.29.2
  intel/tcs-issuer:
    - 0.5.0
  jaeger/jaeger-operator:
    - 2.41.0
  jenkins/jenkins:
    - 4.3.8
  jfrog/artifactory-ha:
    - 107.55.7
  jfrog/artifactory-jcr:
    - 107.55.7
  kubecost/cost-analyzer:
    - 1.101.2
  percona/psmdb-db:
    - 1.14.0
  percona/psmdb-operator:
    - 1.14.0
  redpanda/redpanda:
    - 3.0.3
  sysdig/sysdig:
    - 1.15.79
```
pull/686/head
github-actions[bot] 2023-03-14 21:10:14 +00:00
parent 9b8fbd6acd
commit 7642cf7a5f
153 changed files with 6573 additions and 1973 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,13 +1,13 @@
annotations:
artifacthub.io/changes: |
- kind: added
description: Add parameter env to redis exporter
- kind: changed
description: Upgrade Argo CD v2.6.5
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: Argo CD
catalog.cattle.io/kube-version: '>=1.22.0-0'
catalog.cattle.io/release-name: argo-cd
apiVersion: v2
appVersion: v2.6.4
appVersion: v2.6.5
dependencies:
- condition: redis-ha.enabled
name: redis-ha
@ -29,4 +29,4 @@ name: argo-cd
sources:
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd
- https://github.com/argoproj/argo-cd
version: 5.25.0
version: 5.26.1

View File

@ -427,6 +427,9 @@ NAME: my-release
| configs.cm.annotations | object | `{}` | Annotations to be added to argocd-cm configmap |
| configs.cm.create | bool | `true` | Create the argocd-cm configmap for [declarative setup] |
| configs.cm.url | string | `""` | Argo CD's externally facing base URL (optional). Required when configuring SSO |
| configs.cmp.annotations | object | `{}` | Annotations to be added to argocd-cmp-cm configmap |
| configs.cmp.create | bool | `false` | Create the argocd-cmp-cm configmap |
| configs.cmp.plugins | object | `{}` | Plugin yaml files to be added to argocd-cmp-cm |
| configs.credentialTemplates | object | `{}` | Repository credentials to be used as Templates for other repos |
| configs.credentialTemplatesAnnotations | object | `{}` | Annotations to be added to `configs.credentialTemplates` Secret |
| configs.gpg.annotations | object | `{}` | Annotations to be added to argocd-gpg-keys-cm configmap |

View File

@ -0,0 +1,24 @@
{{- if .Values.configs.cmp.create }}
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cmp-cm
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.repoServer.name "name" "cmp-cm") | nindent 4 }}
{{- with .Values.configs.cmp.annotations }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
data:
{{- range $cmp_plugin, $cmp_plugin_config := .Values.configs.cmp.plugins }}
{{ $cmp_plugin }}.yaml: |
apiVersion: argoproj.io/v1alpha1
kind: ConfigManagementPlugin
metadata:
name: {{ $cmp_plugin }}
spec:
{{- toYaml $cmp_plugin_config | nindent 6 }}
{{- end }}
{{- end }}

View File

@ -331,6 +331,49 @@ configs:
# ...
# -----END CERTIFICATE-----
# ConfigMap for Config Management Plugins
# Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/config-management-plugins/
cmp:
# -- Create the argocd-cmp-cm configmap
create: false
# -- Annotations to be added to argocd-cmp-cm configmap
annotations: {}
# -- Plugin yaml files to be added to argocd-cmp-cm
plugins: {}
# --- First plugin
# my-plugin:
# init:
# command: [sh]
# args: [-c, 'echo "Initializing..."']
# generate:
# command: [sh, -c]
# args:
# - |
# echo "{\"kind\": \"ConfigMap\", \"apiVersion\": \"v1\", \"metadata\": { \"name\": \"$ARGOCD_APP_NAME\", \"namespace\": \"$ARGOCD_APP_NAMESPACE\", \"annotations\": {\"Foo\": \"$ARGOCD_ENV_FOO\", \"KubeVersion\": \"$KUBE_VERSION\", \"KubeApiVersion\": \"$KUBE_API_VERSIONS\",\"Bar\": \"baz\"}}}"
# discover:
# fileName: "./subdir/s*.yaml"
# find:
# glob: "**/Chart.yaml"
# command: [sh, -c, find . -name env.yaml]
# --- Second plugin
# my-plugin2:
# init:
# command: [sh]
# args: [-c, 'echo "Initializing..."']
# generate:
# command: [sh, -c]
# args:
# - |
# echo "{\"kind\": \"ConfigMap\", \"apiVersion\": \"v1\", \"metadata\": { \"name\": \"$ARGOCD_APP_NAME\", \"namespace\": \"$ARGOCD_APP_NAMESPACE\", \"annotations\": {\"Foo\": \"$ARGOCD_ENV_FOO\", \"KubeVersion\": \"$KUBE_VERSION\", \"KubeApiVersion\": \"$KUBE_API_VERSIONS\",\"Bar\": \"baz\"}}}"
# discover:
# fileName: "./subdir/s*.yaml"
# find:
# glob: "**/Chart.yaml"
# command: [sh, -c, find . -name env.yaml]
# -- Provide one or multiple [external cluster credentials]
# @default -- `[]` (See [values.yaml])
## Ref:
@ -1969,27 +2012,46 @@ repoServer:
## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/config-management-plugins/
## Note: Supports use of custom Helm templates
extraContainers: []
# - name: cmp
# # Entrypoint should be Argo CD lightweight CMP server i.e. argocd-cmp-server
# command: [/var/run/argocd/argocd-cmp-server]
# # This can be off-the-shelf or custom-built image
# image: busybox
# securityContext:
# runAsNonRoot: true
# runAsUser: 999
# volumeMounts:
# - mountPath: /var/run/argocd
# name: var-files
# - mountPath: /home/argocd/cmp-server/plugins
# name: plugins
# # Remove this volumeMount if you've chosen to bake the config file into the sidecar image.
# - mountPath: /home/argocd/cmp-server/config/plugin.yaml
# subPath: plugin.yaml
# name: cmp-plugin
# # Starting with v2.4, do NOT mount the same tmp volume as the repo-server container. The filesystem separation helps
# # mitigate path traversal attacks.
# - mountPath: /tmp
# name: cmp-tmp
# - name: cmp-my-plugin
# command:
# - "/var/run/argocd/argocd-cmp-server"
# image: busybox
# securityContext:
# runAsNonRoot: true
# runAsUser: 999
# volumeMounts:
# - mountPath: /var/run/argocd
# name: var-files
# - mountPath: /home/argocd/cmp-server/plugins
# name: plugins
# # Remove this volumeMount if you've chosen to bake the config file into the sidecar image.
# - mountPath: /home/argocd/cmp-server/config/plugin.yaml
# subPath: my-plugin.yaml
# name: argocd-cmp-cm
# # Starting with v2.4, do NOT mount the same tmp volume as the repo-server container. The filesystem separation helps
# # mitigate path traversal attacks.
# - mountPath: /tmp
# name: cmp-tmp
# - name: cmp-my-plugin2
# command:
# - "/var/run/argocd/argocd-cmp-server"
# image: busybox
# securityContext:
# runAsNonRoot: true
# runAsUser: 999
# volumeMounts:
# - mountPath: /var/run/argocd
# name: var-files
# # Remove this volumeMount if you've chosen to bake the config file into the sidecar image.
# - mountPath: /home/argocd/cmp-server/plugins
# name: plugins
# - mountPath: /home/argocd/cmp-server/config/plugin.yaml
# subPath: my-plugin2.yaml
# name: argocd-cmp-cm
# # Starting with v2.4, do NOT mount the same tmp volume as the repo-server container. The filesystem separation helps
# # mitigate path traversal attacks.
# - mountPath: /tmp
# name: cmp-tmp
# -- Init containers to add to the repo server pods
initContainers: []
@ -1999,9 +2061,9 @@ repoServer:
# -- Additional volumes to the repo server pod
volumes: []
# - name: cmp-plugin
# - name: argocd-cmp-cm
# configMap:
# name: cmp-plugin
# name: argocd-cmp-cm
# - name: cmp-tmp
# emptyDir: {}

View File

@ -35,4 +35,4 @@ name: kafka
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/kafka
- https://kafka.apache.org/
version: 21.3.1
version: 21.4.0

View File

@ -232,54 +232,55 @@ The command removes all the Kubernetes components associated with the chart and
### Traffic Exposure parameters
| Name | Description | Value |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------- |
| `service.type` | Kubernetes Service type | `ClusterIP` |
| `service.ports.client` | Kafka svc port for client connections | `9092` |
| `service.ports.internal` | Kafka svc port for inter-broker connections | `9093` |
| `service.ports.external` | Kafka svc port for external connections | `9094` |
| `service.nodePorts.client` | Node port for the Kafka client connections | `""` |
| `service.nodePorts.external` | Node port for the Kafka external connections | `""` |
| `service.sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `service.clusterIP` | Kafka service Cluster IP | `""` |
| `service.loadBalancerIP` | Kafka service Load Balancer IP | `""` |
| `service.loadBalancerSourceRanges` | Kafka service Load Balancer sources | `[]` |
| `service.externalTrafficPolicy` | Kafka service external traffic policy | `Cluster` |
| `service.annotations` | Additional custom annotations for Kafka service | `{}` |
| `service.headless.publishNotReadyAddresses` | Indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready | `false` |
| `service.headless.annotations` | Annotations for the headless service. | `{}` |
| `service.headless.labels` | Labels for the headless service. | `{}` |
| `service.extraPorts` | Extra ports to expose in the Kafka service (normally used with the `sidecar` value) | `[]` |
| `externalAccess.enabled` | Enable Kubernetes external cluster access to Kafka brokers | `false` |
| `externalAccess.autoDiscovery.enabled` | Enable using an init container to auto-detect external IPs/ports by querying the K8s API | `false` |
| `externalAccess.autoDiscovery.image.registry` | Init container auto-discovery image registry | `docker.io` |
| `externalAccess.autoDiscovery.image.repository` | Init container auto-discovery image repository | `bitnami/kubectl` |
| `externalAccess.autoDiscovery.image.tag` | Init container auto-discovery image tag (immutable tags are recommended) | `1.25.6-debian-11-r14` |
| `externalAccess.autoDiscovery.image.digest` | Kubectl image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `externalAccess.autoDiscovery.image.pullPolicy` | Init container auto-discovery image pull policy | `IfNotPresent` |
| `externalAccess.autoDiscovery.image.pullSecrets` | Init container auto-discovery image pull secrets | `[]` |
| `externalAccess.autoDiscovery.resources.limits` | The resources limits for the auto-discovery init container | `{}` |
| `externalAccess.autoDiscovery.resources.requests` | The requested resources for the auto-discovery init container | `{}` |
| `externalAccess.service.type` | Kubernetes Service type for external access. It can be NodePort, LoadBalancer or ClusterIP | `LoadBalancer` |
| `externalAccess.service.ports.external` | Kafka port used for external access when service type is LoadBalancer | `9094` |
| `externalAccess.service.loadBalancerIPs` | Array of load balancer IPs for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerNames` | Array of load balancer Names for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerAnnotations` | Array of load balancer annotations for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerSourceRanges` | Address(es) that are allowed when service is LoadBalancer | `[]` |
| `externalAccess.service.nodePorts` | Array of node ports used for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.useHostIPs` | Use service host IPs to configure Kafka external listener when service type is NodePort | `false` |
| `externalAccess.service.usePodIPs` | using the MY_POD_IP address for external access. | `false` |
| `externalAccess.service.domain` | Domain or external ip used to configure Kafka external listener when service type is NodePort or ClusterIP | `""` |
| `externalAccess.service.publishNotReadyAddresses` | Indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready | `false` |
| `externalAccess.service.labels` | Service labels for external access | `{}` |
| `externalAccess.service.annotations` | Service annotations for external access | `{}` |
| `externalAccess.service.extraPorts` | Extra ports to expose in the Kafka external service | `[]` |
| `networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `false` |
| `networkPolicy.allowExternal` | Don't require client label for connections | `true` |
| `networkPolicy.explicitNamespacesSelector` | A Kubernetes LabelSelector to explicitly select namespaces from which traffic could be allowed | `{}` |
| `networkPolicy.externalAccess.from` | customize the from section for External Access on tcp-external port | `[]` |
| `networkPolicy.egressRules.customRules` | Custom network policy rule | `{}` |
| Name | Description | Value |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `service.type` | Kubernetes Service type | `ClusterIP` |
| `service.ports.client` | Kafka svc port for client connections | `9092` |
| `service.ports.internal` | Kafka svc port for inter-broker connections | `9093` |
| `service.ports.external` | Kafka svc port for external connections | `9094` |
| `service.nodePorts.client` | Node port for the Kafka client connections | `""` |
| `service.nodePorts.external` | Node port for the Kafka external connections | `""` |
| `service.sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `service.clusterIP` | Kafka service Cluster IP | `""` |
| `service.loadBalancerIP` | Kafka service Load Balancer IP | `""` |
| `service.loadBalancerSourceRanges` | Kafka service Load Balancer sources | `[]` |
| `service.externalTrafficPolicy` | Kafka service external traffic policy | `Cluster` |
| `service.annotations` | Additional custom annotations for Kafka service | `{}` |
| `service.headless.publishNotReadyAddresses` | Indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready | `false` |
| `service.headless.annotations` | Annotations for the headless service. | `{}` |
| `service.headless.labels` | Labels for the headless service. | `{}` |
| `service.extraPorts` | Extra ports to expose in the Kafka service (normally used with the `sidecar` value) | `[]` |
| `externalAccess.enabled` | Enable Kubernetes external cluster access to Kafka brokers | `false` |
| `externalAccess.autoDiscovery.enabled` | Enable using an init container to auto-detect external IPs/ports by querying the K8s API | `false` |
| `externalAccess.autoDiscovery.image.registry` | Init container auto-discovery image registry | `docker.io` |
| `externalAccess.autoDiscovery.image.repository` | Init container auto-discovery image repository | `bitnami/kubectl` |
| `externalAccess.autoDiscovery.image.tag` | Init container auto-discovery image tag (immutable tags are recommended) | `1.25.6-debian-11-r14` |
| `externalAccess.autoDiscovery.image.digest` | Kubectl image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `externalAccess.autoDiscovery.image.pullPolicy` | Init container auto-discovery image pull policy | `IfNotPresent` |
| `externalAccess.autoDiscovery.image.pullSecrets` | Init container auto-discovery image pull secrets | `[]` |
| `externalAccess.autoDiscovery.resources.limits` | The resources limits for the auto-discovery init container | `{}` |
| `externalAccess.autoDiscovery.resources.requests` | The requested resources for the auto-discovery init container | `{}` |
| `externalAccess.service.type` | Kubernetes Service type for external access. It can be NodePort, LoadBalancer or ClusterIP | `LoadBalancer` |
| `externalAccess.service.ports.external` | Kafka port used for external access when service type is LoadBalancer | `9094` |
| `externalAccess.service.loadBalancerIPs` | Array of load balancer IPs for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerNames` | Array of load balancer Names for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerAnnotations` | Array of load balancer annotations for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.loadBalancerSourceRanges` | Address(es) that are allowed when service is LoadBalancer | `[]` |
| `externalAccess.service.nodePorts` | Array of node ports used for each Kafka broker. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.externalIPs` | Use distinct service host IPs to configure Kafka external listener when service type is NodePort. Length must be the same as replicaCount | `[]` |
| `externalAccess.service.useHostIPs` | Use service host IPs to configure Kafka external listener when service type is NodePort | `false` |
| `externalAccess.service.usePodIPs` | using the MY_POD_IP address for external access. | `false` |
| `externalAccess.service.domain` | Domain or external ip used to configure Kafka external listener when service type is NodePort or ClusterIP | `""` |
| `externalAccess.service.publishNotReadyAddresses` | Indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready | `false` |
| `externalAccess.service.labels` | Service labels for external access | `{}` |
| `externalAccess.service.annotations` | Service annotations for external access | `{}` |
| `externalAccess.service.extraPorts` | Extra ports to expose in the Kafka external service | `[]` |
| `networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `false` |
| `networkPolicy.allowExternal` | Don't require client label for connections | `true` |
| `networkPolicy.explicitNamespacesSelector` | A Kubernetes LabelSelector to explicitly select namespaces from which traffic could be allowed | `{}` |
| `networkPolicy.externalAccess.from` | customize the from section for External Access on tcp-external port | `[]` |
| `networkPolicy.egressRules.customRules` | Custom network policy rule | `{}` |
### Persistence parameters
@ -495,8 +496,6 @@ The command removes all the Kubernetes components associated with the chart and
| `zookeeper.persistence.size` | Persistent Volume size | `8Gi` |
| `externalZookeeper.servers` | List of external zookeeper servers to use. Typically used in combination with 'zookeeperChrootPath'. Must be empty if you use Kraft mode. | `[]` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install my-release \
--set replicaCount=3 \
@ -678,28 +677,40 @@ You have two alternatives to use NodePort services:
- Option A) Use random node ports using an **initContainer** that discover them automatically.
```console
externalAccess.enabled=true
externalAccess.service.type=NodePort
externalAccess.autoDiscovery.enabled=true
serviceAccount.create=true
rbac.create=true
```
```console
externalAccess.enabled=true
externalAccess.service.type=NodePort
externalAccess.autoDiscovery.enabled=true
serviceAccount.create=true
rbac.create=true
```
Note: This option requires creating RBAC rules on clusters where RBAC policies are enabled.
Note: This option requires creating RBAC rules on clusters where RBAC policies are enabled.
- Option B) Manually specify the node ports:
```console
externalAccess.enabled=true
externalAccess.service.type=NodePort
externalAccess.service.nodePorts[0]='node-port-1'
externalAccess.service.nodePorts[1]='node-port-2'
```
```console
externalAccess.enabled=true
externalAccess.service.type=NodePort
externalAccess.service.nodePorts[0]='node-port-1'
externalAccess.service.nodePorts[1]='node-port-2'
```
Note: You need to know in advance the node ports that will be exposed so each Kafka broker advertised listener is configured with it.
Note: You need to know in advance the node ports that will be exposed so each Kafka broker advertised listener is configured with it.
The pod will try to get the external ip of the node using `curl -s https://ipinfo.io/ip` unless `externalAccess.service.domain` or `externalAccess.service.useHostIPs` is provided.
The pod will try to get the external ip of the node using `curl -s https://ipinfo.io/ip` unless `externalAccess.service.domain` or `externalAccess.service.useHostIPs` is provided.
- Option C) Manually specify distinct external IPs
```console
externalAccess.enabled=true
externalAccess.service.type=NodePort
externalAccess.service.externalIPs[0]='172.16.0.20'
externalAccess.service.externalIPs[1]='172.16.0.21'
externalAccess.service.externalIPs[2]='172.16.0.22'
```
Note: You need to know in advance the available IP of your cluster that will be exposed so each Kafka broker advertised listener is configured with it.
#### Using ClusterIP services

View File

@ -280,7 +280,7 @@ Returns the secret name for the Kafka Provisioning client
{{- end -}}
{{/*
Create the name of the service account to use for the Kafka Provisioning client
Create the name of the service account to use for the Kafka Provisioning client
*/}}
{{- define "kafka.provisioning.serviceAccountName" -}}
{{- if .Values.provisioning.serviceAccount.create -}}
@ -372,6 +372,7 @@ Compile all warnings into a single message, and call fail.
{{- $messages := list -}}
{{- $messages := append $messages (include "kafka.validateValues.authProtocols" .) -}}
{{- $messages := append $messages (include "kafka.validateValues.nodePortListLength" .) -}}
{{- $messages := append $messages (include "kafka.validateValues.externalIPListLength" .) -}}
{{- $messages := append $messages (include "kafka.validateValues.domainSpecified" .) -}}
{{- $messages := append $messages (include "kafka.validateValues.externalAccessServiceType" .) -}}
{{- $messages := append $messages (include "kafka.validateValues.externalAccessAutoDiscoveryRBAC" .) -}}
@ -405,11 +406,27 @@ kafka: auth.clientProtocol auth.externalClientProtocol auth.interBrokerProtocol
{{/* Validate values of Kafka - number of replicas must be the same as NodePort list */}}
{{- define "kafka.validateValues.nodePortListLength" -}}
{{- $replicaCount := int .Values.replicaCount }}
{{- $nodePortListLength := len .Values.externalAccess.service.nodePorts }}
{{- if and .Values.externalAccess.enabled (not .Values.externalAccess.autoDiscovery.enabled) (not (eq $replicaCount $nodePortListLength )) (eq .Values.externalAccess.service.type "NodePort") -}}
{{- $replicaCount := int .Values.replicaCount -}}
{{- $nodePortListLength := len .Values.externalAccess.service.nodePorts -}}
{{- $nodePortListIsEmpty := empty .Values.externalAccess.service.nodePorts -}}
{{- $nodePortListLengthEqualsReplicaCount := eq $nodePortListLength $replicaCount -}}
{{- $externalIPListIsEmpty := empty .Values.externalAccess.service.externalIPs -}}
{{- if and .Values.externalAccess.enabled (not .Values.externalAccess.autoDiscovery.enabled) (eq .Values.externalAccess.service.type "NodePort") (or (and (not $nodePortListIsEmpty) (not $nodePortListLengthEqualsReplicaCount)) (and $nodePortListIsEmpty $externalIPListIsEmpty)) -}}
kafka: .Values.externalAccess.service.nodePorts
Number of replicas and nodePort array length must be the same. Currently: replicaCount = {{ $replicaCount }} and nodePorts = {{ $nodePortListLength }}
Number of replicas and nodePort array length must be the same. Currently: replicaCount = {{ $replicaCount }} and length nodePorts = {{ $nodePortListLength }} - {{ $externalIPListIsEmpty }}
{{- end -}}
{{- end -}}
{{/* Validate values of Kafka - number of replicas must be the same as externalIPs list */}}
{{- define "kafka.validateValues.externalIPListLength" -}}
{{- $replicaCount := int .Values.replicaCount -}}
{{- $externalIPListLength := len .Values.externalAccess.service.externalIPs -}}
{{- $externalIPListIsEmpty := empty .Values.externalAccess.service.externalIPs -}}
{{- $externalIPListEqualsReplicaCount := eq $externalIPListLength $replicaCount -}}
{{- $nodePortListIsEmpty := empty .Values.externalAccess.service.nodePorts -}}
{{- if and .Values.externalAccess.enabled (not .Values.externalAccess.autoDiscovery.enabled) (eq .Values.externalAccess.service.type "NodePort") (or (and (not $externalIPListIsEmpty) (not $externalIPListEqualsReplicaCount)) (and $externalIPListIsEmpty $nodePortListIsEmpty)) -}}
kafka: .Values.externalAccess.service.externalIPs
Number of replicas and externalIPs array length must be the same. Currently: replicaCount = {{ $replicaCount }} and length externalIPs = {{ $externalIPListLength }}
{{- end -}}
{{- end -}}
@ -532,7 +549,7 @@ kafka: Kraft mode
{{- define "kafka.validateValues.controllerQuorumVotersDefinedIfKraft" -}}
{{- if and .Values.kraft.enabled (not .Values.kraft.controllerQuorumVoters) (not (contains "controller" .Values.kraft.processRoles)) }}
kafka: Kraft mode
.Values.kraft.controllerQuorumVoters must not be empty if .Values.kraft.enabled set to true and .Values.kraft.processRoles does not contain "controller".
.Values.kraft.controllerQuorumVoters must not be empty if .Values.kraft.enabled set to true and .Values.kraft.processRoles does not contain "controller".
If you deploy brokers without controllers you have to define external controllers with .Values.kraft.controllerQuorumVoters
{{- end -}}
{{- end -}}

View File

@ -123,6 +123,8 @@ data:
export EXTERNAL_ACCESS_HOST="${MY_POD_IP}"
{{- else if or .Values.externalAccess.service.useHostIPs .Values.externalAccess.autoDiscovery.enabled }}
export EXTERNAL_ACCESS_HOST="${HOST_IP}"
{{- else if and .Values.externalAccess.service.externalIPs (not .Values.externalAccess.autoDiscovery.enabled) }}
export EXTERNAL_ACCESS_HOST=$(echo '{{ .Values.externalAccess.service.externalIPs }}' | tr -d '[]' | cut -d ' ' -f "$(($ID + 1))")
{{- else if .Values.externalAccess.service.domain }}
export EXTERNAL_ACCESS_HOST={{ .Values.externalAccess.service.domain }}
{{- else }}
@ -130,6 +132,8 @@ data:
{{- end }}
{{- if .Values.externalAccess.autoDiscovery.enabled }}
export EXTERNAL_ACCESS_PORT="$(<${SHARED_FILE})"
{{- else if and .Values.externalAccess.service.externalIPs (empty .Values.externalAccess.service.nodePorts)}}
export EXTERNAL_ACCESS_PORT="{{ .Values.externalAccess.service.ports.external }}"
{{- else }}
export EXTERNAL_ACCESS_PORT=$(echo '{{ .Values.externalAccess.service.nodePorts }}' | tr -d '[]' | cut -d ' ' -f "$(($ID + 1))")
{{- end }}

View File

@ -46,7 +46,7 @@ spec:
ports:
- name: tcp-kafka
port: {{ $root.Values.externalAccess.service.ports.external }}
{{- if not (empty $root.Values.externalAccess.service.nodePorts) }}
{{- if le (add $i 1) (len $root.Values.externalAccess.service.nodePorts) }}
nodePort: {{ index $root.Values.externalAccess.service.nodePorts $i }}
{{- else }}
nodePort: null
@ -55,6 +55,9 @@ spec:
{{- if $root.Values.externalAccess.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" $root.Values.externalAccess.service.extraPorts "context" $) | nindent 4 }}
{{- end }}
{{- if and (eq $root.Values.externalAccess.service.type "NodePort") (le (add $i 1) (len $root.Values.externalAccess.service.externalIPs)) }}
externalIPs: [{{ index $root.Values.externalAccess.service.externalIPs $i | quote }}]
{{- end }}
selector: {{- include "common.labels.matchLabels" $ | nindent 4 }}
app.kubernetes.io/component: kafka
statefulset.kubernetes.io/pod-name: {{ $targetPod }}

View File

@ -847,6 +847,13 @@ externalAccess:
## - 30002
##
nodePorts: []
## @param externalAccess.service.externalIPs Use distinct service host IPs to configure Kafka external listener when service type is NodePort. Length must be the same as replicaCount
## e.g:
## externalIPs:
## - X.X.X.X
## - Y.Y.Y.Y
##
externalIPs: []
## @param externalAccess.service.useHostIPs Use service host IPs to configure Kafka external listener when service type is NodePort
##
useHostIPs: false

View File

@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.2.3
digest: sha256:2c7165542fc01b9e98b577cd8b1095d0ed8267d34b97b6e581a1176bfb8e4dcb
generated: "2023-02-09T18:59:17.379982577Z"
version: 2.2.4
digest: sha256:634d19e9b7f6e4c07d7c04a0161ab96b3f83335ebdd70b35b952319ef0a2586b
generated: "2023-03-14T07:26:55.449518929Z"

View File

@ -32,4 +32,4 @@ name: postgresql
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/postgresql
- https://www.postgresql.org/
version: 12.2.2
version: 12.2.3

View File

@ -100,7 +100,7 @@ kubectl delete pvc -l release=my-release
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `image.registry` | PostgreSQL image registry | `docker.io` |
| `image.repository` | PostgreSQL image repository | `bitnami/postgresql` |
| `image.tag` | PostgreSQL image tag (immutable tags are recommended) | `15.2.0-debian-11-r5` |
| `image.tag` | PostgreSQL image tag (immutable tags are recommended) | `15.2.0-debian-11-r11` |
| `image.digest` | PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | PostgreSQL image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify image pull secrets | `[]` |
@ -377,7 +377,7 @@ kubectl delete pvc -l release=my-release
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r90` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r96` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Init container volume-permissions image pull secrets | `[]` |
@ -405,7 +405,7 @@ kubectl delete pvc -l release=my-release
| `metrics.enabled` | Start a prometheus exporter | `false` |
| `metrics.image.registry` | PostgreSQL Prometheus Exporter image registry | `docker.io` |
| `metrics.image.repository` | PostgreSQL Prometheus Exporter image repository | `bitnami/postgres-exporter` |
| `metrics.image.tag` | PostgreSQL Prometheus Exporter image tag (immutable tags are recommended) | `0.11.1-debian-11-r64` |
| `metrics.image.tag` | PostgreSQL Prometheus Exporter image tag (immutable tags are recommended) | `0.11.1-debian-11-r69` |
| `metrics.image.digest` | PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | PostgreSQL Prometheus Exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify image pull secrets | `[]` |
@ -457,6 +457,7 @@ kubectl delete pvc -l release=my-release
| `metrics.prometheusRule.labels` | Additional labels that can be used so PrometheusRule will be discovered by Prometheus | `{}` |
| `metrics.prometheusRule.rules` | PrometheusRule definitions | `[]` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install my-release \

View File

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

View File

@ -12,7 +12,7 @@ dependencies:
```
```console
$ helm dependency update
helm dependency update
```
```yaml
@ -37,124 +37,6 @@ Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment
## Parameters
The following table lists the helpers available in the library which are scoped in different sections.
### Affinities
| Helper identifier | Description | Expected Input |
|-------------------------------|------------------------------------------------------|------------------------------------------------|
| `common.affinities.nodes.soft` | Return a soft nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.nodes.hard` | Return a hard nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.pods.soft` | Return a soft podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.pods.hard` | Return a hard podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.topologyKey` | Return a topologyKey definition | `dict "topologyKey" "FOO"` |
### Capabilities
| Helper identifier | Description | Expected Input |
|------------------------------------------------|------------------------------------------------------------------------------------------------|-------------------|
| `common.capabilities.kubeVersion` | Return the target Kubernetes version (using client default if .Values.kubeVersion is not set). | `.` Chart context |
| `common.capabilities.cronjob.apiVersion` | Return the appropriate apiVersion for cronjob. | `.` Chart context |
| `common.capabilities.deployment.apiVersion` | Return the appropriate apiVersion for deployment. | `.` Chart context |
| `common.capabilities.statefulset.apiVersion` | Return the appropriate apiVersion for statefulset. | `.` Chart context |
| `common.capabilities.ingress.apiVersion` | Return the appropriate apiVersion for ingress. | `.` Chart context |
| `common.capabilities.rbac.apiVersion` | Return the appropriate apiVersion for RBAC resources. | `.` Chart context |
| `common.capabilities.crd.apiVersion` | Return the appropriate apiVersion for CRDs. | `.` Chart context |
| `common.capabilities.policy.apiVersion` | Return the appropriate apiVersion for podsecuritypolicy. | `.` Chart context |
| `common.capabilities.networkPolicy.apiVersion` | Return the appropriate apiVersion for networkpolicy. | `.` Chart context |
| `common.capabilities.apiService.apiVersion` | Return the appropriate apiVersion for APIService. | `.` Chart context |
| `common.capabilities.hpa.apiVersion` | Return the appropriate apiVersion for Horizontal Pod Autoscaler | `.` Chart context |
| `common.capabilities.supportsHelmVersion` | Returns true if the used Helm version is 3.3+ | `.` Chart context |
### Errors
| Helper identifier | Description | Expected Input |
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| `common.errors.upgrade.passwords.empty` | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01) "context" $` |
### Images
| Helper identifier | Description | Expected Input |
|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| `common.images.image` | Return the proper and full image name | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure. |
| `common.images.pullSecrets` | Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global` |
| `common.images.renderPullSecrets` | Return the proper Docker Image Registry Secret Names (evaluates values as templates) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $` |
### Ingress
| Helper identifier | Description | Expected Input |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.ingress.backend` | Generate a proper Ingress backend entry depending on the API version | `dict "serviceName" "foo" "servicePort" "bar"`, see the [Ingress deprecation notice](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for the syntax differences |
| `common.ingress.supportsPathType` | Prints "true" if the pathType field is supported | `.` Chart context |
| `common.ingress.supportsIngressClassname` | Prints "true" if the ingressClassname field is supported | `.` Chart context |
| `common.ingress.certManagerRequest` | Prints "true" if required cert-manager annotations for TLS signed certificates are set in the Ingress annotations | `dict "annotations" .Values.path.to.the.ingress.annotations` |
### Labels
| Helper identifier | Description | Expected Input |
|-----------------------------|-----------------------------------------------------------------------------|-------------------|
| `common.labels.standard` | Return Kubernetes standard labels | `.` Chart context |
| `common.labels.matchLabels` | Labels to use on `deploy.spec.selector.matchLabels` and `svc.spec.selector` | `.` Chart context |
### Names
| Helper identifier | Description | Expected Input |
|-----------------------------------|-----------------------------------------------------------------------|-------------------|
| `common.names.name` | Expand the name of the chart or use `.Values.nameOverride` | `.` Chart context |
| `common.names.fullname` | Create a default fully qualified app name. | `.` Chart context |
| `common.names.namespace` | Allow the release namespace to be overridden | `.` Chart context |
| `common.names.fullname.namespace` | Create a fully qualified app name adding the installation's namespace | `.` Chart context |
| `common.names.chart` | Chart name plus version | `.` Chart context |
### Secrets
| Helper identifier | Description | Expected Input |
|-----------------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.secrets.name` | Generate the name of the secret. | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.key` | Generate secret key. | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.passwords.manage` | Generate secret password or retrieve one if already created. | `dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $`, length, strong and chartNAme fields are optional. |
| `common.secrets.exists` | Returns whether a previous generated secret already exists. | `dict "secret" "secret-name" "context" $` |
### Storage
| Helper identifier | Description | Expected Input |
|-------------------------------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| `common.storage.class` | Return the proper Storage Class | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. |
### TplValues
| Helper identifier | Description | Expected Input |
|---------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.tplvalues.render` | Renders a value that contains template | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frequently is the chart context `$` or `.` |
### Utils
| Helper identifier | Description | Expected Input |
|--------------------------------|------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| `common.utils.fieldToEnvVar` | Build environment variable name given a field. | `dict "field" "my-password"` |
| `common.utils.secret.getvalue` | Print instructions to get a secret value. | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` |
| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path | `dict "key" "path.to.key" "context" $` |
| `common.utils.getKeyFromList` | Returns first `.Values` key with a defined value or first of the list if all non-defined | `dict "keys" (list "path.to.key1" "path.to.key2") "context" $` |
### Validations
| Helper identifier | Description | Expected Input |
|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.validations.values.single.empty` | Validate a value must not be empty. | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $` secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) |
| `common.validations.values.multiple.empty` | Validate a multiple values must not be empty. It returns a shared error for all the values. | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue) |
| `common.validations.values.mariadb.passwords` | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values. | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper. |
| `common.validations.values.mysql.passwords` | This helper will ensure required password for MySQL are not empty. It returns a shared error for all the values. | `dict "secret" "mysql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mysql chart and the helper. |
| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values. | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper. |
| `common.validations.values.redis.passwords` | This helper will ensure required password for Redis&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "redis-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use redis chart and the helper. |
| `common.validations.values.cassandra.passwords` | This helper will ensure required password for Cassandra are not empty. It returns a shared error for all the values. | `dict "secret" "cassandra-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use cassandra chart and the helper. |
| `common.validations.values.mongodb.passwords` | This helper will ensure required password for MongoDB&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "mongodb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mongodb chart and the helper. |
### Warnings
| Helper identifier | Description | Expected Input |
|------------------------------|----------------------------------|------------------------------------------------------------|
| `common.warnings.rollingTag` | Warning about using rolling tag. | `ImageRoot` see [ImageRoot](#imageroot) for the structure. |
## Special input schemas
### ImageRoot
@ -300,7 +182,7 @@ keyMapping:
If we force those values to be empty we will see some alerts
```console
$ helm install test mychart --set path.to.value00="",path.to.value01=""
helm install test mychart --set path.to.value00="",path.to.value01=""
'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value:
export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d)
@ -316,23 +198,23 @@ $ helm install test mychart --set path.to.value00="",path.to.value01=""
[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
**What changes were introduced in this major version?**
#### What changes were introduced in this major version?
- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field.
- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information.
- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts
**Considerations when upgrading to this version**
#### Considerations when upgrading to this version
- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues
- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore
- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3
**Useful links**
#### Useful links
- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/
- https://helm.sh/docs/topics/v2_v3_migration/
- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/
- <https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/>
- <https://helm.sh/docs/topics/v2_v3_migration/>
- <https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/>
## License
@ -342,7 +224,7 @@ Licensed 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
<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,

View File

@ -17,7 +17,11 @@ Return the proper image name
{{- $separator = "@" -}}
{{- $termination = .imageRoot.digest | toString -}}
{{- end -}}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- if $registryName }}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- else -}}
{{- printf "%s%s%s" $repositoryName $separator $termination -}}
{{- end -}}
{{- end -}}
{{/*

View File

@ -95,7 +95,7 @@ diagnosticMode:
image:
registry: docker.io
repository: bitnami/postgresql
tag: 15.2.0-debian-11-r5
tag: 15.2.0-debian-11-r11
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -1136,7 +1136,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 11-debian-11-r90
tag: 11-debian-11-r96
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
@ -1231,7 +1231,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/postgres-exporter
tag: 0.11.1-debian-11-r64
tag: 0.11.1-debian-11-r69
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.

View File

@ -28,4 +28,4 @@ maintainers:
name: redis
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/redis
version: 17.8.4
version: 17.8.5

View File

@ -229,14 +229,16 @@ otherwise it generates a random value.
Return Redis&reg; password
*/}}
{{- define "redis.password" -}}
{{- if not (empty .Values.global.redis.password) }}
{{- .Values.global.redis.password -}}
{{- else if not (empty .Values.auth.password) -}}
{{- .Values.auth.password -}}
{{- else -}}
{{- include "getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "common.names.fullname" .) "Length" 10 "Key" "redis-password") -}}
{{- end -}}
{{- if or .Values.auth.enabled .Values.global.redis.password }}
{{- if not (empty .Values.global.redis.password) }}
{{- .Values.global.redis.password -}}
{{- else if not (empty .Values.auth.password) -}}
{{- .Values.auth.password -}}
{{- else -}}
{{- include "getValueFromSecret" (dict "Namespace" .Release.Namespace "Name" (include "redis.secretName" .) "Length" 10 "Key" (include "redis.secretPasswordKey" .)) -}}
{{- end -}}
{{- end -}}
{{- end }}
{{/* Check if there are rolling tags in the images */}}
{{- define "redis.checkRollingTags" -}}

View File

@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.2.3
digest: sha256:2c7165542fc01b9e98b577cd8b1095d0ed8267d34b97b6e581a1176bfb8e4dcb
generated: "2023-02-14T06:31:20.528750083Z"
version: 2.2.4
digest: sha256:634d19e9b7f6e4c07d7c04a0161ab96b3f83335ebdd70b35b952319ef0a2586b
generated: "2023-03-13T11:48:45.478522499Z"

View File

@ -6,7 +6,7 @@ annotations:
category: ApplicationServer
licenses: Apache-2.0
apiVersion: v2
appVersion: 10.1.5
appVersion: 10.1.7
dependencies:
- name: common
repository: file://./charts/common
@ -32,4 +32,4 @@ name: tomcat
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/tomcat
- http://tomcat.apache.org
version: 10.5.18
version: 10.5.19

View File

@ -77,25 +77,25 @@ The command removes all the Kubernetes components associated with the chart and
### Tomcat parameters
| Name | Description | Value |
| ----------------------------- | ------------------------------------------------------------------------------------------------------ | ---------------------- |
| `image.registry` | Tomcat image registry | `docker.io` |
| `image.repository` | Tomcat image repository | `bitnami/tomcat` |
| `image.tag` | Tomcat image tag (immutable tags are recommended) | `10.1.5-debian-11-r20` |
| `image.digest` | Tomcat image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Tomcat image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug logs should be enabled | `false` |
| `hostAliases` | Deployment pod host aliases | `[]` |
| `tomcatUsername` | Tomcat admin user | `user` |
| `tomcatPassword` | Tomcat admin password | `""` |
| `tomcatAllowRemoteManagement` | Enable remote access to management interface | `0` |
| `catalinaOpts` | Java runtime option used by tomcat JVM | `""` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `extraEnvVars` | Extra environment variables to be set on Tomcat container | `[]` |
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra environment variables | `""` |
| `extraEnvVarsSecret` | Name of existing Secret containing extra environment variables | `""` |
| Name | Description | Value |
| ----------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------- |
| `image.registry` | Tomcat image registry | `docker.io` |
| `image.repository` | Tomcat image repository | `bitnami/tomcat` |
| `image.tag` | Tomcat image tag (immutable tags are recommended) | `10.1.7-debian-11-r0` |
| `image.digest` | Tomcat image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Tomcat image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug logs should be enabled | `false` |
| `hostAliases` | Deployment pod host aliases | `[]` |
| `tomcatUsername` | Tomcat admin user | `user` |
| `tomcatPassword` | Tomcat admin password | `""` |
| `tomcatAllowRemoteManagement` | Enable remote access to management interface | `0` |
| `catalinaOpts` | Java runtime option used by tomcat JVM | `""` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `extraEnvVars` | Extra environment variables to be set on Tomcat container | `[]` |
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra environment variables | `""` |
| `extraEnvVarsSecret` | Name of existing Secret containing extra environment variables | `""` |
### Tomcat deployment parameters
@ -202,7 +202,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `11-debian-11-r90` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `11-debian-11-r96` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -217,7 +217,7 @@ The command removes all the Kubernetes components associated with the chart and
| `metrics.jmx.catalinaOpts` | custom option used to enabled JMX on tomcat jvm evaluated as template | `-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=5555 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=true` |
| `metrics.jmx.image.registry` | JMX exporter image registry | `docker.io` |
| `metrics.jmx.image.repository` | JMX exporter image repository | `bitnami/jmx-exporter` |
| `metrics.jmx.image.tag` | JMX exporter image tag (immutable tags are recommended) | `0.17.2-debian-11-r53` |
| `metrics.jmx.image.tag` | JMX exporter image tag (immutable tags are recommended) | `0.18.0-debian-11-r1` |
| `metrics.jmx.image.digest` | JMX exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.jmx.image.pullPolicy` | JMX exporter image pull policy | `IfNotPresent` |
| `metrics.jmx.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |

View File

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

View File

@ -12,7 +12,7 @@ dependencies:
```
```console
$ helm dependency update
helm dependency update
```
```yaml
@ -37,124 +37,6 @@ Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment
## Parameters
The following table lists the helpers available in the library which are scoped in different sections.
### Affinities
| Helper identifier | Description | Expected Input |
|-------------------------------|------------------------------------------------------|------------------------------------------------|
| `common.affinities.nodes.soft` | Return a soft nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.nodes.hard` | Return a hard nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.pods.soft` | Return a soft podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.pods.hard` | Return a hard podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.topologyKey` | Return a topologyKey definition | `dict "topologyKey" "FOO"` |
### Capabilities
| Helper identifier | Description | Expected Input |
|------------------------------------------------|------------------------------------------------------------------------------------------------|-------------------|
| `common.capabilities.kubeVersion` | Return the target Kubernetes version (using client default if .Values.kubeVersion is not set). | `.` Chart context |
| `common.capabilities.cronjob.apiVersion` | Return the appropriate apiVersion for cronjob. | `.` Chart context |
| `common.capabilities.deployment.apiVersion` | Return the appropriate apiVersion for deployment. | `.` Chart context |
| `common.capabilities.statefulset.apiVersion` | Return the appropriate apiVersion for statefulset. | `.` Chart context |
| `common.capabilities.ingress.apiVersion` | Return the appropriate apiVersion for ingress. | `.` Chart context |
| `common.capabilities.rbac.apiVersion` | Return the appropriate apiVersion for RBAC resources. | `.` Chart context |
| `common.capabilities.crd.apiVersion` | Return the appropriate apiVersion for CRDs. | `.` Chart context |
| `common.capabilities.policy.apiVersion` | Return the appropriate apiVersion for podsecuritypolicy. | `.` Chart context |
| `common.capabilities.networkPolicy.apiVersion` | Return the appropriate apiVersion for networkpolicy. | `.` Chart context |
| `common.capabilities.apiService.apiVersion` | Return the appropriate apiVersion for APIService. | `.` Chart context |
| `common.capabilities.hpa.apiVersion` | Return the appropriate apiVersion for Horizontal Pod Autoscaler | `.` Chart context |
| `common.capabilities.supportsHelmVersion` | Returns true if the used Helm version is 3.3+ | `.` Chart context |
### Errors
| Helper identifier | Description | Expected Input |
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| `common.errors.upgrade.passwords.empty` | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01) "context" $` |
### Images
| Helper identifier | Description | Expected Input |
|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| `common.images.image` | Return the proper and full image name | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure. |
| `common.images.pullSecrets` | Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global` |
| `common.images.renderPullSecrets` | Return the proper Docker Image Registry Secret Names (evaluates values as templates) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $` |
### Ingress
| Helper identifier | Description | Expected Input |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.ingress.backend` | Generate a proper Ingress backend entry depending on the API version | `dict "serviceName" "foo" "servicePort" "bar"`, see the [Ingress deprecation notice](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for the syntax differences |
| `common.ingress.supportsPathType` | Prints "true" if the pathType field is supported | `.` Chart context |
| `common.ingress.supportsIngressClassname` | Prints "true" if the ingressClassname field is supported | `.` Chart context |
| `common.ingress.certManagerRequest` | Prints "true" if required cert-manager annotations for TLS signed certificates are set in the Ingress annotations | `dict "annotations" .Values.path.to.the.ingress.annotations` |
### Labels
| Helper identifier | Description | Expected Input |
|-----------------------------|-----------------------------------------------------------------------------|-------------------|
| `common.labels.standard` | Return Kubernetes standard labels | `.` Chart context |
| `common.labels.matchLabels` | Labels to use on `deploy.spec.selector.matchLabels` and `svc.spec.selector` | `.` Chart context |
### Names
| Helper identifier | Description | Expected Input |
|-----------------------------------|-----------------------------------------------------------------------|-------------------|
| `common.names.name` | Expand the name of the chart or use `.Values.nameOverride` | `.` Chart context |
| `common.names.fullname` | Create a default fully qualified app name. | `.` Chart context |
| `common.names.namespace` | Allow the release namespace to be overridden | `.` Chart context |
| `common.names.fullname.namespace` | Create a fully qualified app name adding the installation's namespace | `.` Chart context |
| `common.names.chart` | Chart name plus version | `.` Chart context |
### Secrets
| Helper identifier | Description | Expected Input |
|-----------------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.secrets.name` | Generate the name of the secret. | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.key` | Generate secret key. | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.passwords.manage` | Generate secret password or retrieve one if already created. | `dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $`, length, strong and chartNAme fields are optional. |
| `common.secrets.exists` | Returns whether a previous generated secret already exists. | `dict "secret" "secret-name" "context" $` |
### Storage
| Helper identifier | Description | Expected Input |
|-------------------------------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| `common.storage.class` | Return the proper Storage Class | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. |
### TplValues
| Helper identifier | Description | Expected Input |
|---------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.tplvalues.render` | Renders a value that contains template | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frequently is the chart context `$` or `.` |
### Utils
| Helper identifier | Description | Expected Input |
|--------------------------------|------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| `common.utils.fieldToEnvVar` | Build environment variable name given a field. | `dict "field" "my-password"` |
| `common.utils.secret.getvalue` | Print instructions to get a secret value. | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` |
| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path | `dict "key" "path.to.key" "context" $` |
| `common.utils.getKeyFromList` | Returns first `.Values` key with a defined value or first of the list if all non-defined | `dict "keys" (list "path.to.key1" "path.to.key2") "context" $` |
### Validations
| Helper identifier | Description | Expected Input |
|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.validations.values.single.empty` | Validate a value must not be empty. | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $` secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) |
| `common.validations.values.multiple.empty` | Validate a multiple values must not be empty. It returns a shared error for all the values. | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue) |
| `common.validations.values.mariadb.passwords` | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values. | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper. |
| `common.validations.values.mysql.passwords` | This helper will ensure required password for MySQL are not empty. It returns a shared error for all the values. | `dict "secret" "mysql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mysql chart and the helper. |
| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values. | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper. |
| `common.validations.values.redis.passwords` | This helper will ensure required password for Redis&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "redis-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use redis chart and the helper. |
| `common.validations.values.cassandra.passwords` | This helper will ensure required password for Cassandra are not empty. It returns a shared error for all the values. | `dict "secret" "cassandra-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use cassandra chart and the helper. |
| `common.validations.values.mongodb.passwords` | This helper will ensure required password for MongoDB&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "mongodb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mongodb chart and the helper. |
### Warnings
| Helper identifier | Description | Expected Input |
|------------------------------|----------------------------------|------------------------------------------------------------|
| `common.warnings.rollingTag` | Warning about using rolling tag. | `ImageRoot` see [ImageRoot](#imageroot) for the structure. |
## Special input schemas
### ImageRoot
@ -300,7 +182,7 @@ keyMapping:
If we force those values to be empty we will see some alerts
```console
$ helm install test mychart --set path.to.value00="",path.to.value01=""
helm install test mychart --set path.to.value00="",path.to.value01=""
'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value:
export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d)
@ -316,23 +198,23 @@ $ helm install test mychart --set path.to.value00="",path.to.value01=""
[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
**What changes were introduced in this major version?**
#### What changes were introduced in this major version?
- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field.
- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information.
- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts
**Considerations when upgrading to this version**
#### Considerations when upgrading to this version
- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues
- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore
- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3
**Useful links**
#### Useful links
- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/
- https://helm.sh/docs/topics/v2_v3_migration/
- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/
- <https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/>
- <https://helm.sh/docs/topics/v2_v3_migration/>
- <https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/>
## License
@ -342,7 +224,7 @@ Licensed 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
<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,

View File

@ -17,7 +17,11 @@ Return the proper image name
{{- $separator = "@" -}}
{{- $termination = .imageRoot.digest | toString -}}
{{- end -}}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- if $registryName }}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- else -}}
{{- printf "%s%s%s" $repositoryName $separator $termination -}}
{{- end -}}
{{- end -}}
{{/*

View File

@ -58,7 +58,7 @@ extraDeploy: []
image:
registry: docker.io
repository: bitnami/tomcat
tag: 10.1.5-debian-11-r20
tag: 10.1.7-debian-11-r0
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -576,7 +576,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 11-debian-11-r90
tag: 11-debian-11-r96
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
@ -636,7 +636,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/jmx-exporter
tag: 0.17.2-debian-11-r53
tag: 0.18.0-debian-11-r1
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'

View File

@ -1,12 +1,12 @@
dependencies:
- name: memcached
repository: https://charts.bitnami.com/bitnami
version: 6.3.10
version: 6.3.12
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 11.5.3
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.2.4
digest: sha256:22567f57b68bd7bbc930cdd7e43cb439239d49b7a92e2440b9baf092b969c7bd
generated: "2023-03-07T21:00:37.537997479Z"
digest: sha256:2564cc5268ba7d6517e83a933c5092b28af3c6573888fb0bce19558f594de505
generated: "2023-03-14T17:33:46.883760239Z"

View File

@ -41,4 +41,4 @@ name: wordpress
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/wordpress
- https://wordpress.org/
version: 15.2.51
version: 15.2.54

View File

@ -6,8 +6,6 @@ WordPress is the world's most popular blogging and content management platform.
[Overview of WordPress](http://www.wordpress.org)
## TL;DR
```console
@ -84,7 +82,7 @@ The command removes all the Kubernetes components associated with the chart and
| ------------------- | --------------------------------------------------------------------------------------------------------- | --------------------- |
| `image.registry` | WordPress image registry | `docker.io` |
| `image.repository` | WordPress image repository | `bitnami/wordpress` |
| `image.tag` | WordPress image tag (immutable tags are recommended) | `6.1.1-debian-11-r61` |
| `image.tag` | WordPress image tag (immutable tags are recommended) | `6.1.1-debian-11-r65` |
| `image.digest` | WordPress image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | WordPress image pull policy | `IfNotPresent` |
| `image.pullSecrets` | WordPress image pull secrets | `[]` |
@ -249,7 +247,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | Bitnami Shell image registry | `docker.io` |
| `volumePermissions.image.repository` | Bitnami Shell image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `11-debian-11-r94` |
| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `11-debian-11-r96` |
| `volumePermissions.image.digest` | Bitnami Shell image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Bitnami Shell image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Bitnami Shell image pull secrets | `[]` |
@ -281,7 +279,7 @@ The command removes all the Kubernetes components associated with the chart and
| `metrics.enabled` | Start a sidecar prometheus exporter to expose metrics | `false` |
| `metrics.image.registry` | Apache exporter image registry | `docker.io` |
| `metrics.image.repository` | Apache exporter image repository | `bitnami/apache-exporter` |
| `metrics.image.tag` | Apache exporter image tag (immutable tags are recommended) | `0.13.0-debian-11-r5` |
| `metrics.image.tag` | Apache exporter image tag (immutable tags are recommended) | `0.13.0-debian-11-r7` |
| `metrics.image.digest` | Apache exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Apache exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Apache exporter image pull secrets | `[]` |

View File

@ -1,6 +1,6 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.2.3
digest: sha256:2c7165542fc01b9e98b577cd8b1095d0ed8267d34b97b6e581a1176bfb8e4dcb
generated: "2023-02-09T00:19:37.296847316Z"
version: 2.2.4
digest: sha256:634d19e9b7f6e4c07d7c04a0161ab96b3f83335ebdd70b35b952319ef0a2586b
generated: "2023-03-09T01:05:12.462737684Z"

View File

@ -2,7 +2,7 @@ annotations:
category: Infrastructure
licenses: Apache-2.0
apiVersion: v2
appVersion: 1.6.18
appVersion: 1.6.19
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
@ -24,4 +24,4 @@ name: memcached
sources:
- https://github.com/bitnami/containers/tree/main/bitnami/memcached
- http://memcached.org/
version: 6.3.10
version: 6.3.12

View File

@ -76,25 +76,25 @@ The command removes all the Kubernetes components associated with the chart and
### Memcached parameters
| Name | Description | Value |
| ----------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------- |
| `image.registry` | Memcached image registry | `docker.io` |
| `image.repository` | Memcached image repository | `bitnami/memcached` |
| `image.tag` | Memcached image tag (immutable tags are recommended) | `1.6.18-debian-11-r19` |
| `image.digest` | Memcached image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Memcached image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug values should be set | `false` |
| `architecture` | Memcached architecture. Allowed values: standalone or high-availability | `standalone` |
| `auth.enabled` | Enable Memcached authentication | `false` |
| `auth.username` | Memcached admin user | `""` |
| `auth.password` | Memcached admin password | `""` |
| `auth.existingPasswordSecret` | Existing secret with Memcached credentials (must contain a value for `memcached-password` key) | `""` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `extraEnvVars` | Array with extra environment variables to add to Memcached nodes | `[]` |
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Memcached nodes | `""` |
| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Memcached nodes | `""` |
| Name | Description | Value |
| ----------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------- |
| `image.registry` | Memcached image registry | `docker.io` |
| `image.repository` | Memcached image repository | `bitnami/memcached` |
| `image.tag` | Memcached image tag (immutable tags are recommended) | `1.6.19-debian-11-r0` |
| `image.digest` | Memcached image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Memcached image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug values should be set | `false` |
| `architecture` | Memcached architecture. Allowed values: standalone or high-availability | `standalone` |
| `auth.enabled` | Enable Memcached authentication | `false` |
| `auth.username` | Memcached admin user | `""` |
| `auth.password` | Memcached admin password | `""` |
| `auth.existingPasswordSecret` | Existing secret with Memcached credentials (must contain a value for `memcached-password` key) | `""` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `extraEnvVars` | Array with extra environment variables to add to Memcached nodes | `[]` |
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Memcached nodes | `""` |
| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Memcached nodes | `""` |
### Deployment/Statefulset parameters
@ -207,7 +207,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r92` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r95` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Init container volume-permissions image pull secrets | `[]` |
@ -217,7 +217,7 @@ The command removes all the Kubernetes components associated with the chart and
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Memcached exporter image registry | `docker.io` |
| `metrics.image.repository` | Memcached exporter image repository | `bitnami/memcached-exporter` |
| `metrics.image.tag` | Memcached exporter image tag (immutable tags are recommended) | `0.11.1-debian-11-r5` |
| `metrics.image.tag` | Memcached exporter image tag (immutable tags are recommended) | `0.11.2-debian-11-r0` |
| `metrics.image.digest` | Memcached exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -381,4 +381,4 @@ 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.
limitations under the License.

View File

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

View File

@ -12,7 +12,7 @@ dependencies:
```
```console
$ helm dependency update
helm dependency update
```
```yaml
@ -37,124 +37,6 @@ Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment
## Parameters
The following table lists the helpers available in the library which are scoped in different sections.
### Affinities
| Helper identifier | Description | Expected Input |
|-------------------------------|------------------------------------------------------|------------------------------------------------|
| `common.affinities.nodes.soft` | Return a soft nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.nodes.hard` | Return a hard nodeAffinity definition | `dict "key" "FOO" "values" (list "BAR" "BAZ")` |
| `common.affinities.pods.soft` | Return a soft podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.pods.hard` | Return a hard podAffinity/podAntiAffinity definition | `dict "component" "FOO" "context" $` |
| `common.affinities.topologyKey` | Return a topologyKey definition | `dict "topologyKey" "FOO"` |
### Capabilities
| Helper identifier | Description | Expected Input |
|------------------------------------------------|------------------------------------------------------------------------------------------------|-------------------|
| `common.capabilities.kubeVersion` | Return the target Kubernetes version (using client default if .Values.kubeVersion is not set). | `.` Chart context |
| `common.capabilities.cronjob.apiVersion` | Return the appropriate apiVersion for cronjob. | `.` Chart context |
| `common.capabilities.deployment.apiVersion` | Return the appropriate apiVersion for deployment. | `.` Chart context |
| `common.capabilities.statefulset.apiVersion` | Return the appropriate apiVersion for statefulset. | `.` Chart context |
| `common.capabilities.ingress.apiVersion` | Return the appropriate apiVersion for ingress. | `.` Chart context |
| `common.capabilities.rbac.apiVersion` | Return the appropriate apiVersion for RBAC resources. | `.` Chart context |
| `common.capabilities.crd.apiVersion` | Return the appropriate apiVersion for CRDs. | `.` Chart context |
| `common.capabilities.policy.apiVersion` | Return the appropriate apiVersion for podsecuritypolicy. | `.` Chart context |
| `common.capabilities.networkPolicy.apiVersion` | Return the appropriate apiVersion for networkpolicy. | `.` Chart context |
| `common.capabilities.apiService.apiVersion` | Return the appropriate apiVersion for APIService. | `.` Chart context |
| `common.capabilities.hpa.apiVersion` | Return the appropriate apiVersion for Horizontal Pod Autoscaler | `.` Chart context |
| `common.capabilities.supportsHelmVersion` | Returns true if the used Helm version is 3.3+ | `.` Chart context |
### Errors
| Helper identifier | Description | Expected Input |
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| `common.errors.upgrade.passwords.empty` | It will ensure required passwords are given when we are upgrading a chart. If `validationErrors` is not empty it will throw an error and will stop the upgrade action. | `dict "validationErrors" (list $validationError00 $validationError01) "context" $` |
### Images
| Helper identifier | Description | Expected Input |
|-----------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| `common.images.image` | Return the proper and full image name | `dict "imageRoot" .Values.path.to.the.image "global" $`, see [ImageRoot](#imageroot) for the structure. |
| `common.images.pullSecrets` | Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global` |
| `common.images.renderPullSecrets` | Return the proper Docker Image Registry Secret Names (evaluates values as templates) | `dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $` |
### Ingress
| Helper identifier | Description | Expected Input |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.ingress.backend` | Generate a proper Ingress backend entry depending on the API version | `dict "serviceName" "foo" "servicePort" "bar"`, see the [Ingress deprecation notice](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for the syntax differences |
| `common.ingress.supportsPathType` | Prints "true" if the pathType field is supported | `.` Chart context |
| `common.ingress.supportsIngressClassname` | Prints "true" if the ingressClassname field is supported | `.` Chart context |
| `common.ingress.certManagerRequest` | Prints "true" if required cert-manager annotations for TLS signed certificates are set in the Ingress annotations | `dict "annotations" .Values.path.to.the.ingress.annotations` |
### Labels
| Helper identifier | Description | Expected Input |
|-----------------------------|-----------------------------------------------------------------------------|-------------------|
| `common.labels.standard` | Return Kubernetes standard labels | `.` Chart context |
| `common.labels.matchLabels` | Labels to use on `deploy.spec.selector.matchLabels` and `svc.spec.selector` | `.` Chart context |
### Names
| Helper identifier | Description | Expected Input |
|-----------------------------------|-----------------------------------------------------------------------|-------------------|
| `common.names.name` | Expand the name of the chart or use `.Values.nameOverride` | `.` Chart context |
| `common.names.fullname` | Create a default fully qualified app name. | `.` Chart context |
| `common.names.namespace` | Allow the release namespace to be overridden | `.` Chart context |
| `common.names.fullname.namespace` | Create a fully qualified app name adding the installation's namespace | `.` Chart context |
| `common.names.chart` | Chart name plus version | `.` Chart context |
### Secrets
| Helper identifier | Description | Expected Input |
|-----------------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.secrets.name` | Generate the name of the secret. | `dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.key` | Generate secret key. | `dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName"` see [ExistingSecret](#existingsecret) for the structure. |
| `common.secrets.passwords.manage` | Generate secret password or retrieve one if already created. | `dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $`, length, strong and chartNAme fields are optional. |
| `common.secrets.exists` | Returns whether a previous generated secret already exists. | `dict "secret" "secret-name" "context" $` |
### Storage
| Helper identifier | Description | Expected Input |
|-------------------------------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| `common.storage.class` | Return the proper Storage Class | `dict "persistence" .Values.path.to.the.persistence "global" $`, see [Persistence](#persistence) for the structure. |
### TplValues
| Helper identifier | Description | Expected Input |
|---------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.tplvalues.render` | Renders a value that contains template | `dict "value" .Values.path.to.the.Value "context" $`, value is the value should rendered as template, context frequently is the chart context `$` or `.` |
### Utils
| Helper identifier | Description | Expected Input |
|--------------------------------|------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| `common.utils.fieldToEnvVar` | Build environment variable name given a field. | `dict "field" "my-password"` |
| `common.utils.secret.getvalue` | Print instructions to get a secret value. | `dict "secret" "secret-name" "field" "secret-value-field" "context" $` |
| `common.utils.getValueFromKey` | Gets a value from `.Values` object given its key path | `dict "key" "path.to.key" "context" $` |
| `common.utils.getKeyFromList` | Returns first `.Values` key with a defined value or first of the list if all non-defined | `dict "keys" (list "path.to.key1" "path.to.key2") "context" $` |
### Validations
| Helper identifier | Description | Expected Input |
|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `common.validations.values.single.empty` | Validate a value must not be empty. | `dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $` secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See [ValidateValue](#validatevalue) |
| `common.validations.values.multiple.empty` | Validate a multiple values must not be empty. It returns a shared error for all the values. | `dict "required" (list $validateValueConf00 $validateValueConf01) "context" $`. See [ValidateValue](#validatevalue) |
| `common.validations.values.mariadb.passwords` | This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values. | `dict "secret" "mariadb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper. |
| `common.validations.values.mysql.passwords` | This helper will ensure required password for MySQL are not empty. It returns a shared error for all the values. | `dict "secret" "mysql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mysql chart and the helper. |
| `common.validations.values.postgresql.passwords` | This helper will ensure required password for PostgreSQL are not empty. It returns a shared error for all the values. | `dict "secret" "postgresql-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use postgresql chart and the helper. |
| `common.validations.values.redis.passwords` | This helper will ensure required password for Redis&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "redis-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use redis chart and the helper. |
| `common.validations.values.cassandra.passwords` | This helper will ensure required password for Cassandra are not empty. It returns a shared error for all the values. | `dict "secret" "cassandra-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use cassandra chart and the helper. |
| `common.validations.values.mongodb.passwords` | This helper will ensure required password for MongoDB&reg; are not empty. It returns a shared error for all the values. | `dict "secret" "mongodb-secret" "subchart" "true" "context" $` subchart field is optional and could be true or false it depends on where you will use mongodb chart and the helper. |
### Warnings
| Helper identifier | Description | Expected Input |
|------------------------------|----------------------------------|------------------------------------------------------------|
| `common.warnings.rollingTag` | Warning about using rolling tag. | `ImageRoot` see [ImageRoot](#imageroot) for the structure. |
## Special input schemas
### ImageRoot
@ -300,7 +182,7 @@ keyMapping:
If we force those values to be empty we will see some alerts
```console
$ helm install test mychart --set path.to.value00="",path.to.value01=""
helm install test mychart --set path.to.value00="",path.to.value01=""
'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value:
export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d)
@ -316,23 +198,23 @@ $ helm install test mychart --set path.to.value00="",path.to.value01=""
[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
**What changes were introduced in this major version?**
#### What changes were introduced in this major version?
- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field.
- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information.
- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts
**Considerations when upgrading to this version**
#### Considerations when upgrading to this version
- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues
- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore
- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3
**Useful links**
#### Useful links
- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/
- https://helm.sh/docs/topics/v2_v3_migration/
- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/
- <https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/>
- <https://helm.sh/docs/topics/v2_v3_migration/>
- <https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/>
## License
@ -342,7 +224,7 @@ Licensed 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
<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,

View File

@ -17,7 +17,11 @@ Return the proper image name
{{- $separator = "@" -}}
{{- $termination = .imageRoot.digest | toString -}}
{{- end -}}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- if $registryName }}
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
{{- else -}}
{{- printf "%s%s%s" $repositoryName $separator $termination -}}
{{- end -}}
{{- end -}}
{{/*

View File

@ -205,6 +205,9 @@ spec:
- name: metrics
image: {{ template "memcached.metrics.image" . }}
imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
{{- if .Values.metrics.containerSecurityContext.enabled }}
securityContext: {{- omit .Values.metrics.containerSecurityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
ports:
- name: metrics
containerPort: {{ .Values.metrics.containerPorts.metrics }}

View File

@ -70,7 +70,7 @@ diagnosticMode:
image:
registry: docker.io
repository: bitnami/memcached
tag: 1.6.18-debian-11-r19
tag: 1.6.19-debian-11-r0
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -512,7 +512,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 11-debian-11-r92
tag: 11-debian-11-r95
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
@ -557,7 +557,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/memcached-exporter
tag: 0.11.1-debian-11-r5
tag: 0.11.2-debian-11-r0
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.

View File

@ -73,7 +73,7 @@ diagnosticMode:
image:
registry: docker.io
repository: bitnami/wordpress
tag: 6.1.1-debian-11-r61
tag: 6.1.1-debian-11-r65
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -757,7 +757,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 11-debian-11-r94
tag: 11-debian-11-r96
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
@ -851,7 +851,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/apache-exporter
tag: 0.13.0-debian-11-r5
tag: 0.13.0-debian-11-r7
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.

View File

@ -1,5 +1,9 @@
# Datadog changelog
## 3.19.2
* Fix R/W volume mounts in init containers on Windows
# 3.19.1
* Mount emptyDir volumes in `/etc/datadog-agent` and `/tmp` to allow the cluster-agent to write files in those

View File

@ -19,4 +19,4 @@ name: datadog
sources:
- https://app.datadoghq.com/account/settings#agent/kubernetes
- https://github.com/DataDog/datadog-agent
version: 3.19.1
version: 3.19.2

View File

@ -1,6 +1,6 @@
# Datadog
![Version: 3.19.1](https://img.shields.io/badge/Version-3.19.1-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
![Version: 3.19.2](https://img.shields.io/badge/Version-3.19.2-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
[Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/).

View File

@ -10,7 +10,7 @@
volumeMounts:
- name: config
mountPath: C:/Temp/Datadog
readOnly: true
readOnly: false # Need RW for config path
- name: installinfo
mountPath: C:/Temp/install_info
readOnly: true

View File

@ -5,7 +5,7 @@ annotations:
catalog.cattle.io/namespace: gp-lite-4-2
catalog.cattle.io/release-name: gopaddle
apiVersion: v2
appVersion: 4.2.5
appVersion: 4.2.6
dependencies:
- condition: global.installer.chart.gp-core
name: gp-core
@ -23,4 +23,4 @@ keywords:
- Community Edition
kubeVersion: '>=1.21-0'
name: gopaddle
version: 4.2.5
version: 4.2.6

View File

@ -1,6 +1,6 @@
apiVersion: v2
appVersion: 4.2.5
appVersion: 4.2.6
description: A Helm chart for Kubernetes
name: gp-core
type: application
version: 4.2.5
version: 4.2.8

View File

@ -7,7 +7,7 @@
"host": "gpcore",
"port": "8759"
},
"user.ep":{
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
@ -15,12 +15,24 @@
"host": "deploymentmanager",
"port": "8003"
},
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"release.ep": {
"release.ep": {
"host": "gpcore",
"port": "8759"
}
},
"clustermanager.ep": {
"host": "clustermanager",
"port": "8013"
},
"cloudaccount.ep":{
"host":"cloudmanager",
"port":"8018"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
}
}

View File

@ -1,6 +1,6 @@
apiVersion: v2
name: HELM_CHART
description: A Helm chart for Kubernetes
description: DESCRIPTION
# A chart can be either an 'application' or a 'library' chart.
#
@ -20,4 +20,4 @@ version: 1.0.0
# 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
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 1.0.0
appVersion: APP_VERSION

View File

@ -0,0 +1,72 @@
{{- if eq (include "gen.clusterrole" .) "true" -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: gopaddle:nginx-ingress-clusterrole
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- nodes
- pods
- secrets
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
- ingressclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses/status
- ingressclasses
verbs:
- update
- apiGroups:
- ""
resourceNames:
- ingress-controller-leader
resources:
- configmaps
verbs:
- get
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
{{- end }}

View File

@ -193,6 +193,8 @@
"RESPONSE_FORMATTING":"Failed on formatting application Response: '%s'",
"GETTING_RESPONSE":"failed on getting %s information %s",
"SERVICE_GROUP_ALREADY_EXIST":"Requested service '%s' is already exist in this application '%s'",
"//CONTAINER_ADD":"",
"STORAGENAME_NOT_FOUND":"StorageName '%s' not found in the serviceGroup '%s'",
"SERVICE_ALREADY_EXIST":"Requested container '%s' is already exist on the service '%s'",

View File

@ -0,0 +1,11 @@
{{/*
Check ClusterRole Exist
*/}}
{{- define "gen.clusterrole" -}}
{{- $clusterrole := lookup "v1" "ClusterRole" "" "gopaddle:nginx-ingress-clusterrole" -}}
{{- if $clusterrole -}}
{{- printf "%s" true -}}
{{- else -}}
{{- printf "%s" false -}}
{{- end -}}
{{- end -}}

View File

@ -21,11 +21,11 @@
"Updated":"updated",
"readScalingPolicyByID":"api/%s/v1/%s/scalingPolicy/%s",
"readDeploymentPolicyByID":"api/%s/v1/%s/deploymentPolicy/%s",
"readNetworkPolicyByID":"api/%s/%s/networkpolicy/%s",
"readNetworkPolicyByID":"api/%s/v1/%s/networkpolicy/%s",
"readServiceByID":"api/%s/v1/%s/service/%s",
"updateScalingPolicyDependencyRef":"api-internal/%s/v1/%s/scalingPolicy/%s",
"updateDeploymentPolicyDependencyRef":"api-internal/%s/v1/%s/deploymentPolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/%s/networkpolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/v1/%s/networkpolicy/%s",
"updateVolumeClaimPolicyDependencyRef":"api-internal/%s/%s/volumeClaimPolicy/%s",
"updateServiceDependencyRef":"api-internal/%s/v1/%s/service/%s/%s",
"updateAllocationPolicyDependencyRef":"api-internal/%s/v1/%s/allocationPolicy/%s",

View File

@ -52,9 +52,15 @@ Resources:
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-VPC'
- Key: source
Value: gopaddle
InternetGateway:
Type: "AWS::EC2::InternetGateway"
Properties:
Tags:
- Key: source
Value: gopaddle
VPCGatewayAttachment:
Type: "AWS::EC2::VPCGatewayAttachment"
@ -71,7 +77,8 @@ Resources:
Value: Public Subnets
- Key: Network
Value: Public
- Key: source
Value: gopaddle
PrivateRouteTable01:
Type: AWS::EC2::RouteTable
Properties:
@ -81,6 +88,8 @@ Resources:
Value: Private Subnet AZ1
- Key: Network
Value: Private01
- Key: source
Value: gopaddle
PrivateRouteTable02:
Type: AWS::EC2::RouteTable
@ -91,6 +100,8 @@ Resources:
Value: Private Subnet AZ2
- Key: Network
Value: Private02
- Key: source
Value: gopaddle
PublicRoute:
DependsOn: VPCGatewayAttachment
@ -132,6 +143,8 @@ Resources:
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-NatGatewayAZ1'
- Key: source
Value: gopaddle
NatGateway02:
DependsOn:
@ -145,6 +158,8 @@ Resources:
Tags:
- Key: Name
Value: !Sub '${AWS::StackName}-NatGatewayAZ2'
- Key: source
Value: gopaddle
NatGatewayEIP1:
DependsOn:
@ -180,6 +195,8 @@ Resources:
Value: !Sub "${AWS::StackName}-PublicSubnet01"
- Key: kubernetes.io/role/elb
Value: 1
- Key: source
Value: gopaddle
PublicSubnet02:
Type: AWS::EC2::Subnet
@ -201,6 +218,8 @@ Resources:
Value: !Sub "${AWS::StackName}-PublicSubnet02"
- Key: kubernetes.io/role/elb
Value: 1
- Key: source
Value: gopaddle
PrivateSubnet01:
Type: AWS::EC2::Subnet
@ -221,6 +240,8 @@ Resources:
Value: !Sub "${AWS::StackName}-PrivateSubnet01"
- Key: kubernetes.io/role/internal-elb
Value: 1
- Key: source
Value: gopaddle
PrivateSubnet02:
Type: AWS::EC2::Subnet
@ -241,6 +262,8 @@ Resources:
Value: !Sub "${AWS::StackName}-PrivateSubnet02"
- Key: kubernetes.io/role/internal-elb
Value: 1
- Key: source
Value: gopaddle
PublicSubnet01RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
@ -271,6 +294,9 @@ Resources:
Properties:
GroupDescription: Cluster communication with worker nodes
VpcId: !Ref VPC
Tags:
- Key: source
Value: gopaddle
Outputs:

View File

@ -30,10 +30,21 @@
"usermanager.ep":{
"host":"usermanager",
"port":"8005"
},
"notification.ep":{
},
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"appscanner.ep":{
"host":"appscanner",
"port":"8022"
},
"codebase.ep": {
"host": "gpcore",
"port": "8759"
},
"domainmanager.ep":{
"host":"domainmanager",
"port":"8004"
}
}

View File

@ -147,7 +147,7 @@
"CPU_LIMIT":"CPU value in millicore should be between '%d' and '%d'",
"MEMORY_M_LIMIT":"Memory values in MegaBytes should be between '%d' and '%d'",
"MEMORY_G_LIMIT":"Memory values in GigaBytes should be between '%d' and '%d'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'M' or 'G'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'E', 'P', 'T', 'G', 'M', 'K', 'Ei', 'Pi', 'Ti', 'Gi', 'Mi', 'Ki'.",
"CPU_SUFFIX":"CPU suffix should be 'm'",
"INVALID_QUANTITY":"Value of '%s' contains invalid character '%s'",
"MEMORY_QUANTITY":"Memory limit '%s' should be greater than Request '%s'",

View File

@ -46,5 +46,9 @@
"notification.ep":{
"host":"activitymanager",
"port":"8009"
},
"domain.ep":{
"host":"domainmanager",
"port":"8004"
}
}

View File

@ -73,9 +73,10 @@
],
"accessMode": [
"ReadWriteOnce",
"ReadOnlyMany"
"ReadOnlyMany",
"ReadWriteMany"
],
"updateFields":["AWSVolume","GCEVolume","application","service","volumeClaimPolicy","status"]
"updateFields":["AWSVolume","GCEVolume","application","service","volumeClaimPolicy","status","discovered"]
},
"volumeClaimPolicy": {
"requiredFields": [

View File

@ -1,6 +1,6 @@
apiVersion: v2
name: HELM_CHART
description: A Helm chart for Kubernetes
description: DESCRIPTION
# A chart can be either an 'application' or a 'library' chart.
#
@ -20,4 +20,4 @@ version: 1.0.0
# 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
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 1.0.0
appVersion: APP_VERSION

View File

@ -0,0 +1,72 @@
{{- if eq (include "gen.clusterrole" .) "true" -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: gopaddle:nginx-ingress-clusterrole
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- nodes
- pods
- secrets
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
- ingressclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses/status
- ingressclasses
verbs:
- update
- apiGroups:
- ""
resourceNames:
- ingress-controller-leader
resources:
- configmaps
verbs:
- get
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
{{- end }}

View File

@ -172,6 +172,7 @@
"UPDATE_SCALING_NULL":"The parameter 'serviceGroups[0].ScalingPolicy' can not be empty",
"UPDATE_SERVICE_ID_NULL":"The parameter '%s' can not be empty",
"UPDATE_SERVICE_IMAGE_NULL":"The parametet '%s' can not be empty",
"UPDATE_RELEASE_CONFIG_NULL":"Release ID or Distribution ID cannot be empty",
"UPDATE_PODAFFINITY_EXPRESSIONS":"Invalid Value for labelExpression operator: %s",
"UPDATE_NODEAFFINITY_EXPRESSIONS":"Invalid Value for nodeExpression operator: %s",
@ -193,6 +194,8 @@
"RESPONSE_FORMATTING":"Failed on formatting application Response: '%s'",
"GETTING_RESPONSE":"failed on getting %s information %s",
"SERVICE_GROUP_ALREADY_EXIST":"Requested service '%s' is already exist in this application '%s'",
"//CONTAINER_ADD":"",
"STORAGENAME_NOT_FOUND":"StorageName '%s' not found in the serviceGroup '%s'",
"SERVICE_ALREADY_EXIST":"Requested container '%s' is already exist on the service '%s'",
@ -232,7 +235,7 @@
"CPU_LIMIT":"CPU value in millicore should be between '%d' and '%d'",
"MEMORY_M_LIMIT":"Memory values in MegaBytes should be between '%d' and '%d'",
"MEMORY_G_LIMIT":"Memory values in GigaBytes should be between '%d' and '%d'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'M' or 'G'",
"MEMORY_SUFFIX":"Memory suffix should be one of 'E', 'P', 'T', 'G', 'M', 'K', 'Ei', 'Pi', 'Ti', 'Gi', 'Mi', 'Ki'.",
"CPU_SUFFIX":"CPU suffix should be 'm'",
"INVALID_QUANTITY":"Value of '%s' contains invalid character '%s'",
"MEMORY_QUANTITY":"Memory limit '%s' should be greater than Request '%s'",

View File

@ -0,0 +1,11 @@
{{/*
Check ClusterRole Exist
*/}}
{{- define "gen.clusterrole" -}}
{{- $clusterrole := lookup "v1" "ClusterRole" "" "gopaddle:nginx-ingress-clusterrole" -}}
{{- if $clusterrole -}}
{{- printf "%s" true -}}
{{- else -}}
{{- printf "%s" false -}}
{{- end -}}
{{- end -}}

View File

@ -21,11 +21,11 @@
"Updated":"updated",
"readScalingPolicyByID":"api/%s/v1/%s/scalingPolicy/%s",
"readDeploymentPolicyByID":"api/%s/v1/%s/deploymentPolicy/%s",
"readNetworkPolicyByID":"api/%s/%s/networkpolicy/%s",
"readNetworkPolicyByID":"api/%s/v1/%s/networkpolicy/%s",
"readServiceByID":"api/%s/v1/%s/service/%s",
"updateScalingPolicyDependencyRef":"api-internal/%s/v1/%s/scalingPolicy/%s",
"updateDeploymentPolicyDependencyRef":"api-internal/%s/v1/%s/deploymentPolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/%s/networkpolicy/%s",
"updateNetworkPolicyDependencyRef":"api-internal/%s/v1/%s/networkpolicy/%s",
"updateVolumeClaimPolicyDependencyRef":"api-internal/%s/%s/volumeClaimPolicy/%s",
"updateServiceDependencyRef":"api-internal/%s/v1/%s/service/%s/%s",
"updateAllocationPolicyDependencyRef":"api-internal/%s/v1/%s/allocationPolicy/%s",

View File

@ -91,7 +91,9 @@
"subnetList":"http://clustermanager:8013",
"subnet":"http://clustermanager:8013",
"series":"http://activitymanager:8009",
"quickstart":"http://quickstart:8002"
"quickstart":"http://quickstart:8002",
"discover":"http://appscanner:8022",
"recursiveDelete":"http://configmanager:8001"
},
"jwt_params":{
"PrivateKeyPath":"/settings/keys/private_key",

View File

@ -37,12 +37,15 @@
"buildLogDir":"/buildlog",
"buildScanLogDir":"/buildscanlog",
"buildImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/buildagent-v1:agent-1.14",
"buildImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/buildagent-v1:agent-arm64-1.14",
"kaniko-default":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:v1.3.0",
"kaniko-amd64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:amd64-v1.3.0",
"kaniko-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:arm64-v1.3.0",
"kaniko-multi-arch":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/kaniko:multi-arch-v1.3.0",
"trivyImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/trivy:0.18.3",
"craneImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/crane:debug"
"trivyImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/trivy:0.18.3-arm64",
"craneImage":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/crane:debug",
"craneImage-arm64":"611260657835.dkr.ecr.ap-southeast-2.amazonaws.com/crane:debug-arm64"
},
"signup-url":"DOMAIN_NAME",
"github":{

View File

@ -113,6 +113,7 @@ configmanager_db.allocationPolicy.insert({
"updatedTime": new Date(),
"defaultPolicy":true,
"name":"default",
"displayName":"default",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGFsbG9jYXRpb25Qb2xpY3k=",
"resources":{
"limits":{
@ -144,6 +145,7 @@ configmanager_db.deploymentPolicy.insert({
"createdTime": new Date(),
"updatedTime": new Date(),
"name":"default-stateless",
"displayName":"default-stateless",
"type":"deployment",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlbGVzcyBkZXBsb3ltZW50UG9saWN5",
"property":{
@ -180,12 +182,13 @@ configmanager_db.deploymentPolicy.insert({
"updatedTime": new Date(),
"defaultPolicy":true,
"name":"default-stateful",
"displayName":"default-stateful",
"type":"stateful-set",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlZnVsIGRlcGxveW1lbnRQb2xpY3k=",
"property":{
"revisionHistory":2,
"statefulset":{
"replicas":5,
"replicas":1,
"updateMethod":"rollingUpdate",
"rollingUpdate":{
"partition":0
@ -206,7 +209,7 @@ configmanager_db.deploymentPolicy.insert({
configmanager_db.createCollection("nwpolicy")
configmanager_db.nwpolicy.createIndex( {"id":1}, { unique: true } )
configmanager_db.nwpolicy.insert({
"accountid":"1",
"accountID":"1",
"project" : [
"prj9e510b72e6738e4635e8541e2681143a5de1"
],
@ -215,6 +218,7 @@ configmanager_db.nwpolicy.insert({
"updatedtime": new Date(),
"defaultPolicy":true,
"name":"default",
"displayName":"default",
"ingress":[
{
"ports":[
@ -264,6 +268,7 @@ configmanager_db.scalingPolicy.insert({
"updatedTime": new Date(),
"defaultPolicy":true,
"name":"default",
"displayName":"default",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHNjYWxpbmdQb2xpY3k=",
"minReplicas":2,
"maxReplicas":4,
@ -299,6 +304,7 @@ configmanager_db.storageClass.insert({
"updatedTime": new Date(),
"defaultPolicy":true,
"name":"default-aws",
"displayName":"default-aws",
"type":"aws",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGF3cyBwcm92aXNpb25Qb2xpY3k=",
"parameter":{
@ -328,6 +334,7 @@ configmanager_db.storageClass.insert({
"updatedTime": new Date(),
"defaultPolicy":true,
"name":"default-gce",
"displayName":"default-gce",
"type":"gce",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGdjZSBwcm92aXNpb25Qb2xpY3k=",
"parameter":{
@ -359,6 +366,7 @@ configmanager_db.storageClass.insert({
"internalTrigger":true,
"type":"azure",
"name":"default-azure",
"displayName":"default-azure",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGF6dXJlIHByb3Zpc2lvblBvbGljeQ==",
"parameter":{
"azureDISK":{
@ -389,6 +397,7 @@ configmanager_db.volumeClaimPolicy.insert({
"updatedtime": new Date(),
"defaultPolicy":true,
"name":"default",
"displayName":"default",
"accessMode":"ReadWriteOnce",
"volumeMode":"Filesystem",
"resources":{

View File

@ -1,14 +1,243 @@
{
"allocationPolicy":{"internalTrigger":true,"name":"default","description":"Z29wYWRkbGUncyBkZWZhdWx0IGFsbG9jYXRpb25Qb2xpY3k=","resources":{"limits":{"memory":"500M","cpu":"500m"},"requests":{"memory":"200M","cpu":"200m"}},"tags":[{"key":"default","value":"default"}]},
"scalingPolicy":{"internalTrigger":true,"name":"default","description":"Z29wYWRkbGUncyBkZWZhdWx0IHNjYWxpbmdQb2xpY3k=","minReplicas":2,"maxReplicas":4,"metric":[{"type":"resource","resource":{"name":"cpu","targetAverageUtilization":70}},{"type":"resource","resource":{"name":"memory","targetAverageUtilization":70}}]},
"networkPolicy":{"internalTrigger":true,"name":"default","ingress":[{"ports":[{"protocol":"TCP","port":22}],"networkPolicyPeer":[{"IPBlock":{"CIDR":"0.0.0.0/0"}}]}],"egress":[{"ports":[{"protocol":"TCP","port":22}],"networkPolicyPeer":[{"IPBlock":{"CIDR":"0.0.0.0/0"}}]}]},
"volumeClaimPolicy":{"internalTrigger":true,"name":"default","accessMode":"ReadWriteOnce","volumeMode":"FileSystem","resources":{"limits":"50Gi","requests":"10Gi"}},
"provisionPolicy-aws":{"internalTrigger":true,"name":"default-aws","type":"aws","description":"Z29wYWRkbGUncyBkZWZhdWx0IGF3cyBwcm92aXNpb25Qb2xpY3k=","parameter":{"awsEBS":{"type":"io1","zones":["ap-southeast-1"],"fsType":"ext4"}},"reclaimPolicy":"delete","tags":[{"key":"default","value":"default"}]},
"provisionPolicy-gce":{"internalTrigger":true,"name":"default-gce","type":"gce","description":"Z29wYWRkbGUncyBkZWZhdWx0IGdjZSBwcm92aXNpb25Qb2xpY3k=","parameter":{"gcePD":{"type":"pd-standard","zones":["us-central1-a"],"replicationType":"none","fsType":"ext4"}},"reclaimPolicy":"delete","tags":[{"key":"default","value":"default"}]},
"provisionPolicy-azure":{"internalTrigger":true,"type":"azure","name":"default-azure","description":"Z29wYWRkbGUncyBkZWZhdWx0IGF6dXJlIHByb3Zpc2lvblBvbGljeQ==","parameter":{"azureDISK":{"storageAccountType":"Standard_LRS","kind":"Managed"}},"reclaimPolicy":"delete","defaultPolicy":true,"tags":[{"key":"default","value":"default"}]},
"deploymentPolicy-stateless":{"internalTrigger":true,"name":"default-stateless","type":"deployment","description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlbGVzcyBkZXBsb3ltZW50UG9saWN5","property":{"revisionHistory":10,"deployment":{"updateMethod":"rollingUpdate","replicas":1,"rollingUpdate":{"maxUnavailable":{"type":0,"intVal":0},"maxSurge":{"type":0,"intVal":1}}}},"tags":[{"key":"default","value":"default"}]},
"deploymentPolicy-stateful":{"internalTrigger":true,"name":"default-stateful","type":"stateful-set","description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlZnVsIGRlcGxveW1lbnRQb2xpY3k=","property":{"revisionHistory":2,"statefulset":{"replicas":5,"updateMethod":"rollingUpdate","rollingUpdate":{"partition":0}}},"tags":[{"key":"default-stateful","value":"default-stateful"}]},
"subscription":{"mode":"saas","subscription":{"deck":{"type":"free"},"propeller":{"type":"free"},"gear":{"type":"free"}}},
"release":{"name":"default","releaseTag":"default","defaultRelease":true},
"project":{"name":"default","organization":"gopaddle","defaultProject":true}
}
"allocationPolicy":{
"internalTrigger":true,
"name":"default",
"displayName":"default",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGFsbG9jYXRpb25Qb2xpY3k=",
"resources":{
"limits":{
"memory":"500M",
"cpu":"500m"
},
"requests":{
"memory":"200M",
"cpu":"200m"
}
},
"tags":[
{
"key":"default",
"value":"default"
}
]
},
"scalingPolicy":{
"internalTrigger":true,
"name":"default",
"displayName":"default",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHNjYWxpbmdQb2xpY3k=",
"minReplicas":2,
"maxReplicas":4,
"metric":[
{
"type":"resource",
"resource":{
"name":"cpu",
"targetAverageUtilization":70
}
},
{
"type":"resource",
"resource":{
"name":"memory",
"targetAverageUtilization":70
}
}
]
},
"networkPolicy":{
"internalTrigger":true,
"name":"default",
"displayName":"default",
"ingress":[
{
"ports":[
{
"protocol":"TCP",
"port":22
}
],
"networkPolicyPeer":[
{
"IPBlock":{
"CIDR":"0.0.0.0/0"
}
}
]
}
],
"egress":[
{
"ports":[
{
"protocol":"TCP",
"port":22
}
],
"networkPolicyPeer":[
{
"IPBlock":{
"CIDR":"0.0.0.0/0"
}
}
]
}
]
},
"volumeClaimPolicy":{
"internalTrigger":true,
"name":"default",
"displayName":"default",
"accessMode":"ReadWriteOnce",
"volumeMode":"FileSystem",
"resources":{
"limits":"50Gi",
"requests":"10Gi"
}
},
"provisionPolicy-aws":{
"internalTrigger":true,
"name":"default-aws",
"displayName":"default-aws",
"type":"aws",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGF3cyBwcm92aXNpb25Qb2xpY3k=",
"parameter":{
"awsEBS":{
"type":"io1",
"zones":[
"ap-southeast-1"
],
"fsType":"ext4"
}
},
"reclaimPolicy":"delete",
"tags":[
{
"key":"default",
"value":"default"
}
]
},
"provisionPolicy-gce":{
"internalTrigger":true,
"name":"default-gce",
"displayName":"default-gce",
"type":"gce",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGdjZSBwcm92aXNpb25Qb2xpY3k=",
"parameter":{
"gcePD":{
"type":"pd-standard",
"zones":[
"us-central1-a"
],
"replicationType":"none",
"fsType":"ext4"
}
},
"reclaimPolicy":"delete",
"tags":[
{
"key":"default",
"value":"default"
}
]
},
"provisionPolicy-azure":{
"internalTrigger":true,
"type":"azure",
"name":"default-azure",
"displayName":"default-azure",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IGF6dXJlIHByb3Zpc2lvblBvbGljeQ==",
"parameter":{
"azureDISK":{
"storageAccountType":"Standard_LRS",
"kind":"Managed"
}
},
"reclaimPolicy":"delete",
"defaultPolicy":true,
"tags":[
{
"key":"default",
"value":"default"
}
]
},
"deploymentPolicy-stateless":{
"internalTrigger":true,
"name":"default-stateless",
"displayName":"default-stateless",
"type":"deployment",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlbGVzcyBkZXBsb3ltZW50UG9saWN5",
"property":{
"revisionHistory":10,
"deployment":{
"updateMethod":"rollingUpdate",
"replicas":1,
"rollingUpdate":{
"maxUnavailable":{
"type":0,
"intVal":0
},
"maxSurge":{
"type":0,
"intVal":1
}
}
}
},
"tags":[
{
"key":"default",
"value":"default"
}
]
},
"deploymentPolicy-stateful":{
"internalTrigger":true,
"name":"default-stateful",
"displayName":"default-stateful",
"type":"stateful-set",
"description":"Z29wYWRkbGUncyBkZWZhdWx0IHN0YXRlZnVsIGRlcGxveW1lbnRQb2xpY3k=",
"property":{
"revisionHistory":2,
"statefulset":{
"replicas":1,
"updateMethod":"rollingUpdate",
"rollingUpdate":{
"partition":0
}
}
},
"tags":[
{
"key":"default-stateful",
"value":"default-stateful"
}
]
},
"subscription":{
"mode":"saas",
"subscription":{
"deck":{
"type":"free"
},
"propeller":{
"type":"free"
},
"gear":{
"type":"free"
}
}
},
"release":{
"name":"default",
"releaseTag":"default",
"defaultRelease":true
},
"project":{
"name":"default",
"organization":"gopaddle",
"defaultProject":true
}
}

View File

@ -3,7 +3,7 @@
"allocationPolicy":"api/%s/v1/%s/allocationPolicy",
"scalingPolicy":"api/%s/v1/%s/scalingPolicy",
"volumeClaimPolicy":"api/%s/%s/volumeClaimPolicy",
"networkPolicy":"api/%s/%s/networkpolicy",
"networkPolicy":"api/%s/v1/%s/networkpolicy",
"deploymentPolicy-stateless":"api/%s/v1/%s/deploymentPolicy",
"deploymentPolicy-stateful":"api/%s/v1/%s/deploymentPolicy",
"provisionPolicy-aws":"api/%s/v1/%s/storageClass",
@ -24,7 +24,7 @@
"allocationPolicy":"api-internal/%s/v1/%s/allocationPolicy",
"scalingPolicy":"api-internal/%s/v1/%s/scalingPolicy",
"volumeClaimPolicy":"api-internal/%s/%s/volumeClaimPolicy",
"networkPolicy":"api-internal/%s/%s/networkpolicy",
"networkPolicy":"api-internal/%s/v1/%s/networkpolicy",
"deploymentPolicy":"api-internal/%s/v1/%s/deploymentPolicy",
"provisionPolicy":"api-internal/%s/v1/%s/storageClass",
"volume":"api-internal/%s/v1/%s/volume",

View File

@ -0,0 +1,129 @@
activitymanager:
activitymanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.27
alertmanager:
alertmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.14
appscanner:
appscanner:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.9
appworker:
appworker:
envMap:
NODE_NAME: spec.nodeName
rabbitmq_user: admin
imageTag: 4.2.lite.27
cloudmanager:
cloudmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.13
clustermanager:
clustermanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.26
clustertemplatemanager:
clustertemplatemanager:
imageTag: 4.2.lite.4
configmanager:
configmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.21
costmanager:
costmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.16
deploymentmanager:
deploymanager:
envMap:
NODE_NAME: spec.nodeName
rabbitmq_user: admin
imageTag: 4.2.lite.32
domainmanager:
domainmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.10
esearch:
esearch:
envMap:
discovery.type: single-node
imageTag: 1.7.3
gateway:
gateway:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.13
gpkubeux:
envMap:
HOST: 0.0.0.0
imageTag: 4.2.lite.85
gpReleaseVersion: 4.2.4
gpcore:
core:
envMap:
NODE_IP: rabbitmq-build-external.$(NAMESPACE).svc.cluster.local
NODE_NAME: spec.nodeName
NODE_PORT: "5672"
imageTag: 4.2.lite.46
influxdb:
influxdb:
envMap:
INFLUXDB_ADMIN_PASSWORD: cGFzc3dvcmQ
INFLUXDB_ADMIN_USER: admin
INFLUXDB_HTTP_AUTH_ENABLED: "true"
imageTag: 1.7.10
mongodb:
mongo:
envMap:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_LITE_USERNAME: lite
imageTag: 4.0.4
mongoInit:
imageTag: 4.0.4
nodechecker:
nodechecker:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.17
paymentmanager:
paymentmanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.5
rabbitmq:
rabbitmq:
envMap:
RABBITMQ_DEFAULT_PASS: cGFzc3dvcmQ
RABBITMQ_DEFAULT_USER: admin
imageTag: 3.8.5
redis:
redis:
imageTag: 3.2-alpine
usermanager:
usermanager:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.23
webhook:
webhook:
envMap:
APP_NAME: metadata.namespace
HOST_IP: status.hostIP
NODE_NAME: spec.nodeName
REPLICA_IP: status.podIP
imageTag: 4.2.lite.7
marketplace:
marketplace:
envMap:
NODE_NAME: spec.nodeName
imageTag: 4.2.lite.14

View File

@ -176,6 +176,15 @@ BASE_SERVER for gopaddle ui
{{- end -}}
{{- end -}}
{{/*
NODE_IP_ENDPOINT for gopaddle GPCTL
*/}}
{{- define "gopaddle.clusterNodeIP" -}}
{{- if eq (.Values.global.cluster.type | toString) "docker" -}}
{{- printf "http://%s:30004" .Values.global.cluster.nodeIP -}}
{{- end -}}
{{- end -}}
{{/*
cluster provider handdle appworker
*/}}
@ -751,4 +760,70 @@ routingType for gopaddle
{{- $repoPath := .Values.global.airgapped.imageRegistryInfo.repoPath | trimPrefix "/" | trimSuffix "/" -}}
{{- printf "%s/%s/controller:v1.3.0" $registryUrl $repoPath -}}
{{- end -}}
{{- end -}}
{{/* mongo */}}
{{- define "gopaddle.mongo" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "mongo" -}}
{{- else -}}
{{- printf "arm64v8/mongo" -}}
{{- end -}}
{{- end -}}
{{/* influxdb */}}
{{- define "gopaddle.influxdb" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "influxdb" -}}
{{- else -}}
{{- printf "arm64v8/influxdb" -}}
{{- end -}}
{{- end -}}
{{/* esearch */}}
{{- define "gopaddle.esearch" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "elasticsearch" -}}
{{- else -}}
{{- printf "arm64v8/elasticsearch" -}}
{{- end -}}
{{- end -}}
{{/* redis */}}
{{- define "gopaddle.redis" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "redis" -}}
{{- else -}}
{{- printf "arm64v8/redis" -}}
{{- end -}}
{{- end -}}
{{/* rabbitmq */}}
{{- define "gopaddle.rabbitmq" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "rabbitmq" -}}
{{- else -}}
{{- printf "arm64v8/rabbitmq" -}}
{{- end -}}
{{- end -}}
{{/* defaultbackend */}}
{{- define "gopaddle.defaultbackend" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- printf "defaultbackend" -}}
{{- else -}}
{{- printf "defaultbackend-arm64" -}}
{{- end -}}
{{- end -}}
{{/* nginx */}}
{{- define "gopaddle.esearch.imageTag" -}}
{{- if ne (.Values.global.installer.arch | toString) "arm64" -}}
{{- .Values.esearch.esearch.imageTag -}}
{{- else -}}
{{- printf "7.8.0" -}}
{{- end -}}
{{- end -}}

View File

@ -14,3 +14,4 @@ data:
{{ (.Files.Glob "files/appscanner/appscanner/profiles-kube.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appscanner/appscanner/service_directory-kube.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appscanner/appscanner/error_config.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appscanner/appscanner/versionMatrix.json").AsConfig | indent 2 }}

View File

@ -98,8 +98,8 @@ spec:
timeoutSeconds: 10
resources:
limits:
cpu: 100m
memory: 100M
cpu: 300m
memory: 400M
requests:
cpu: 10m
memory: 50M

View File

@ -16,4 +16,6 @@ data:
{{ (.Files.Glob "files/appworker/appworker/versionMatrix.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/validation.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/error_config.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/Chart.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/Chart.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/clusterrole.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/appworker/appworker/helper.tpl").AsConfig | indent 2 }}

View File

@ -114,10 +114,10 @@ spec:
timeoutSeconds: 10
resources:
limits:
cpu: 500m
memory: 200M
cpu: 300m
memory: 400M
requests:
cpu: 50m
cpu: 10m
memory: 50M
securityContext: {}
volumeMounts:

View File

@ -16,4 +16,6 @@ data:
{{ (.Files.Glob "files/deploymentmanager/deploymanager/validation.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/error_config.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/internal_api.json").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/Chart.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/Chart.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/clusterrole.yaml").AsConfig | indent 2 }}
{{ (.Files.Glob "files/deploymentmanager/deploymanager/helper.tpl").AsConfig | indent 2 }}

View File

@ -117,8 +117,8 @@ spec:
timeoutSeconds: 10
resources:
limits:
cpu: 500m
memory: 200M
cpu: 300m
memory: 400M
requests:
cpu: 10m
memory: 50M

View File

@ -49,11 +49,7 @@ spec:
envFrom:
- secretRef:
name: esearch-esearch-envsecret-14sx3
{{- if .Values.global.airgapped.enabled }}
image: {{ template "gopaddle.registryUrl" . }}/elasticsearch:{{ .Values.esearch.esearch.imageTag }}
{{- else }}
image: elasticsearch:{{ .Values.esearch.esearch.imageTag }}
{{- end }}
image: {{ template "gopaddle.esearch" . }}:{{ template "gopaddle.esearch.imageTag" . }}
name: esearch
ports:
- containerPort: 9200

View File

@ -107,7 +107,9 @@ spec:
sed -i 's,<\/head>,<script>window.VUE_APP_SERVER="'$BASE_SERVER'"<\/script><\/head>,g' index.html
sed -i 's/<\/head>/<script>window.VUE_APP_GP_RELEASE="'$GP_RELEASE'"<\/script><\/head>/g' index.html
sed -i 's/<\/head>/<script>window.VUE_APP_INSTALL_SOURCE="'$INSTALL_SOURCE'"<\/script><\/head>/g' index.html
serve -s -l tcp://0.0.0.0:8080 > current_ui.log
sed -i 's/<\/head>/<script>window.VUE_APP_GP_CLUSTER_TYPE="'$CLUSTER_TYPE'"<\/script><\/head>/g' index.html
sed -i 's,<\/head>,<script>window.VUE_APP_GP_NODE_IP="'$NODE_IP'"<\/script><\/head>,g' index.html
/node_modules/.bin/serve -s -l tcp://0.0.0.0:8080 > current_ui.log
tail -f current_ui.log
command:
- /bin/sh
@ -120,7 +122,19 @@ spec:
- name: BASE_SERVER
value: {{ template "gopaddle.baseServer" . }}
- name: INSTALL_SOURCE
value: {{quote .Values.global.installer.edition }}
value: {{quote (lower .Values.global.installer.edition) }}
- name: NODE_IP
{{- if eq (.Values.global.cluster.type | toString) "docker" }}
value: {{ template "gopaddle.clusterNodeIP" . }}
{{- else }}
value: {{ template "gopaddle.baseServer" . }}
{{- end }}
- name: CLUSTER_TYPE
{{- if eq (.Values.global.cluster.type | toString) "docker" }}
value: docker
{{- else }}
value: standard
{{- end }}
envFrom:
- secretRef:
name: gateway-gpkubeux-envsecret-ai5wl

View File

@ -53,9 +53,17 @@ spec:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_PORT
{{- if eq (.Values.global.installer.edition | toString) "Lite" }}
value: "5672"
{{- else }}
value: {{ template "gopaddle.gpcore.port" . }}
{{- end }}
- name: NODE_IP
{{- if eq (.Values.global.installer.edition | toString) "Lite" }}
value: rabbitmq-build.{{ .Release.Namespace }}.svc.cluster.local
{{- else }}
value: {{ template "gopaddle.gpcore.ip" . }}
{{- end }}
- name: NODE_NAME
valueFrom:
fieldRef:
@ -132,10 +140,10 @@ spec:
timeoutSeconds: 10
resources:
limits:
cpu: 500m
memory: 200M
cpu: 300m
memory: 400M
requests:
cpu: 50m
cpu: 10m
memory: 50M
securityContext: {}
volumeMounts:

View File

@ -49,11 +49,7 @@ spec:
envFrom:
- secretRef:
name: influxdb-influxdb-envsecret-3nazp
{{- if .Values.global.airgapped.enabled }}
image: {{ template "gopaddle.registryUrl" . }}/influxdb:{{ .Values.influxdb.influxdb.imageTag }}
{{- else }}
image: influxdb:{{ .Values.influxdb.influxdb.imageTag }}
{{- end }}
image: {{ template "gopaddle.influxdb" . }}:{{ .Values.influxdb.influxdb.imageTag }}
name: influxdb
ports:
- containerPort: 8086

View File

@ -24,7 +24,7 @@ spec:
released-by: gopaddle
spec:
containers:
- image: {{ template "gopaddle.googleContainer.registryUrl" . }}/defaultbackend:1.4
- image: {{ template "gopaddle.googleContainer.registryUrl" . }}/{{ template "gopaddle.defaultbackend" . }}:1.4
livenessProbe:
httpGet:
path: /healthz

View File

@ -53,11 +53,7 @@ spec:
envFrom:
- secretRef:
name: mongodb-mongo-envsecret-bd5xi
{{- if .Values.global.airgapped.enabled }}
image: {{ template "gopaddle.registryUrl" . }}/mongo:{{ .Values.mongodb.mongo.imageTag }}
{{- else }}
image: mongo:{{ .Values.mongodb.mongo.imageTag }}
{{- end }}
image: {{ template "gopaddle.mongo" . }}:{{ .Values.mongodb.mongo.imageTag }}
name: mongo
ports:
- containerPort: 27017
@ -93,11 +89,7 @@ spec:
envFrom:
- secretRef:
name: mongodb-mongo-init-envsecret-b99qs
{{- if .Values.global.airgapped.enabled }}
image: {{ template "gopaddle.registryUrl" . }}/mongo:{{ .Values.mongodb.mongoInit.imageTag }}
{{- else }}
image: mongo:{{ .Values.mongodb.mongoInit.imageTag }}
{{- end }}
image: {{ template "gopaddle.mongo" . }}:{{ .Values.mongodb.mongoInit.imageTag }}
name: mongo-init
resources:
limits:

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