feat(deployment)!: move strategy to deployment.strategy
The top-level `strategy` value only ever configured the update strategy of the Gitea Deployment, but had its own `## @section strategy` next to chart-wide settings. Moving it into the `deployment` dict completes the consolidation already done for `affinity`, `dnsConfig`, `nodeSelector`, `priorityClassName`, `resources`, `schedulerName`, `tolerations` and `topologySpreadConstraints`, so everything that shapes the Deployment now lives in one predictable place. The parameter descriptions were rewritten while moving them. `strategy type`, `maxSurge` and `maxUnavailable` merely repeated the key names and gave readers of the generated parameter table no information at all. They now state the accepted values and that `rollingUpdate` is ignored for the `Recreate` strategy. Since the `strategy` section disappeared and `clusterDomain` moved into a new `Network` section, the manually maintained table of contents was updated accordingly, otherwise `markdownlint` fails with MD051 on the dangling link fragments. A deprecation check fails the release when the removed top-level value is still set. Silently ignoring it would be risky: a `Recreate` strategy configured to avoid two pods writing to the same `ReadWriteOnce` volume would fall back to `RollingUpdate` without any warning. BREAKING CHANGE: `strategy` no longer exists. Use `deployment.strategy` instead. Installations that still set `strategy` will fail unless `checkDeprecation` is set to `false`. Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -38,15 +38,15 @@
|
|||||||
- [Renovate](#renovate)
|
- [Renovate](#renovate)
|
||||||
- [Parameters](#parameters)
|
- [Parameters](#parameters)
|
||||||
- [Global](#global)
|
- [Global](#global)
|
||||||
- [strategy](#strategy)
|
- [deployment](#deployment)
|
||||||
|
- [Gateway API](#gateway-api)
|
||||||
|
- [Ingress](#ingress)
|
||||||
|
- [Network](#network)
|
||||||
- [Image](#image)
|
- [Image](#image)
|
||||||
- [Security](#security)
|
- [Security](#security)
|
||||||
- [Service](#service)
|
|
||||||
- [Ingress](#ingress)
|
|
||||||
- [Route](#route)
|
- [Route](#route)
|
||||||
- [Gateway API](#gateway-api)
|
- [Secrets](#secrets)
|
||||||
- [deployment](#deployment)
|
- [Service](#service)
|
||||||
- [Secret](#secret)
|
|
||||||
- [ServiceAccount](#serviceaccount)
|
- [ServiceAccount](#serviceaccount)
|
||||||
- [Persistence](#persistence-1)
|
- [Persistence](#persistence-1)
|
||||||
- [Init](#init)
|
- [Init](#init)
|
||||||
@@ -987,107 +987,34 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
|
|||||||
|
|
||||||
### Global
|
### Global
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------- | ---------------------------------------------------------------------------------------------- | ----- |
|
| ------------------------- | ------------------------------------------------------------------------- | ----- |
|
||||||
| `global.imageRegistry` | global image registry override | `""` |
|
| `global.imageRegistry` | global image registry override | `""` |
|
||||||
| `global.imagePullSecrets` | global image pull secrets override; can be extended by `imagePullSecrets` | `[]` |
|
| `global.imagePullSecrets` | global image pull secrets override; can be extended by `imagePullSecrets` | `[]` |
|
||||||
| `global.storageClass` | global storage class override | `""` |
|
| `global.storageClass` | global storage class override | `""` |
|
||||||
| `global.hostAliases` | global hostAliases which will be added to the pod's hosts files | `[]` |
|
| `global.hostAliases` | global hostAliases which will be added to the pod's hosts files | `[]` |
|
||||||
| `namespace` | An explicit namespace to deploy Gitea into. Defaults to the release namespace if not specified | `""` |
|
|
||||||
| `replicaCount` | number of replicas for the deployment | `1` |
|
|
||||||
|
|
||||||
### strategy
|
### deployment
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| --------------------------------------- | -------------- | --------------- |
|
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||||
| `strategy.type` | strategy type | `RollingUpdate` |
|
| `deployment.enabled` | Enable the deployment of Gitea. | `true` |
|
||||||
| `strategy.rollingUpdate.maxSurge` | maxSurge | `100%` |
|
| `deployment.annotations` | Annotations for the Gitea deployment to be created | `{}` |
|
||||||
| `strategy.rollingUpdate.maxUnavailable` | maxUnavailable | `0` |
|
| `deployment.labels` | Labels for the deployment | `{}` |
|
||||||
| `clusterDomain` | cluster domain | `cluster.local` |
|
| `deployment.affinity` | Affinity for the deployment. | `{}` |
|
||||||
|
| `deployment.dnsConfig` | dnsConfig of the Gitea deployment. | `{}` |
|
||||||
### Image
|
| `deployment.gitea.env` | Additional environment variables to pass to the Gitea container. | `[]` |
|
||||||
|
| `deployment.gitea.resources` | Compute Resources required by Gitea container. Cannot be updated. | `nil` |
|
||||||
| Name | Description | Value |
|
| `deployment.nodeSelector` | NodeSelector for the deployment | `{}` |
|
||||||
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
| `deployment.priorityClassName` | priorityClassName for the deployment | `""` |
|
||||||
| `image.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
|
| `deployment.resources` | Resources is the total amount of CPU and Memory resources required by all containers in the pod. | `{}` |
|
||||||
| `image.repository` | Image to start for this pod | `gitea` |
|
| `deployment.schedulerName` | Use an alternate scheduler, e.g. "stork" | `""` |
|
||||||
| `image.tag` | Visit: [Image tag](https://hub.docker.com/r/gitea/gitea/tags?page=1&ordering=last_updated). Defaults to `appVersion` within Chart.yaml. | `""` |
|
| `deployment.strategy.type` | Deployment strategy used to replace old pods, either `RollingUpdate` or `Recreate`. | `RollingUpdate` |
|
||||||
| `image.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
| `deployment.strategy.rollingUpdate.maxSurge` | Number or percentage of pods that may be created above the desired replica count. Only used with `RollingUpdate`. | `100%` |
|
||||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
| `deployment.strategy.rollingUpdate.maxUnavailable` | Number or percentage of pods that may be unavailable during the update. Only used with `RollingUpdate`. | `0` |
|
||||||
| `image.rootless` | Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher | `true` |
|
| `deployment.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
|
||||||
| `image.fullOverride` | Completely overrides the image registry, path/image, tag and digest. **Adjust `image.rootless` accordingly and review [Rootless defaults](#rootless-defaults).** | `""` |
|
| `deployment.tolerations` | Tolerations of the Gitea deployment. | `[]` |
|
||||||
| `imagePullSecrets` | Secret to use for pulling the image | `[]` |
|
| `deployment.topologySpreadConstraints` | TopologySpreadConstraints for the deployment | `[]` |
|
||||||
|
|
||||||
### Security
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----- |
|
|
||||||
| `openshift.enabled` | Enable OpenShift compatibility defaults for chart-managed pods. Defaults to auto-detect based on the SecurityContextConstraints API. | `nil` |
|
|
||||||
| `openshift.hostUsers` | Override the PodSpec hostUsers field for chart-managed pods. When unset, the field is omitted so the platform default is used. | `nil` |
|
|
||||||
| `podSecurityContext` | Pod security context. On non-OpenShift clusters the chart defaults `fsGroup` to `1000` when this map is empty. | `{}` |
|
|
||||||
| `containerSecurityContext` | Security context | `{}` |
|
|
||||||
| `securityContext` | Run init and Gitea containers as a specific securityContext | `{}` |
|
|
||||||
| `podDisruptionBudget` | Pod disruption budget | `{}` |
|
|
||||||
|
|
||||||
### Service
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
||||||
| `service.http.type` | Kubernetes service type for web traffic | `ClusterIP` |
|
|
||||||
| `service.http.port` | Port number for web traffic | `3000` |
|
|
||||||
| `service.http.clusterIP` | ClusterIP setting for http autosetup for deployment is None | `None` |
|
|
||||||
| `service.http.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
|
||||||
| `service.http.nodePort` | NodePort for http service | `nil` |
|
|
||||||
| `service.http.externalTrafficPolicy` | If `service.http.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
|
||||||
| `service.http.externalIPs` | External IPs for service | `nil` |
|
|
||||||
| `service.http.ipFamilyPolicy` | HTTP service dual-stack policy | `nil` |
|
|
||||||
| `service.http.ipFamilies` | HTTP service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
|
||||||
| `service.http.loadBalancerSourceRanges` | Source range filter for http loadbalancer | `[]` |
|
|
||||||
| `service.http.annotations` | HTTP service annotations | `{}` |
|
|
||||||
| `service.http.labels` | HTTP service additional labels | `{}` |
|
|
||||||
| `service.http.loadBalancerClass` | Loadbalancer class | `nil` |
|
|
||||||
| `service.ssh.type` | Kubernetes service type for ssh traffic | `ClusterIP` |
|
|
||||||
| `service.ssh.port` | Port number for ssh traffic | `22` |
|
|
||||||
| `service.ssh.clusterIP` | ClusterIP setting for ssh autosetup for deployment is None | `None` |
|
|
||||||
| `service.ssh.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
|
||||||
| `service.ssh.nodePort` | NodePort for ssh service | `nil` |
|
|
||||||
| `service.ssh.externalTrafficPolicy` | If `service.ssh.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
|
||||||
| `service.ssh.externalIPs` | External IPs for service | `nil` |
|
|
||||||
| `service.ssh.ipFamilyPolicy` | SSH service dual-stack policy | `nil` |
|
|
||||||
| `service.ssh.ipFamilies` | SSH service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
|
||||||
| `service.ssh.hostPort` | HostPort for ssh service | `nil` |
|
|
||||||
| `service.ssh.loadBalancerSourceRanges` | Source range filter for ssh loadbalancer | `[]` |
|
|
||||||
| `service.ssh.annotations` | SSH service annotations | `{}` |
|
|
||||||
| `service.ssh.labels` | SSH service additional labels | `{}` |
|
|
||||||
| `service.ssh.loadBalancerClass` | Loadbalancer class | `nil` |
|
|
||||||
|
|
||||||
### Ingress
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| -------------------------------- | ------------------------------- | ----------------- |
|
|
||||||
| `ingress.enabled` | Enable ingress | `false` |
|
|
||||||
| `ingress.className` | DEPRECATED: Ingress class name. | `""` |
|
|
||||||
| `ingress.pathType` | Ingress Path Type | `Prefix` |
|
|
||||||
| `ingress.annotations` | Ingress annotations | `{}` |
|
|
||||||
| `ingress.hosts[0].host` | Default Ingress host | `git.example.com` |
|
|
||||||
| `ingress.hosts[0].paths[0].path` | Default Ingress path | `/` |
|
|
||||||
| `ingress.tls` | Ingress tls settings | `[]` |
|
|
||||||
|
|
||||||
### Route
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------- |
|
|
||||||
| `route.enabled` | Enable OpenShift Route | `false` |
|
|
||||||
| `route.annotations` | Route annotations | `{}` |
|
|
||||||
| `route.host` | Route host. When unset, OpenShift may generate one and Gitea URL defaults fall back to ingress/service values. | `""` |
|
|
||||||
| `route.path` | Route path | `""` |
|
|
||||||
| `route.wildcardPolicy` | Route wildcard policy | `None` |
|
|
||||||
| `route.tls.termination` | Route TLS termination type | `nil` |
|
|
||||||
| `route.tls.insecureEdgeTerminationPolicy` | Route insecure edge termination policy | `nil` |
|
|
||||||
| `route.tls.key` | Route TLS key | `nil` |
|
|
||||||
| `route.tls.certificate` | Route TLS certificate | `nil` |
|
|
||||||
| `route.tls.caCertificate` | Route TLS CA certificate | `nil` |
|
|
||||||
| `route.tls.destinationCACertificate` | Route destination CA certificate | `nil` |
|
|
||||||
|
|
||||||
### Gateway API
|
### Gateway API
|
||||||
|
|
||||||
@@ -1119,26 +1046,67 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
|
|||||||
| `gatewayAPI.nginx.clientSettingsPolicies.targetRef` | Target reference for the ClientSettingsPolicy. Defaults to the chart's HTTPRoute. | `{}` |
|
| `gatewayAPI.nginx.clientSettingsPolicies.targetRef` | Target reference for the ClientSettingsPolicy. Defaults to the chart's HTTPRoute. | `{}` |
|
||||||
| `gatewayAPI.nginx.clientSettingsPolicies.body` | Client body settings (required when enabled), e.g. `maxSize`. See `docs/gateway-api.md`. | `{}` |
|
| `gatewayAPI.nginx.clientSettingsPolicies.body` | Client body settings (required when enabled), e.g. `maxSize`. See `docs/gateway-api.md`. | `{}` |
|
||||||
|
|
||||||
### deployment
|
### Ingress
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------ |
|
| -------------------------------- | ---------------------------------------------------------------------------------------------- | ----------------- |
|
||||||
| `deployment.enabled` | Enable the deployment of Gitea. | `true` |
|
| `ingress.enabled` | Enable ingress | `false` |
|
||||||
| `deployment.annotations` | Annotations for the Gitea deployment to be created | `{}` |
|
| `ingress.className` | DEPRECATED: Ingress class name. | `""` |
|
||||||
| `deployment.labels` | Labels for the deployment | `{}` |
|
| `ingress.pathType` | Ingress Path Type | `Prefix` |
|
||||||
| `deployment.affinity` | Affinity for the deployment. | `{}` |
|
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||||
| `deployment.dnsConfig` | dnsConfig of the Gitea deployment. | `{}` |
|
| `ingress.hosts[0].host` | Default Ingress host | `git.example.com` |
|
||||||
| `deployment.gitea.env` | Additional environment variables to pass to the Gitea container. | `[]` |
|
| `ingress.hosts[0].paths[0].path` | Default Ingress path | `/` |
|
||||||
| `deployment.gitea.resources` | Compute Resources required by Gitea container. Cannot be updated. | `nil` |
|
| `ingress.tls` | Ingress tls settings | `[]` |
|
||||||
| `deployment.nodeSelector` | NodeSelector for the deployment | `{}` |
|
| `namespace` | An explicit namespace to deploy Gitea into. Defaults to the release namespace if not specified | `""` |
|
||||||
| `deployment.priorityClassName` | priorityClassName for the deployment | `""` |
|
| `replicaCount` | number of replicas for the deployment | `1` |
|
||||||
| `deployment.resources` | Resources is the total amount of CPU and Memory resources required by all containers in the pod. | `{}` |
|
|
||||||
| `deployment.schedulerName` | Use an alternate scheduler, e.g. "stork" | `""` |
|
|
||||||
| `deployment.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
|
|
||||||
| `deployment.tolerations` | Tolerations of the Gitea deployment. | `[]` |
|
|
||||||
| `deployment.topologySpreadConstraints` | TopologySpreadConstraints for the deployment | `[]` |
|
|
||||||
|
|
||||||
### Secret
|
### Network
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| --------------- | ------------------------------------------------------------------------ | --------------- |
|
||||||
|
| `clusterDomain` | Domain of the Cluster. Domain is part of internally issued certificates. | `cluster.local` |
|
||||||
|
|
||||||
|
### Image
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
||||||
|
| `image.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
|
||||||
|
| `image.repository` | Image to start for this pod | `gitea` |
|
||||||
|
| `image.tag` | Visit: [Image tag](https://hub.docker.com/r/gitea/gitea/tags?page=1&ordering=last_updated). Defaults to `appVersion` within Chart.yaml. | `""` |
|
||||||
|
| `image.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
||||||
|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||||
|
| `image.rootless` | Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher | `true` |
|
||||||
|
| `image.fullOverride` | Completely overrides the image registry, path/image, tag and digest. **Adjust `image.rootless` accordingly and review [Rootless defaults](#rootless-defaults).** | `""` |
|
||||||
|
| `imagePullSecrets` | Secret to use for pulling the image | `[]` |
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----- |
|
||||||
|
| `openshift.enabled` | Enable OpenShift compatibility defaults for chart-managed pods. Defaults to auto-detect based on the SecurityContextConstraints API. | `nil` |
|
||||||
|
| `openshift.hostUsers` | Override the PodSpec hostUsers field for chart-managed pods. When unset, the field is omitted so the platform default is used. | `nil` |
|
||||||
|
| `podSecurityContext` | Pod security context. On non-OpenShift clusters the chart defaults `fsGroup` to `1000` when this map is empty. | `{}` |
|
||||||
|
| `containerSecurityContext` | Security context | `{}` |
|
||||||
|
| `securityContext` | Run init and Gitea containers as a specific securityContext | `{}` |
|
||||||
|
| `podDisruptionBudget` | Pod disruption budget | `{}` |
|
||||||
|
|
||||||
|
### Route
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------- |
|
||||||
|
| `route.enabled` | Enable OpenShift Route | `false` |
|
||||||
|
| `route.annotations` | Route annotations | `{}` |
|
||||||
|
| `route.host` | Route host. When unset, OpenShift may generate one and Gitea URL defaults fall back to ingress/service values. | `""` |
|
||||||
|
| `route.path` | Route path | `""` |
|
||||||
|
| `route.wildcardPolicy` | Route wildcard policy | `None` |
|
||||||
|
| `route.tls.termination` | Route TLS termination type | `nil` |
|
||||||
|
| `route.tls.insecureEdgeTerminationPolicy` | Route insecure edge termination policy | `nil` |
|
||||||
|
| `route.tls.key` | Route TLS key | `nil` |
|
||||||
|
| `route.tls.certificate` | Route TLS certificate | `nil` |
|
||||||
|
| `route.tls.caCertificate` | Route TLS CA certificate | `nil` |
|
||||||
|
| `route.tls.destinationCACertificate` | Route destination CA certificate | `nil` |
|
||||||
|
|
||||||
|
### Secrets
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | -------------------- |
|
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | -------------------- |
|
||||||
@@ -1186,6 +1154,38 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
|
|||||||
| `secrets.metrics.new.annotations` | Annotations for the metrics Secret | `{}` |
|
| `secrets.metrics.new.annotations` | Annotations for the metrics Secret | `{}` |
|
||||||
| `secrets.metrics.new.labels` | Labels for the metrics Secret | `{}` |
|
| `secrets.metrics.new.labels` | Labels for the metrics Secret | `{}` |
|
||||||
|
|
||||||
|
### Service
|
||||||
|
|
||||||
|
| Name | Description | Value |
|
||||||
|
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
||||||
|
| `service.http.type` | Kubernetes service type for web traffic | `ClusterIP` |
|
||||||
|
| `service.http.port` | Port number for web traffic | `3000` |
|
||||||
|
| `service.http.clusterIP` | ClusterIP setting for http autosetup for deployment is None | `None` |
|
||||||
|
| `service.http.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
||||||
|
| `service.http.nodePort` | NodePort for http service | `nil` |
|
||||||
|
| `service.http.externalTrafficPolicy` | If `service.http.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
||||||
|
| `service.http.externalIPs` | External IPs for service | `nil` |
|
||||||
|
| `service.http.ipFamilyPolicy` | HTTP service dual-stack policy | `nil` |
|
||||||
|
| `service.http.ipFamilies` | HTTP service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
||||||
|
| `service.http.loadBalancerSourceRanges` | Source range filter for http loadbalancer | `[]` |
|
||||||
|
| `service.http.annotations` | HTTP service annotations | `{}` |
|
||||||
|
| `service.http.labels` | HTTP service additional labels | `{}` |
|
||||||
|
| `service.http.loadBalancerClass` | Loadbalancer class | `nil` |
|
||||||
|
| `service.ssh.type` | Kubernetes service type for ssh traffic | `ClusterIP` |
|
||||||
|
| `service.ssh.port` | Port number for ssh traffic | `22` |
|
||||||
|
| `service.ssh.clusterIP` | ClusterIP setting for ssh autosetup for deployment is None | `None` |
|
||||||
|
| `service.ssh.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
||||||
|
| `service.ssh.nodePort` | NodePort for ssh service | `nil` |
|
||||||
|
| `service.ssh.externalTrafficPolicy` | If `service.ssh.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
||||||
|
| `service.ssh.externalIPs` | External IPs for service | `nil` |
|
||||||
|
| `service.ssh.ipFamilyPolicy` | SSH service dual-stack policy | `nil` |
|
||||||
|
| `service.ssh.ipFamilies` | SSH service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
||||||
|
| `service.ssh.hostPort` | HostPort for ssh service | `nil` |
|
||||||
|
| `service.ssh.loadBalancerSourceRanges` | Source range filter for ssh loadbalancer | `[]` |
|
||||||
|
| `service.ssh.annotations` | SSH service annotations | `{}` |
|
||||||
|
| `service.ssh.labels` | SSH service additional labels | `{}` |
|
||||||
|
| `service.ssh.loadBalancerClass` | Loadbalancer class | `nil` |
|
||||||
|
|
||||||
### ServiceAccount
|
### ServiceAccount
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.replicaCount }}
|
replicas: {{ .Values.replicaCount }}
|
||||||
strategy:
|
strategy:
|
||||||
type: {{ .Values.strategy.type }}
|
type: {{ .Values.deployment.strategy.type }}
|
||||||
{{- if eq .Values.strategy.type "RollingUpdate" }}
|
{{- if eq .Values.deployment.strategy.type "RollingUpdate" }}
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
maxUnavailable: {{ .Values.strategy.rollingUpdate.maxUnavailable }}
|
maxUnavailable: {{ .Values.deployment.strategy.rollingUpdate.maxUnavailable }}
|
||||||
maxSurge: {{ .Values.strategy.rollingUpdate.maxSurge }}
|
maxSurge: {{ .Values.deployment.strategy.rollingUpdate.maxSurge }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
|||||||
@@ -75,6 +75,11 @@
|
|||||||
{{- fail "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` instead." -}}
|
{{- fail "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` instead." -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/* STRATEGY */}}
|
||||||
|
{{- if .Values.strategy -}}
|
||||||
|
{{- fail "`strategy` does no longer exist. Please refer to the changelog and configure `deployment.strategy` instead." -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{/* TOLERATIONS */}}
|
{{/* TOLERATIONS */}}
|
||||||
{{- if .Values.tolerations -}}
|
{{- if .Values.tolerations -}}
|
||||||
{{- fail "`tolerations` does no longer exist. Please refer to the changelog and configure `deployment.tolerations` instead." -}}
|
{{- fail "`tolerations` does no longer exist. Please refer to the changelog and configure `deployment.tolerations` instead." -}}
|
||||||
|
|||||||
@@ -152,6 +152,25 @@ tests:
|
|||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.schedulerName
|
path: spec.template.spec.schedulerName
|
||||||
value: stork
|
value: stork
|
||||||
|
- it: strategy defaults to a rolling update
|
||||||
|
template: templates/gitea/deployment.yaml
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.strategy
|
||||||
|
value:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 0
|
||||||
|
maxSurge: 100%
|
||||||
|
- it: strategy omits rollingUpdate for other strategy types
|
||||||
|
template: templates/gitea/deployment.yaml
|
||||||
|
set:
|
||||||
|
deployment.strategy.type: Recreate
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: spec.strategy
|
||||||
|
value:
|
||||||
|
type: Recreate
|
||||||
- it: tolerations are undefined
|
- it: tolerations are undefined
|
||||||
template: templates/gitea/deployment.yaml
|
template: templates/gitea/deployment.yaml
|
||||||
asserts:
|
asserts:
|
||||||
|
|||||||
@@ -66,6 +66,13 @@ tests:
|
|||||||
asserts:
|
asserts:
|
||||||
- failedTemplate:
|
- failedTemplate:
|
||||||
errorMessage: "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` instead."
|
errorMessage: "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` instead."
|
||||||
|
- it: fails when the removed `strategy` value is set
|
||||||
|
set:
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
asserts:
|
||||||
|
- failedTemplate:
|
||||||
|
errorMessage: "`strategy` does no longer exist. Please refer to the changelog and configure `deployment.strategy` instead."
|
||||||
- it: fails when the removed `tolerations` value is set
|
- it: fails when the removed `tolerations` value is set
|
||||||
set:
|
set:
|
||||||
tolerations:
|
tolerations:
|
||||||
@@ -101,6 +108,8 @@ tests:
|
|||||||
limits:
|
limits:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
schedulerName: stork
|
schedulerName: stork
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: database/type
|
- key: database/type
|
||||||
operator: Equal
|
operator: Equal
|
||||||
|
|||||||
+11
-11
@@ -106,6 +106,15 @@ deployment:
|
|||||||
## @param deployment.schedulerName Use an alternate scheduler, e.g. "stork"
|
## @param deployment.schedulerName Use an alternate scheduler, e.g. "stork"
|
||||||
schedulerName: ""
|
schedulerName: ""
|
||||||
|
|
||||||
|
## @param deployment.strategy.type Deployment strategy used to replace old pods, either `RollingUpdate` or `Recreate`.
|
||||||
|
## @param deployment.strategy.rollingUpdate.maxSurge Number or percentage of pods that may be created above the desired replica count. Only used with `RollingUpdate`.
|
||||||
|
## @param deployment.strategy.rollingUpdate.maxUnavailable Number or percentage of pods that may be unavailable during the update. Only used with `RollingUpdate`.
|
||||||
|
strategy:
|
||||||
|
type: "RollingUpdate"
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: "100%"
|
||||||
|
maxUnavailable: 0
|
||||||
|
|
||||||
## @param deployment.terminationGracePeriodSeconds How long to wait until forcefully kill the pod
|
## @param deployment.terminationGracePeriodSeconds How long to wait until forcefully kill the pod
|
||||||
terminationGracePeriodSeconds: 60
|
terminationGracePeriodSeconds: 60
|
||||||
|
|
||||||
@@ -239,17 +248,8 @@ namespace: ""
|
|||||||
## @param replicaCount number of replicas for the deployment
|
## @param replicaCount number of replicas for the deployment
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
## @section strategy
|
## @section Network
|
||||||
## @param strategy.type strategy type
|
## @param clusterDomain Domain of the Cluster. Domain is part of internally issued certificates.
|
||||||
## @param strategy.rollingUpdate.maxSurge maxSurge
|
|
||||||
## @param strategy.rollingUpdate.maxUnavailable maxUnavailable
|
|
||||||
strategy:
|
|
||||||
type: "RollingUpdate"
|
|
||||||
rollingUpdate:
|
|
||||||
maxSurge: "100%"
|
|
||||||
maxUnavailable: 0
|
|
||||||
|
|
||||||
## @param clusterDomain cluster domain
|
|
||||||
clusterDomain: cluster.local
|
clusterDomain: cluster.local
|
||||||
|
|
||||||
## @section Image
|
## @section Image
|
||||||
|
|||||||
Reference in New Issue
Block a user