GithubHelp home page GithubHelp logo

cloudposse / cf-plugin-helm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codefresh-io/cf-plugin-helm

0.0 4.0 0.0 34 KB

This has been replaced by https://github.com/cloudposse/build-harness

Home Page: https://cloudposse.com/

License: Apache License 2.0

Shell 100.00%

cf-plugin-helm's Introduction

Codefresh Helm Plugin

Use Codefresh Helm plugin to deploy a Helm chart into specified (by context) Kubernetes cluster.

Usage

Set required and optional environment variable and add the following step to your Codefresh pipeline:

Example Variables:

The example below will run helm upgrade using Helm chart with the name mychart located in https://helmrepo.codefresh.io/codefresh/helm Helm chart repository using the myrelease Helm release name against mycluster Kubernetes cluster in the mynamespace Kubernetes Namespace.

CHART_NAME=mychart
RELEASE_NAME=myrelease
KUBE_CONTEXT=mycluster
NAMESPACE=mynamespace
CHART_REPO_URL=https://helmrepo.codefresh.io/codefresh/helm
---
version: '1.0'

steps:

  ...

  Helm Upgrade:
    title: Helm Upgrade
    image: 'codefresh/plugin-helm:2.8.0'
    environment:
      - CHART_NAME=${{CHART_NAME}}
      - RELEASE_NAME=${{RELEASE_NAME}}
      - KUBE_CONTEXT=${{KUBE_CONTEXT}}
      - NAMESPACE=${{NAMESPACE}}
      - DEBUG_CHART=${{DEBUG_CHART}}
      - CHART_REPO_URL=${{CHART_REPO_URL}}

  ...

Environment Variables

Variables Required Default Description
CHART_NAME YES Helm chart name
RELEASE_NAME YES Helm release name
KUBE_CONTEXT YES Kubernetes context to use (Custom Cluster Name in Codefresh)
NAMESPACE NO Target Kubernetes namespace
CHART_VERSION NO Helm chart version to install
CHART_REPO_URL NO Helm chart repository URL (Required unless code repository contains Helm chart)
DRY_RUN NO Do a "dry run" installation (do not install anything, useful for Debug)
DEBUG NO Print verbose install output
WAIT NO Block step execution till installation completed and all Kubernetes resources are ready
TIMEOUT NO 5 Min Wait Timeout
ARGS NO Custom helm arguments for update command

Overriding Helm Variables

Codefresh Helm plugin supports overriding Helm variables.

To supply value file, add an environment variable with the name prefix of CUSTOMFILE_ (case insensitive), and the value should point to an existing values file. To override specific values, add an environment variable with the name prefix of CUSTOM_ (case insensitive), and replace any . characters in the name with _. The value should be the value for the variable.

Examples:

CUSTOM_myimage_pullPolicy=Always
# Codefresh Helm plugin will add option below to the 'helm update --install' command
--set myimage.pullPolicy=Always

CUSTOMFILE_prod='values-prod.yaml'
# Codefresh Helm plugin will add option below to the 'helm update --install' command
--values values-prod.yaml

If a variable contains a _, replace the _ character with __.

custom_env_open_STORAGE__AMAZON__BUCKET=my-s3-bucket
# translates to ...
--set env.open.STORAGE_AMAZON_BUCKET=my-s3-bucket

Kubernetes Configuration

Add Kubernetes integration to Codefresh: > Account Settings > Integration > Kubernetes. From now on, you can use added Kubernetes cluster in Codefresh pipeline, addressing its context by the name you see in Clusters menu.

cf-plugin-helm's People

Contributors

alexei-led avatar dustinvanbuskirk avatar goruha avatar itaysk avatar jdolitsky avatar veberarnaud avatar xuhao avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.