From c744caebeb72764383c69599d486b2f606cc0c12 Mon Sep 17 00:00:00 2001 From: Andrei Petrov Date: Thu, 8 Feb 2024 17:13:58 +0100 Subject: [PATCH] fix: simplify the default values for stateful-chart --- charts/kubernetes-stateful-chart/Chart.yaml | 2 +- charts/kubernetes-stateful-chart/README.md | 223 ++++++++---------- .../values.schema.json | 186 +++------------ charts/kubernetes-stateful-chart/values.yaml | 100 ++------ 4 files changed, 162 insertions(+), 349 deletions(-) diff --git a/charts/kubernetes-stateful-chart/Chart.yaml b/charts/kubernetes-stateful-chart/Chart.yaml index eae432d..9a02a39 100644 --- a/charts/kubernetes-stateful-chart/Chart.yaml +++ b/charts/kubernetes-stateful-chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kubernetes-stateful-chart description: A Generic Helm chart for a stateful Kubernetes application type: application -version: 0.0.12 +version: 0.0.13 appVersion: 1.0.0 icon: https://avatars.githubusercontent.com/u/878437?s=200&v=4 home: https://jetbrains.com/ diff --git a/charts/kubernetes-stateful-chart/README.md b/charts/kubernetes-stateful-chart/README.md index 622b2a8..b205ddf 100644 --- a/charts/kubernetes-stateful-chart/README.md +++ b/charts/kubernetes-stateful-chart/README.md @@ -47,131 +47,110 @@ Checkout the [release.json](release.json) for details about where the chart is h ### Application parameters -| 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` | -| `podManagementPolicy` | Specify how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. Possible values are OrderedReady or Parallel. | `OrderedReady` | -| `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` | -| `updateStrategy.type` | Specify the type of the update strategy | `RollingUpdate` | -| `updateStrategy.properties.maxUnavailable` | Specify the maximum number of pods that can be unavailable during the update | `1` | -| `updateStrategy.properties.partition` | Specify the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary-based deployment | `0` | -| `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 | `[]` | -| `volumeClaims` | Specify a list of volume claims to be attached to the pod | `[]` | -| `additionalVolumeClaims` | | `[]` | -| `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 | +| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ | +| `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 | `hashicorp/demo-webapp` | +| `image.tag` | Image version | `v3` | +| `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 entrypoint. | `[]` | +| `args` | Provide arguments to the entrypoint of the application. | `[]` | +| `customArgs` | Overwrite in full the parameter 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` | +| `podManagementPolicy` | Specify how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. Possible values are OrderedReady or Parallel. | `OrderedReady` | +| `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` | +| `updateStrategy.type` | Specify the type of the update strategy | `RollingUpdate` | +| `updateStrategy.properties.maxUnavailable` | Specify the maximum number of pods that can be unavailable during the update | `1` | +| `updateStrategy.properties.partition` | Specify the ordinal at which the StatefulSet should be partitioned for updates. During a rolling update, all pods from ordinal Replicas-1 to Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched. This is helpful in being able to do a canary-based deployment | `0` | +| `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) | `100m` | +| `resources.requests.memory` | Max memory available for a pod (resource request) | `128Mi` | +| `resources.limits.cpu` | Min CPU available for a pod (resource limit) | `100m` | +| `resources.limits.memory` | Min memory available for a pod (resource limit) | `128Mi` | +| `service.name` | Service name | `""` | +| `service.ports` | Service ports | `[]` | +| `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 containerSecurityContext property | `{}` | +| `livenessProbe` | Specify the default liveness probe | `{}` | +| `customLivenessProbe` | Overwrite partially the livenessProbe property | `{}` | +| `readinessProbe` | Specify the default readiness probe | `{}` | +| `customReadinessProbe` | Overwrite partially the readinessProbe property | `{}` | +| `startupProbe` | Specify the default startup probe | `{}` | +| `customStartupProbe` | Overwrite partially the 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 | `false` | +| `ingress.name` | Ingress name | `""` | +| `ingress.pathType` | Ingress path type | `ImplementationSpecific` | +| `ingress.hostname` | Ingress hostname | `""` | +| `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 | `[]` | +| `additionalVolumes` | Specify additional mutual exclusive with volumes value named volumes to be attached to the main container and pod | `[]` | +| `volumeClaims` | Specify a list of volume claims to be attached to the pod | `[]` | +| `additionalVolumeClaims` | | `[]` | +| `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 | `[]` | ### Application configuration file -| 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 | +| ---------------------------- | ---------------------------------------------------------------------------------------- | ----- | +| `config` | Overwrites the configuration in 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 defaultConfig.config parameter | `{}` | ### Application environment variables diff --git a/charts/kubernetes-stateful-chart/values.schema.json b/charts/kubernetes-stateful-chart/values.schema.json index d5ba38b..b98b72f 100644 --- a/charts/kubernetes-stateful-chart/values.schema.json +++ b/charts/kubernetes-stateful-chart/values.schema.json @@ -64,12 +64,12 @@ "repository": { "type": "string", "description": "URL of the container repository", - "default": "portainer/portainer-ce" + "default": "hashicorp/demo-webapp" }, "tag": { "type": "string", "description": "Image version", - "default": "2.18.4-alpine" + "default": "v3" }, "pullPolicy": { "type": "string", @@ -92,23 +92,19 @@ }, "customEntrypoint": { "type": "array", - "description": "Overwrite in full the parameter application.entrypoint.", + "description": "Overwrite in full the parameter entrypoint.", "default": [], "items": {} }, "args": { "type": "array", "description": "Provide arguments to the entrypoint of the application.", - "default": [ - "--admin-password='$$2y$$05$$aO9DEethtRMRpmyc4p0Dn.4MUvoJ274844ej9IdUS16kpiu43d6R6'" - ], - "items": { - "type": "string" - } + "default": [], + "items": {} }, "customArgs": { "type": "array", - "description": "Overwrite in full the parameter application.args.", + "description": "Overwrite in full the parameter args.", "default": [], "items": {} }, @@ -285,12 +281,12 @@ "cpu": { "type": "string", "description": "Max CPU available for a pod (resource request)", - "default": "2000m" + "default": "100m" }, "memory": { "type": "string", "description": "Max memory available for a pod (resource request)", - "default": "2048Mi" + "default": "128Mi" } } }, @@ -300,12 +296,12 @@ "cpu": { "type": "string", "description": "Min CPU available for a pod (resource limit)", - "default": "2000m" + "default": "100m" }, "memory": { "type": "string", "description": "Min memory available for a pod (resource limit)", - "default": "2048Mi" + "default": "128Mi" } } } @@ -319,6 +315,12 @@ "description": "Service name", "default": "" }, + "ports": { + "type": "array", + "description": "Service ports", + "default": [], + "items": {} + }, "additionalPorts": { "type": "array", "description": "Additional service ports", @@ -389,157 +391,37 @@ }, "customContainerSecurityContext": { "type": "object", - "description": "Overwrite partially the application.containerSecurityContext property", + "description": "Overwrite partially the containerSecurityContext property", "default": {} }, "livenessProbe": { "type": "object", - "properties": { - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Application side HTTP URI that outlines how it performs", - "default": "/" - }, - "port": { - "type": "string", - "description": "Application port that is open for probing type of requests", - "default": "http" - } - } - }, - "initialDelaySeconds": { - "type": "number", - "description": "Specify the waiting time for kubelet before it launches the first probe", - "default": 30 - }, - "periodSeconds": { - "type": "number", - "description": "Specify the time interval kubelet can launch the probe", - "default": 15 - }, - "timeoutSeconds": { - "type": "number", - "description": "Specify the timeout kubelet can wait before signaling if a probe fails", - "default": 10 - }, - "successThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the livenessProbe as success", - "default": 1 - }, - "failureThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the livenessProbe as failure", - "default": 3 - } - } + "description": "Specify the default liveness probe", + "default": {} }, "customLivenessProbe": { "type": "object", - "description": "Overwrite partially the application.livenessProbe property", + "description": "Overwrite partially the livenessProbe property", "default": {} }, "readinessProbe": { "type": "object", - "properties": { - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Application side HTTP URI that outlines if it is ready", - "default": "/" - }, - "port": { - "type": "string", - "description": "Application port that is open for probing type of requests", - "default": "http" - } - } - }, - "initialDelaySeconds": { - "type": "number", - "description": "Specify the waiting time for kubelet before it launches the first probe", - "default": 30 - }, - "periodSeconds": { - "type": "number", - "description": "Specify the time interval kubelet can launch the probe", - "default": 15 - }, - "timeoutSeconds": { - "type": "number", - "description": "Specify the timeout kubelet can wait before signaling if a probe fails", - "default": 10 - }, - "successThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the readinessProbe as success", - "default": 1 - }, - "failureThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the readinessProbe as failure", - "default": 3 - } - } + "description": "Specify the default readiness probe", + "default": {} }, "customReadinessProbe": { "type": "object", - "description": "Overwrite partially the application.readinessProbe property", + "description": "Overwrite partially the readinessProbe property", "default": {} }, "startupProbe": { "type": "object", - "properties": { - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Application side HTTP URI that outlines if it is started", - "default": "/" - }, - "port": { - "type": "string", - "description": "Application port that is open for probing type of requests", - "default": "http" - } - } - }, - "initialDelaySeconds": { - "type": "number", - "description": "Specify the waiting time for kubelet before it launches the first probe", - "default": 30 - }, - "periodSeconds": { - "type": "number", - "description": "Specify the time interval kubelet can launch the probe", - "default": 15 - }, - "timeoutSeconds": { - "type": "number", - "description": "Specify the timeout kubelet can wait before signaling if a probe fails", - "default": 10 - }, - "successThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the startupProbe as success", - "default": 1 - }, - "failureThreshold": { - "type": "number", - "description": "Specify how many requests kubelet needs to probe to mark the startupProbe as failure", - "default": 3 - } - } + "description": "Specify the default startup probe", + "default": {} }, "customStartupProbe": { "type": "object", - "description": "Overwrite partially the application.startupProbe property", + "description": "Overwrite partially the startupProbe property", "default": {} }, "customAffinity": { @@ -563,7 +445,7 @@ "enabled": { "type": "boolean", "description": "Enables/disables Ingress for routing inbound traffic", - "default": true + "default": false }, "name": { "type": "string", @@ -578,7 +460,7 @@ "hostname": { "type": "string", "description": "Ingress hostname", - "default": "containers.app" + "default": "" }, "tls": { "type": "boolean", @@ -661,9 +543,15 @@ } } }, + "volumes": { + "type": "array", + "description": "Specify named volumes to be attached to the pod", + "default": [], + "items": {} + }, "additionalVolumes": { "type": "array", - "description": "Specify additional mutual exclusive with application.volumes value named volumes to be attached to the main container and pod", + "description": "Specify additional mutual exclusive with volumes value named volumes to be attached to the main container and pod", "default": [], "items": {} }, @@ -705,7 +593,7 @@ }, "config": { "type": "string", - "description": "Overwrites the configuration in application.defaultConfig.config", + "description": "Overwrites the configuration in defaultConfig.config", "default": "" }, "defaultConfig": { @@ -728,7 +616,7 @@ }, "customValues": { "type": "object", - "description": "Specify a map of custom values to be referenced by the application.defaultConfig.config parameter", + "description": "Specify a map of custom values to be referenced by the defaultConfig.config parameter", "default": {} } } diff --git a/charts/kubernetes-stateful-chart/values.yaml b/charts/kubernetes-stateful-chart/values.yaml index de60051..9fa3270 100644 --- a/charts/kubernetes-stateful-chart/values.yaml +++ b/charts/kubernetes-stateful-chart/values.yaml @@ -49,8 +49,8 @@ name: "" ## image: registry: "docker.io" - repository: "portainer/portainer-ce" - tag: "2.18.4-alpine" + repository: "hashicorp/demo-webapp" + tag: "v3" ## imagePullPolicy policy ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## @@ -75,7 +75,7 @@ image: ## Ref: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell ## entrypoint: [] -## @param customEntrypoint Overwrite in full the parameter application.entrypoint. +## @param customEntrypoint Overwrite in full the parameter entrypoint. ## customEntrypoint: [] ## @param args Provide arguments to the entrypoint of the application. @@ -90,9 +90,8 @@ customEntrypoint: [] ## ## Ref: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell ## -args: - - --admin-password='$$2y$$05$$aO9DEethtRMRpmyc4p0Dn.4MUvoJ274844ej9IdUS16kpiu43d6R6' -## @param customArgs Overwrite in full the parameter application.args. +args: [] +## @param customArgs Overwrite in full the parameter args. ## customArgs: [] ## Service Account @@ -228,10 +227,7 @@ resources: service: name: "" type: "" - ports: - - name: http - port: 8080 - targetPort: http + ports: [] additionalPorts: [] annotations: {} additionalAnnotations: {} @@ -256,19 +252,12 @@ containerSecurityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true -## @param customContainerSecurityContext Overwrite partially the application.containerSecurityContext property +## @param customContainerSecurityContext Overwrite partially the containerSecurityContext property ## customContainerSecurityContext: {} ## Liveness and Readiness Probes ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes -## @extra application.livenessProbe Specify the default liveness probe -## @param livenessProbe.httpGet.path Application side HTTP URI that outlines how it performs -## @param livenessProbe.httpGet.port Application port that is open for probing type of requests -## @param livenessProbe.initialDelaySeconds Specify the waiting time for kubelet before it launches the first probe -## @param livenessProbe.periodSeconds Specify the time interval kubelet can launch the probe -## @param livenessProbe.timeoutSeconds Specify the timeout kubelet can wait before signaling if a probe fails -## @param livenessProbe.successThreshold Specify how many requests kubelet needs to probe to mark the livenessProbe as success -## @param livenessProbe.failureThreshold Specify how many requests kubelet needs to probe to mark the livenessProbe as failure +## @param livenessProbe Specify the default liveness probe ## ## Example: ## livenessProbe: @@ -280,26 +269,11 @@ customContainerSecurityContext: {} ## timeoutSeconds: 30 ## successThreshold: 1 ## failureThreshold: 5 -livenessProbe: - httpGet: - path: "/" - port: "http" - initialDelaySeconds: 30 - periodSeconds: 15 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 -## @param customLivenessProbe Overwrite partially the application.livenessProbe property +livenessProbe: {} +## @param customLivenessProbe Overwrite partially the livenessProbe property ## customLivenessProbe: {} -## @extra application.readinessProbe Specify the default readiness probe -## @param readinessProbe.httpGet.path Application side HTTP URI that outlines if it is ready -## @param readinessProbe.httpGet.port Application port that is open for probing type of requests -## @param readinessProbe.initialDelaySeconds Specify the waiting time for kubelet before it launches the first probe -## @param readinessProbe.periodSeconds Specify the time interval kubelet can launch the probe -## @param readinessProbe.timeoutSeconds Specify the timeout kubelet can wait before signaling if a probe fails -## @param readinessProbe.successThreshold Specify how many requests kubelet needs to probe to mark the readinessProbe as success -## @param readinessProbe.failureThreshold Specify how many requests kubelet needs to probe to mark the readinessProbe as failure +## @param readinessProbe Specify the default readiness probe ## ## Example: ## readinessProbe: @@ -311,28 +285,13 @@ customLivenessProbe: {} ## timeoutSeconds: 30 ## successThreshold: 1 ## failureThreshold: 5 -readinessProbe: - httpGet: - path: "/" - port: "http" - initialDelaySeconds: 30 - periodSeconds: 15 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 -## @param customReadinessProbe Overwrite partially the application.readinessProbe property +readinessProbe: {} +## @param customReadinessProbe Overwrite partially the readinessProbe property ## customReadinessProbe: {} ## Startup Probe ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes -## @extra application.startupProbe Specify the default startup probe -## @param startupProbe.httpGet.path Application side HTTP URI that outlines if it is started -## @param startupProbe.httpGet.port Application port that is open for probing type of requests -## @param startupProbe.initialDelaySeconds Specify the waiting time for kubelet before it launches the first probe -## @param startupProbe.periodSeconds Specify the time interval kubelet can launch the probe -## @param startupProbe.timeoutSeconds Specify the timeout kubelet can wait before signaling if a probe fails -## @param startupProbe.successThreshold Specify how many requests kubelet needs to probe to mark the startupProbe as success -## @param startupProbe.failureThreshold Specify how many requests kubelet needs to probe to mark the startupProbe as failure +## @param startupProbe Specify the default startup probe ## ## Example: ## startupProbe: @@ -344,16 +303,8 @@ customReadinessProbe: {} ## timeoutSeconds: 30 ## successThreshold: 1 ## failureThreshold: 5 -startupProbe: - httpGet: - path: "/" - port: "http" - initialDelaySeconds: 30 - periodSeconds: 15 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 -## @param customStartupProbe Overwrite partially the application.startupProbe property +startupProbe: {} +## @param customStartupProbe Overwrite partially the startupProbe property ## customStartupProbe: {} ## @param customAffinity Overwrite in full the default affinity rules @@ -388,12 +339,12 @@ nodeSelector: {} ## @param ingress.additionalRules Additional Ingress rules ## ingress: - enabled: true + enabled: false name: "" alternateDnsNames: [] certValidityDuration: "" pathType: ImplementationSpecific - hostname: "containers.app" + hostname: "" ## You might need to set the '/*' value in order to use it ## with ALB Ingress controllers. ## @@ -477,7 +428,6 @@ ingress: ports: - name: http containerPort: 9000 -## @skip volumes ## @param volumes Specify named volumes to be attached to the pod ## ## Example: @@ -490,14 +440,10 @@ ports: ## mountPath: "/app/conf/metrics.conf" ## subPath: "metrics.conf" ## -volumes: - - name: data - type: emptyDir - volumeMountProperties: - mountPath: /data -## @param additionalVolumes Specify additional mutual exclusive with application.volumes value named volumes to be attached to the main container and pod +volumes: [] +## @param additionalVolumes Specify additional mutual exclusive with volumes value named volumes to be attached to the main container and pod ## -## application.additionalVolumes has the same structure as application.volumes. For an example, reference application.volumes. +## additionalVolumes has the same structure as volumes. For an example, reference volumes. ## additionalVolumes: [] ## @param volumeClaims Specify a list of volume claims to be attached to the pod @@ -575,11 +521,11 @@ additionalInitContainers: [] ## @section Application configuration file ## -## @param config Overwrites the configuration in application.defaultConfig.config +## @param config Overwrites the configuration in defaultConfig.config ## @param defaultConfig.name Specify the default application configuration file name ## @param defaultConfig.mountPath Specify the default application configuration file system path where the file is located ## @param defaultConfig.config Specify the default application configuration -## @param defaultConfig.customValues Specify a map of custom values to be referenced by the application.defaultConfig.config parameter +## @param defaultConfig.customValues Specify a map of custom values to be referenced by the defaultConfig.config parameter config: "" defaultConfig: name: ""