Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Generic helm chart for all kind of applications

License

NotificationsYou must be signed in to change notification settings

stakater/application

Repository files navigation

License: MIT

Application

Generic helm chart for applications which:

  • are stateless
  • creates only namespace scoped resources (e.g. it doesn't need CRB - Cluster Role Bindings)
  • don't need privileged containers
  • don't call the underlying Kubernetes API or use the underlying etcd as a database by defining custom resources
  • run either as deployment, job or cronjob

Installing the Chart

To install the chart with the release namemy-application in namespacetest:

helm repo add stakater https://stakater.github.io/stakater-chartshelm repo updatehelm install my-application stakater/application --namespacetest

Uninstall the Chart

To uninstall the chart:

helm delete --namespacetest my-application

Values

Parameters

KeyTypeDefaultDescription
namespaceOverridestring""Override the namespace for all resources.
componentOverridestring""Override the component label for all resources.
partOfOverridestring""Override the partOf label for all resources.
applicationNamestring{{ .Chart.Name }}Application name.
additionalLabelstpl/objectnilAdditional labels for all resources.
extraObjects[list or object] of [tpl/object or tpl/string]nilExtra K8s manifests to deploy. Can be of type list or object. If object, keys are ignored and only values are used. The used values can be defined as object or string and are passed through tpl to render.

CronJob Parameters

KeyTypeDefaultDescription
cronJob.enabledboolfalseDeploy CronJob resources.
cronJob.jobsobjectnilMap of CronJob resources. Key will be used as a name suffix for the CronJob. Value is the CronJob configuration. See values for more details.

Job Parameters

KeyTypeDefaultDescription
job.enabledboolfalseDeploy Job resources.
job.jobsobjectnilMap of Job resources. Key will be used as a name suffix for the Job. Value is the Job configuration. See values for more details.

Deployment Parameters

KeyTypeDefaultDescription
deployment.enabledbooltrueEnable Deployment.
deployment.additionalLabelsobjectnilAdditional labels for Deployment.
deployment.podLabelsobjectnilAdditional pod labels which are used in Service's Label Selector.
deployment.annotationsobjectnilAnnotations for Deployment.
deployment.additionalPodAnnotationsobjectnilAdditional pod annotations.
deployment.strategy.typestring"RollingUpdate"Type of deployment strategy.
deployment.reloadOnChangebooltrueReload deployment if attached Secret/ConfigMap changes.
deployment.nodeSelectorobjectnilSelect the node where the pods should be scheduled.
deployment.hostAliaseslistnilMapping between IP and hostnames that will be injected as entries in the pod's hosts files.
deployment.initContainersobjectnilAdd init containers to the pods.
deployment.fluentdConfigAnnotationsobjectnilConfiguration details for fluentdConfigurations. Only works for specific setup, seehttps://medium.com/stakater/dynamic-log-processing-with-fluentd-konfigurator-and-slack-935a5de4eddb.
deployment.replicasintnilNumber of replicas.
deployment.imagePullSecretslist[]List of secrets to be used for pulling the images.
deployment.envFromobjectnilMount environment variables from ConfigMap or Secret to the pod. See the README "Consuming environment variable in application chart" section for more details.
deployment.envobjectnilEnvironment variables to be added to the pod. See the README "Consuming environment variable in application chart" section for more details.
deployment.volumesobjectnilVolumes to be added to the pod. Key is the name of the volume. Value is the volume definition.
deployment.volumeMountsobjectnilMount path for Volumes. Key is the name of the volume. Value is the volume mount definition.
deployment.priorityClassNamestring""Define the priority class for the pod.
deployment.runtimeClassNamestring""Set the runtimeClassName for the deployment's pods.
deployment.tolerationslistnilTaint tolerations for the pods.
deployment.affinityobjectnilAffinity for the pods.
deployment.topologySpreadConstraintslistnilTopology spread constraints for the pods.
deployment.revisionHistoryLimitint2Number of ReplicaSet revisions to retain.
deployment.image.repositorytpl/string""Repository.
deployment.image.tagtpl/string""Tag.
deployment.image.digesttpl/string""Image digest. If resolved to a non-empty value, digest takes precedence on the tag.
deployment.image.pullPolicystring"IfNotPresent"Image pull policy.
deployment.dnsConfigobjectnilDNS config for the pods.
deployment.dnsPolicystring""DNS Policy.
deployment.startupProbeobjectSee belowStartup probe. Must specify either one of the following field when enabled: httpGet, exec, tcpSocket, grpc
deployment.startupProbe.enabledboolfalseEnable Startup probe.
deployment.startupProbe.failureThresholdint30Number of retries before marking the pod as failed.
deployment.startupProbe.periodSecondsint10Time between retries.
deployment.startupProbe.successThresholdint1Number of successful probes before marking the pod as ready.
deployment.startupProbe.timeoutSecondsint1Time before the probe times out.
deployment.startupProbe.httpGetobject{}HTTP Get probe.
deployment.startupProbe.execobject{}Exec probe.
deployment.startupProbe.tcpSocketobject{}TCP Socket probe.
deployment.startupProbe.grpcobject{}gRPC probe.
deployment.readinessProbeobjectSee belowReadiness probe. Must specify either one of the following field when enabled: httpGet, exec, tcpSocket, grpc
deployment.readinessProbe.enabledboolfalseEnable Readiness probe.
deployment.readinessProbe.failureThresholdint30Number of retries before marking the pod as failed.
deployment.readinessProbe.periodSecondsint10Time between retries.
deployment.readinessProbe.successThresholdint1Number of successful probes before marking the pod as ready.
deployment.readinessProbe.timeoutSecondsint1Time before the probe times out.
deployment.readinessProbe.httpGetobject{}HTTP Get probe.
deployment.readinessProbe.execobject{}Exec probe.
deployment.readinessProbe.tcpSocketobject{}TCP Socket probe.
deployment.readinessProbe.grpcobject{}gRPC probe.
deployment.livenessProbeobjectSee belowLiveness probe. Must specify either one of the following field when enabled: httpGet, exec, tcpSocket, grpc
deployment.livenessProbe.enabledboolfalseEnable Liveness probe.
deployment.livenessProbe.failureThresholdint30Number of retries before marking the pod as failed.
deployment.livenessProbe.periodSecondsint10Time between retries.
deployment.livenessProbe.successThresholdint1Number of successful probes before marking the pod as ready.
deployment.livenessProbe.timeoutSecondsint1Time before the probe times out.
deployment.livenessProbe.httpGetobject{}HTTP Get probe.
deployment.livenessProbe.execobject{}Exec probe.
deployment.livenessProbe.tcpSocketobject{}TCP Socket probe.
deployment.livenessProbe.grpcobject{}gRPC probe.
deployment.resourcesobject{}Resource limits and requests for the pod.
deployment.containerSecurityContextobject{"readOnlyRootFilesystem":true,"runAsNonRoot":true}Security Context at Container Level.
deployment.openshiftOAuthProxy.enabledboolfalseEnableOpenShift OAuth Proxy.
deployment.openshiftOAuthProxy.portint8080Port on which application is running inside container.
deployment.openshiftOAuthProxy.secretNamestring"openshift-oauth-proxy-tls"Secret name for the OAuth Proxy TLS certificate.
deployment.openshiftOAuthProxy.imagestring"openshift/oauth-proxy:latest"Image for the OAuth Proxy.
deployment.openshiftOAuthProxy.disableTLSArgboolfalseIf disabled--http-address=:8081 will be used instead of--https-address=:8443. It can be useful when an ingress is enabled for the application.
deployment.securityContextobjectnilSecurity Context for the pod.
deployment.commandlist[]Command for the app container.
deployment.argslist[]Args for the app container.
deployment.portslistnilList of ports for the app container.
deployment.hostNetworkboolnilHost network connectivity.
deployment.terminationGracePeriodSecondsintnilGracefull termination period.
deployment.minReadySecondsintnilMinimum number of seconds for which a newly created Pod should be ready without any of its containers crashing.
deployment.lifecycleobject{}Lifecycle configuration for the pod.
deployment.additionalContainerslistnilAdditional containers besides init and app containers (without templating).
persistence.enabledboolfalseEnable persistence.
persistence.mountPVCboolfalseWhether to mount the created PVC to the deployment.
persistence.mountPathstring"/"Ifpersistence.mountPVC is enabled, where to mount the volume in the containers.
persistence.namestring{{ include "application.name" $ }}-dataName of the PVC.
persistence.accessModestring"ReadWriteOnce"Access mode for volume.
persistence.storageClassstringnilStorage class for volume. If defined, use that value If set to "-" or "", disable dynamic provisioning If undefined or set to null (the default), no storageClass spec is set, choosing the default provisioner.
persistence.additionalLabelsobjectnilAdditional labels for persistent volume.
persistence.annotationsobjectnilAnnotations for persistent volume.
persistence.storageSizestring"8Gi"Size of the persistent volume.
persistence.volumeModestring""PVC Volume Mode.
persistence.volumeNamestring""Name of the volume.

Service Parameters

KeyTypeDefaultDescription
service.enabledbooltrueEnable Service.
service.additionalLabelsobjectnilAdditional labels for service.
service.annotationsobjectnilAnnotations for service.
service.portslist[{"name":"http","port":8080,"protocol":"TCP","targetPort":8080}]Ports for applications service.
service.typestring"ClusterIP"Type of service.
service.clusterIPstringnilFixed IP for a ClusterIP service. Set toNone for an headless service
service.loadBalancerClassstringnilLoadBalancer class name for LoadBalancer type services.

Ingress Parameters

KeyTypeDefaultDescription
ingress.enabledboolfalseEnable Ingress.
ingress.ingressClassNamestring""Name of the ingress class.
ingress.hosts[0].hosttpl/string"chart-example.local"Hostname.
ingress.hosts[0].paths[0].pathstring"/"Path.
ingress.hosts[0].paths[0].pathTypestringImplementationSpecificPath type.
ingress.hosts[0].paths[0].serviceNamestring{{ include "application.name" $ }}Service name.
ingress.hosts[0].paths[0].servicePortstringhttpService port.
ingress.additionalLabelsobjectnilAdditional labels for ingress.
ingress.annotationsobjectnilAnnotations for ingress.
ingress.tlslistnilTLS configuration for ingress. Secrets must exist in the namespace. You may also configure Certificate resource to generate the secret.

HTTPRoute Parameters

KeyTypeDefaultDescription
httpRoute.enabledboolfalseEnable HTTPRoute (Gateway API).
httpRoute.parentRefstpl/listnilParent references for the HTTPRoute.
httpRoute.useDefaultGatewaysstringnilThe default Gateway scope to use for this Route. If unset (the default) or set to None, the Route will not be attached to any default Gateway; if set, it will be attached to any default Gateway supporting the named scope, subject to the usual rules about which Routes a Gateway is allowed to claim.
httpRoute.gatewayNamespacestring""Namespace of the Gateway to attach this HTTPRoute to. If not set, the HTTPRoute will be attached to the Gateway in the same namespace as the HTTPRoute.
httpRoute.hostnamestpl/listnilHostnames for the HTTPRoute.
httpRoute.additionalLabelsobject{}Additional labels for HTTPRoute.
httpRoute.annotationsobject{}Annotations for HTTPRoute.
httpRoute.rulestpl/list`[{"backendRefs":[{"name":"{{ include "application.name" $ }}","port":"{{ (first $.Values.service.ports).portint }}"}],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]`

Route Parameters

KeyTypeDefaultDescription
route.enabledboolfalseDeploy a Route (OpenShift) resource.
route.additionalLabelsobjectnilAdditional labels for Route.
route.annotationsobjectnilAnnotations for Route.
route.hoststringnilExplicit host. If no host is added then openshift inserts the default hostname.
route.pathstringnilPath.
route.portobject{"targetPort":"http"}Service port.
route.to.weightint100Service weight.
route.wildcardPolicystring"None"Wildcard policy.
route.tls.terminationstring"edge"TLS termination strategy.
route.tls.insecureEdgeTerminationPolicystring"Redirect"TLS insecure termination policy.
route.alternateBackendslistnilAlternate backend with it's weight.

SecretProviderClass Parameters

KeyTypeDefaultDescription
secretProviderClass.enabledboolfalseDeploy aSecrets Store CSI Driver SecretProviderClass resource.
secretProviderClass.namestring""Name of the SecretProviderClass. Required ifsecretProviderClass.enabled is set totrue.
secretProviderClass.providerstring""Name of the provider. Required ifsecretProviderClass.enabled is set totrue.
secretProviderClass.vaultAddressstring""Vault Address. Required ifsecretProviderClass.provider is set tovault.
secretProviderClass.roleNametpl/string""Vault Role Name. Required ifsecretProviderClass.provider is set tovault.
secretProviderClass.objectslistnilObjects definitions.
secretProviderClass.secretObjectslistnilObjects mapping.

ForecastleApp Parameters

KeyTypeDefaultDescription
forecastle.enabledboolfalseDeploy aForecastleApp resource.
forecastle.additionalLabelsobjectnilAdditional labels for ForecastleApp.
forecastle.iconstring"https://raw.githubusercontent.com/stakater/ForecastleIcons/master/stakater-big.png"Icon URL.
forecastle.displayNamestring""Application Name. Required ifforecastle.enabled is set totrue.
forecastle.groupstring{{ .Release.Namespace }}Application Group.
forecastle.propertiesobjectnilCustom properties.
forecastle.networkRestrictedboolfalseIs application network restricted?.

RBAC Parameters

KeyTypeDefaultDescription
rbac.enabledbooltrueEnable RBAC.
rbac.serviceAccount.enabledboolfalseDeploy Service Account.
rbac.serviceAccount.namestring{{ include "application.name" $ }}Service Account Name.
rbac.serviceAccount.additionalLabelsobjectnilAdditional labels for Service Account.
rbac.serviceAccount.annotationsobjectnilAnnotations for Service Account.
rbac.roleslistnilNamespaced Roles.

ConfigMap Parameters

KeyTypeDefaultDescription
configMap.enabledboolfalseDeploy additional ConfigMaps.
configMap.additionalLabelsobjectnilAdditional labels for ConfigMaps.
configMap.annotationsobjectnilAnnotations for ConfigMaps.
configMap.filesobjectnilList of ConfigMap entries. Key will be used as a name suffix for the ConfigMap. Value is the ConfigMap content.

SealedSecret Parameters

KeyTypeDefaultDescription
sealedSecret.enabledboolfalseDeploySealedSecret resources.
sealedSecret.additionalLabelsobjectnilAdditional labels for SealedSecret.
sealedSecret.annotationsobjectnilAnnotations for SealedSecret.
sealedSecret.filesobjectnilList of SealedSecret entries. Key will be used as a name suffix for the SealedSecret. Value is the SealedSecret content.

Secret Parameters

KeyTypeDefaultDescription
secret.enabledboolfalseDeploy additional Secret resources.
secret.additionalLabelsobjectnilAdditional labels for Secret.
secret.annotationsobjectnilAnnotations for Secret.
secret.filesobjectnilList of Secrets entries. Key will be used as a name suffix for the Secret. There a three allowed modes: -data: Data is base64 encoded by the chart -encodedData: Use raw values (already base64ed) inside the data map -stringData: Use raw values inside the stringData map

ServiceMonitor Parameters

KeyTypeDefaultDescription
serviceMonitor.enabledboolfalseDeploy a ServiceMonitor (Prometheus Operator) resource.
serviceMonitor.additionalLabelsobjectnilAdditional labels for ServiceMonitor.
serviceMonitor.annotationsobjectnilAnnotations for ServiceMonitor.
serviceMonitor.endpointslist[{"interval":"5s","path":"/actuator/prometheus","port":"http"}]Service endpoints from which prometheus will scrape data.

Autoscaling - Horizontal Pod Autoscaling Parameters

KeyTypeDefaultDescription
autoscaling.enabledboolfalseEnable Horizontal Pod Autoscaling.
autoscaling.additionalLabelsobjectnilAdditional labels for HPA.
autoscaling.annotationsobjectnilAnnotations for HPA.
autoscaling.minReplicasint1Minimum number of replicas.
autoscaling.maxReplicasint10Maximum number of replicas.
autoscaling.metricslist[{"resource":{"name":"cpu","target":{"averageUtilization":60,"type":"Utilization"}},"type":"Resource"},{"resource":{"name":"memory","target":{"averageUtilization":60,"type":"Utilization"}},"type":"Resource"}]Metrics used for autoscaling.

VPA - Vertical Pod Autoscaler Parameters

KeyTypeDefaultDescription
vpa.enabledboolfalseEnable Vertical Pod Autoscaling.
vpa.additionalLabelsobjectnilAdditional labels for VPA.
vpa.annotationsobjectnilAnnotations for VPA.
vpa.containerPolicieslist[]Container policies for individual containers.
vpa.updatePolicyobject{"updateMode":"Auto"}Update policy.

EndpointMonitor Parameters

KeyTypeDefaultDescription
endpointMonitor.enabledboolfalseDeploy anIMC EndpointMonitor resource.
endpointMonitor.additionalLabelsobjectnilAdditional labels for EndpointMonitor.
endpointMonitor.annotationsobjectnilAnnotations for EndpointMonitor.

cert-manager Certificate Parameters

KeyTypeDefaultDescription
certificate.enabledboolfalseDeploy acert-manager Certificate resource.
certificate.additionalLabelsobjectnilAdditional labels for Certificate.
certificate.annotationsobjectnilAnnotations for Certificate.
certificate.secretNametpl/string"tls-cert"Name of the secret resource that will be automatically created and managed by this Certificate resource.
certificate.durationstring"8760h0m0s"The requested "duration" (i.e. lifetime) of the Certificate.
certificate.renewBeforestring"720h0m0s"The amount of time before the currently issued certificate's notAfter time that cert-manager will begin to attempt to renew the certificate.
certificate.subjecttpl/objectnilFull X509 name specification for certificate.
certificate.commonNametpl/stringnilCommon name as specified on the DER encoded CSR. This field is not recommended in cases when this certificate is an end-entity certificate. More information can be found in thecert-manager documentation.
certificate.keyAlgorithmstring"rsa"Private key algorithm of the corresponding private key for this certificate.
certificate.keyEncodingstring"pkcs1"Private key cryptography standards (PKCS) for this certificate's private key to be encoded in.
certificate.keySizeint2048Key bit size of the corresponding private key for this certificate.
certificate.isCAboolfalseMark this Certificate as valid for certificate signing.
certificate.usageslistnilSet of x509 usages that are requested for the certificate.
certificate.dnsNamestpl/listnilList of DNS subjectAltNames to be set on the certificate.
certificate.ipAddresseslistnilList of IP address subjectAltNames to be set on the certificate.
certificate.uriSANslistnilList of URI subjectAltNames to be set on the certificate.
certificate.emailSANslistnilList of email subjectAltNames to be set on the Certificate.
certificate.privateKey.enabledboolfalseEnable Private Key for the certificate.
certificate.privateKey.rotationPolicystring"Always"Denotes how private keys should be generated or sourced when a certificate is being issued.
certificate.issuerRef.namestring"ca-issuer"Reference to the issuer for this certificate.
certificate.issuerRef.kindstring"ClusterIssuer"Kind of the issuer being referred to.
certificate.issuerRef.groupstring"cert-manager.io"Group of the issuer resource being refered to.
certificate.keystores.enabledboolfalseEnables keystore configuration. Keystores configures additional keystore output formats stored in the spec.secretName Secret resource.
certificate.keystores.pkcs12.createbooltrueEnables PKCS12 keystore creation for the Certificate. PKCS12 configures options for storing a PKCS12 keystore in the spec.secretName Secret resource.
certificate.keystores.pkcs12.keystring"test_key"Key of the entry in the Secret resource's data field to be used.
certificate.keystores.pkcs12.namestring"test-creds"Name of the Secret resource being referred to.
certificate.keystores.jks.createboolfalseEnables jks keystore creation for the Certificate. JKS configures options for storing a JKS keystore in the spec.secretName Secret resource.
certificate.keystores.jks.keytpl/string"test_key"Key of the entry in the Secret resource's data field to be used.
certificate.keystores.jks.namestring"test-creds"Name of the Secret resource being referred to.

AlertmanagerConfig Parameters

KeyTypeDefaultDescription
alertmanagerConfig.enabledboolfalseDeploy an AlertmanagerConfig (Prometheus Operator) resource.
alertmanagerConfig.selectionLabelsobject{"alertmanagerConfig":"workload"}Labels to be picked up by Alertmanager to add it to base config. Read more about it at [https://docs.openshift.com/container-platform/4.7/rest_api/monitoring_apis/alertmanager-monitoring-coreos-com-v1.html](OpenShift's AlermanagerConfig documentation) under .spec.alertmanagerConfigSelector.
alertmanagerConfig.specobject{"inhibitRules":[],"receivers":[],"route":null}AlertmanagerConfig spec. Read more about it at [https://docs.openshift.com/container-platform/4.7/rest_api/monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1alpha1.html](OpenShift's AlermanagerConfig documentation).
alertmanagerConfig.spec.routeobjectnilRoute definition for alerts matching the resource’s namespace. It will be added to the generated Alertmanager configuration as a first-level route.
alertmanagerConfig.spec.receiverslist[]List of receivers.
alertmanagerConfig.spec.inhibitRuleslist[]Inhibition rules that allows to mute alerts when other alerts are already firing.

PrometheusRule Parameters

KeyTypeDefaultDescription
prometheusRule.enabledboolfalseDeploy a PrometheusRule (Prometheus Operator) resource.
prometheusRule.additionalLabelsobjectnilAdditional labels for PrometheusRule.
prometheusRule.groupslist[]Groups with alerting rules. Read more about it at [https://docs.openshift.com/container-platform/4.7/rest_api/monitoring_apis/prometheusrule-monitoring-coreos-com-v1.html](OpenShift's PrometheusRule documentation).

ExternalSecret Parameters

KeyTypeDefaultDescription
externalSecret.enabledboolfalseDeployExternalSecret resources.
externalSecret.additionalLabelsobjectnilAdditional labels for ExternalSecret.
externalSecret.annotationsobjectnilAnnotations for ExternalSecret.
externalSecret.secretStoreobject{"kind":"SecretStore","name":"tenant-vault-secret-store"}Default values for the SecretStore. Can be overriden per ExternalSecret in theexternalSecret.files object.
externalSecret.secretStore.namestring"tenant-vault-secret-store"Name of the SecretStore to use.
externalSecret.secretStore.kindstring"SecretStore"Kind of the SecretStore being refered to.
externalSecret.refreshIntervalstring"1m"RefreshInterval is the amount of time before the values are read again from the SecretStore provider.
externalSecret.filesobjectnilList of ExternalSecret entries. Key will be used as a name suffix for the ExternalSecret. There a two allowed modes: -data: Data defines the connection between the Kubernetes Secret keys and the Provider data -dataFrom: Used to fetch all properties from the Provider key

NetworkPolicy Parameters

KeyTypeDefaultDescription
networkPolicy.enabledboolfalseEnable Network Policy.
networkPolicy.additionalLabelsobjectnilAdditional labels for Network Policy.
networkPolicy.annotationsobjectnilAnnotations for Network Policy.
networkPolicy.ingresslistnilIngress rules for Network Policy.
networkPolicy.egresslistnilEgress rules for Network Policy.

PodDisruptionBudget Parameters

KeyTypeDefaultDescription
pdb.enabledboolfalseEnable Pod Disruption Budget.
pdb.minAvailableint1Minimum number of pods that must be available after eviction.
pdb.maxUnavailableintnilMaximum number of unavailable pods during voluntary disruptions.

GrafanaDashboard Parameters

KeyTypeDefaultDescription
grafanaDashboard.enabledboolfalseDeployGrafanaDashboard resources.
grafanaDashboard.additionalLabelsobjectnilAdditional labels for GrafanaDashboard.
grafanaDashboard.annotationsobjectnilAnnotations for GrafanaDashboard.
grafanaDashboard.contentsobjectnilList of GrafanaDashboard entries. Key will be used as a name suffix for the GrafanaDashboard. Value is the GrafanaDashboard content. According to GrafanaDashboard behavior,url field takes precedence on thejson field.

Backup Parameters

KeyTypeDefaultDescription
backup.enabledboolfalseDeploy aVelero/OADP Backup resource.
backup.namespacestring{{ .Release.Namespace }}Namespace for Backup.
backup.additionalLabelsobjectnilAdditional labels for Backup.
backup.annotationsobjectnilAnnotations for Backup.
backup.defaultVolumesToResticbooltrueWhether to use Restic to take snapshots of all pod volumes by default.
backup.snapshotVolumesbooltrueWhether to take snapshots of persistent volumes as part of the backup.
backup.storageLocationstringnilName of the backup storage location where the backup should be stored.
backup.ttlstring"1h0m0s"How long the Backup should be retained for.
backup.includedNamespacestpl/list[ {{ include "application.namespace" $ }} ]List of namespaces to include objects from.
backup.includedResourceslistnilList of resource types to include in the backup.
backup.excludedResourceslistnilList of resource types to exclude from the backup.

Naming convention for ConfigMap, Secret, SealedSecret and ExternalSecret

Name format of ConfigMap, Secret, SealedSecret and ExternalSecret is{{ template "application.name" $ }}-{{ $nameSuffix }} then:

  • {{ template "application.name" }} is a helper function that outputs.Values.applicationName if exist else return chart name as output
  • nameSuffix is the each key insecret.files,configMap.files,sealedSecret.files andexternalSecret.files

For example if we have following values file:

applicationName:helloworld# {{ template "application.name" $ }}configMap:files:config:# {{ $nameSuffix }}key:value

then the configmap name will be namedhelloworld-config.

Consuming environment variable in application chart

In order to use environment variable in deployment or cronjob, you will have to provide environment variable inkey/value pair inenv value. where key being environment variable key and value varies in different scenarios

  • For simple key/value environment variable, just providevalue: <value>

    env:KEY:value:MY_VALUE
  • To get environement variable value fromConfigMap

    Suppose we have a configmap created from application chart

    applicationName:my-applicationconfigMap:enabled:truefiles:application-config:LOG:DEBUGVERBOSE:v1

    To get environment variable value from above created configmap, we will need to add following

    env:APP_LOG_LEVEL:valueFrom:configMapKeyRef:name:my-application-application-configkey:LOG

    To get all environment variables key/values fromConfigMap, where configmap key being key of environment variable and value being value

    envFrom:application-config-env:type:configmapnameSuffix:application-config

    You can either providenameSuffix which means name added after prefix<applicationName>- or static name withname of configmap.

    You can specify whether the configmap is mandatory or optional for the pod to start with theoptional: true/false value.

    Note: first key afterenvFrom is just used to uniquely identify different objects inenvFrom block. Make sure to keep it unique and relevant.

  • To get environment variable value fromSecret

    Suppose we have secret created from application chart

    applicationName:my-applicationsecret:enabled:truefiles:db-credentials:PASSWORD:skljd#2Qer!!USER:postgres

    To get environment variable value from above created secret, we will need to add following

    env:KEY:valueFrom:secretKeyRef:name:my-application-db-credentialskey:USER

    To get environement variable value fromSecret, where secret key being key of environment variable and value being value

    envFrom:database-credentials:type:secretnameSuffix:db-credentials

    You can either providenameSuffix which means name added after prefix<applicationName>- or static name withname of secret.

    You can specify whether the secret is mandatory or optional for the pod to start with theoptional: true/false value.

    Note: first key afterenvFrom is just used to uniquely identify different objects inenvFrom block. Make sure to keep it unique and relevant.

Configuring probes

To disable liveness or readiness probe, set value ofenabled tofalse.

livenessProbe:enabled:false

By default probe handler type ishttpGet. You just need to overrideport andpath as per your need.

livenessProbe:enabled:truehttpGet:path:'/path'port:8080

In order to useexec handler, you can define fieldlivenessProbe.exec in your values.yaml.

livenessProbe:enabled:trueexec:command:      -cat      -/tmp/healthy

Sponsor this project

 

Packages

No packages published

Contributors68


[8]ページ先頭

©2009-2025 Movatter.jp