Install scm-manager on kubernetes with helm

To install SCM-Manager on Kubernetes we offer a Helm chart. The chart is only tested with v3 of helm.


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


If you want to customize the installation you can use a values files e.g.:

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