kubernetes-stateless-chart
is a generic Helm chart to use for the packaging of any Kubernetes application.
This chart is formatted as an OCI package. Include it as a dependency from Quay.io.
Add it to your Chart.yaml file of your Helm package.
dependencies:
- name: kubernetes-stateless-chart
repository: oci://quay.io/andov.go/helm-library
version: 1.x.x
alias: app
Checkout the release.json for details about where the chart is hosted.
-
Kubernetes 1.24+;
-
Helm 3+.
Name | Description | Value |
---|---|---|
global.imageRegistry |
Specify the registry that stores the images | "" |
global.imagePullSecrets |
Specify the credentials as secret names for pulling the images | [] |
Name | Description | Value |
---|---|---|
nameOverride |
Provide a prefix to partially override the lib.name in the templates | "" |
fullnameOverride |
Provide a name to override completely the lib.name in the templates | "" |
commonLabels |
Provide a map of key/value pairs of labels to be applied to all resources in the templates | {} |
commonAnnotations |
Provide a map of key/value pairs of annotations to be applied to all resources in the templates | {} |
namespaceOverride |
Provide a name to fully override lib.namespace in the templates | "" |
Name | Description | Value |
---|---|---|
include |
Includes/Excludes the configurations for this application | true |
name |
Application name | "" |
image.registry |
URL of the container registry | docker.io |
image.repository |
URL of the container repository | portainer/portainer-ce |
image.tag |
Image version | 2.18.4-alpine |
image.pullPolicy |
Pull policy of the container image | Always |
image.pullSecrets |
Registry credentials. Specify not the credentials but the corresponding secrets | [] |
entrypoint |
Provide arguments to the entrypoint of the application. | [] |
customEntrypoint |
Overwrite in full the parameter application.entrypoint. | [] |
args |
Provide arguments to the entrypoint of the application. | ["--admin-password='$$2y$$05$$aO9DEethtRMRpmyc4p0Dn.4MUvoJ274844ej9IdUS16kpiu43d6R6'"] |
customArgs |
Overwrite in full the parameter application.args. | [] |
serviceAccount.create |
Specify whether to create a service account | false |
serviceAccount.name |
Service account name | "" |
serviceAccount.automountServiceAccountToken |
Specify if the account can mount the access token from the Kubernetes API | true |
serviceAccount.labels |
Key/value map of labels | {} |
serviceAccount.additionalLabels |
Additional key/value map of labels | {} |
serviceAccount.annotations |
Key/value map of annotations | {} |
serviceAccount.additionalAnnotations |
Additional key/value map of annotations | {} |
serviceAccount.namespacePermissions |
List of permissions to attach to the ServiceAccount within the in use namespace | [] |
serviceAccount.additionalNamespacePermissions |
Additional list of permissions to attach to the ServiceAccount within the in use namespace | [] |
serviceAccount.clusterPermissions |
List of permissions to attach to the ServiceAccount within the in use Kubernetes cluster | [] |
serviceAccount.additionalClusterPermissions |
Additional list of permissions to attach to the ServiceAccount within the in use Kubernetes cluster | [] |
autoscaling.enabled |
Enables/disables autoscaling | false |
autoscaling.minReplicas |
Minimum number of pods | 1 |
autoscaling.maxReplicas |
Maximum number of pods | 5 |
autoscaling.metrics.targetCPU |
CPU utilization threshold | "" |
autoscaling.metrics.targetMemory |
Memory utilization threshold | "" |
replicaCount |
Initial number of pods for the application | 1 |
minReadySeconds |
Specify the minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available | 0 |
progressDeadlineSeconds |
Specify the maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused | 600 |
revisionHistoryLimit |
Specify the number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified | 10 |
deploymentStrategyType |
Specify the strategy of how to replace existing pods with new ones. Supports: Recreate or RollingUpdate | RollingUpdate |
rollingUpdateStrategyConfig.maxSurge |
Specify the maximum number of pods that can be scheduled above the desired number of pods | 25% |
rollingUpdateStrategyConfig.maxUnavailable |
Specify the maximum number of pods that can be unavailable during the update | 25% |
podLabels |
Specify labels to apply at PodSpec level | {} |
additionalPodLabels |
Additional labels to apply at PodSpec level | {} |
podAnnotations |
Specify annotations to apply at PodSpec level | {} |
additionalPodAnnotations |
Additional annotations to apply at PodSpec level | {} |
resources.requests.cpu |
Max CPU available for a pod (resource request) | 2000m |
resources.requests.memory |
Max memory available for a pod (resource request) | 2048Mi |
resources.limits.cpu |
Min CPU available for a pod (resource limit) | 2000m |
resources.limits.memory |
Min memory available for a pod (resource limit) | 2048Mi |
service.name |
Service name | "" |
service.ports |
Service ports | undefined |
service.additionalPorts |
Additional service ports | [] |
service.type |
Service type. Valid values are: ClusterIP, NodePort, LoadBalancer | "" |
service.annotations |
Service annotations | {} |
service.additionalAnnotations |
Additional service annotations | {} |
service.labels |
Service labels | {} |
service.additionalLabels |
Additional service labels | {} |
podSecurityContext.fsGroup |
Group ID that has access to the filesystem at run-time | 10001 |
containerSecurityContext.runAsUser |
ID of the user who runs the process | 10001 |
containerSecurityContext.runAsNonRoot |
Specify if the process can run under the root user | true |
containerSecurityContext.allowPrivilegeEscalation |
Specify if the process can get more permissions at run-time | false |
containerSecurityContext.readOnlyRootFilesystem |
Specify if the root filesystem of the process is read-only | true |
customContainerSecurityContext |
Overwrite partially the application.containerSecurityContext property | {} |
application.livenessProbe |
Specify the default liveness probe | |
livenessProbe.httpGet.path |
Application side HTTP URI that outlines how it performs | / |
livenessProbe.httpGet.port |
Application port that is open for probing type of requests | http |
livenessProbe.initialDelaySeconds |
Specify the waiting time for kubelet before it launches the first probe | 30 |
livenessProbe.periodSeconds |
Specify the time interval kubelet can launch the probe | 15 |
livenessProbe.timeoutSeconds |
Specify the timeout kubelet can wait before signaling if a probe fails | 10 |
livenessProbe.successThreshold |
Specify how many requests kubelet needs to probe to mark the livenessProbe as success | 1 |
livenessProbe.failureThreshold |
Specify how many requests kubelet needs to probe to mark the livenessProbe as failure | 3 |
customLivenessProbe |
Overwrite partially the application.livenessProbe property | {} |
application.readinessProbe |
Specify the default readiness probe | |
readinessProbe.httpGet.path |
Application side HTTP URI that outlines if it is ready | / |
readinessProbe.httpGet.port |
Application port that is open for probing type of requests | http |
readinessProbe.initialDelaySeconds |
Specify the waiting time for kubelet before it launches the first probe | 30 |
readinessProbe.periodSeconds |
Specify the time interval kubelet can launch the probe | 15 |
readinessProbe.timeoutSeconds |
Specify the timeout kubelet can wait before signaling if a probe fails | 10 |
readinessProbe.successThreshold |
Specify how many requests kubelet needs to probe to mark the readinessProbe as success | 1 |
readinessProbe.failureThreshold |
Specify how many requests kubelet needs to probe to mark the readinessProbe as failure | 3 |
customReadinessProbe |
Overwrite partially the application.readinessProbe property | {} |
application.startupProbe |
Specify the default startup probe | |
startupProbe.httpGet.path |
Application side HTTP URI that outlines if it is started | / |
startupProbe.httpGet.port |
Application port that is open for probing type of requests | http |
startupProbe.initialDelaySeconds |
Specify the waiting time for kubelet before it launches the first probe | 30 |
startupProbe.periodSeconds |
Specify the time interval kubelet can launch the probe | 15 |
startupProbe.timeoutSeconds |
Specify the timeout kubelet can wait before signaling if a probe fails | 10 |
startupProbe.successThreshold |
Specify how many requests kubelet needs to probe to mark the startupProbe as success | 1 |
startupProbe.failureThreshold |
Specify how many requests kubelet needs to probe to mark the startupProbe as failure | 3 |
customStartupProbe |
Overwrite partially the application.startupProbe property | {} |
customAffinity |
Overwrite in full the default affinity rules | {} |
nodeName |
Specify the NodeName where to schedule a pod. Leave empty for auto scheduling decision | "" |
nodeSelector |
Specify the selector which must be true for the pod to fit on a node | {} |
ingress.enabled |
Enables/disables Ingress for routing inbound traffic | true |
ingress.name |
Ingress name | "" |
ingress.pathType |
Ingress path type | ImplementationSpecific |
ingress.hostname |
Ingress hostname | containers.app |
ingress.tls |
Enables/disables TLS for the hostname | false |
ingress.alternateDnsNames |
Specify whether to add a list of alternative DNS names to the self-signed certificate | [] |
ingress.certValidityDuration |
Specify how many days the self-signed certificate should remain valid | "" |
ingress.path |
Ingress path array | / |
ingress.additionalPaths |
Ingress extra paths | [] |
ingress.additionalTLS |
Additional TLS configuration | [] |
ingress.secret |
Name of the external secret for $parent.hostname | "" |
ingress.ingressClassName |
IngressClass name | "" |
ingress.additionalRules |
Additional Ingress rules | [] |
ingress.backendService.portName |
Specify the application port name of the backend service | http |
ingress.annotations |
Key/value map with annotations | {} |
ingress.additionalAnnotations |
Additional key/value map with annotations | {} |
ingress.labels |
Key/value map with labels | {} |
ingress.additionalLabels |
Additional key/value map with labels | {} |
ports |
Specify a list of application ports | undefined |
volumes |
Specify named volumes to be attached to the pod | undefined |
additionalVolumes |
Specify additional mutual exclusive with application.volumes value named volumes to be attached to the main container and pod | [] |
sidecars |
Specify containers to run alongside the main container | [] |
additionalSidecars |
Specify additional containers to run alongside the main container | [] |
initContainers |
Specify a list of initialization containers belonging to the pod | [] |
additionalInitContainers |
Specify a list of additional initialization containers belonging to the pod | [] |
Name | Description | Value |
---|---|---|
config |
Overwrites the configuration in application.defaultConfig.config | "" |
defaultConfig.name |
Specify the default application configuration file name | "" |
defaultConfig.mountPath |
Specify the default application configuration file system path where the file is located | "" |
defaultConfig.config |
Specify the default application configuration | "" |
defaultConfig.customValues |
Specify a map of custom values to be referenced by the application.defaultConfig.config parameter | {} |
Name | Description | Value |
---|---|---|
envs |
Environment variables | {} |
additionalEnvs |
Additional environment variables | {} |
internalEnvSecret |
Specify the internal secret name that contains system environment variables | "" |
externalEnvSecret |
Specify the external secret name that contains system environment variables | "" |
Name | Description | Value |
---|---|---|
kubernetesYamlResources |
Kubernetes objects to add to the application package | [] |
additionalKubernetesYamlResources |
Add additional Kubernetes objects to add to the application package | [] |