From 014fd6be0141fa5655dfd7383535897b890572e1 Mon Sep 17 00:00:00 2001 From: kubeapps-bot <83830777+kubeapps-bot@users.noreply.github.com> Date: Mon, 14 Nov 2022 08:54:33 +0100 Subject: [PATCH] [bitnami/kubeapps] Bump chart version to 12.1.0-dev0 (#13336) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sync dev changes Signed-off-by: Antonio Gamez Diaz * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers Signed-off-by: Antonio Gamez Diaz Signed-off-by: Bitnami Containers Signed-off-by: Antonio Gámez, PhD Co-authored-by: Antonio Gamez Diaz Co-authored-by: Bitnami Containers --- bitnami/kubeapps/Chart.yaml | 2 +- bitnami/kubeapps/README.md | 226 ++++++++++-------- .../templates/dashboard/configmap.yaml | 2 + .../templates/dashboard/deployment.yaml | 2 + .../kubeapps/templates/dashboard/service.yaml | 2 + .../templates/frontend/configmap.yaml | 3 +- bitnami/kubeapps/templates/ingress-api.yaml | 125 ++++++++++ bitnami/kubeapps/templates/ingress.yaml | 2 +- bitnami/kubeapps/values.yaml | 64 +++-- 9 files changed, 298 insertions(+), 130 deletions(-) create mode 100644 bitnami/kubeapps/templates/ingress-api.yaml diff --git a/bitnami/kubeapps/Chart.yaml b/bitnami/kubeapps/Chart.yaml index 410c06ff2..e006b7459 100644 --- a/bitnami/kubeapps/Chart.yaml +++ b/bitnami/kubeapps/Chart.yaml @@ -31,4 +31,4 @@ maintainers: name: kubeapps sources: - https://github.com/vmware-tanzu/kubeapps -version: 12.0.1 +version: 12.1.0 diff --git a/bitnami/kubeapps/README.md b/bitnami/kubeapps/README.md index 3199041c2..1960fc4c9 100644 --- a/bitnami/kubeapps/README.md +++ b/bitnami/kubeapps/README.md @@ -116,95 +116,96 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith ### Frontend parameters -| Name | Description | Value | -| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ---------------------- | -| `frontend.image.registry` | NGINX image registry | `docker.io` | -| `frontend.image.repository` | NGINX image repository | `bitnami/nginx` | -| `frontend.image.tag` | NGINX image tag (immutable tags are recommended) | `1.23.1-debian-11-r27` | -| `frontend.image.digest` | NGINX image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | -| `frontend.image.pullPolicy` | NGINX image pull policy | `IfNotPresent` | -| `frontend.image.pullSecrets` | NGINX image pull secrets | `[]` | -| `frontend.image.debug` | Enable image debug mode | `false` | -| `frontend.proxypassAccessTokenAsBearer` | Use access_token as the Bearer when talking to the k8s api server | `false` | -| `frontend.proxypassExtraSetHeader` | Set an additional proxy header for all requests proxied via NGINX | `""` | -| `frontend.largeClientHeaderBuffers` | Set large_client_header_buffers in NGINX config | `4 32k` | -| `frontend.replicaCount` | Number of frontend replicas to deploy | `2` | -| `frontend.updateStrategy.type` | Frontend deployment strategy type. | `RollingUpdate` | -| `frontend.resources.limits.cpu` | The CPU limits for the NGINX container | `250m` | -| `frontend.resources.limits.memory` | The memory limits for the NGINX container | `128Mi` | -| `frontend.resources.requests.cpu` | The requested CPU for the NGINX container | `25m` | -| `frontend.resources.requests.memory` | The requested memory for the NGINX container | `32Mi` | -| `frontend.extraEnvVars` | Array with extra environment variables to add to the NGINX container | `[]` | -| `frontend.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the NGINX container | `""` | -| `frontend.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the NGINX container | `""` | -| `frontend.containerPorts.http` | NGINX HTTP container port | `8080` | -| `frontend.podSecurityContext.enabled` | Enabled frontend pods' Security Context | `true` | -| `frontend.podSecurityContext.fsGroup` | Set frontend pod's Security Context fsGroup | `1001` | -| `frontend.containerSecurityContext.enabled` | Enabled NGINX containers' Security Context | `true` | -| `frontend.containerSecurityContext.runAsUser` | Set NGINX container's Security Context runAsUser | `1001` | -| `frontend.containerSecurityContext.runAsNonRoot` | Set NGINX container's Security Context runAsNonRoot | `true` | -| `frontend.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `frontend.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | -| `frontend.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | -| `frontend.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | -| `frontend.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | -| `frontend.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | -| `frontend.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `frontend.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | -| `frontend.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | -| `frontend.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | -| `frontend.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | -| `frontend.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | -| `frontend.startupProbe.enabled` | Enable startupProbe | `false` | -| `frontend.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` | -| `frontend.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | -| `frontend.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` | -| `frontend.startupProbe.failureThreshold` | Failure threshold for startupProbe | `6` | -| `frontend.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | -| `frontend.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `frontend.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | -| `frontend.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | -| `frontend.lifecycleHooks` | Custom lifecycle hooks for frontend containers | `{}` | -| `frontend.command` | Override default container command (useful when using custom images) | `[]` | -| `frontend.args` | Override default container args (useful when using custom images) | `[]` | -| `frontend.podLabels` | Extra labels for frontend pods | `{}` | -| `frontend.podAnnotations` | Annotations for frontend pods | `{}` | -| `frontend.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `frontend.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | -| `frontend.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `frontend.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | -| `frontend.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | -| `frontend.affinity` | Affinity for pod assignment | `{}` | -| `frontend.nodeSelector` | Node labels for pod assignment | `{}` | -| `frontend.tolerations` | Tolerations for pod assignment | `[]` | -| `frontend.priorityClassName` | Priority class name for frontend pods | `""` | -| `frontend.schedulerName` | Name of the k8s scheduler (other than default) | `""` | -| `frontend.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` | -| `frontend.hostAliases` | Custom host aliases for frontend pods | `[]` | -| `frontend.extraVolumes` | Optionally specify extra list of additional volumes for frontend pods | `[]` | -| `frontend.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for frontend container(s) | `[]` | -| `frontend.sidecars` | Add additional sidecar containers to the frontend pod | `[]` | -| `frontend.initContainers` | Add additional init containers to the frontend pods | `[]` | -| `frontend.service.type` | Frontend service type | `ClusterIP` | -| `frontend.service.ports.http` | Frontend service HTTP port | `80` | -| `frontend.service.nodePorts.http` | Node port for HTTP | `""` | -| `frontend.service.clusterIP` | Frontend service Cluster IP | `""` | -| `frontend.service.loadBalancerIP` | Frontend service Load Balancer IP | `""` | -| `frontend.service.loadBalancerSourceRanges` | Frontend service Load Balancer sources | `[]` | -| `frontend.service.externalTrafficPolicy` | Frontend service external traffic policy | `Cluster` | -| `frontend.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` | -| `frontend.service.annotations` | Additional custom annotations for frontend service | `{}` | -| `frontend.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` | -| `frontend.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` | +| Name | Description | Value | +| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | --------------------- | +| `frontend.image.registry` | NGINX image registry | `docker.io` | +| `frontend.image.repository` | NGINX image repository | `bitnami/nginx` | +| `frontend.image.tag` | NGINX image tag (immutable tags are recommended) | `1.23.2-debian-11-r5` | +| `frontend.image.digest` | NGINX image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | +| `frontend.image.pullPolicy` | NGINX image pull policy | `IfNotPresent` | +| `frontend.image.pullSecrets` | NGINX image pull secrets | `[]` | +| `frontend.image.debug` | Enable image debug mode | `false` | +| `frontend.proxypassAccessTokenAsBearer` | Use access_token as the Bearer when talking to the k8s api server | `false` | +| `frontend.proxypassExtraSetHeader` | Set an additional proxy header for all requests proxied via NGINX | `""` | +| `frontend.largeClientHeaderBuffers` | Set large_client_header_buffers in NGINX config | `4 32k` | +| `frontend.replicaCount` | Number of frontend replicas to deploy | `2` | +| `frontend.updateStrategy.type` | Frontend deployment strategy type. | `RollingUpdate` | +| `frontend.resources.limits.cpu` | The CPU limits for the NGINX container | `250m` | +| `frontend.resources.limits.memory` | The memory limits for the NGINX container | `128Mi` | +| `frontend.resources.requests.cpu` | The requested CPU for the NGINX container | `25m` | +| `frontend.resources.requests.memory` | The requested memory for the NGINX container | `32Mi` | +| `frontend.extraEnvVars` | Array with extra environment variables to add to the NGINX container | `[]` | +| `frontend.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the NGINX container | `""` | +| `frontend.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the NGINX container | `""` | +| `frontend.containerPorts.http` | NGINX HTTP container port | `8080` | +| `frontend.podSecurityContext.enabled` | Enabled frontend pods' Security Context | `true` | +| `frontend.podSecurityContext.fsGroup` | Set frontend pod's Security Context fsGroup | `1001` | +| `frontend.containerSecurityContext.enabled` | Enabled NGINX containers' Security Context | `true` | +| `frontend.containerSecurityContext.runAsUser` | Set NGINX container's Security Context runAsUser | `1001` | +| `frontend.containerSecurityContext.runAsNonRoot` | Set NGINX container's Security Context runAsNonRoot | `true` | +| `frontend.livenessProbe.enabled` | Enable livenessProbe | `true` | +| `frontend.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | +| `frontend.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `frontend.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | +| `frontend.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | +| `frontend.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `frontend.readinessProbe.enabled` | Enable readinessProbe | `true` | +| `frontend.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | +| `frontend.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `frontend.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | +| `frontend.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | +| `frontend.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `frontend.startupProbe.enabled` | Enable startupProbe | `false` | +| `frontend.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` | +| `frontend.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | +| `frontend.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` | +| `frontend.startupProbe.failureThreshold` | Failure threshold for startupProbe | `6` | +| `frontend.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | +| `frontend.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `frontend.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | +| `frontend.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | +| `frontend.lifecycleHooks` | Custom lifecycle hooks for frontend containers | `{}` | +| `frontend.command` | Override default container command (useful when using custom images) | `[]` | +| `frontend.args` | Override default container args (useful when using custom images) | `[]` | +| `frontend.podLabels` | Extra labels for frontend pods | `{}` | +| `frontend.podAnnotations` | Annotations for frontend pods | `{}` | +| `frontend.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `frontend.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | +| `frontend.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `frontend.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | +| `frontend.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | +| `frontend.affinity` | Affinity for pod assignment | `{}` | +| `frontend.nodeSelector` | Node labels for pod assignment | `{}` | +| `frontend.tolerations` | Tolerations for pod assignment | `[]` | +| `frontend.priorityClassName` | Priority class name for frontend pods | `""` | +| `frontend.schedulerName` | Name of the k8s scheduler (other than default) | `""` | +| `frontend.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` | +| `frontend.hostAliases` | Custom host aliases for frontend pods | `[]` | +| `frontend.extraVolumes` | Optionally specify extra list of additional volumes for frontend pods | `[]` | +| `frontend.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for frontend container(s) | `[]` | +| `frontend.sidecars` | Add additional sidecar containers to the frontend pod | `[]` | +| `frontend.initContainers` | Add additional init containers to the frontend pods | `[]` | +| `frontend.service.type` | Frontend service type | `ClusterIP` | +| `frontend.service.ports.http` | Frontend service HTTP port | `80` | +| `frontend.service.nodePorts.http` | Node port for HTTP | `""` | +| `frontend.service.clusterIP` | Frontend service Cluster IP | `""` | +| `frontend.service.loadBalancerIP` | Frontend service Load Balancer IP | `""` | +| `frontend.service.loadBalancerSourceRanges` | Frontend service Load Balancer sources | `[]` | +| `frontend.service.externalTrafficPolicy` | Frontend service external traffic policy | `Cluster` | +| `frontend.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` | +| `frontend.service.annotations` | Additional custom annotations for frontend service | `{}` | +| `frontend.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` | +| `frontend.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` | ### Dashboard parameters | Name | Description | Value | | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------- | +| `dashboard.enabled` | Specifies whether Kubeapps Dashboard should be deployed or not | `true` | | `dashboard.image.registry` | Dashboard image registry | `docker.io` | | `dashboard.image.repository` | Dashboard image repository | `bitnami/kubeapps-dashboard` | -| `dashboard.image.tag` | Dashboard image tag (immutable tags are recommended) | `2.5.1-debian-11-r11` | +| `dashboard.image.tag` | Dashboard image tag (immutable tags are recommended) | `2.6.1-debian-11-r0` | | `dashboard.image.digest` | Dashboard image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `dashboard.image.pullPolicy` | Dashboard image pull policy | `IfNotPresent` | | `dashboard.image.pullSecrets` | Dashboard image pull secrets | `[]` | @@ -256,8 +257,8 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `dashboard.lifecycleHooks` | Custom lifecycle hooks for Dashboard containers | `{}` | | `dashboard.command` | Override default container command (useful when using custom images) | `[]` | | `dashboard.args` | Override default container args (useful when using custom images) | `[]` | -| `dashboard.podLabels` | Extra labels for Dasbhoard pods | `{}` | -| `dashboard.podAnnotations` | Annotations for Dasbhoard pods | `{}` | +| `dashboard.podLabels` | Extra labels for Dashboard pods | `{}` | +| `dashboard.podAnnotations` | Annotations for Dashboard pods | `{}` | | `dashboard.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | | `dashboard.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | | `dashboard.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | @@ -270,12 +271,12 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `dashboard.schedulerName` | Name of the k8s scheduler (other than default) | `""` | | `dashboard.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` | | `dashboard.hostAliases` | Custom host aliases for Dashboard pods | `[]` | -| `dashboard.extraVolumes` | Optionally specify extra list of additional volumes for Dasbhoard pods | `[]` | -| `dashboard.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for Dasbhoard container(s) | `[]` | -| `dashboard.sidecars` | Add additional sidecar containers to the Dasbhoard pod | `[]` | -| `dashboard.initContainers` | Add additional init containers to the Dasbhoard pods | `[]` | -| `dashboard.service.ports.http` | Dasbhoard service HTTP port | `8080` | -| `dashboard.service.annotations` | Additional custom annotations for Dasbhoard service | `{}` | +| `dashboard.extraVolumes` | Optionally specify extra list of additional volumes for Dashboard pods | `[]` | +| `dashboard.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for Dashboard container(s) | `[]` | +| `dashboard.sidecars` | Add additional sidecar containers to the Dashboard pod | `[]` | +| `dashboard.initContainers` | Add additional init containers to the Dashboard pods | `[]` | +| `dashboard.service.ports.http` | Dashboard service HTTP port | `8080` | +| `dashboard.service.annotations` | Additional custom annotations for Dashboard service | `{}` | ### AppRepository Controller parameters @@ -284,13 +285,13 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | | `apprepository.image.registry` | Kubeapps AppRepository Controller image registry | `docker.io` | | `apprepository.image.repository` | Kubeapps AppRepository Controller image repository | `bitnami/kubeapps-apprepository-controller` | -| `apprepository.image.tag` | Kubeapps AppRepository Controller image tag (immutable tags are recommended) | `2.5.1-scratch-r1` | +| `apprepository.image.tag` | Kubeapps AppRepository Controller image tag (immutable tags are recommended) | `2.6.1-scratch-r0` | | `apprepository.image.digest` | Kubeapps AppRepository Controller image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `apprepository.image.pullPolicy` | Kubeapps AppRepository Controller image pull policy | `IfNotPresent` | | `apprepository.image.pullSecrets` | Kubeapps AppRepository Controller image pull secrets | `[]` | | `apprepository.syncImage.registry` | Kubeapps Asset Syncer image registry | `docker.io` | | `apprepository.syncImage.repository` | Kubeapps Asset Syncer image repository | `bitnami/kubeapps-asset-syncer` | -| `apprepository.syncImage.tag` | Kubeapps Asset Syncer image tag (immutable tags are recommended) | `2.5.1-scratch-r1` | +| `apprepository.syncImage.tag` | Kubeapps Asset Syncer image tag (immutable tags are recommended) | `2.6.1-scratch-r0` | | `apprepository.syncImage.digest` | Kubeapps Asset Syncer image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `apprepository.syncImage.pullPolicy` | Kubeapps Asset Syncer image pull policy | `IfNotPresent` | | `apprepository.syncImage.pullSecrets` | Kubeapps Asset Syncer image pull secrets | `[]` | @@ -353,7 +354,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `authProxy.enabled` | Specifies whether Kubeapps should configure OAuth login/logout | `false` | | `authProxy.image.registry` | OAuth2 Proxy image registry | `docker.io` | | `authProxy.image.repository` | OAuth2 Proxy image repository | `bitnami/oauth2-proxy` | -| `authProxy.image.tag` | OAuth2 Proxy image tag (immutable tags are recommended) | `7.3.0-debian-11-r40` | +| `authProxy.image.tag` | OAuth2 Proxy image tag (immutable tags are recommended) | `7.4.0-debian-11-r2` | | `authProxy.image.digest` | OAuth2 Proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `authProxy.image.pullPolicy` | OAuth2 Proxy image pull policy | `IfNotPresent` | | `authProxy.image.pullSecrets` | OAuth2 Proxy image pull secrets | `[]` | @@ -393,7 +394,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `pinnipedProxy.enabled` | Specifies whether Kubeapps should configure Pinniped Proxy | `false` | | `pinnipedProxy.image.registry` | Pinniped Proxy image registry | `docker.io` | | `pinnipedProxy.image.repository` | Pinniped Proxy image repository | `bitnami/kubeapps-pinniped-proxy` | -| `pinnipedProxy.image.tag` | Pinniped Proxy image tag (immutable tags are recommended) | `2.5.1-debian-11-r11` | +| `pinnipedProxy.image.tag` | Pinniped Proxy image tag (immutable tags are recommended) | `2.6.1-debian-11-r0` | | `pinnipedProxy.image.digest` | Pinniped Proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `pinnipedProxy.image.pullPolicy` | Pinniped Proxy image pull policy | `IfNotPresent` | | `pinnipedProxy.image.pullSecrets` | Pinniped Proxy image pull secrets | `[]` | @@ -424,12 +425,20 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith ### Other Parameters -| Name | Description | Value | -| ------------------------- | ----------------------------------------------------------------------------- | ------- | -| `allowNamespaceDiscovery` | Allow users to discover available namespaces (only the ones they have access) | `true` | -| `clusters` | List of clusters that Kubeapps can target for deployments | `[]` | -| `featureFlags.operators` | Enable ingress record generation for Kubeapps | `false` | -| `rbac.create` | Specifies whether RBAC resources should be created | `true` | +| Name | Description | Value | +| ------------- | --------------------------------------------------------- | ------ | +| `clusters` | List of clusters that Kubeapps can target for deployments | `[]` | +| `rbac.create` | Specifies whether RBAC resources should be created | `true` | + + +### Feature flags + +| Name | Description | Value | +| --------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ------- | +| `featureFlags.apiOnly.enabled` | Enable ingress for API operations only. Access to "/" will not be possible, so Dashboard will be unusable. | `false` | +| `featureFlags.apiOnly.grpc.annotations` | Specific annotations for the GRPC ingress in API-only mode | `{}` | +| `featureFlags.operators` | Enable support for Operators in Kubeapps | `false` | +| `featureFlags.schemaEditor.enabled` | Enable a visual editor for customizing the package schemas | `false` | ### Database Parameters @@ -443,9 +452,9 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `postgresql.primary.persistence.enabled` | Enable PostgreSQL Primary data persistence using PVC | `false` | | `postgresql.architecture` | PostgreSQL architecture (`standalone` or `replication`) | `standalone` | | `postgresql.securityContext.enabled` | Enabled PostgreSQL replicas pods' Security Context | `false` | -| `postgresql.resources.limits` | The resources limits for the PostreSQL container | `{}` | -| `postgresql.resources.requests.cpu` | The requested CPU for the PostreSQL container | `250m` | -| `postgresql.resources.requests.memory` | The requested memory for the PostreSQL container | `256Mi` | +| `postgresql.resources.limits` | The resources limits for the PostgreSQL container | `{}` | +| `postgresql.resources.requests.cpu` | The requested CPU for the PostgreSQL container | `250m` | +| `postgresql.resources.requests.memory` | The requested memory for the PostgreSQL container | `256Mi` | ### kubeappsapis parameters @@ -469,7 +478,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `kubeappsapis.pluginConfig.resources.packages.v1alpha1.trustedNamespaces.headerPattern` | Optional header pattern for trusted namespaces | `""` | | `kubeappsapis.image.registry` | Kubeapps-APIs image registry | `docker.io` | | `kubeappsapis.image.repository` | Kubeapps-APIs image repository | `bitnami/kubeapps-apis` | -| `kubeappsapis.image.tag` | Kubeapps-APIs image tag (immutable tags are recommended) | `2.5.1-debian-11-r10` | +| `kubeappsapis.image.tag` | Kubeapps-APIs image tag (immutable tags are recommended) | `2.6.0-debian-11-r11` | | `kubeappsapis.image.digest` | Kubeapps-APIs image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `kubeappsapis.image.pullPolicy` | Kubeapps-APIs image pull policy | `IfNotPresent` | | `kubeappsapis.image.pullSecrets` | Kubeapps-APIs image pull secrets | `[]` | @@ -559,6 +568,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `redis.replica.persistence.enabled` | Enable Redis® replica data persistence using PVC | `false` | + ```bash helm install kubeapps --namespace kubeapps \ --set ingress.enabled=true \ @@ -732,6 +742,16 @@ helm install kubeapps my-repo/kubeapps \ --set ingress.annotations."kubernetes\.io/ingress\.class"=nginx # or your preferred ingress controller ``` +If you are using LDAP via Dex with OIDC or you are getting an error message like `upstream sent too big header while reading response header from upstream` it means the cookie size is too big and can't be processed by the Ingress Controller. +You can work around this problem by setting the following Nginx ingress annotations (look for similar annotations in your preferred Ingress Controller): + +```bash + # rest of the helm install ... command + --set ingress.annotations."nginx\.ingress\.kubernetes\.io/proxy-read-timeout"=600 + --set ingress.annotations."nginx\.ingress\.kubernetes\.io/proxy-buffer-size"=8k + --set ingress.annotations."nginx\.ingress\.kubernetes\.io/proxy-buffers"=4 +``` + #### Serving Kubeapps in a subpath You may want to serve Kubeapps with a subpath, for instance `http://example.com/subpath`, you have to set the proper Ingress configuration. If you are using the ingress configuration provided by the Kubeapps chart, you will have to set the `ingress.hostname` and `path` parameters: diff --git a/bitnami/kubeapps/templates/dashboard/configmap.yaml b/bitnami/kubeapps/templates/dashboard/configmap.yaml index da510bfef..c70a71aef 100644 --- a/bitnami/kubeapps/templates/dashboard/configmap.yaml +++ b/bitnami/kubeapps/templates/dashboard/configmap.yaml @@ -1,3 +1,4 @@ +{{- if .Values.dashboard.enabled -}} apiVersion: v1 kind: ConfigMap metadata: @@ -84,3 +85,4 @@ data: "skipAvailablePackageDetails": {{ .Values.dashboard.skipAvailablePackageDetails }}, "createNamespaceLabels": {{ .Values.dashboard.createNamespaceLabels | toJson }} } +{{- end -}} diff --git a/bitnami/kubeapps/templates/dashboard/deployment.yaml b/bitnami/kubeapps/templates/dashboard/deployment.yaml index 913530185..1a06d3da8 100644 --- a/bitnami/kubeapps/templates/dashboard/deployment.yaml +++ b/bitnami/kubeapps/templates/dashboard/deployment.yaml @@ -1,3 +1,4 @@ +{{- if .Values.dashboard.enabled -}} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -183,3 +184,4 @@ spec: {{- if .Values.dashboard.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.dashboard.extraVolumes "context" $) | nindent 8 }} {{- end }} +{{- end -}} diff --git a/bitnami/kubeapps/templates/dashboard/service.yaml b/bitnami/kubeapps/templates/dashboard/service.yaml index cccbbe3f3..eabfc46df 100644 --- a/bitnami/kubeapps/templates/dashboard/service.yaml +++ b/bitnami/kubeapps/templates/dashboard/service.yaml @@ -1,3 +1,4 @@ +{{- if .Values.dashboard.enabled -}} apiVersion: v1 kind: Service metadata: @@ -26,3 +27,4 @@ spec: name: http selector: {{- include "common.labels.matchLabels" . | nindent 4 }} app.kubernetes.io/component: dashboard +{{- end -}} diff --git a/bitnami/kubeapps/templates/frontend/configmap.yaml b/bitnami/kubeapps/templates/frontend/configmap.yaml index ab0ea8751..91d00211a 100644 --- a/bitnami/kubeapps/templates/frontend/configmap.yaml +++ b/bitnami/kubeapps/templates/frontend/configmap.yaml @@ -125,10 +125,11 @@ data: proxy_pass {{ include "kubeapps.kubeappsapis.proxy_pass" . -}}; } + {{- if .Values.dashboard.enabled }} location / { # Add the Authorization header if exists add_header Authorization $http_authorization; - proxy_pass {{ printf "http://%s:%d" (include "kubeapps.dashboard.fullname" .) (int .Values.dashboard.service.ports.http) }}; } + {{- end }} } diff --git a/bitnami/kubeapps/templates/ingress-api.yaml b/bitnami/kubeapps/templates/ingress-api.yaml new file mode 100644 index 000000000..9846337b5 --- /dev/null +++ b/bitnami/kubeapps/templates/ingress-api.yaml @@ -0,0 +1,125 @@ +{{- if and .Values.featureFlags.apiOnly.enabled (not .Values.ingress.enabled) -}} + {{ fail "Ingress must be enabled for the API mode to work. Please set \"ingress.enabled\" to true." }} +{{- end -}} +{{- if and .Values.ingress.enabled .Values.featureFlags.apiOnly.enabled -}} +{{- if and .Values.dashboard.enabled -}} + {{ fail "Dashboard is enabled but will NOT work with Ingress in API mode. Please set \"dashboard.enabled\" to false." }} +{{- end -}} +--- +apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }} +kind: Ingress +metadata: + name: {{ template "common.names.fullname" . }}-http-api + namespace: {{ .Release.Namespace | quote }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + {{- if .Values.commonLabels }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" . ) | nindent 4 }} + {{- end }} + annotations: + {{- if .Values.ingress.annotations }} + {{- include "common.tplvalues.render" (dict "value" .Values.ingress.annotations "context" . ) | nindent 4 }} + {{- end }} + {{- if .Values.commonAnnotations }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" . ) | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.ingressClassName (eq "true" (include "common.ingress.supportsIngressClassname" .)) }} + ingressClassName: {{ .Values.ingress.ingressClassName | quote }} + {{- end }} + rules: + {{- if .Values.ingress.hostname }} + - host: {{ .Values.ingress.hostname }} + http: + paths: + {{- if .Values.ingress.extraPaths }} + {{- toYaml .Values.ingress.extraPaths | nindent 10 }} + {{- end }} + - path: /apis + {{- if eq "true" (include "common.ingress.supportsPathType" $) }} + pathType: {{ $.Values.ingress.pathType }} + {{- end }} + backend: {{- include "common.ingress.backend" (dict "serviceName" (include "common.names.fullname" $) "servicePort" "http" "context" $) | nindent 14 }} + {{- if and .Values.ingress.path (ne (quote (trim .Values.ingress.path)) (quote "/")) }} + - path: {{ .Values.ingress.path }} + {{- if eq "true" (include "common.ingress.supportsPathType" $) }} + pathType: {{ $.Values.ingress.pathType }} + {{- end }} + backend: {{- include "common.ingress.backend" (dict "serviceName" (include "common.names.fullname" $) "servicePort" "http" "context" $) | nindent 14 }} + {{- end -}} + {{- end }} + {{- range .Values.ingress.extraHosts }} + - host: {{ .name }} + http: + paths: + - path: {{ default "/" .path }} + {{- if eq "true" (include "common.ingress.supportsPathType" $) }} + pathType: {{ $.Values.ingress.pathType }} + {{- end }} + backend: {{- include "common.ingress.backend" (dict "serviceName" (include "common.names.fullname" $) "servicePort" "http" "context" $) | nindent 14 }} + {{- end }} + {{- if .Values.ingress.extraRules }} + {{- include "common.tplvalues.render" (dict "value" .Values.ingress.extraRules "context" $) | nindent 4 }} + {{- end }} + {{- if or (and .Values.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.ingress.annotations )) .Values.ingress.selfSigned)) .Values.ingress.extraTls }} + tls: + {{- if and .Values.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.ingress.annotations )) .Values.ingress.selfSigned) }} + - hosts: + - {{ .Values.ingress.hostname | quote }} + secretName: {{ printf "%s-tls" .Values.ingress.hostname }} + {{- end }} + {{- if .Values.ingress.extraTls }} + {{- include "common.tplvalues.render" ( dict "value" .Values.ingress.extraTls "context" $ ) | nindent 4 }} + {{- end }} + {{- end }} +--- +apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }} +kind: Ingress +metadata: + name: {{ template "common.names.fullname" . }} + namespace: {{ .Release.Namespace | quote }} + labels: {{- include "common.labels.standard" . | nindent 4 }} + {{- if .Values.commonLabels }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" . ) | nindent 4 }} + {{- end }} + annotations: + {{- if .Values.featureFlags.apiOnly.grpc.annotations }} + {{- include "common.tplvalues.render" (dict "value" .Values.featureFlags.apiOnly.grpc.annotations "context" . ) | nindent 4 }} + {{- end }} + {{- if .Values.ingress.annotations }} + {{- include "common.tplvalues.render" (dict "value" .Values.ingress.annotations "context" . ) | nindent 4 }} + {{- end }} + {{- if .Values.commonAnnotations }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" . ) | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.ingressClassName (eq "true" (include "common.ingress.supportsIngressClassname" .)) }} + ingressClassName: {{ .Values.ingress.ingressClassName | quote }} + {{- end }} + rules: + {{- if .Values.ingress.hostname }} + - host: {{ .Values.ingress.hostname }} + http: + paths: + - path: / + {{- if eq "true" (include "common.ingress.supportsPathType" $) }} + pathType: {{ $.Values.ingress.pathType }} + {{- end }} + backend: + service: + name: {{ template "kubeapps.kubeappsapis.fullname" . }} + port: + name: grpc-http + {{- end }} + {{- if or (and .Values.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.ingress.annotations )) .Values.ingress.selfSigned)) .Values.ingress.extraTls }} + tls: + {{- if and .Values.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.ingress.annotations )) .Values.ingress.selfSigned) }} + - hosts: + - {{ .Values.ingress.hostname | quote }} + secretName: {{ printf "%s-tls" .Values.ingress.hostname }} + {{- end }} + {{- if .Values.ingress.extraTls }} + {{- include "common.tplvalues.render" ( dict "value" .Values.ingress.extraTls "context" $ ) | nindent 4 }} + {{- end }} + {{- end }} +--- +{{- end }} diff --git a/bitnami/kubeapps/templates/ingress.yaml b/bitnami/kubeapps/templates/ingress.yaml index 6394dde1a..39601e442 100644 --- a/bitnami/kubeapps/templates/ingress.yaml +++ b/bitnami/kubeapps/templates/ingress.yaml @@ -1,4 +1,4 @@ -{{- if .Values.ingress.enabled -}} +{{- if and .Values.ingress.enabled (not .Values.featureFlags.apiOnly.enabled) -}} apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }} kind: Ingress metadata: diff --git a/bitnami/kubeapps/values.yaml b/bitnami/kubeapps/values.yaml index e51f4c310..7b039f6c9 100644 --- a/bitnami/kubeapps/values.yaml +++ b/bitnami/kubeapps/values.yaml @@ -508,6 +508,9 @@ frontend: ## Dashboard parameters ## dashboard: + ## @param dashboard.enabled Specifies whether Kubeapps Dashboard should be deployed or not + ## + enabled: true ## Bitnami Kubeapps Dashboard image ## ref: https://hub.docker.com/r/bitnami/kubeapps-dashboard/ ## @param dashboard.image.registry Dashboard image registry @@ -711,11 +714,11 @@ dashboard: ## @param dashboard.args Override default container args (useful when using custom images) ## args: [] - ## @param dashboard.podLabels Extra labels for Dasbhoard pods + ## @param dashboard.podLabels Extra labels for Dashboard pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} - ## @param dashboard.podAnnotations Annotations for Dasbhoard pods + ## @param dashboard.podAnnotations Annotations for Dashboard pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} @@ -773,13 +776,13 @@ dashboard: ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] - ## @param dashboard.extraVolumes Optionally specify extra list of additional volumes for Dasbhoard pods + ## @param dashboard.extraVolumes Optionally specify extra list of additional volumes for Dashboard pods ## extraVolumes: [] - ## @param dashboard.extraVolumeMounts Optionally specify extra list of additional volumeMounts for Dasbhoard container(s) + ## @param dashboard.extraVolumeMounts Optionally specify extra list of additional volumeMounts for Dashboard container(s) ## extraVolumeMounts: [] - ## @param dashboard.sidecars Add additional sidecar containers to the Dasbhoard pod + ## @param dashboard.sidecars Add additional sidecar containers to the Dashboard pod ## e.g: ## sidecars: ## - name: your-image-name @@ -790,7 +793,7 @@ dashboard: ## containerPort: 1234 ## sidecars: [] - ## @param dashboard.initContainers Add additional init containers to the Dasbhoard pods + ## @param dashboard.initContainers Add additional init containers to the Dashboard pods ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ ## e.g: ## initContainers: @@ -800,14 +803,14 @@ dashboard: ## command: ['sh', '-c', 'echo "hello world"'] ## initContainers: [] - ## Dasbhoard service parameters + ## Dashboard service parameters ## service: - ## @param dashboard.service.ports.http Dasbhoard service HTTP port + ## @param dashboard.service.ports.http Dashboard service HTTP port ## ports: http: 8080 - ## @param dashboard.service.annotations Additional custom annotations for Dasbhoard service + ## @param dashboard.service.annotations Additional custom annotations for Dashboard service ## annotations: {} @@ -1376,10 +1379,6 @@ pinnipedProxy: annotations: {} ## @section Other Parameters -## @param allowNamespaceDiscovery Allow users to discover available namespaces (only the ones they have access) -## NOTE: When set to true, Kubeapps creates a ClusterRole to be able to list namespaces. -## -allowNamespaceDiscovery: true ## @param clusters [array] List of clusters that Kubeapps can target for deployments ## When populated with a single cluster (as it is by default), Kubeapps will not allow users to ## change the target cluster. When populated with multiple clusters, Kubeapps will present the clusters to @@ -1414,13 +1413,6 @@ clusters: - name: default domain: cluster.local -## @skip featureFlags Feature flags (used to switch on development features) -## -featureFlags: - ## @param featureFlags.operators Enable ingress record generation for Kubeapps - ## - operators: false - ## RBAC configuration ## rbac: @@ -1428,6 +1420,30 @@ rbac: ## create: true +## @section Feature flags +## +## Opt-in features intended for development and advanced use cases. +## They might be removed in future releases without prior notice. +featureFlags: + ## For a full list of possible ingress annotations, please see + apiOnly: + ## @param featureFlags.apiOnly.enabled Enable ingress for API operations only. Access to "/" will not be possible, so Dashboard will be unusable. + ## + enabled: false + grpc: + ## @param featureFlags.apiOnly.grpc.annotations [object] Specific annotations for the GRPC ingress in API-only mode + ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md + ## + annotations: + nginx.ingress.kubernetes.io/backend-protocol: GRPC + ## @param featureFlags.operators Enable support for Operators in Kubeapps + ## + operators: false + schemaEditor: + ## @param featureFlags.schemaEditor.enabled Enable a visual editor for customizing the package schemas + ## + enabled: false + ## @section Database Parameters ## PostgreSQL chart configuration @@ -1457,11 +1473,11 @@ postgresql: ## securityContext: enabled: false - ## PostreSQL containers' resource requests and limits + ## PostgreSQL containers' resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ - ## @param postgresql.resources.limits The resources limits for the PostreSQL container - ## @param postgresql.resources.requests.cpu The requested CPU for the PostreSQL container - ## @param postgresql.resources.requests.memory The requested memory for the PostreSQL container + ## @param postgresql.resources.limits The resources limits for the PostgreSQL container + ## @param postgresql.resources.requests.cpu The requested CPU for the PostgreSQL container + ## @param postgresql.resources.requests.memory The requested memory for the PostgreSQL container ## resources: limits: {}