Release name

Werf allows to define a custom release name template, which used during deploy process to generate a release name.

Custom release name template is defined in the meta configuration section of werf.yaml:

project: PROJECT_NAME
configVersion: 1
deploy:
  helmRelease: TEMPLATE
  helmReleaseSlug: false

deploy.helmRelease is a Go template with [[ and ]] delimiters. There are [[ project ]], [[ env ]] functions support. Default: [[ project ]]-[[ env ]].

deploy.helmReleaseSlug defines whether to apply or not slug to generated helm release name. Default: true.

TEMPLATE as well as any value of the config can include Werf Go templates functions. E.g. you can mix the value with an environment variable:

deploy:
  helmRelease: >-
    [[ project ]]-{{ env "HELM_RELEASE_EXTRA" }}-[[ env ]]

Kubernetes namespace

Werf allows to define a custom Kubernetes namespace template, which used during deploy process to generate a Kubernetes Namespace.

Custom Kubernetes Namespace template is defined in the meta configuration section of werf.yaml:

project: PROJECT_NAME
configVersion: 1
deploy:
  namespace: TEMPLATE
  namespaceSlug: true|false

deploy.namespace is a Go template with [[ and ]] delimiters. There are [[ project ]], [[ env ]] functions support. Default: [[ project ]]-[[ env ]].

deploy.namespaceSlug defines whether to apply or not slug to generated kubernetes namespace. Default: true.