All Projects → Qovery → helm-freeze

Qovery / helm-freeze

Licence: Apache-2.0 license
Freeze your charts in the wished versions

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to helm-freeze

auth
Go library for generating JWT Tokens, authorizing HTTP requests, etc.
Stars: ✭ 31 (+6.9%)
Mutual labels:  helm
kube-opennebula
Helm chart and OpenNebula images ready to deploy on Kubernetes
Stars: ✭ 43 (+48.28%)
Mutual labels:  helm
jpetstore-kubernetes
Modernize and Extend: JPetStore on IBM Cloud Kubernetes Service
Stars: ✭ 21 (-27.59%)
Mutual labels:  helm
helm-pass
Moved to gitlab
Stars: ✭ 22 (-24.14%)
Mutual labels:  helm
monokle
🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations by providing a unified visual tool for authoring YAML manifests, validating policies, and managing live clusters.
Stars: ✭ 795 (+2641.38%)
Mutual labels:  helm
helm-charts
OpenSourced Helm charts
Stars: ✭ 38 (+31.03%)
Mutual labels:  helm
yaml-update-action
Update YAML property with dynamic values
Stars: ✭ 81 (+179.31%)
Mutual labels:  helm
tacoplay
a set of playbooks to deploy taco, leveraging ironic, kubespray, rook-ceph, decapod (kustomize, argo-wf, argo-cd)
Stars: ✭ 34 (+17.24%)
Mutual labels:  helm
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (+55.17%)
Mutual labels:  helm
readme-generator-for-helm
Auto generate READMEs for Helm Charts
Stars: ✭ 112 (+286.21%)
Mutual labels:  helm
moadsd-ng
The MOADSD-NG project does provide a simple way to setup a hybrid cloud security demo, playground and learning environment within the clouds.
Stars: ✭ 13 (-55.17%)
Mutual labels:  helm
camunda-cloud-helm
Camunda Platform 8 Self-Managed Helm charts
Stars: ✭ 41 (+41.38%)
Mutual labels:  helm
karvdash
Knot provides a complete environment for unleashing your productivity on Kubernetes
Stars: ✭ 30 (+3.45%)
Mutual labels:  helm
helm-charts
Community maintained Helm charts for Flux
Stars: ✭ 66 (+127.59%)
Mutual labels:  helm
helmwave
🌊 Helmwave is the true release manager
Stars: ✭ 488 (+1582.76%)
Mutual labels:  helm
datahub
JupyterHubs for use by Berkeley enrolled students
Stars: ✭ 40 (+37.93%)
Mutual labels:  helm
drone-gcloud-helm
Drone 0.5 plugin to create and deploy Helm charts for Kubernetes in Google Cloud.
Stars: ✭ 13 (-55.17%)
Mutual labels:  helm
drone-helm3
Helm3 plugin for Drone CI
Stars: ✭ 20 (-31.03%)
Mutual labels:  helm
matrix-chart
Helm chart for deploying a Matrix homeserver stack
Stars: ✭ 83 (+186.21%)
Mutual labels:  helm
cmak-operator
CMAK (prev. Kafka Manager) for Kubernetes
Stars: ✭ 45 (+55.17%)
Mutual labels:  helm

helm-freeze

Go Report Card Powered

Freeze your charts in the wished versions. Helm freeze helps you to declare the charts you want to use in a desired version and download them locally. This to freeze/lock them directly in your Git repository.

The advantages are:

  • Follow GitOps philosophy
  • Know exactly what has changed between 2 charts version with a git diff
  • One place to list them all
  • Works well with monorepo
  • Declarative configuration (YAML file)
  • Supports git repositories in addition to charts repositories

Installation

Mac OS

On Mac, you need to have brew installed, then you can run those commands:

brew tap Qovery/helm-freeze
brew install helm-freeze

Arch Linux

An AUR package exists called helm-freeze, you can install it with yay:

yay helm-freeze

Others

You can download binaries from the release section.

Usage

To use helm-freeze, you need a configuration file. You can generate a default file like this:

helm-freeze init

A minimal file named helm-freeze.yaml will be generated. Here is an example of a more complex one:

charts:
    # Chart name
  - name: cert-manager
    # Chart version
    version: v1.7.0
    # The repo to use (declared below in the repos section)
    repo_name: jetstack
    # No destinations is declared, the default one will be used
    comment: "You can add comments"
  - name: cert-manager
    # Chart version
    version: v1.8.0
    # The repo to use (declared below in the repos section)
    repo_name: jetstack
    # Override the folder path
    dest_folder_override: cert-manager-1.8
  - name: fluent-bit
    repo_name: lifen
    version: 2.8.0
    # If you temporary want to stop syncing a specific chart
    no_sync: true
  - name: nginx-ingress
    # No repo_name is specified, stable will be used
    version: 1.35.0
    # Change the destination to another one (declared in destinations section)
    dest: custom
  - name: pleco
    repo_name: git-repo
    # When using a git repo, chart_path is mandatory, you need to specify the chart folder path
    chart_path: /charts/pleco
    dest: custom
    # Set git reference
    version: 5e05faddb0fde1f5ddd822c3d3ba72925f094e67

repos:
    # Stable is the default one
  - name: stable
    url: https://charts.helm.sh/stable
  - name: jetstack
    url: https://charts.jetstack.io
  - name: lifen
    url: https://honestica.github.io/lifen-charts
  - name: git-repo
    url: https://github.com/Qovery/pleco.git
    # If you want to directly use a chart folder in a git repo, set type to git
    type: git

destinations:
  - name: default
    path: /my/absolute/path
  - name: custom
    path: ./my/relative/path

Then use sync arg to locally download the declared versions, here is an example:

$ helm-freeze sync

[+] Adding helm repos
 -> stable
 -> aws
 -> git-repo

[+] Updating helm repos

[+] Downloading charts
 -> stable/nginx-ingress 1.35.0
 -> stable/prometheus-operator 8.15.12
 -> stable/elasticsearch-curator 2.1.5
 -> aws/aws-node-termination-handler 0.8.0
 -> aws/aws-vpc-cni 1.0.9
 -> git/pleco 5e05faddb0fde1f5ddd822c3d3ba72925f094e67

Sync succeed!

If you update a chart, launch sync and you'll be able to see the differences with git diff.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].