Skip to content
This repository has been archived by the owner on Nov 7, 2020. It is now read-only.

Latest commit

 

History

History
100 lines (77 loc) · 2.25 KB

define_namespaces.md

File metadata and controls

100 lines (77 loc) · 2.25 KB
version
v1.3.0-rc

define namespaces

You can define namespaces to be used in your cluster. If they don't exist, Helmsman will create them for you.

...

[namespaces]
[namespaces.staging]
[namespaces.production]
  protected = true # default is false

...
namespaces:
  staging:
  production:
    protected: true # default is false

For details on protecting a namespace, please check the namespace/release protection guide

As of v1.2.0-rc, you can instruct Helmsman to deploy Tiller into specific namespaces (with or without TLS).

[namespaces]
[namespaces.production]
  protected = true
  installTiller = true
  tillerServiceAccount = "tiller-production"
  caCert = "secrets/ca.cert.pem"
  tillerCert = "secrets/tiller.cert.pem"
  tillerKey = "$TILLER_KEY" # where TILLER_KEY=secrets/tiller.key.pem
  clientCert = "gs://mybucket/mydir/helm.cert.pem"
  clientKey = "s3://mybucket/mydir/helm.key.pem"
namespaces:
  production:
    protected: true
    installTiller: true
    tillerServiceAccount: "tiller-production"
    caCert: "secrets/ca.cert.pem"
    tillerCert: "secrets/tiller.cert.pem"
    tillerKey: "$TILLER_KEY" # where TILLER_KEY=secrets/tiller.key.pem
    clientCert: "gs://mybucket/mydir/helm.cert.pem"
    clientKey: "s3://mybucket/mydir/helm.key.pem"

You can then tell Helmsman to deploy specific releases in a specific namespace:

...
[apps]

    [apps.jenkins]
    name = "jenkins" 
    description = "jenkins"
    namespace = "production" # pointing to the namespace defined above
    enabled = true 
    chart = "stable/jenkins" 
    version = "0.9.1" 
    valuesFile = "" 
    purge = false 
    test = true  

...
...
apps:
  jenkins:
    name: "jenkins"
    description: "jenkins"
    namespace: "production" # pointing to the namespace defined above
    enabled: true
    chart: "stable/jenkins"
    version: "0.9.1"
    valuesFile: ""
    purge: false
    test: true

...

In the above example, Jenkins will be deployed in the production namespace using the Tiller deployed in the production namespace. If the production namespace was not configured to have Tiller deployed there, Jenkins will be deployed using the Tiller in kube-system.