Files
SCM-Manager/docs/en/installation/k8s.md
pmarkiewka e70e860e07 Adds compatibility for OCP and ICP (#1870)
Adds compatibility for OCP (openshift container platform) and ICP (IBM cloud private)

- Sets folder permissions to group 0, because the arbitrary assigned user ids in openshift are all part of group 0
- Removes usage of root user 0, because it is prohibited in some environments
- Use numerical user id, because some environments do not accept non-numerical user ids
- Removes initContainer for setting volume permissions, because it is not needed anymore
- Removes chown in plugin script, because it is not needed anymore
- Adds extraArgs option in Helm chart to add arguments on server startup, i.e. initial admin username and password

Signed-off-by: pmarkiewka <philipp.markiewka@cloudogu.com>
2021-12-16 13:59:56 +01:00

64 lines
3.1 KiB
Markdown

---
title: Kubernetes
subtitle: Install scm-manager on kubernetes with helm
displayToc: true
---
To install SCM-Manager on Kubernetes we offer a [Helm](https://helm.sh) chart.
The chart is only tested with v3 of helm.
## Quickstart
```bash
helm repo add scm-manager https://packages.scm-manager.org/repository/helm-v2-releases/
helm repo update
helm install scm-manager scm-manager/scm-manager
```
## Configuration
If you want to customize the installation you can use a values files e.g.:
```bash
helm install scm-manager scm-manager/scm-manager --values=custom.yml
```
The following table list the configurable parameters of the SCM-Manager chart and their default values.
## Chart Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity settings |
| extraArgs | list | `[]` | Arguments to pass to the container |
| extraEnv | string | `""` | Additional environment variables, parsed through tpl function |
| extraEnvFrom | string | `""` | Additional environment variables mapped from Secret or ConfigMap, parsed through tpl function |
| extraVolumeMounts | string | `""` | Add additional volumes mounts, parsed through tpl function |
| extraVolumes | string | `""` | Add additional volumes, parsed through tpl function |
| fullnameOverride | string | `""` | Override the full resource names |
| image.pullSecret | string | `""` | Secret with credentials for the image registry |
| image.pullPolicy | string | `"IfNotPresent"` | SCM-Manager image pull policy |
| image.repository | string | `"scmmanager/scm-manager"` | Name of SCM-Manager image |
| image.tag | string | `"version-off Chart"` | Tag of SCM-Manager image |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.enabled | bool | `false` | Enables ingress |
| ingress.hosts | list | `["scm-manager.local"]` | Ingress hosts |
| ingress.path | string | `"/"` | Ingress path |
| ingress.tls | list | `[]` | Ingress TLS configuration |
| lifecycleHooks | string | `""` | |
| nameOverride | string | `""` | Override the resource name prefix |
| nodeSelector | object | `{}` | Node labels for pod assignment |
| persistence.accessMode | string | `"ReadWriteOnce"` | The PVC access mode |
| persistence.enabled | bool | `true` | Enable the use of a PVC for SCM-Manager home |
| persistence.size | string | `"40Gi"` | The size of the PVC |
| resources | object | `{}` | Resources allocation (Requests and Limits) |
| securityContext | object | `{ fsGroup: 0 }` | Securitycontext for the pod |
| service.port | int | `80` | k8s service port |
| service.type | string | `"LoadBalancer"` | k8s service type |
| ssh.dns | list | `["ssh.scm-manager.local"]` | dns names for the ssh service (requires installed external dns) |
| ssh.enabled | bool | `false` | Enables ssh access (requires installed ssh plugin) |
| ssh.port | int | `2222` | Intenernal ssh port (must match plugin configuration) |
| ssh.service.port | int | `2222` | k8s service port for ssh |
| ssh.service.type | string | `"LoadBalancer"` | k8s service type for ssh |
| tolerations | list | `[]` | Toleration labels for pod assignment |