cathive / concourse-chartmuseum-resource

interacts with a Chart Museum instance or Harbor (Kubernetes Helm Charts storage)
Apache License 2.0
14 stars 9 forks source link
chartmuseum ci concourse continuous-delivery continuous-integration deployment helm k8s kubernetes packaging pipeline

ChartMuseum Resource for Concourse CI

Fetches, verifies and publishes Helm Charts from a running ChartMuseum instance. Harbor works as well, since it uses ChartMuseum under the hood.

This resource works probably best in conjunction with the Helm resource which can be used to perform Helm deployments into Kubernetes clusters.

Requirements

Installation

Add a new resource type to your Concourse CI pipeline:

resource_types:
- name: chartmuseum
  type: docker-image
  source:
    repository: cathive/concourse-chartmuseum-resource
    tag: latest # For reproducible builds use a specific tag and don't rely on "latest".

Source Configuration

Behavior

The resource implements all three actions (check, in and out).

check: Check for new versions of the Helm chart

Checks for new versions of the specified Helm chart. If a semver version range has been specified in the sourceconfiguration it will be honored when checking new versions.

in: Fetches the chart and (optionally) verifies it's provenance

Places the JSON object that describes the Helm chart into the destination directory along with the package and it's provenance file.

The basename of these three files will be in the format ${chart_name}-${chart_version} unless overwritten by the parameter target_basename.

"in" Parameters

out: Push an updated version of the Helm chart

"out" Parameters