Skip to content
Snippets Groups Projects
Commit 67c3da41 authored by Thorsten Roßner's avatar Thorsten Roßner
Browse files

chore(release): 1.0.0 [skip ci]

# 1.0.0 (2024-07-10)

### Bug Fixes

* Initial commit. ([a5bb0a15](a5bb0a15))
parent a5bb0a15
No related branches found
No related tags found
No related merge requests found
Pipeline #61188 skipped
# 1.0.0 (2024-07-10)
### Bug Fixes
* Initial commit. ([a5bb0a1](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations/commit/a5bb0a15e64e87748affacb7f34f70efc02f6a2c))
......@@ -20,5 +20,5 @@ name: "opendesk-migrations"
sources:
- "https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations"
type: "application"
version: "0.0.0"
version: "1.0.0"
...
<!--
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
SPDX-License-Identifier: Apache-2.0
-->
# opendesk-migrations
A Helm chart for deploying the openDesk Migrations image to Kubernetes
## Installing the Chart
To install the chart with the release name `my-release`, you have two options:
### Install via Repository
```console
helm repo add opendesk-migrations https://gitlab.opencode.de/api/v4/projects/3061/packages/helm/stable
helm install my-release --version 1.0.0 opendesk-migrations/opendesk-migrations
```
### Install via OCI Registry
```console
helm repo add opendesk-migrations oci://registry.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations
helm install my-release --version 1.0.0 opendesk-migrations/opendesk-migrations
```
## Requirements
| Repository | Name | Version |
|------------|------|---------|
| oci://registry.opencode.de/bmi/opendesk/components/external/charts/bitnami-charts | common | 2.14.1 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalAnnotations | object | `{}` | Additional custom annotations to add to all deployed objects. |
| additionalLabels | object | `{}` | Additional custom labels to add to all deployed objects. |
| affinity | object | `{}` | Affinity for pod assignment. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set. |
| containerSecurityContext.allowPrivilegeEscalation | bool | `false` | Enable container privileged escalation. |
| containerSecurityContext.capabilities | object | `{"drop":["ALL"]}` | Security capabilities for container. |
| containerSecurityContext.enabled | bool | `true` | Enable security context. |
| containerSecurityContext.readOnlyRootFilesystem | bool | `true` | Mounts the container's root filesystem as read-only. |
| containerSecurityContext.runAsGroup | int | `1000` | Process group id. |
| containerSecurityContext.runAsNonRoot | bool | `true` | Run container as a user. |
| containerSecurityContext.runAsUser | int | `1000` | Process user id. |
| containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | Disallow custom Seccomp profile by setting it to RuntimeDefault. |
| extraEnvVars | list | `[]` | Array with extra environment variables to add to containers. extraEnvVars: - name: FOO value: "bar" |
| extraVolumeMounts | list | `[]` | Optionally specify an extra list of additional volumeMounts. |
| extraVolumes | list | `[]` | Optionally specify an extra list of additional volumes. |
| fullnameOverride | string | `""` | Provide a name to substitute for the full names of resources. |
| global.imagePullSecrets | list | `[]` | Credentials to fetch images from private registry. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: - "docker-registry" |
| global.imageRegistry | string | `"registry.opencode.de"` | Container registry address. |
| image.imagePullPolicy | string | `"IfNotPresent"` | Define an ImagePullPolicy. Ref.: https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy "IfNotPresent" => The image is pulled only if it is not already present locally. "Always" => Every time the kubelet launches a container, the kubelet queries the container image registry to resolve the name to an image digest. If the kubelet has a container image with that exact digest cached locally, the kubelet uses its cached image; otherwise, the kubelet pulls the image with the resolved digest, and uses that image to launch the container. "Never" => The kubelet does not try fetching the image. If the image is somehow already present locally, the kubelet attempts to start the container; otherwise, startup fails. |
| image.registry | string | `""` | Container registry address. This setting has higher precedence than global.registry. |
| image.repository | string | `"bmi/opendesk/components/platform-development/images/opendesk-migrations"` | Container repository string. |
| image.tag | string | `"1.0.0@sha256:6d9f222197f12f8359a98fa119f2fbe8a7de27a2120a9331192c97ebf433d2c2"` | Define image tag. |
| imagePullSecrets | list | `[]` | Credentials to fetch images from private registry. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: - "docker-registry" |
| ingress.annotations | object | `{"nginx.ingress.kubernetes.io/proxy-body-size":"4G","nginx.org/client-max-body-size":"4G"}` | Define custom ingress annotations. |
| ingress.enabled | bool | `false` | Enable creation of Ingress. |
| ingress.host | string | `""` | Define the Fully Qualified Domain Name (FQDN) where application should be reachable. |
| ingress.ingressClassName | string | `"nginx"` | The Ingress controller class name. |
| ingress.path | string | `"/"` | Define the Ingress path. |
| ingress.pathType | string | `"Prefix"` | Each path in an Ingress is required to have a corresponding path type. Paths that do not include an explicit pathType will fail validation. There are three supported path types: "ImplementationSpecific" => With this path type, matching is up to the IngressClass. Implementations can treat this as a separate pathType or treat it identically to Prefix or Exact path types. "Exact" => Matches the URL path exactly and with case sensitivity. "Prefix" => Matches based on a URL path prefix split by /. Ref.: https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types |
| ingress.tls | object | `{"enabled":true,"secretName":""}` | Secure an Ingress by specifying a Secret that contains a TLS private key and certificate. Ref.: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls |
| ingress.tls.enabled | bool | `true` | Enable TLS/SSL/HTTPS for Ingress. |
| ingress.tls.secretName | string | `""` | The name of the kubernetes secret which contains a TLS private key and certificate. Hint: This secret is not created by this chart and must be provided. |
| lifecycleHooks | object | `{}` | Lifecycle to automate configuration before or after startup. |
| migrations.credentials.keycloakAdminPassword | string | `nil` | Keycloak Admin Password |
| migrations.credentials.keycloakAdminUsername | string | `nil` | Keycloak Admin Username |
| migrations.currentOdRelease | string | `"v0.0.0"` | The openDesk Release the Migrations are deployed with. |
| migrations.failOnUnexpectedState | bool | `true` | If the upfront checks of the migration script fail do not just issue a warning but stop the script processing with an exit code >0. |
| migrations.loglevel | string | `"DEBUG"` | The loglevel the migration should run with. Ref.: https://docs.python.org/3/library/logging.html#logging-levels |
| migrations.namespace | string | `"default"` | The stage the migrations are executed, supported values: PRE, POST |
| migrations.runId | int | `1` | The ID of the migration script that should be executed. |
| migrations.stage | string | `"PRE"` | The stage the migrations are executed, supported values: PRE, POST |
| migrations.urls.keycloakBase | string | `"https://id.domain.example"` | Keycloak Base URL. Please use internal URLs when possible. |
| nameOverride | string | `""` | String to partially override release name. |
| nodeSelector | object | `{}` | Node labels for pod assignment. Ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| podAnnotations | object | `{}` | Pod Annotations. Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ |
| podLabels | object | `{}` | Pod Labels. Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| podSecurityContext.enabled | bool | `true` | Enable security context. |
| podSecurityContext.fsGroup | int | `1000` | If specified, all processes of the container are also part of the supplementary group. |
| podSecurityContext.fsGroupChangePolicy | string | `"Always"` | Change ownership and permission of the volume before being exposed inside a Pod. |
| rbac.create | bool | `true` | Enable RBAC Role and RoleBinding creation. |
| resources.limits.memory | string | `"256Mi"` | The max number of RAM to consume. |
| resources.requests.cpu | string | `"100m"` | The number of CPUs which has to be available on the scheduled node. |
| resources.requests.memory | string | `"128Mi"` | The number of RAM which has to be available on the scheduled node. |
| serviceAccount.annotations | object | `{}` | Additional custom annotations for the ServiceAccount. |
| serviceAccount.automountServiceAccountToken | bool | `true` | Allows auto mount of ServiceAccountToken on the serviceAccount created. Can be set to false if pods using this serviceAccount do not need to use K8s API. |
| serviceAccount.create | bool | `true` | Enable creation of ServiceAccount for pod. |
| serviceAccount.labels | object | `{}` | Additional custom labels for the ServiceAccount. |
| terminationGracePeriodSeconds | string | `""` | In seconds, time the given to the pod needs to terminate gracefully. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods |
| tolerations | list | `[]` | Tolerations for pod assignment. Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |
| topologySpreadConstraints | list | `[]` | Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ topologySpreadConstraints: - maxSkew: 1 topologyKey: failure-domain.beta.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule |
## Uninstalling the Chart
To install the release with name `my-release`:
```bash
helm uninstall my-release
```
## Signing
### Chart
Helm charts are signed with helm native signing method. You can verify the charts against this GPG key:
```
```
### Images
Container images are signed via [cosign](https://github.com/sigstore/cosign) and can be verified with:
```
```
```
cosign verify --key cosign.pub --insecure-ignore-tlog <image>
```
## License
This project uses the following license: Apache-2.0
## Copyright
Copyright (C) 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment