Help us understand the problem. What is going on with this article?

helm-importプラグイン作った

More than 1 year has passed since last update.

Chart Repositoryの公開されていないHelm Chartに稀によく遭遇するので、そういったChartをローカルリポジトリに取り込むためのhelm-importプラグインを作りました。

GitHub - k-kinzal/helm-import: Import Helm Chart where only public code into local repository.

とりあえずtgzもしくはGitHubリポジトリで公開されているChartをローカルリポジトリに取り込むことができます。

$ helm import https://github.com/helm/charts/tree/master/stable/acs-engine-autoscaler
$ helm serve &
$ helm search local
NAME                                CHART VERSION   APP VERSION DESCRIPTION                                                 
local/acs-engine-autoscaler         2.2.2           2.1.1       DEPRECATED Scales worker nodes within agent pool

まぁリリースのときに自前でgit cloneすれば良い話ではあるのですが、例えばhelmfileでChartを管理するときに毎回処理を書くのが面倒臭いのでそういうときにちょうど良いです。

releases:
  - name: acs-engine-autoscaler
    namespace: acs-engine-autoscaler
    chart: "{{ exec "helm" (list "home") | trim }}/repository/local/acs-engine-autoscaler-2.2.2.tgz"
    values:
    - values/values.yaml.gotmpl
    hooks:
    - events:
      - prepare
      command: helm
      args:
      - import
      - https://github.com/helm/charts/tree/master/stable/acs-engine-autoscale

helmfileで使うときはこんな感じ。
本当はhelm serveを使いたかったのですがhelmfileの問題なのかうまく動作しないのでtgzを直指定しています。(もしくはhelmfileの実行前にhelm serve使うとシンプルになります)
過去に取り込んだChartを永続化する場合CIサーバーとかで$HELM_HOME/repository/localを永続化すれば溜め込んでいくことができると思います。

余談ですが、これは元々atlantisとかalb-ingress-controllerのChartを取り込むために作成しました。
が、気がついたらどちらも公式のhelm/chartに取り込まれてて作る必要なかった!!!という感じでとても悔しい気持ちです。
公式に入ってChart Repository経由で扱えるのは良いことなんですけどね!本当に便利になるので良いことなんですけどね!!!

kinzal
PHPやったり、JSやったり、AWSやったり、CI環境構築したり、絵描したり、幽体離脱したり。そんな人。
http://about.me/kinzal
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away