From e413abd9f6d2294f526e914bf36cc3a526cdaffc Mon Sep 17 00:00:00 2001 From: kubeapps-bot <83830777+kubeapps-bot@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:28:53 +0100 Subject: [PATCH] [bitnami/kubeapps] Bump chart version to 7.6.0 (#8262) * kubeapps: bump chart version to 7.5.14-dev0 * Fix chart version. Generate readme Signed-off-by: Antonio Gamez Diaz * Bump image versions to v2.4.2 Signed-off-by: Antonio Gamez Diaz * Update readme Signed-off-by: Antonio Gamez Diaz Co-authored-by: Antonio Gamez Diaz --- bitnami/kubeapps/Chart.lock | 6 +- bitnami/kubeapps/Chart.yaml | 4 +- bitnami/kubeapps/README.md | 264 +++++++++--------- bitnami/kubeapps/templates/NOTES.txt | 2 +- .../templates/assetsvc/deployment.yaml | 4 +- .../kubeapps/templates/assetsvc/service.yaml | 2 + .../templates/frontend/configmap.yaml | 47 ++-- .../templates/frontend/deployment.yaml | 2 +- .../templates/kubeappsapis/configmap.yaml | 9 + .../templates/kubeappsapis/deployment.yaml | 25 +- .../{rbac.yaml => rbac_fluxv2.yaml} | 30 +- .../templates/kubeappsapis/service.yaml | 2 - .../kubeappsapis/serviceaccount.yaml | 4 - .../templates/kubeops/deployment.yaml | 2 + bitnami/kubeapps/templates/kubeops/rbac.yaml | 6 +- .../kubeapps/templates/kubeops/service.yaml | 2 + .../templates/kubeops/serviceaccount.yaml | 2 + bitnami/kubeapps/values.yaml | 87 ++++-- 18 files changed, 285 insertions(+), 215 deletions(-) create mode 100644 bitnami/kubeapps/templates/kubeappsapis/configmap.yaml rename bitnami/kubeapps/templates/kubeappsapis/{rbac.yaml => rbac_fluxv2.yaml} (61%) diff --git a/bitnami/kubeapps/Chart.lock b/bitnami/kubeapps/Chart.lock index d42412bff..d3959c6a2 100644 --- a/bitnami/kubeapps/Chart.lock +++ b/bitnami/kubeapps/Chart.lock @@ -7,6 +7,6 @@ dependencies: version: 10.13.8 - name: redis repository: https://charts.bitnami.com/bitnami - version: 15.6.0 -digest: sha256:0b52e297e95172ff0ed3d9ba0a900102b1bad716817951376b863aced52d2ce5 -generated: "2021-11-25T08:59:28.938261998Z" + version: 15.6.1 +digest: sha256:7bc7d79a7085b578aedd2b95ad1934d90bfeecf8fe44229d4373952dc871fa87 +generated: "2021-11-29T10:21:07.75358083+01:00" diff --git a/bitnami/kubeapps/Chart.yaml b/bitnami/kubeapps/Chart.yaml index 7ec0adf24..364da7e97 100644 --- a/bitnami/kubeapps/Chart.yaml +++ b/bitnami/kubeapps/Chart.yaml @@ -1,7 +1,7 @@ annotations: category: Infrastructure apiVersion: v2 -appVersion: 2.4.1 +appVersion: 2.4.2 dependencies: - name: common repository: https://charts.bitnami.com/bitnami @@ -33,4 +33,4 @@ maintainers: name: kubeapps sources: - https://github.com/kubeapps/kubeapps -version: 7.5.13 +version: 7.6.0 diff --git a/bitnami/kubeapps/README.md b/bitnami/kubeapps/README.md index cac555e39..677fe0f19 100644 --- a/bitnami/kubeapps/README.md +++ b/bitnami/kubeapps/README.md @@ -102,7 +102,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | ------------------------------------------------ | ----------------------------------------------------------------------------------------- | ---------------------- | | `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.21.3-debian-10-r50` | +| `frontend.image.tag` | NGINX image tag (immutable tags are recommended) | `1.21.4-debian-10-r21` | | `frontend.image.pullPolicy` | NGINX image pull policy | `IfNotPresent` | | `frontend.image.pullSecrets` | NGINX image pull secrets | `[]` | | `frontend.image.debug` | Enable image debug mode | `false` | @@ -166,67 +166,68 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith ### Dashboard parameters -| Name | Description | Value | -| ------------------------------------------------- | ------------------------------------------------------------------------------------------ | ---------------------------- | -| `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.4.1-debian-10-r18` | -| `dashboard.image.pullPolicy` | Dashboard image pull policy | `IfNotPresent` | -| `dashboard.image.pullSecrets` | Dashboard image pull secrets | `[]` | -| `dashboard.image.debug` | Enable image debug mode | `false` | -| `dashboard.customStyle` | Custom CSS injected to the Dashboard to customize Kubeapps look and feel | `""` | -| `dashboard.customAppViews` | Package names to signal a custom app view | `[]` | -| `dashboard.customComponents` | Custom Form components injected into the BasicDeploymentForm | `""` | -| `dashboard.remoteComponentsUrl` | Remote URL that can be used to load custom components vs loading from the local filesystem | `""` | -| `dashboard.customLocale` | Custom translations injected to the Dashboard to customize the strings used in Kubeapps | `""` | -| `dashboard.defaultTheme` | Default theme used in the Dashboard if the user has not selected any theme yet. | `""` | -| `dashboard.replicaCount` | Number of Dashboard replicas to deploy | `2` | -| `dashboard.extraEnvVars` | Array with extra environment variables to add to the Dashboard container | `[]` | -| `dashboard.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the Dashboard container | `""` | -| `dashboard.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the Dashboard container | `""` | -| `dashboard.containerPort` | Dashboard HTTP container port | `8080` | -| `dashboard.resources.limits.cpu` | The CPU limits for the Dashboard container | `250m` | -| `dashboard.resources.limits.memory` | The memory limits for the Dashboard container | `128Mi` | -| `dashboard.resources.requests.cpu` | The requested CPU for the Dashboard container | `25m` | -| `dashboard.resources.requests.memory` | The requested memory for the Dashboard container | `32Mi` | -| `dashboard.podSecurityContext.enabled` | Enabled Dashboard pods' Security Context | `true` | -| `dashboard.podSecurityContext.fsGroup` | Set Dashboard pod's Security Context fsGroup | `1001` | -| `dashboard.containerSecurityContext.enabled` | Enabled Dashboard containers' Security Context | `true` | -| `dashboard.containerSecurityContext.runAsUser` | Set Dashboard container's Security Context runAsUser | `1001` | -| `dashboard.containerSecurityContext.runAsNonRoot` | Set Dashboard container's Security Context runAsNonRoot | `true` | -| `dashboard.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `dashboard.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | -| `dashboard.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | -| `dashboard.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | -| `dashboard.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | -| `dashboard.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | -| `dashboard.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `dashboard.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | -| `dashboard.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | -| `dashboard.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | -| `dashboard.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | -| `dashboard.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | -| `dashboard.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `dashboard.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | -| `dashboard.lifecycleHooks` | Custom lifecycle hooks for Dashboard containers | `{}` | -| `dashboard.podLabels` | Extra labels for Dasbhoard pods | `{}` | -| `dashboard.podAnnotations` | Annotations for Dasbhoard 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` | `""` | -| `dashboard.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | -| `dashboard.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | -| `dashboard.affinity` | Affinity for pod assignment | `{}` | -| `dashboard.nodeSelector` | Node labels for pod assignment | `{}` | -| `dashboard.tolerations` | Tolerations for pod assignment | `[]` | -| `dashboard.priorityClassName` | Priority class name for Dashboard pods | `""` | -| `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.port` | Dasbhoard service HTTP port | `8080` | -| `dashboard.service.annotations` | Additional custom annotations for Dasbhoard service | `{}` | +| Name | Description | Value | +| ------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------- | +| `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.4.2-debian-10-r0` | +| `dashboard.image.pullPolicy` | Dashboard image pull policy | `IfNotPresent` | +| `dashboard.image.pullSecrets` | Dashboard image pull secrets | `[]` | +| `dashboard.image.debug` | Enable image debug mode | `false` | +| `dashboard.customStyle` | Custom CSS injected to the Dashboard to customize Kubeapps look and feel | `""` | +| `dashboard.customAppViews` | Package names to signal a custom app view | `[]` | +| `dashboard.customComponents` | Custom Form components injected into the BasicDeploymentForm | `""` | +| `dashboard.remoteComponentsUrl` | Remote URL that can be used to load custom components vs loading from the local filesystem | `""` | +| `dashboard.skipAvailablePackageDetails` | Skip the package details view and go straight to the installation view of the latest version | `false` | +| `dashboard.customLocale` | Custom translations injected to the Dashboard to customize the strings used in Kubeapps | `""` | +| `dashboard.defaultTheme` | Default theme used in the Dashboard if the user has not selected any theme yet. | `""` | +| `dashboard.replicaCount` | Number of Dashboard replicas to deploy | `2` | +| `dashboard.extraEnvVars` | Array with extra environment variables to add to the Dashboard container | `[]` | +| `dashboard.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the Dashboard container | `""` | +| `dashboard.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the Dashboard container | `""` | +| `dashboard.containerPort` | Dashboard HTTP container port | `8080` | +| `dashboard.resources.limits.cpu` | The CPU limits for the Dashboard container | `250m` | +| `dashboard.resources.limits.memory` | The memory limits for the Dashboard container | `128Mi` | +| `dashboard.resources.requests.cpu` | The requested CPU for the Dashboard container | `25m` | +| `dashboard.resources.requests.memory` | The requested memory for the Dashboard container | `32Mi` | +| `dashboard.podSecurityContext.enabled` | Enabled Dashboard pods' Security Context | `true` | +| `dashboard.podSecurityContext.fsGroup` | Set Dashboard pod's Security Context fsGroup | `1001` | +| `dashboard.containerSecurityContext.enabled` | Enabled Dashboard containers' Security Context | `true` | +| `dashboard.containerSecurityContext.runAsUser` | Set Dashboard container's Security Context runAsUser | `1001` | +| `dashboard.containerSecurityContext.runAsNonRoot` | Set Dashboard container's Security Context runAsNonRoot | `true` | +| `dashboard.livenessProbe.enabled` | Enable livenessProbe | `true` | +| `dashboard.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | +| `dashboard.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `dashboard.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | +| `dashboard.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | +| `dashboard.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `dashboard.readinessProbe.enabled` | Enable readinessProbe | `true` | +| `dashboard.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | +| `dashboard.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `dashboard.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | +| `dashboard.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | +| `dashboard.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `dashboard.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `dashboard.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | +| `dashboard.lifecycleHooks` | Custom lifecycle hooks for Dashboard containers | `{}` | +| `dashboard.podLabels` | Extra labels for Dasbhoard pods | `{}` | +| `dashboard.podAnnotations` | Annotations for Dasbhoard 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` | `""` | +| `dashboard.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | +| `dashboard.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | +| `dashboard.affinity` | Affinity for pod assignment | `{}` | +| `dashboard.nodeSelector` | Node labels for pod assignment | `{}` | +| `dashboard.tolerations` | Tolerations for pod assignment | `[]` | +| `dashboard.priorityClassName` | Priority class name for Dashboard pods | `""` | +| `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.port` | Dasbhoard service HTTP port | `8080` | +| `dashboard.service.annotations` | Additional custom annotations for Dasbhoard service | `{}` | ### AppRepository Controller parameters @@ -235,12 +236,12 @@ 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.4.1-scratch-r1` | +| `apprepository.image.tag` | Kubeapps AppRepository Controller image tag (immutable tags are recommended) | `2.4.2-scratch-r0` | | `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.4.1-scratch-r1` | +| `apprepository.syncImage.tag` | Kubeapps Asset Syncer image tag (immutable tags are recommended) | `2.4.2-scratch-r0` | | `apprepository.syncImage.pullPolicy` | Kubeapps Asset Syncer image pull policy | `IfNotPresent` | | `apprepository.syncImage.pullSecrets` | Kubeapps Asset Syncer image pull secrets | `[]` | | `apprepository.initialRepos` | Initial chart repositories to configure | `[]` | @@ -278,9 +279,10 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | Name | Description | Value | | ----------------------------------------------- | ----------------------------------------------------------------------------------------- | -------------------------- | +| `kubeops.enabled` | Specifies whether this component should be installed. | `true` | | `kubeops.image.registry` | Kubeops image registry | `docker.io` | | `kubeops.image.repository` | Kubeops image repository | `bitnami/kubeapps-kubeops` | -| `kubeops.image.tag` | Kubeops image tag (immutable tags are recommended) | `2.4.1-scratch-r1` | +| `kubeops.image.tag` | Kubeops image tag (immutable tags are recommended) | `2.4.2-scratch-r0` | | `kubeops.image.pullPolicy` | Kubeops image pull policy | `IfNotPresent` | | `kubeops.image.pullSecrets` | Kubeops image pull secrets | `[]` | | `kubeops.namespaceHeaderName` | Additional header name for trusted namespaces | `""` | @@ -337,9 +339,10 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | Name | Description | Value | | ------------------------------------------------ | ----------------------------------------------------------------------------------------- | --------------------------- | +| `assetsvc.enabled` | Specifies whether this deprecated component should be installed. | `false` | | `assetsvc.image.registry` | Kubeapps Assetsvc image registry | `docker.io` | | `assetsvc.image.repository` | Kubeapps Assetsvc image repository | `bitnami/kubeapps-assetsvc` | -| `assetsvc.image.tag` | Kubeapps Assetsvc image tag (immutable tags are recommended) | `2.4.1-scratch-r1` | +| `assetsvc.image.tag` | Kubeapps Assetsvc image tag (immutable tags are recommended) | `2.4.2-scratch-r0` | | `assetsvc.image.pullPolicy` | Kubeapps Assetsvc image pull policy | `IfNotPresent` | | `assetsvc.image.pullSecrets` | Kubeapps Assetsvc image pull secrets | `[]` | | `assetsvc.replicaCount` | Number of Assetsvc replicas to deploy | `1` | @@ -394,7 +397,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.2.0-debian-10-r5` | +| `authProxy.image.tag` | OAuth2 Proxy image tag (immutable tags are recommended) | `7.2.0-debian-10-r32` | | `authProxy.image.pullPolicy` | OAuth2 Proxy image pull policy | `IfNotPresent` | | `authProxy.image.pullSecrets` | OAuth2 Proxy image pull secrets | `[]` | | `authProxy.external` | Use an external Auth Proxy instead of deploying its own one | `false` | @@ -427,7 +430,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.4.1-debian-10-r21` | +| `pinnipedProxy.image.tag` | Pinniped Proxy image tag (immutable tags are recommended) | `2.4.2-debian-10-r0` | | `pinnipedProxy.image.pullPolicy` | Pinniped Proxy image pull policy | `IfNotPresent` | | `pinnipedProxy.image.pullSecrets` | Pinniped Proxy image pull secrets | `[]` | | `pinnipedProxy.defaultPinnipedNamespace` | Specify the (default) namespace in which pinniped concierge is installed | `pinniped-concierge` | @@ -454,7 +457,7 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith | `rbac.create` | Specifies whether RBAC resources should be created | `true` | | `testImage.registry` | NGINX image registry | `docker.io` | | `testImage.repository` | NGINX image repository | `bitnami/nginx` | -| `testImage.tag` | NGINX image tag (immutable tags are recommended) | `1.21.3-debian-10-r50` | +| `testImage.tag` | NGINX image tag (immutable tags are recommended) | `1.21.4-debian-10-r21` | | `testImage.pullPolicy` | NGINX image pull policy | `IfNotPresent` | | `testImage.pullSecrets` | NGINX image pull secrets | `[]` | @@ -477,68 +480,75 @@ Once you have installed Kubeapps follow the [Getting Started Guide](https://gith ### kubeappsapis parameters -| Name | Description | Value | -| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------- | -| `kubeappsapis.unsafeUseDemoSA` | If true, replace the user's credentials by a full-granted demo service account. Just intended for development purposes. | `false` | -| `kubeappsapis.enabledPlugins` | Enabled plugins for the Kubeapps-APIs service | `["helm"]` | -| `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.4.1-debian-10-r21` | -| `kubeappsapis.image.pullPolicy` | Kubeapps-APIs image pull policy | `IfNotPresent` | -| `kubeappsapis.image.pullSecrets` | Kubeapps-APIs image pull secrets | `[]` | -| `kubeappsapis.replicaCount` | Number of frontend replicas to deploy | `1` | -| `kubeappsapis.terminationGracePeriodSeconds` | The grace time period for sig term | `300` | -| `kubeappsapis.extraEnvVars` | Array with extra environment variables to add to the KubeappsAPIs container | `[]` | -| `kubeappsapis.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the KubeappsAPIs container | `""` | -| `kubeappsapis.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the KubeappsAPIs container | `""` | -| `kubeappsapis.containerPort` | KubeappsAPIs HTTP container port | `50051` | -| `kubeappsapis.resources.limits.cpu` | The CPU limits for the KubeappsAPIs container | `250m` | -| `kubeappsapis.resources.limits.memory` | The memory limits for the KubeappsAPIs container | `256Mi` | -| `kubeappsapis.resources.requests.cpu` | The requested CPU for the KubeappsAPIs container | `25m` | -| `kubeappsapis.resources.requests.memory` | The requested memory for the KubeappsAPIs container | `32Mi` | -| `kubeappsapis.podSecurityContext.enabled` | Enabled KubeappsAPIs pods' Security Context | `true` | -| `kubeappsapis.podSecurityContext.fsGroup` | Set KubeappsAPIs pod's Security Context fsGroup | `1001` | -| `kubeappsapis.containerSecurityContext.enabled` | Enabled KubeappsAPIs containers' Security Context | `true` | -| `kubeappsapis.containerSecurityContext.runAsUser` | Set KubeappsAPIs container's Security Context runAsUser | `1001` | -| `kubeappsapis.containerSecurityContext.runAsNonRoot` | Set KubeappsAPIs container's Security Context runAsNonRoot | `true` | -| `kubeappsapis.livenessProbe.enabled` | Enable livenessProbe | `true` | -| `kubeappsapis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | -| `kubeappsapis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | -| `kubeappsapis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | -| `kubeappsapis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | -| `kubeappsapis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | -| `kubeappsapis.readinessProbe.enabled` | Enable readinessProbe | `true` | -| `kubeappsapis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | -| `kubeappsapis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | -| `kubeappsapis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | -| `kubeappsapis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | -| `kubeappsapis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | -| `kubeappsapis.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `kubeappsapis.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | -| `kubeappsapis.lifecycleHooks` | Custom lifecycle hooks for KubeappsAPIs containers | `{}` | -| `kubeappsapis.podLabels` | Extra labels for KubeappsAPIs pods | `{}` | -| `kubeappsapis.podAnnotations` | Annotations for KubeappsAPIs pods | `{}` | -| `kubeappsapis.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `kubeappsapis.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | -| `kubeappsapis.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `kubeappsapis.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | -| `kubeappsapis.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | -| `kubeappsapis.affinity` | Affinity for pod assignment | `{}` | -| `kubeappsapis.nodeSelector` | Node labels for pod assignment | `{}` | -| `kubeappsapis.tolerations` | Tolerations for pod assignment | `[]` | -| `kubeappsapis.priorityClassName` | Priority class name for KubeappsAPIs pods | `""` | -| `kubeappsapis.hostAliases` | Custom host aliases for KubeappsAPIs pods | `[]` | -| `kubeappsapis.service.port` | KubeappsAPIs service HTTP port | `8080` | -| `kubeappsapis.service.annotations` | Additional custom annotations for KubeappsAPIs service | `{}` | +| Name | Description | Value | +| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------- | +| `kubeappsapis.enabledPlugins` | Enabled plugins for the Kubeapps-APIs service | `["helm"]` | +| `kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.major` | Number of major versions to display in the summary | `3` | +| `kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.minor` | Number of minor versions to display in the summary | `3` | +| `kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.patch` | Number of patch versions to display in the summary | `3` | +| `kubeappsapis.pluginConfig.core.packages.v1alpha1.timeoutSeconds` | Value to wait for Kubernetes commands to complete | `300` | +| `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.4.2-debian-10-r0` | +| `kubeappsapis.image.pullPolicy` | Kubeapps-APIs image pull policy | `IfNotPresent` | +| `kubeappsapis.image.pullSecrets` | Kubeapps-APIs image pull secrets | `[]` | +| `kubeappsapis.replicaCount` | Number of frontend replicas to deploy | `2` | +| `kubeappsapis.terminationGracePeriodSeconds` | The grace time period for sig term | `300` | +| `kubeappsapis.extraEnvVars` | Array with extra environment variables to add to the KubeappsAPIs container | `[]` | +| `kubeappsapis.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for the KubeappsAPIs container | `""` | +| `kubeappsapis.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for the KubeappsAPIs container | `""` | +| `kubeappsapis.containerPort` | KubeappsAPIs HTTP container port | `50051` | +| `kubeappsapis.resources.limits.cpu` | The CPU limits for the KubeappsAPIs container | `250m` | +| `kubeappsapis.resources.limits.memory` | The memory limits for the KubeappsAPIs container | `256Mi` | +| `kubeappsapis.resources.requests.cpu` | The requested CPU for the KubeappsAPIs container | `25m` | +| `kubeappsapis.resources.requests.memory` | The requested memory for the KubeappsAPIs container | `32Mi` | +| `kubeappsapis.podSecurityContext.enabled` | Enabled KubeappsAPIs pods' Security Context | `true` | +| `kubeappsapis.podSecurityContext.fsGroup` | Set KubeappsAPIs pod's Security Context fsGroup | `1001` | +| `kubeappsapis.containerSecurityContext.enabled` | Enabled KubeappsAPIs containers' Security Context | `true` | +| `kubeappsapis.containerSecurityContext.runAsUser` | Set KubeappsAPIs container's Security Context runAsUser | `1001` | +| `kubeappsapis.containerSecurityContext.runAsNonRoot` | Set KubeappsAPIs container's Security Context runAsNonRoot | `true` | +| `kubeappsapis.livenessProbe.enabled` | Enable livenessProbe | `true` | +| `kubeappsapis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | +| `kubeappsapis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `kubeappsapis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` | +| `kubeappsapis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` | +| `kubeappsapis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `kubeappsapis.readinessProbe.enabled` | Enable readinessProbe | `true` | +| `kubeappsapis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` | +| `kubeappsapis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `kubeappsapis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` | +| `kubeappsapis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` | +| `kubeappsapis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `kubeappsapis.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `kubeappsapis.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | +| `kubeappsapis.lifecycleHooks` | Custom lifecycle hooks for KubeappsAPIs containers | `{}` | +| `kubeappsapis.podLabels` | Extra labels for KubeappsAPIs pods | `{}` | +| `kubeappsapis.podAnnotations` | Annotations for KubeappsAPIs pods | `{}` | +| `kubeappsapis.podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `kubeappsapis.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | +| `kubeappsapis.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `kubeappsapis.nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | +| `kubeappsapis.nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | +| `kubeappsapis.affinity` | Affinity for pod assignment | `{}` | +| `kubeappsapis.nodeSelector` | Node labels for pod assignment | `{}` | +| `kubeappsapis.tolerations` | Tolerations for pod assignment | `[]` | +| `kubeappsapis.priorityClassName` | Priority class name for KubeappsAPIs pods | `""` | +| `kubeappsapis.hostAliases` | Custom host aliases for KubeappsAPIs pods | `[]` | +| `kubeappsapis.service.port` | KubeappsAPIs service HTTP port | `8080` | +| `kubeappsapis.service.annotations` | Additional custom annotations for KubeappsAPIs service | `{}` | ### Redis™ chart configuration -| Name | Description | Value | -| ---------------------------- | ---------------------------------------------------------------- | ------- | -| `redis.redisPassword` | Password used in Redis™ | `""` | -| `redis.enabled` | Enable the Redis™ deployment when deploying Kubeapps APIs. | `false` | -| `redis.replica.replicaCount` | Number of Redis™ replicas to deploy | `0` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------- | +| `redis.redisPassword` | Password used in Redis™ | `""` | +| `redis.enabled` | Enable the Redis™ deployment when deploying Kubeapps APIs. | `false` | +| `redis.master.extraFlags` | Array with additional command line flags for Redis™ master | `["--maxmemory 200mb","--maxmemory-policy allkeys-lru"]` | +| `redis.master.disableCommands` | Array with commands to disable on Redis&trade | `[]` | +| `redis.replica.replicaCount` | Number of Redis™ replicas to deploy | `1` | +| `redis.replica.extraFlags` | Array with additional command line flags for Redis™ replicas | `["--maxmemory 200mb","--maxmemory-policy allkeys-lru"]` | +| `redis.replica.disableCommands` | Array with commands to disable on Redis&trade | `[]` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/bitnami/kubeapps/templates/NOTES.txt b/bitnami/kubeapps/templates/NOTES.txt index 49a98cf2c..6709e4719 100644 --- a/bitnami/kubeapps/templates/NOTES.txt +++ b/bitnami/kubeapps/templates/NOTES.txt @@ -52,7 +52,7 @@ To access Kubeapps from outside your K8s cluster, follow the steps below: Watch the status by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "common.names.fullname" . }}' export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo "Kubeapps URL: http://$SERVICE_IP:{{ .Values.frontend.service.port }}" + echo "Kubeapps URL: http{{ if eq ( .Values.frontend.service.port | toString ) "443" }}s{{ end }}://$SERVICE_IP:{{ .Values.frontend.service.port }}" {{- else if contains "ClusterIP" .Values.frontend.service.type }} diff --git a/bitnami/kubeapps/templates/assetsvc/deployment.yaml b/bitnami/kubeapps/templates/assetsvc/deployment.yaml index bf2654e73..9daaa0085 100644 --- a/bitnami/kubeapps/templates/assetsvc/deployment.yaml +++ b/bitnami/kubeapps/templates/assetsvc/deployment.yaml @@ -1,3 +1,4 @@ +{{- if .Values.assetsvc.enabled }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -92,6 +93,7 @@ spec: {{- else if .Values.assetsvc.customReadinessProbe }} readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.assetsvc.customReadinessProbe "context" $) | nindent 12 }} {{- end }} - {{- if .Values.assetsvc.resource }} + {{- if .Values.assetsvc.resources }} resources: {{- toYaml .Values.assetsvc.resources | nindent 12 }} {{- end }} +{{- end }} diff --git a/bitnami/kubeapps/templates/assetsvc/service.yaml b/bitnami/kubeapps/templates/assetsvc/service.yaml index 90e7c0ed1..2ed77a1fc 100644 --- a/bitnami/kubeapps/templates/assetsvc/service.yaml +++ b/bitnami/kubeapps/templates/assetsvc/service.yaml @@ -1,3 +1,4 @@ +{{- if .Values.assetsvc.enabled }} apiVersion: v1 kind: Service metadata: @@ -26,3 +27,4 @@ spec: name: http selector: {{- include "common.labels.matchLabels" . | nindent 4 }} app.kubernetes.io/component: assetsvc +{{- end }} diff --git a/bitnami/kubeapps/templates/frontend/configmap.yaml b/bitnami/kubeapps/templates/frontend/configmap.yaml index 4840caf20..bf0d25758 100644 --- a/bitnami/kubeapps/templates/frontend/configmap.yaml +++ b/bitnami/kubeapps/templates/frontend/configmap.yaml @@ -79,10 +79,12 @@ data: exist, even with the `default` function. See https://github.com/helm/helm/issues/8026#issuecomment-756538254 */}} {{- $pinnipedConfig := .pinnipedConfig | default dict }} - {{- if and $.Values.pinnipedProxy.enabled $pinnipedConfig.enable }} + {{- if and $.Values.pinnipedProxy.enabled (or $pinnipedConfig.enabled $pinnipedConfig.enable) }} # If pinniped proxy is enabled *and* the current cluster is configured # to exchange credentials then we route via pinnipedProxy to exchange - # credentials for client certificates. + # credentials for client certificates. Note, we are currently still supporting + # the deprecated `pinnipedConfig.enable` until the next feature release. + # All documentation should now reference the cluster-specific `pinnipedConfig.enabled`. {{- if .apiServiceURL }} proxy_set_header PINNIPED_PROXY_API_SERVER_URL {{ .apiServiceURL }}; {{- end }} @@ -101,6 +103,24 @@ data: } {{- end }} + location ~* /apis { + rewrite ^ $request_uri; # pass the encoded url downstream as is, + rewrite /apis/([^?]*) /$1 break; + rewrite /apis / break; + + {{- if .Values.frontend.proxypassExtraSetHeader }} + proxy_set_header {{ .Values.frontend.proxypassExtraSetHeader }}; + {{- end }} + + {{- if .Values.frontend.proxypassAccessTokenAsBearer }} + # Google Kubernetes Engine requires the access_token as the Bearer when talking to the k8s api server. + proxy_set_header Authorization "Bearer $http_x_forwarded_access_token"; + {{- end }} + + proxy_pass {{ include "kubeapps.kubeappsapis.proxy_pass" . -}}; + } + + {{- if .Values.assetsvc.enabled }} # Forward '/api/assetsvc' to '/assetsvc' # but preserving the encoding (eg. '%2F' is not converted to '/') # see https://serverfault.com/a/906479 @@ -119,10 +139,11 @@ data: # Google Kubernetes Engine requires the access_token as the Bearer when talking to the k8s api server. proxy_set_header Authorization "Bearer $http_x_forwarded_access_token"; {{- end }} - proxy_pass {{ include "kubeapps.frontend-config.proxy_pass" . -}}; } + {{- end }} + {{- if .Values.kubeops.enabled }} location ~* /api/kubeops { # Keep the connection open with the API server even if idle (the default is 60 seconds) # Setting it to 10 minutes which should be enough for our current use case of deploying/upgrading/deleting apps @@ -142,25 +163,6 @@ data: proxy_pass {{ include "kubeapps.frontend-config.proxy_pass" . -}}; } - {{- if .Values.featureFlags.kubeappsAPIsServer }} - location ~* /apis { - rewrite ^ $request_uri; # pass the encoded url downstream as is, - rewrite /apis/([^?]*) /$1 break; - rewrite /apis / break; - - {{- if .Values.frontend.proxypassExtraSetHeader }} - proxy_set_header {{ .Values.frontend.proxypassExtraSetHeader }}; - {{- end }} - - {{- if .Values.frontend.proxypassAccessTokenAsBearer }} - # Google Kubernetes Engine requires the access_token as the Bearer when talking to the k8s api server. - proxy_set_header Authorization "Bearer $http_x_forwarded_access_token"; - {{- end }} - - proxy_pass {{ include "kubeapps.kubeappsapis.proxy_pass" . -}}; - } - {{- end }} - # The route for the Kubeapps backend API is not prefixed. location ~* /api/ { rewrite /api/(.*) /backend/$1 break; @@ -177,6 +179,7 @@ data: proxy_pass {{ include "kubeapps.frontend-config.proxy_pass" . -}}; } + {{- end }} location / { # Add the Authorization header if exists diff --git a/bitnami/kubeapps/templates/frontend/deployment.yaml b/bitnami/kubeapps/templates/frontend/deployment.yaml index 039aed43c..34a5ff12f 100644 --- a/bitnami/kubeapps/templates/frontend/deployment.yaml +++ b/bitnami/kubeapps/templates/frontend/deployment.yaml @@ -164,7 +164,7 @@ spec: {{- if and (gt (len .Values.clusters) 1) (not .Values.authProxy.enabled) }} {{ fail "clusters can be configured only when using an auth proxy for cluster oidc authentication."}} {{- end }} - {{- if and .Values.pinnipedProxy.enabled }} + {{- if .Values.pinnipedProxy.enabled }} - name: pinniped-proxy image: {{ include "common.images.image" (dict "imageRoot" .Values.pinnipedProxy.image "global" .Values.global) }} imagePullPolicy: {{ .Values.pinnipedProxy.image.pullPolicy | quote }} diff --git a/bitnami/kubeapps/templates/kubeappsapis/configmap.yaml b/bitnami/kubeapps/templates/kubeappsapis/configmap.yaml new file mode 100644 index 000000000..f094c4b00 --- /dev/null +++ b/bitnami/kubeapps/templates/kubeappsapis/configmap.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "kubeapps.kubeappsapis.fullname" . }}-configmap +data: + plugins.conf: |- +{{- if .Values.kubeappsapis.pluginConfig }} +{{ .Values.kubeappsapis.pluginConfig | toPrettyJson | indent 4 }} +{{- end }} diff --git a/bitnami/kubeapps/templates/kubeappsapis/deployment.yaml b/bitnami/kubeapps/templates/kubeappsapis/deployment.yaml index 59a845a49..cd3bf973f 100644 --- a/bitnami/kubeapps/templates/kubeappsapis/deployment.yaml +++ b/bitnami/kubeapps/templates/kubeappsapis/deployment.yaml @@ -1,4 +1,3 @@ -{{- if .Values.featureFlags.kubeappsAPIsServer }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -29,9 +28,7 @@ spec: {{- end }} spec: {{- include "kubeapps.imagePullSecrets" . | indent 6 }} - {{- if .Values.kubeappsapis.unsafeUseDemoSA }} serviceAccountName: {{ template "kubeapps.kubeappsapis.fullname" . }} - {{- end }} {{- if .Values.kubeappsapis.hostAliases }} hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.kubeappsapis.hostAliases "context" $) | nindent 8 }} {{- end }} @@ -78,13 +75,15 @@ spec: {{- if .Values.clusters }} - --clusters-config-path=/config/clusters.conf {{- end }} + {{- if .Values.kubeappsapis.pluginConfig }} + - --plugin-config-path=/config/kubeapps-apis/plugins.conf + {{- end }} {{- if .Values.pinnipedProxy.enabled }} - --pinniped-proxy-url=http://{{ template "kubeapps.pinniped-proxy.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.pinnipedProxy.containerPort }} {{- end }} - {{- if .Values.kubeappsapis.unsafeUseDemoSA }} - - --unsafe-use-demo-sa=true - {{- end }} env: + - name: GOGC + value: "50" # default is 100. 50 means increasing x2 the frequency of GC - name: PORT value: {{ .Values.kubeappsapis.containerPort | quote }} {{- if .Values.redis.enabled }} @@ -149,19 +148,27 @@ spec: {{- if .Values.kubeappsapis.resources }} resources: {{- toYaml .Values.kubeappsapis.resources | nindent 12 }} {{- end }} - {{- if .Values.clusters }} volumeMounts: + {{- if .Values.clusters }} - name: clusters-config mountPath: /config - name: ca-certs mountPath: /etc/additional-clusters-cafiles {{- end }} - {{- if .Values.clusters }} + {{- if .Values.kubeappsapis.pluginConfig }} + - name: plugins-config + mountPath: /config/kubeapps-apis + {{- end }} volumes: + {{- if .Values.clusters }} - name: clusters-config configMap: name: {{ template "kubeapps.clusters-config.fullname" . }} - name: ca-certs emptyDir: {} {{- end }} -{{- end }} + {{- if .Values.kubeappsapis.pluginConfig }} + - name: plugins-config + configMap: + name: {{ template "kubeapps.kubeappsapis.fullname" . }}-configmap + {{- end }} diff --git a/bitnami/kubeapps/templates/kubeappsapis/rbac.yaml b/bitnami/kubeapps/templates/kubeappsapis/rbac_fluxv2.yaml similarity index 61% rename from bitnami/kubeapps/templates/kubeappsapis/rbac.yaml rename to bitnami/kubeapps/templates/kubeappsapis/rbac_fluxv2.yaml index 5a4072fb5..98d19190e 100644 --- a/bitnami/kubeapps/templates/kubeappsapis/rbac.yaml +++ b/bitnami/kubeapps/templates/kubeappsapis/rbac_fluxv2.yaml @@ -1,10 +1,9 @@ -{{- if .Values.featureFlags.kubeappsAPIsServer }} +{{- if has "fluxv2" .Values.kubeappsapis.enabledPlugins }} {{- if .Values.rbac.create -}} apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRole metadata: - name: "kubeapps:controller:kubeapps-apis-dev-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} + name: "kubeapps:controller:kubeapps-apis-fluxv2-plugin" labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeappsapis {{- if .Values.commonLabels }} @@ -14,26 +13,18 @@ metadata: annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} rules: - - apiGroups: - - "packageinstalls.packaging.carvel.dev" - - "packagerepositories.packaging.carvel.dev" - - "source.toolkit.fluxcd.io" - - "helm.toolkit.fluxcd.io" - resources: ['*'] - verbs: ['*'] - # So that our dev user is seen as having access to a namespace. - # We'll need to add rbac for our dev user to install later as well. - - apiGroups: [""] - resources: ["secrets"] + - apiGroups: ["source.toolkit.fluxcd.io"] + resources: ["helmrepositories"] + verbs: ["get", "list", "watch"] + # needed by fluxv2 plug-in to check whether flux CRDs have been installed + - apiGroups: ["apiextensions.k8s.io"] + resources: ["customresourcedefinitions"] verbs: ["get", "list"] -{{- if .Values.kubeappsapis.unsafeUseDemoSA }} -# Dev-only ClusterRoleBinding to the ServiceAccount --- apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRoleBinding metadata: - name: "kubeapps:controller:kubeapps-apis-dev-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} + name: "kubeapps:controller:kubeapps-apis-fluxv2-plugin" labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeappsapis {{- if .Values.commonLabels }} @@ -45,11 +36,10 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: "kubeapps:controller:kubeapps-apis-dev-{{ .Release.Namespace }}" + name: "kubeapps:controller:kubeapps-apis-fluxv2-plugin" subjects: - kind: ServiceAccount name: {{ template "kubeapps.kubeappsapis.fullname" . }} namespace: {{ .Release.Namespace }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/kubeapps/templates/kubeappsapis/service.yaml b/bitnami/kubeapps/templates/kubeappsapis/service.yaml index 8fc422f38..3ff1803d0 100644 --- a/bitnami/kubeapps/templates/kubeappsapis/service.yaml +++ b/bitnami/kubeapps/templates/kubeappsapis/service.yaml @@ -1,4 +1,3 @@ -{{- if .Values.featureFlags.kubeappsAPIsServer }} apiVersion: v1 kind: Service metadata: @@ -27,4 +26,3 @@ spec: name: grpc-http selector: {{- include "common.labels.matchLabels" . | nindent 4 }} app.kubernetes.io/component: kubeappsapis -{{- end }} diff --git a/bitnami/kubeapps/templates/kubeappsapis/serviceaccount.yaml b/bitnami/kubeapps/templates/kubeappsapis/serviceaccount.yaml index 5dc5e3a58..b3c64aa07 100644 --- a/bitnami/kubeapps/templates/kubeappsapis/serviceaccount.yaml +++ b/bitnami/kubeapps/templates/kubeappsapis/serviceaccount.yaml @@ -1,5 +1,3 @@ -{{- if .Values.featureFlags.kubeappsAPIsServer }} - {{- if .Values.kubeappsapis.unsafeUseDemoSA }} apiVersion: v1 kind: ServiceAccount metadata: @@ -13,5 +11,3 @@ metadata: {{- if .Values.commonAnnotations }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} - {{- end }} -{{- end }} diff --git a/bitnami/kubeapps/templates/kubeops/deployment.yaml b/bitnami/kubeapps/templates/kubeops/deployment.yaml index 825b7df9a..6c2ede0fb 100644 --- a/bitnami/kubeapps/templates/kubeops/deployment.yaml +++ b/bitnami/kubeapps/templates/kubeops/deployment.yaml @@ -1,3 +1,4 @@ +{{- if .Values.kubeops.enabled }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -140,3 +141,4 @@ spec: - name: ca-certs emptyDir: {} {{- end }} +{{- end }} diff --git a/bitnami/kubeapps/templates/kubeops/rbac.yaml b/bitnami/kubeapps/templates/kubeops/rbac.yaml index 90dd59bc1..eb31ac4db 100644 --- a/bitnami/kubeapps/templates/kubeops/rbac.yaml +++ b/bitnami/kubeapps/templates/kubeops/rbac.yaml @@ -1,4 +1,4 @@ -{{- if .Values.rbac.create -}} +{{- if and .Values.kubeops.enabled .Values.rbac.create -}} apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: Role metadata: @@ -56,7 +56,6 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRole metadata: name: "kubeapps:controller:kubeops-ns-discovery-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeops {{- if .Values.commonLabels }} @@ -77,7 +76,6 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRoleBinding metadata: name: "kubeapps:controller:kubeops-ns-discovery-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeops {{- if .Values.commonLabels }} @@ -100,7 +98,6 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRole metadata: name: "kubeapps:controller:kubeops-operators-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeops {{- if .Values.commonLabels }} @@ -121,7 +118,6 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRoleBinding metadata: name: "kubeapps:controller:kubeops-operators-{{ .Release.Namespace }}" - namespace: {{ .Release.Namespace | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} app.kubernetes.io/component: kubeops {{- if .Values.commonLabels }} diff --git a/bitnami/kubeapps/templates/kubeops/service.yaml b/bitnami/kubeapps/templates/kubeops/service.yaml index e57f21098..9810b91e4 100644 --- a/bitnami/kubeapps/templates/kubeops/service.yaml +++ b/bitnami/kubeapps/templates/kubeops/service.yaml @@ -1,3 +1,4 @@ +{{- if .Values.kubeops.enabled }} apiVersion: v1 kind: Service metadata: @@ -26,3 +27,4 @@ spec: name: http selector: {{- include "common.labels.matchLabels" . | nindent 4 }} app.kubernetes.io/component: kubeops +{{- end }} diff --git a/bitnami/kubeapps/templates/kubeops/serviceaccount.yaml b/bitnami/kubeapps/templates/kubeops/serviceaccount.yaml index 7408e4a61..3dd5f8705 100644 --- a/bitnami/kubeapps/templates/kubeops/serviceaccount.yaml +++ b/bitnami/kubeapps/templates/kubeops/serviceaccount.yaml @@ -1,3 +1,4 @@ +{{- if .Values.kubeops.enabled }} apiVersion: v1 kind: ServiceAccount metadata: @@ -11,3 +12,4 @@ metadata: {{- if .Values.commonAnnotations }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} +{{- end }} diff --git a/bitnami/kubeapps/values.yaml b/bitnami/kubeapps/values.yaml index b24d3185a..b75878f0c 100644 --- a/bitnami/kubeapps/values.yaml +++ b/bitnami/kubeapps/values.yaml @@ -64,7 +64,7 @@ ingress: pathType: ImplementationSpecific ## @param ingress.annotations [object] Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. ## For a full list of possible ingress annotations, please see - ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md + ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md ## Use this parameter to set the required annotations for cert-manager, see ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations ## @@ -386,7 +386,7 @@ frontend: ## loadBalancerIP: "" ## @param frontend.service.loadBalancerSourceRanges Frontend service Load Balancer sources - ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service + ## ref: https://v1-17.docs.kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## e.g: ## loadBalancerSourceRanges: ## - 10.10.10.0/24 @@ -417,7 +417,7 @@ dashboard: image: registry: docker.io repository: bitnami/kubeapps-dashboard - tag: 2.4.1-debian-10-r42 + tag: 2.4.2-debian-10-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -457,6 +457,9 @@ dashboard: ## @param dashboard.remoteComponentsUrl Remote URL that can be used to load custom components vs loading from the local filesystem ## remoteComponentsUrl: "" + ## @param dashboard.skipAvailablePackageDetails Skip the package details view and go straight to the installation view of the latest version + ## + skipAvailablePackageDetails: false ## @param dashboard.customLocale Custom translations injected to the Dashboard to customize the strings used in Kubeapps ## ref: https://github.com/kubeapps/kubeapps/blob/master/docs/developer/translate-kubeapps.md ## e.g: @@ -677,7 +680,7 @@ apprepository: image: registry: docker.io repository: bitnami/kubeapps-apprepository-controller - tag: 2.4.1-scratch-r1 + tag: 2.4.2-scratch-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -702,7 +705,7 @@ apprepository: syncImage: registry: docker.io repository: bitnami/kubeapps-asset-syncer - tag: 2.4.1-scratch-r1 + tag: 2.4.2-scratch-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -874,6 +877,10 @@ apprepository: ## Kubeops parameters ## kubeops: + ## @param kubeops.enabled Specifies whether this component should be installed. + ## In a future release we will be setting this to default to false. + ## + enabled: true ## Bitnami Kubeops image ## ref: https://hub.docker.com/r/bitnami/kubeops/tags/ ## @param kubeops.image.registry Kubeops image registry @@ -885,7 +892,7 @@ kubeops: image: registry: docker.io repository: bitnami/kubeapps-kubeops - tag: 2.4.1-scratch-r1 + tag: 2.4.2-scratch-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -1085,8 +1092,13 @@ kubeops: ## @section Assetsvc parameters ## Assetsvc parameters -## +## @deprecated assetsvc: + ## @param assetsvc.enabled Specifies whether this deprecated component should be installed. + ## As per Kubeapps v2.4.0 it is no longer used in the UI. + ## In future releases, this service will get entirely removed. + ## + enabled: false ## Bitnami Kubeapps Assetsvc image ## ref: https://hub.docker.com/r/bitnami/kubeapps-assetsvc/tags/ ## @param assetsvc.image.registry Kubeapps Assetsvc image registry @@ -1098,7 +1110,7 @@ assetsvc: image: registry: docker.io repository: bitnami/kubeapps-assetsvc - tag: 2.4.1-scratch-r1 + tag: 2.4.2-scratch-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -1408,7 +1420,7 @@ pinnipedProxy: image: registry: docker.io repository: bitnami/kubeapps-pinniped-proxy - tag: 2.4.1-debian-10-r47 + tag: 2.4.2-debian-10-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -1495,7 +1507,7 @@ allowNamespaceDiscovery: true ## serviceToken: ... ## isKubeappsCluster: true ## pinnipedConfig: -## enable: true +## enabled: true ## clusters: @@ -1504,8 +1516,6 @@ clusters: ## @param featureFlags [object] Feature flags (used to switch on development features) ## featureFlags: - invalidateCache: true - kubeappsAPIsServer: true ## RBAC configuration ## rbac: @@ -1586,17 +1596,28 @@ postgresql: ## @section kubeappsapis parameters kubeappsapis: - ## @param kubeappsapis.unsafeUseDemoSA If true, replace the user's credentials by a full-granted demo service account. Just intended for development purposes. - unsafeUseDemoSA: false ## @param kubeappsapis.enabledPlugins Enabled plugins for the Kubeapps-APIs service ## e.g: ## enabledPlugins: ## - helm ## - fluxv2 - ## - kapp_controller + ## - kapp-controller ## enabledPlugins: - helm + pluginConfig: + core: + packages: + v1alpha1: + versionsInSummary: + ## @param kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.major Number of major versions to display in the summary + major: 3 + ## @param kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.minor Number of minor versions to display in the summary + minor: 3 + ## @param kubeappsapis.pluginConfig.core.packages.v1alpha1.versionsInSummary.patch Number of patch versions to display in the summary + patch: 3 + ## @param kubeappsapis.pluginConfig.core.packages.v1alpha1.timeoutSeconds Value to wait for Kubernetes commands to complete + timeoutSeconds: 300 ## Bitnami Kubeapps-APIs image ## ref: https://hub.docker.com/r/bitnami/kubeapps-apis/tags/ ## @param kubeappsapis.image.registry Kubeapps-APIs image registry @@ -1608,7 +1629,7 @@ kubeappsapis: image: registry: docker.io repository: bitnami/kubeapps-apis - tag: 2.4.1-debian-10-r47 + tag: 2.4.2-debian-10-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images @@ -1624,7 +1645,7 @@ kubeappsapis: pullSecrets: [] ## @param kubeappsapis.replicaCount Number of frontend replicas to deploy ## - replicaCount: 1 + replicaCount: 2 ## @param kubeappsapis.terminationGracePeriodSeconds The grace time period for sig term ## ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution ## @@ -1804,6 +1825,36 @@ redis: ## to manually enable this in dev while ensuring it is false for releases (as it ## is a conditional dependency in the Chart.yaml). enabled: false + master: + ## @param redis.master.extraFlags Array with additional command line flags for Redis™ master + extraFlags: + ## The maxmemory configuration directive is used in order to configure Redis to use a specified + ## amount of memory for the data set. Setting maxmemory to zero results into no memory limits + ## see https://redis.io/topics/lru-cache for more details + - "--maxmemory 200mb" + ## The exact behavior Redis follows when the maxmemory limit is reached is configured using the + ## maxmemory-policy configuration directive + ## allkeys-lru: evict keys by trying to remove the less recently used (LRU) keys first, in order + ## to make space for the new data added + - "--maxmemory-policy allkeys-lru" + ## ref https://stackoverflow.com/questions/22815364/flushall-and-flushdb-commands-on-redis-return-unk-command + ## Redis official Helm chart by default disables FLUSHDB and FLUSHALL commands + ## @param redis.master.disableCommands Array with commands to disable on Redis&trade + disableCommands: [] replica: ## @param redis.replica.replicaCount Number of Redis™ replicas to deploy - replicaCount: 0 + replicaCount: 1 + ## @param redis.replica.extraFlags Array with additional command line flags for Redis™ replicas + extraFlags: + ## The maxmemory configuration directive is used in order to configure Redis to use a specified + ## amount of memory for the data set. Setting maxmemory to zero results into no memory limits + - "--maxmemory 200mb" + ## The exact behavior Redis follows when the maxmemory limit is reached is configured using the + ## maxmemory-policy configuration directive + ## allkeys-lru: evict keys by trying to remove the less recently used (LRU) keys first, in order + ## to make space for the new data added + - "--maxmemory-policy allkeys-lru" + ## ref https://stackoverflow.com/questions/22815364/flushall-and-flushdb-commands-on-redis-return-unk-command + ## Redis official Helm chart by default disables FLUSHDB and FLUSHALL commands + ## @param redis.replica.disableCommands Array with commands to disable on Redis&trade + disableCommands: []