Sign inSign up

projectnebula/helm-deployer

By projectnebula

•Updated over 6 years ago

The Helm deployer task deploys a Helm chart to a Kubernetes cluster.

Image
0

100K+

projectnebula/helm-deployer repository overview

⁠Helm deployer

The Helm deployer step container deploys a Helm chart to a Kubernetes cluster.

⁠Specifications

SettingChild settingData typeDescriptionDefaultRequired
credentialsmappingA map of cert credentials to use for accessing the tiller controller in the clusterNoneTrue
ca.pemstringThe Tiller CA file contentsNoneTrue
key.pemstringThe Tiller key file contentsNoneTrue
cert.pemstringThe Tiller cert file contentsNoneTrue
namestringThe name of the deployment.NoneTrue
valuesmappingUse the values mapping to override specific values in the chart. For example, the example below overrides some of the chart's API values.NoneTrue
chartstringThe repo/chart to use. If the git map is set, then the chart is referenced from that repository instead of a remote chart repo.NoneTrue
namespacestringThe Kubernetes namespace to deploy the chart into.NoneTrue
recreatePodsbooleanIf true, all pods managed by this chart will be destroyed and recreated after the deployment completes.falseFalse
gitmappingA map of git configuration. If you're using HTTPS, only name and repository are required.NoneFalse
ssh_keystringThe SSH key to use when cloning the git repository. You can pass the key into Nebula as a secret. See the example below.NoneTrue
known_hostsstringSSH known hosts file. Pass the contents of the file into Nebula as a secret. See the example below.NoneTrue
namestringA directory name for the git clone.NoneTrue
branchstringThe Git branch to clone.masterFalse
repositorystringThe git repository URL.NoneTrue
clustermappingA map of configuration and credentials for accessing a Kubernetes cluster.NoneTrue
namestringA name for the Kubernetes cluster. Used for referencing it via kubectl contexts.NoneTrue
urlstringThe URL to the Kubernetes cluster master. You can pass the URL to Nebula as a secret. See the example below.NoneTrue
cadatastringA file containing the Kubernetes master CA contents. Pass the file contents to Nebula as a secret. See the example below.NoneTrue
tokenstringA token for the Kubernetes master. You can pass the token to Nebula as a secret. See the example below.NoneTrue

Note: The value you set for a secret must be a string. If you have multiple key-value pairs to pass into the secret, or your secret is the contents of a file, you must encode the values using base64 encoding, and use the encoded string as the secret value.

⁠Examples

Here is an example of the step in a Nebula workflow:

steps:

...
- name: help-deployer
  image: projectnebula/helm-deployer:latest
  spec:
    credentials:
      ca.pem:
        $type: Secret
        name: ca
      key.pem:
        $type: Secret
        name: key
      cert.pem:
        $type: Secret
        name: cert
    values:
      api:
        image:
          tag: 
            $type: Secret
            name: api.image.tag
        adminToken:
          secretRef:
            name: admin-token
        sendGrid:
          secretRef:
            name: sendgrid-ref
        googleCredentials:
          secretRef:
            name: google-creds
        storage:
          address: gs://storage
    chart: helm/my-app
    namespace: default
    recreatePods: true
    git: 
      ssh_key:
        $type: Secret
        name: ssh_key
      known_hosts:
        $type: Secret
        name: known_hosts
      name: my-git-repo
      branch: dev
      repository: path/to/your/repo     
    cluster:
      name: my-cluster
      url:
        $type: Secret
        name: url
      cadata:
        $type: Secret
        name: cadata
      token:
        $type: Secret
        name: token

Tag summary

Content type

Image

Digest

Size

34.3 MB

Last updated

over 6 years ago

docker pull projectnebula/helm-deployer