Helmwave достиг наконец-то своего совершеннолетия. Рассказываю что нового.

Для тех кто пропустил. Helmwave – бинарь для управление вашими хелмами. Примерно как docker-compose для docker образов. Так и helmwave для helm chart.

Обновление документации

Появилась темная тема.

https://helmwave.github.io/docs/0.18.x/install/
https://helmwave.github.io/docs/0.18.x/install/

Появилось много примеров. Исправлены опечатки.

Сравнение с аналогами. Актуализировали информацию и вывели ее в документацию из readme.

Аналоги тоже не стоят на месте. Они тоже обновляются и добавляют фичи. Мы не всегда вкурсе, о том где и какая фича уже появилась. Спасибо всем за наводки.

Github actions

Рад представить работающий github action. Который позволяет установить helmwave.

https://github.com/helmwave/setup-action

https://github.com/marketplace/actions/helmwave-installer
https://github.com/marketplace/actions/helmwave-installer

Пример

name: CI
on:
  push:


jobs:
  external:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: helmwave/setup-action@v0.2.0
        name: Install helmwave
        with:
          version: '0.18.0'
      - run: helmwave --version
      - run: helmwave yml
      - run: helmwave up --build

Helmwave.yml

Теперь наконец-то snake_case.

Было

version: 0.17.1

project: my-project 

releases:
  - name: my-release
    chart: 
      name: my-chart-repo/my-app
    values:
      - values.yml
    namespace: my-namespace
    createnamespace: true

Стало

version: 0.18.0

project: my-project 

releases:
  - name: my-release
    chart: 
      name: my-chart-repo/my-app
    values:
      - values.yml
    namespace: my-namespace
    create_namespace: true

Helm diff

Теперь helmwave build сравнивает с live-окружением.

Также есть отдельная команда сравненния плана с live окружением helmwave diff live и для сравнения двух локальных планов helmwave diff plan --plandir1 .helmwave1 --plandir2 .helmwave2.

$ helmwave diff -h
NAME:
   helmwave diff - ???? Show Differences

USAGE:
   helmwave diff command [command options] [arguments...]

COMMANDS:
   plan     plan1  ????  plan2
   live     plan ???? live

helmwave.dev/skip-diff: true

Добавили аннотацию, если она есть то helmwave не будет показывать ее diff. Удобно если у вас есть секреты. Или если вы не хотите видеть изменение всех ресурсов.

Запрос на такой функционал пришел в нашем telegram чате

HELMWAVE_LOG_COLOR=false

Выключает цвет для диффа и почти выключает эмоджи.

Log

  • Новый флаг --progressпрогресс хелма (такой-то ресурс в таком-то состоянии апгрейда) раньше был только на логлевеле дебаг, теперь можно флагом включать явно.

  • Новый флаг --log-timestamps включает таймстампы у логов.

  • Убрали из логов ошибку обновления зависимостей для чартов, которые не лежат локально в файловой системе.

  • Появилось больше полей для понимания, к чему относится лог.

  • Описание ошибок стало побольше - больше вложенных ошибок, должно быть проще дебажить

Прочее

  • helm 3.8.0

  • Шаблонизатор (sprig/gomplate) можно выбирать флагом

  • Best Practices Badge Program. Обновили шаблоны для issues. Добавили Security Reports. Сканим код и докер образы с помощью trivy и snyk. Для оперативного обнаружения уязвимостей.

  • Фиксы

  • Обновление линтеров, пакетов, зависимостей, конфигов.

  • Возможно о чем-то забыл рассказать :)

Приходите, посмотрите, звездочку на гитхаб поставтье. Спасибо.

Комментарии (3)


  1. dyp2000
    12.02.2022 14:46

    В примере со snake_case не увидел разницы, кроме номера версии.


    1. ZhilyaevDmitriy Автор
      12.02.2022 14:47

      create_namespace и другие опции через снейк.


  1. evg_krsk
    14.02.2022 04:28

    Когда релизы удалять научится?