diff --git a/assets/argo/argo-cd-5.26.1.tgz b/assets/argo/argo-cd-5.26.1.tgz
new file mode 100644
index 000000000..8f30907b1
Binary files /dev/null and b/assets/argo/argo-cd-5.26.1.tgz differ
diff --git a/assets/bitnami/kafka-21.4.0.tgz b/assets/bitnami/kafka-21.4.0.tgz
new file mode 100644
index 000000000..afcd98cf2
Binary files /dev/null and b/assets/bitnami/kafka-21.4.0.tgz differ
diff --git a/assets/bitnami/postgresql-12.2.3.tgz b/assets/bitnami/postgresql-12.2.3.tgz
new file mode 100644
index 000000000..92e3e6793
Binary files /dev/null and b/assets/bitnami/postgresql-12.2.3.tgz differ
diff --git a/assets/bitnami/redis-17.8.5.tgz b/assets/bitnami/redis-17.8.5.tgz
new file mode 100644
index 000000000..7530cca85
Binary files /dev/null and b/assets/bitnami/redis-17.8.5.tgz differ
diff --git a/assets/bitnami/tomcat-10.5.19.tgz b/assets/bitnami/tomcat-10.5.19.tgz
new file mode 100644
index 000000000..a45a496a1
Binary files /dev/null and b/assets/bitnami/tomcat-10.5.19.tgz differ
diff --git a/assets/bitnami/wordpress-15.2.54.tgz b/assets/bitnami/wordpress-15.2.54.tgz
new file mode 100644
index 000000000..612cafe60
Binary files /dev/null and b/assets/bitnami/wordpress-15.2.54.tgz differ
diff --git a/assets/datadog/datadog-3.19.2.tgz b/assets/datadog/datadog-3.19.2.tgz
new file mode 100644
index 000000000..0cde9675e
Binary files /dev/null and b/assets/datadog/datadog-3.19.2.tgz differ
diff --git a/assets/gopaddle/gopaddle-4.2.6.tgz b/assets/gopaddle/gopaddle-4.2.6.tgz
new file mode 100644
index 000000000..749c8e246
Binary files /dev/null and b/assets/gopaddle/gopaddle-4.2.6.tgz differ
diff --git a/assets/haproxy/haproxy-1.29.2.tgz b/assets/haproxy/haproxy-1.29.2.tgz
new file mode 100644
index 000000000..417d3eb40
Binary files /dev/null and b/assets/haproxy/haproxy-1.29.2.tgz differ
diff --git a/assets/intel/tcs-issuer-0.5.0.tgz b/assets/intel/tcs-issuer-0.5.0.tgz
new file mode 100644
index 000000000..cb40f1c8b
Binary files /dev/null and b/assets/intel/tcs-issuer-0.5.0.tgz differ
diff --git a/assets/jaeger/jaeger-operator-2.41.0.tgz b/assets/jaeger/jaeger-operator-2.41.0.tgz
new file mode 100644
index 000000000..9568ca276
Binary files /dev/null and b/assets/jaeger/jaeger-operator-2.41.0.tgz differ
diff --git a/assets/jenkins/jenkins-4.3.8.tgz b/assets/jenkins/jenkins-4.3.8.tgz
new file mode 100644
index 000000000..924c7ebcf
Binary files /dev/null and b/assets/jenkins/jenkins-4.3.8.tgz differ
diff --git a/assets/jfrog/artifactory-ha-107.55.7.tgz b/assets/jfrog/artifactory-ha-107.55.7.tgz
new file mode 100644
index 000000000..b190710b9
Binary files /dev/null and b/assets/jfrog/artifactory-ha-107.55.7.tgz differ
diff --git a/assets/jfrog/artifactory-jcr-107.55.7.tgz b/assets/jfrog/artifactory-jcr-107.55.7.tgz
new file mode 100644
index 000000000..7d4b262b7
Binary files /dev/null and b/assets/jfrog/artifactory-jcr-107.55.7.tgz differ
diff --git a/assets/kubecost/cost-analyzer-1.101.0.tgz b/assets/kubecost/cost-analyzer-1.101.0.tgz
index 69af9c825..ee0e7f510 100644
Binary files a/assets/kubecost/cost-analyzer-1.101.0.tgz and b/assets/kubecost/cost-analyzer-1.101.0.tgz differ
diff --git a/assets/kubecost/cost-analyzer-1.101.2.tgz b/assets/kubecost/cost-analyzer-1.101.2.tgz
new file mode 100644
index 000000000..abca574d5
Binary files /dev/null and b/assets/kubecost/cost-analyzer-1.101.2.tgz differ
diff --git a/assets/percona/psmdb-db-1.14.0.tgz b/assets/percona/psmdb-db-1.14.0.tgz
new file mode 100644
index 000000000..eeb67de8b
Binary files /dev/null and b/assets/percona/psmdb-db-1.14.0.tgz differ
diff --git a/assets/percona/psmdb-operator-1.14.0.tgz b/assets/percona/psmdb-operator-1.14.0.tgz
new file mode 100644
index 000000000..5145eda32
Binary files /dev/null and b/assets/percona/psmdb-operator-1.14.0.tgz differ
diff --git a/assets/redpanda/redpanda-3.0.3.tgz b/assets/redpanda/redpanda-3.0.3.tgz
new file mode 100644
index 000000000..50a472380
Binary files /dev/null and b/assets/redpanda/redpanda-3.0.3.tgz differ
diff --git a/assets/sysdig/sysdig-1.15.79.tgz b/assets/sysdig/sysdig-1.15.79.tgz
new file mode 100644
index 000000000..c1ccda08b
Binary files /dev/null and b/assets/sysdig/sysdig-1.15.79.tgz differ
diff --git a/charts/argo/argo-cd/Chart.yaml b/charts/argo/argo-cd/Chart.yaml
index 8930e5c0a..8c62d00dc 100644
--- a/charts/argo/argo-cd/Chart.yaml
+++ b/charts/argo/argo-cd/Chart.yaml
@@ -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
diff --git a/charts/argo/argo-cd/README.md b/charts/argo/argo-cd/README.md
index b5e4adba0..9606ee6c3 100644
--- a/charts/argo/argo-cd/README.md
+++ b/charts/argo/argo-cd/README.md
@@ -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 |
diff --git a/charts/argo/argo-cd/templates/argocd-configs/argocd-cmp-cm.yaml b/charts/argo/argo-cd/templates/argocd-configs/argocd-cmp-cm.yaml
new file mode 100644
index 000000000..39a6db6b6
--- /dev/null
+++ b/charts/argo/argo-cd/templates/argocd-configs/argocd-cmp-cm.yaml
@@ -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 }}
diff --git a/charts/argo/argo-cd/values.yaml b/charts/argo/argo-cd/values.yaml
index a5b5a9899..c1a693a4e 100644
--- a/charts/argo/argo-cd/values.yaml
+++ b/charts/argo/argo-cd/values.yaml
@@ -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: {}
diff --git a/charts/bitnami/kafka/Chart.yaml b/charts/bitnami/kafka/Chart.yaml
index b5a2f8e62..28a59214e 100644
--- a/charts/bitnami/kafka/Chart.yaml
+++ b/charts/bitnami/kafka/Chart.yaml
@@ -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
diff --git a/charts/bitnami/kafka/README.md b/charts/bitnami/kafka/README.md
index b863f7d7b..63a31a4d2 100644
--- a/charts/bitnami/kafka/README.md
+++ b/charts/bitnami/kafka/README.md
@@ -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
diff --git a/charts/bitnami/kafka/templates/_helpers.tpl b/charts/bitnami/kafka/templates/_helpers.tpl
index f36925013..1b4820189 100644
--- a/charts/bitnami/kafka/templates/_helpers.tpl
+++ b/charts/bitnami/kafka/templates/_helpers.tpl
@@ -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 -}}
\ No newline at end of file
diff --git a/charts/bitnami/kafka/templates/scripts-configmap.yaml b/charts/bitnami/kafka/templates/scripts-configmap.yaml
index db3d6c229..472483c2f 100644
--- a/charts/bitnami/kafka/templates/scripts-configmap.yaml
+++ b/charts/bitnami/kafka/templates/scripts-configmap.yaml
@@ -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 }}
diff --git a/charts/bitnami/kafka/templates/svc-external-access.yaml b/charts/bitnami/kafka/templates/svc-external-access.yaml
index 8d77a4710..0898756dc 100644
--- a/charts/bitnami/kafka/templates/svc-external-access.yaml
+++ b/charts/bitnami/kafka/templates/svc-external-access.yaml
@@ -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 }}
diff --git a/charts/bitnami/kafka/values.yaml b/charts/bitnami/kafka/values.yaml
index d0ab66664..ef9d10ab4 100644
--- a/charts/bitnami/kafka/values.yaml
+++ b/charts/bitnami/kafka/values.yaml
@@ -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
diff --git a/charts/bitnami/postgresql/Chart.lock b/charts/bitnami/postgresql/Chart.lock
index 5f647678a..2b9dadc72 100644
--- a/charts/bitnami/postgresql/Chart.lock
+++ b/charts/bitnami/postgresql/Chart.lock
@@ -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"
diff --git a/charts/bitnami/postgresql/Chart.yaml b/charts/bitnami/postgresql/Chart.yaml
index 0c98c5dcf..33a46c593 100644
--- a/charts/bitnami/postgresql/Chart.yaml
+++ b/charts/bitnami/postgresql/Chart.yaml
@@ -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
diff --git a/charts/bitnami/postgresql/README.md b/charts/bitnami/postgresql/README.md
index 55048e985..89de9e4c7 100644
--- a/charts/bitnami/postgresql/README.md
+++ b/charts/bitnami/postgresql/README.md
@@ -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 \
diff --git a/charts/bitnami/postgresql/charts/common/Chart.yaml b/charts/bitnami/postgresql/charts/common/Chart.yaml
index 031ee0fd4..8583e628a 100644
--- a/charts/bitnami/postgresql/charts/common/Chart.yaml
+++ b/charts/bitnami/postgresql/charts/common/Chart.yaml
@@ -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
diff --git a/charts/bitnami/postgresql/charts/common/README.md b/charts/bitnami/postgresql/charts/common/README.md
index 8f3bda37d..825639f2a 100644
--- a/charts/bitnami/postgresql/charts/common/README.md
+++ b/charts/bitnami/postgresql/charts/common/README.md
@@ -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® 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® 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/
+-
+-
+-
## 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
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/charts/bitnami/postgresql/charts/common/templates/_images.tpl b/charts/bitnami/postgresql/charts/common/templates/_images.tpl
index b06071492..2e7b15151 100644
--- a/charts/bitnami/postgresql/charts/common/templates/_images.tpl
+++ b/charts/bitnami/postgresql/charts/common/templates/_images.tpl
@@ -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 -}}
{{/*
diff --git a/charts/bitnami/postgresql/values.yaml b/charts/bitnami/postgresql/values.yaml
index f770b9878..65c09d49a 100644
--- a/charts/bitnami/postgresql/values.yaml
+++ b/charts/bitnami/postgresql/values.yaml
@@ -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.
diff --git a/charts/bitnami/redis/Chart.yaml b/charts/bitnami/redis/Chart.yaml
index 5d17a25a4..f57ba73a6 100644
--- a/charts/bitnami/redis/Chart.yaml
+++ b/charts/bitnami/redis/Chart.yaml
@@ -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
diff --git a/charts/bitnami/redis/templates/_helpers.tpl b/charts/bitnami/redis/templates/_helpers.tpl
index 90064e80c..b3a47ffd2 100644
--- a/charts/bitnami/redis/templates/_helpers.tpl
+++ b/charts/bitnami/redis/templates/_helpers.tpl
@@ -229,14 +229,16 @@ otherwise it generates a random value.
Return Redis® 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" -}}
diff --git a/charts/bitnami/tomcat/Chart.lock b/charts/bitnami/tomcat/Chart.lock
index 7e6f13198..b477bc55a 100644
--- a/charts/bitnami/tomcat/Chart.lock
+++ b/charts/bitnami/tomcat/Chart.lock
@@ -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"
diff --git a/charts/bitnami/tomcat/Chart.yaml b/charts/bitnami/tomcat/Chart.yaml
index e7b7a5db9..06da11219 100644
--- a/charts/bitnami/tomcat/Chart.yaml
+++ b/charts/bitnami/tomcat/Chart.yaml
@@ -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
diff --git a/charts/bitnami/tomcat/README.md b/charts/bitnami/tomcat/README.md
index a800d46f2..b8f20dae2 100644
--- a/charts/bitnami/tomcat/README.md
+++ b/charts/bitnami/tomcat/README.md
@@ -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 | `[]` |
diff --git a/charts/bitnami/tomcat/charts/common/Chart.yaml b/charts/bitnami/tomcat/charts/common/Chart.yaml
index 031ee0fd4..8583e628a 100644
--- a/charts/bitnami/tomcat/charts/common/Chart.yaml
+++ b/charts/bitnami/tomcat/charts/common/Chart.yaml
@@ -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
diff --git a/charts/bitnami/tomcat/charts/common/README.md b/charts/bitnami/tomcat/charts/common/README.md
index 8f3bda37d..825639f2a 100644
--- a/charts/bitnami/tomcat/charts/common/README.md
+++ b/charts/bitnami/tomcat/charts/common/README.md
@@ -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® 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® 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/
+-
+-
+-
## 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
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/charts/bitnami/tomcat/charts/common/templates/_images.tpl b/charts/bitnami/tomcat/charts/common/templates/_images.tpl
index b06071492..2e7b15151 100644
--- a/charts/bitnami/tomcat/charts/common/templates/_images.tpl
+++ b/charts/bitnami/tomcat/charts/common/templates/_images.tpl
@@ -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 -}}
{{/*
diff --git a/charts/bitnami/tomcat/values.yaml b/charts/bitnami/tomcat/values.yaml
index a45319133..07c1bfe29 100644
--- a/charts/bitnami/tomcat/values.yaml
+++ b/charts/bitnami/tomcat/values.yaml
@@ -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'
diff --git a/charts/bitnami/wordpress/Chart.lock b/charts/bitnami/wordpress/Chart.lock
index aa7ce6ee2..2f32c99c5 100644
--- a/charts/bitnami/wordpress/Chart.lock
+++ b/charts/bitnami/wordpress/Chart.lock
@@ -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"
diff --git a/charts/bitnami/wordpress/Chart.yaml b/charts/bitnami/wordpress/Chart.yaml
index 5997de609..ddaae7390 100644
--- a/charts/bitnami/wordpress/Chart.yaml
+++ b/charts/bitnami/wordpress/Chart.yaml
@@ -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
diff --git a/charts/bitnami/wordpress/README.md b/charts/bitnami/wordpress/README.md
index e4cb19ce7..9d4a452db 100644
--- a/charts/bitnami/wordpress/README.md
+++ b/charts/bitnami/wordpress/README.md
@@ -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 | `[]` |
diff --git a/charts/bitnami/wordpress/charts/memcached/Chart.lock b/charts/bitnami/wordpress/charts/memcached/Chart.lock
index 157cd828e..dcda6c34c 100644
--- a/charts/bitnami/wordpress/charts/memcached/Chart.lock
+++ b/charts/bitnami/wordpress/charts/memcached/Chart.lock
@@ -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"
diff --git a/charts/bitnami/wordpress/charts/memcached/Chart.yaml b/charts/bitnami/wordpress/charts/memcached/Chart.yaml
index fd6360443..0e87650b7 100644
--- a/charts/bitnami/wordpress/charts/memcached/Chart.yaml
+++ b/charts/bitnami/wordpress/charts/memcached/Chart.yaml
@@ -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
diff --git a/charts/bitnami/wordpress/charts/memcached/README.md b/charts/bitnami/wordpress/charts/memcached/README.md
index 96ce74aef..0911c0574 100644
--- a/charts/bitnami/wordpress/charts/memcached/README.md
+++ b/charts/bitnami/wordpress/charts/memcached/README.md
@@ -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.
\ No newline at end of file
diff --git a/charts/bitnami/wordpress/charts/memcached/charts/common/Chart.yaml b/charts/bitnami/wordpress/charts/memcached/charts/common/Chart.yaml
index 031ee0fd4..8583e628a 100644
--- a/charts/bitnami/wordpress/charts/memcached/charts/common/Chart.yaml
+++ b/charts/bitnami/wordpress/charts/memcached/charts/common/Chart.yaml
@@ -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
diff --git a/charts/bitnami/wordpress/charts/memcached/charts/common/README.md b/charts/bitnami/wordpress/charts/memcached/charts/common/README.md
index 8f3bda37d..825639f2a 100644
--- a/charts/bitnami/wordpress/charts/memcached/charts/common/README.md
+++ b/charts/bitnami/wordpress/charts/memcached/charts/common/README.md
@@ -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® 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® 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/
+-
+-
+-
## 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
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/charts/bitnami/wordpress/charts/memcached/charts/common/templates/_images.tpl b/charts/bitnami/wordpress/charts/memcached/charts/common/templates/_images.tpl
index b06071492..2e7b15151 100644
--- a/charts/bitnami/wordpress/charts/memcached/charts/common/templates/_images.tpl
+++ b/charts/bitnami/wordpress/charts/memcached/charts/common/templates/_images.tpl
@@ -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 -}}
{{/*
diff --git a/charts/bitnami/wordpress/charts/memcached/templates/statefulset.yaml b/charts/bitnami/wordpress/charts/memcached/templates/statefulset.yaml
index a6c648f02..fc5e0a28e 100644
--- a/charts/bitnami/wordpress/charts/memcached/templates/statefulset.yaml
+++ b/charts/bitnami/wordpress/charts/memcached/templates/statefulset.yaml
@@ -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 }}
diff --git a/charts/bitnami/wordpress/charts/memcached/values.yaml b/charts/bitnami/wordpress/charts/memcached/values.yaml
index 126cb1e21..e116d3c3c 100644
--- a/charts/bitnami/wordpress/charts/memcached/values.yaml
+++ b/charts/bitnami/wordpress/charts/memcached/values.yaml
@@ -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.
diff --git a/charts/bitnami/wordpress/values.yaml b/charts/bitnami/wordpress/values.yaml
index c434613c3..13f20b567 100644
--- a/charts/bitnami/wordpress/values.yaml
+++ b/charts/bitnami/wordpress/values.yaml
@@ -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.
diff --git a/charts/datadog/datadog/CHANGELOG.md b/charts/datadog/datadog/CHANGELOG.md
index ba6c3cfe4..d029b47d2 100644
--- a/charts/datadog/datadog/CHANGELOG.md
+++ b/charts/datadog/datadog/CHANGELOG.md
@@ -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
diff --git a/charts/datadog/datadog/Chart.yaml b/charts/datadog/datadog/Chart.yaml
index 68a84b233..43cbb18c4 100644
--- a/charts/datadog/datadog/Chart.yaml
+++ b/charts/datadog/datadog/Chart.yaml
@@ -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
diff --git a/charts/datadog/datadog/README.md b/charts/datadog/datadog/README.md
index dfd80b266..a261b5825 100644
--- a/charts/datadog/datadog/README.md
+++ b/charts/datadog/datadog/README.md
@@ -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/).
diff --git a/charts/datadog/datadog/templates/_containers-init-windows.yaml b/charts/datadog/datadog/templates/_containers-init-windows.yaml
index fcac4fa50..64744bc82 100644
--- a/charts/datadog/datadog/templates/_containers-init-windows.yaml
+++ b/charts/datadog/datadog/templates/_containers-init-windows.yaml
@@ -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
diff --git a/charts/gopaddle/gopaddle/Chart.yaml b/charts/gopaddle/gopaddle/Chart.yaml
index 92862087a..795b271ba 100644
--- a/charts/gopaddle/gopaddle/Chart.yaml
+++ b/charts/gopaddle/gopaddle/Chart.yaml
@@ -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
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/Chart.yaml b/charts/gopaddle/gopaddle/charts/gp-core/Chart.yaml
index 25aa48d64..620166e08 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/Chart.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/Chart.yaml
@@ -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
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/service_directory-kube.json b/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/service_directory-kube.json
index 386215f06..28017b069 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/service_directory-kube.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/service_directory-kube.json
@@ -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"
+ }
}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/versionMatrix.json b/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/versionMatrix.json
new file mode 100644
index 000000000..d2bb81995
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appscanner/appscanner/versionMatrix.json
@@ -0,0 +1,1703 @@
+{
+ "supportedVersions": [
+ "v1.6",
+ "v1.7",
+ "v1.8",
+ "v1.9",
+ "v1.10",
+ "v1.11",
+ "v1.12",
+ "v1.13",
+ "v1.14",
+ "v1.15",
+ "v1.16",
+ "v1.17",
+ "v1.18",
+ "v1.19",
+ "v1.20",
+ "v1.21",
+ "v1.22",
+ "v1.23",
+ "v1.24",
+ "v1.25",
+ "v1.26"
+ ],
+ "v1.6": {
+ "deployment": [
+ "apps/v1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.7": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.8": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.9": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.10": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.11": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.12": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.13": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.14": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.15": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.16": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.17": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.18": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.19": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.20": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.21": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "extensions/v1beta1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.22": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "networking.k8s.io/v1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.23": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "networking.k8s.io/v1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.24": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "networking.k8s.io/v1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.25": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "networking.k8s.io/v1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ },
+ "v1.26": {
+ "deployment": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "rollBack": [
+ "extensions/v1beta1"
+ ],
+ "statefulSet": [
+ "apps/v1",
+ "apps/v1beta1"
+ ],
+ "daemonSet": [
+ "apps/v1"
+ ],
+ "replicaSet": [
+ "apps/v1",
+ "extensions/v1beta1"
+ ],
+ "controllerRevision": [
+ "apps/v1",
+ "apps/v1beta1",
+ "apps/v1beta2"
+ ],
+ "namespace": [
+ "v1"
+ ],
+ "serviceAccount": [
+ "v1"
+ ],
+ "networking": [
+ "networking.k8s.io/v1"
+ ],
+ "service": [
+ "v1"
+ ],
+ "pod": [
+ "v1"
+ ],
+ "config": [
+ "v1"
+ ],
+ "secret": [
+ "v1"
+ ],
+ "ingress": [
+ "networking.k8s.io/v1"
+ ],
+ "persistentVolume": [
+ "v1"
+ ],
+ "persistentVolumeClaim": [
+ "v1"
+ ],
+ "storageClass": [
+ "storage.k8s.io/v1"
+ ],
+ "autoscaling": [
+ "autoscaling/v1"
+ ],
+ "role": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "clusterRole": [
+ "rbac.authorization.k8s.io/v1beta1",
+ "rbac.authorization.k8s.io/v1"
+ ],
+ "node": [
+ "v1"
+ ],
+ "CustomResourceDefinition":[
+ "apiextensions.k8s.io/v1beta1"
+ ],
+ "CustomConfigMap":[
+ "configurator.gopaddle.io/v1alpha1"
+ ],
+ "CustomSecret":[
+ "configurator.gopaddle.io/v1alpha1"
+ ]
+ }
+}
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/Chart.yaml b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/Chart.yaml
index 00a17a6dc..7f931438d 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/Chart.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/Chart.yaml
@@ -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
\ No newline at end of file
+appVersion: APP_VERSION
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/clusterrole.yaml b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/clusterrole.yaml
new file mode 100644
index 000000000..4f75f6d47
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/clusterrole.yaml
@@ -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 }}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/error_config.json b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/error_config.json
index 977250f3d..147c38262 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/error_config.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/error_config.json
@@ -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'",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/helper.tpl b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/helper.tpl
new file mode 100644
index 000000000..9cf14fd52
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/helper.tpl
@@ -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 -}}
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/internal_api.json b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/internal_api.json
index 8ae410a66..a1cea3848 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/internal_api.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/appworker/appworker/internal_api.json
@@ -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",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/amazon-eks-vpc-private-public.yaml b/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/amazon-eks-vpc-private-public.yaml
index 3b56cce2e..6b0fb7b19 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/amazon-eks-vpc-private-public.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/amazon-eks-vpc-private-public.yaml
@@ -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:
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/service_directory-kube.json b/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/service_directory-kube.json
index b30155656..b44893dc6 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/service_directory-kube.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/clustermanager/clustermanager/service_directory-kube.json
@@ -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"
}
-
}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/error_config.json b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/error_config.json
index d0dd7e5a6..27aff1cc2 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/error_config.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/error_config.json
@@ -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'",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/service_directory-kube.json b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/service_directory-kube.json
index e432c438c..e053a36a6 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/service_directory-kube.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/service_directory-kube.json
@@ -46,5 +46,9 @@
"notification.ep":{
"host":"activitymanager",
"port":"8009"
+ },
+ "domain.ep":{
+ "host":"domainmanager",
+ "port":"8004"
}
}
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/validation.json b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/validation.json
index 343a5d635..6a9104d75 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/validation.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/configmanager/configmanager/validation.json
@@ -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": [
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/Chart.yaml b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/Chart.yaml
index 00a17a6dc..7f931438d 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/Chart.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/Chart.yaml
@@ -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
\ No newline at end of file
+appVersion: APP_VERSION
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/clusterrole.yaml b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/clusterrole.yaml
new file mode 100644
index 000000000..4f75f6d47
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/clusterrole.yaml
@@ -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 }}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/error_config.json b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/error_config.json
index 2d2e44aaf..555e7d1dd 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/error_config.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/error_config.json
@@ -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'",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/helper.tpl b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/helper.tpl
new file mode 100644
index 000000000..9cf14fd52
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/helper.tpl
@@ -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 -}}
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/internal_api.json b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/internal_api.json
index 8ae410a66..a1cea3848 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/internal_api.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/deploymentmanager/deploymanager/internal_api.json
@@ -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",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/gateway/gateway/profiles-kube.json b/charts/gopaddle/gopaddle/charts/gp-core/files/gateway/gateway/profiles-kube.json
index 979dc246c..93a510352 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/gateway/gateway/profiles-kube.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/gateway/gateway/profiles-kube.json
@@ -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",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/gpcore/core/profiles-kube.json b/charts/gopaddle/gopaddle/charts/gp-core/files/gpcore/core/profiles-kube.json
index 19af9971f..9727a9bba 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/gpcore/core/profiles-kube.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/gpcore/core/profiles-kube.json
@@ -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":{
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/mongodb/mongo/db.js b/charts/gopaddle/gopaddle/charts/gp-core/files/mongodb/mongo/db.js
index bf3be00b9..c7151cc42 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/mongodb/mongo/db.js
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/mongodb/mongo/db.js
@@ -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":{
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/default-resources.json b/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/default-resources.json
index 6f2898dd6..07df53eb5 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/default-resources.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/default-resources.json
@@ -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}
-}
\ No newline at end of file
+ "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
+ }
+ }
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/internal_api.json b/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/internal_api.json
index f305f73d5..9243c2c71 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/internal_api.json
+++ b/charts/gopaddle/gopaddle/charts/gp-core/files/usermanager/usermanager/internal_api.json
@@ -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",
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/lite-values-4.2.5.yaml b/charts/gopaddle/gopaddle/charts/gp-core/lite-values-4.2.5.yaml
new file mode 100644
index 000000000..607f76483
--- /dev/null
+++ b/charts/gopaddle/gopaddle/charts/gp-core/lite-values-4.2.5.yaml
@@ -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
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/_helpers.tpl b/charts/gopaddle/gopaddle/charts/gp-core/templates/_helpers.tpl
index 83179fb0d..f2fd8a1c8 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/_helpers.tpl
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/_helpers.tpl
@@ -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 -}}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-appscanner-configmap-07ocv.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-appscanner-configmap-07ocv.yaml
index 1df1cdd5d..b80c1c745 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-appscanner-configmap-07ocv.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-appscanner-configmap-07ocv.yaml
@@ -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 }}
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-deployment.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-deployment.yaml
index 487622730..dde7db686 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-deployment.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/appscanner-deployment.yaml
@@ -98,8 +98,8 @@ spec:
timeoutSeconds: 10
resources:
limits:
- cpu: 100m
- memory: 100M
+ cpu: 300m
+ memory: 400M
requests:
cpu: 10m
memory: 50M
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-appworker-configmap-njdt6.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-appworker-configmap-njdt6.yaml
index 5ce0ac775..0ada0a16a 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-appworker-configmap-njdt6.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-appworker-configmap-njdt6.yaml
@@ -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 }}
\ No newline at end of file
+{{ (.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 }}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-deployment.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-deployment.yaml
index 188cdc3b9..b99b38f26 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-deployment.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/appworker-deployment.yaml
@@ -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:
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deploymanager-configmap-ub0p4.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deploymanager-configmap-ub0p4.yaml
index 5d68e9097..b4f292e8f 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deploymanager-configmap-ub0p4.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deploymanager-configmap-ub0p4.yaml
@@ -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 }}
\ No newline at end of file
+{{ (.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 }}
\ No newline at end of file
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deployment.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deployment.yaml
index 5af5c0fcf..49044bbe5 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deployment.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/deploymentmanager-deployment.yaml
@@ -117,8 +117,8 @@ spec:
timeoutSeconds: 10
resources:
limits:
- cpu: 500m
- memory: 200M
+ cpu: 300m
+ memory: 400M
requests:
cpu: 10m
memory: 50M
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/esearch-statefulset.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/esearch-statefulset.yaml
index 2249afbc9..ef10e201b 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/esearch-statefulset.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/esearch-statefulset.yaml
@@ -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
diff --git a/charts/gopaddle/gopaddle/charts/gp-core/templates/gateway-deployment.yaml b/charts/gopaddle/gopaddle/charts/gp-core/templates/gateway-deployment.yaml
index d38649103..00f6f46df 100644
--- a/charts/gopaddle/gopaddle/charts/gp-core/templates/gateway-deployment.yaml
+++ b/charts/gopaddle/gopaddle/charts/gp-core/templates/gateway-deployment.yaml
@@ -107,7 +107,9 @@ spec:
sed -i 's,<\/head>,