Return the appropriate apiVersion for PodSecurityConfiguration.
. Chart context
Compatibility
Helper identifier
Description
Expected Input
common.compatibility.isOpenshift
Return true if the detected platform is Openshift
. Chart context
common.compatibility.renderSecurityContext
Render a compatible securityContext depending on the platform. By default it is maintained as it is. In other platforms like Openshift we remove default user/group values that do not work out of the box with the restricted-v1 SCC
It will ensure required passwords are given when we are upgrading a chart. If validationErrors is not empty it will throw an error and will stop the upgrade action.
Checksum a template at "path" containing a single resource (ConfigMap,Secret) for use in pod annotations, excluding the metadata (see #18376)
dict "path" "/configmap.yaml" "context" $
Validations
Helper identifier
Description
Expected Input
common.validations.values.single.empty
Validate a value must not be empty.
dict "valueKey" "path.to.value" "secret" "secret.name" "field" "my-password" "subchart" "subchart" "context" $ secret, field and subchart are optional. In case they are given, the helper will generate a how to get instruction. See ValidateValue
common.validations.values.multiple.empty
Validate a multiple values must not be empty. It returns a shared error for all the values.
dict "required" (list $validateValueConf00 $validateValueConf01) "context" $. See ValidateValue
common.validations.values.mariadb.passwords
This helper will ensure required password for MariaDB are not empty. It returns a shared error for all the values.
dict "secret" "mariadb-secret" "subchart" "true" "context" $ subchart field is optional and could be true or false it depends on where you will use mariadb chart and the helper.
Warning about not setting the resource object in all deployments.
dict "sections" (list "path1" "path2") context $
Special input schemas
ImageRoot
registry:type:stringdescription:Dockerregistrywheretheimageislocatedexample:docker.iorepository:type:stringdescription:Repositoryandimagenameexample:bitnami/nginxtag:type:stringdescription:imagetagexample:1.16.1-debian-10-r63pullPolicy:type:stringdescription:SpecifyaimagePullPolicy.'pullSecrets:type:arrayitems:type:stringdescription:OptionallyspecifyanarrayofimagePullSecrets(evaluatedastemplates).debug:type:booleandescription:Settotrueifyouwouldliketoseeextrainformationonlogsexample:false## An instance would be:# registry: docker.io# repository: bitnami/nginx# tag: 1.16.1-debian-10-r63# pullPolicy: IfNotPresent# debug: false
Persistence
enabled:type:booleandescription:Whetherenablepersistence.example:truestorageClass:type:stringdescription:GhostdataPersistentVolumeStorageClass,Ifsetto"-",storageClassName:""whichdisablesdynamicprovisioning.example:"-"accessMode:type:stringdescription:AccessmodeforthePersistentVolumeStorage.example:ReadWriteOncesize:type:stringdescription:SizethePersistentVolumeStorage.example:8Gipath:type:stringdescription:Pathtobepersisted.example:/bitnami## An instance would be:# enabled: true# storageClass: "-"# accessMode: ReadWriteOnce# size: 8Gi# path: /bitnami
ExistingSecret
name:type:stringdescription:Nameoftheexistingsecret.example:mySecretkeyMapping:description:Mappingbetweentheexpectedkeynameandthenameofthekeyintheexistingsecret.type:object## An instance would be:# name: mySecret# keyMapping:# password: myPasswordKey
Example of use
When we store sensitive data for a deployment in a secret, some times we want to give to users the possibility of using theirs existing secrets.
If we force those values to be empty we will see some alerts
helm install test mychart --set path.to.value00="",path.to.value01=""
'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value:
export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d)
'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value:
export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 -d)
Upgrading
To 1.0.0
On November 13, 2020, Helm v2 support was formally finished, this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
What changes were introduced in this major version?
Previous versions of this Helm Chart use apiVersion: v1 (installable by both Helm 2 and 3), this Helm Chart was updated to apiVersion: v2 (installable by Helm 3 only). Here you can find more information about the apiVersion field.
Use type: library. Here you can find more information.
The different fields present in the Chart.yaml file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts
Considerations when upgrading to this version
If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues
If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore
If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the official Helm documentation about migrating from Helm v2 to v3
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.