<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://helm.sh/uk/blog</id>
    <title>Helm Blog</title>
    <updated>2026-06-02T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://helm.sh/uk/blog"/>
    <subtitle>Helm Blog</subtitle>
    <icon>https://helm.sh/uk/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Helm 3. Завершення життєвого циклу]]></title>
        <id>https://helm.sh/uk/blog/helm-v3-end-of-life</id>
        <link href="https://helm.sh/uk/blog/helm-v3-end-of-life"/>
        <updated>2026-06-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Helm 3 наближається до завершення життєвого циклу. Останній обмежений функціональний реліз Helm 3 вийде 9 вересня 2026 року, а оновлення безпеки будуть надаватися до лютого 2027 року.]]></summary>
        <content type="html"><![CDATA[<p>Helm 3 наближається до завершення життєвого циклу. Останній обмежений функціональний реліз Helm 3 вийде <strong>9 вересня 2026 року</strong>, а оновлення безпеки будуть надаватися до лютого 2027 року.</p>
<p>З успішним випуском Helm 4 у листопаді 2025 року, супровідники та спільнота тепер зосереджені на поліпшенні функціональності Helm 4. Якщо ви ще не почали тестувати Helm 4, саме зараз настав час це зробити.</p>
<p>Helm 4 пропонує низку покращень порівняно з Helm 3 (детально описаних нижче) і очікується, що він буде сумісний з більшістю існуючих Helm 3 чартів, релізів та робочих процесів.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-3-end-of-life-timeline">Графік завершення життєвого циклу Helm 3<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#helm-3-end-of-life-timeline" class="hash-link" aria-label="Пряме посилання на Графік завершення життєвого циклу Helm 3" title="Пряме посилання на Графік завершення життєвого циклу Helm 3" translate="no">​</a></h2>
<p>У оголошенні про <a class="" href="https://helm.sh/uk/blog/helm-4-released">випуск Helm 4</a> було викладено початковий графік підтримки Helm 3 після випуску Helm 4.0.0 у листопаді 2025 року. Однак розробники Helm <strong>вирішили випустити ще одну (обмежену) версію з новими функціями 9 вересня 2026 року</strong> та <strong>продовжити підтримку безпеки до 10 лютого 2027 року</strong> — на три місяці довше, ніж передбачалося спочатку.</p>
<p>Цикл розробки Helm 4 та графік підтримки Helm 3 спочатку були викладені в документі <a class="" href="https://helm.sh/uk/community/hips/hip-0012#maintaining-helm-3">HIP-0012: Процес розробки Helm 4: Підтримка Helm 3</a>.</p>
<p>Оновлений графік виглядає наступним чином:</p>
<ul>
<li class=""><strong>Виправлення помилок</strong> аж до останнього функціонального релізу, 9 вересня 2026 року.</li>
<li class=""><strong>Останній функціональний реліз</strong>: 9 вересня 2026 року&nbsp;— це буде останній мінорний реліз Helm 3, обмежений оновленнями клієнтської бібліотеки Kubernetes для підтримки нових версій Kubernetes. Жодні інші нові функції не будуть перенесені.</li>
<li class=""><strong>Виправлення безпеки</strong> закінчаться 10 лютого 2027 року (розширено з листопада 2026 року).</li>
</ul>
<p>Після лютого 2027 року Helm 3 більше не отримуватиме жодних оновлень: <em>включаючи оновлення клієнтської бібліотеки Kubernetes та виправлення безпеки</em>. Ми наполегливо рекомендуємо всім користувачам перейти на Helm 4 до цієї дати.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-helm-4">Чому Helm 4<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#why-helm-4" class="hash-link" aria-label="Пряме посилання на Чому Helm 4" title="Пряме посилання на Чому Helm 4" translate="no">​</a></h2>
<p>Helm 3 добре служив спільноті Kubernetes понад шість років. За цей час проєкт накопичив технічний борг та зіткнувся з архітектурними обмеженнями, які не дозволяли впроваджувати нові функції без порушення публічних API SDK. Helm 4 вирішує цю проблему з кардинальними змінами, що дозволяє йому рухатися вперед, при цьому зберігаючи значну зворотну сумісність із більшістю наявних робочих процесів.</p>
<p>Для повних деталей дивіться <a class="" href="https://helm.sh/uk/community/hips/hip-0012">HIP-0012: Процес розробки Helm 4</a>.</p>
<blockquote>
<p>Чарти, що розгортаються з Helm 3, мають бути придатними для розгортання з Helm 4. Так само, будь-який наявний чарт (реліз), керований Helm 3, загалом має бути оновлюваним за допомогою Helm 4.</p>
</blockquote>
<p>Це означає, що ви можете оновити бінарний файл Helm без необхідності переписати свої чарти або повторно розгорнути свої релізи. Робочі процеси CLI також значною мірою зберігаються — для більшості користувачів зміни будуть мінімальними або взагалі не будуть потрібні.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-in-helm-4">Що нового в Helm 4<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#whats-new-in-helm-4" class="hash-link" aria-label="Пряме посилання на Що нового в Helm 4" title="Пряме посилання на Що нового в Helm 4" translate="no">​</a></h2>
<p>Ось огляд ключових змін. Для повних деталей дивіться <a class="" href="https://helm.sh/uk/docs/overview">Огляд Helm 4</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features">Нові функції<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#new-features" class="hash-link" aria-label="Пряме посилання на Нові функції" title="Пряме посилання на Нові функції" translate="no">​</a></h3>
<ul>
<li class=""><strong>Переробка системи втулків</strong>&nbsp;— опціональний рушій WebAssembly для втулків з підвищеною безпекою. Наявні втулки продовжують працювати. У Helm 4 поставляються три типи втулків: CLI, getter та post-renderer втулки, плюс розширювана система для нових типів втулків. Детальніше дивіться <a class="" href="https://helm.sh/uk/community/hips/hip-0026">HIP-0026</a>.</li>
<li class=""><strong>Кращий моніторинг ресурсів</strong>&nbsp;— інтеграція <a href="https://helm.sh/community/hips/hip-0022/" target="_blank" rel="noopener noreferrer" class="">kstatus</a> забезпечує детальне відстеження статусу розгортання.</li>
<li class=""><strong>Багатодокументні values</strong>&nbsp;— розділення values між декількома YAML файлами для конфігурацій, специфічних для середовища.</li>
<li class=""><strong>Server-side apply</strong> — стандартно для нових релізів, з автоматичним перемиканням на client-side apply для оновлень наявних релізів Helm 3.</li>
<li class=""><strong>Користувацькі шаблонні функції</strong>&nbsp;— розширення можливостей шаблонізації Helm через втулки.</li>
<li class=""><strong>Стабільне SDK API</strong>&nbsp;— кардинальні зміни API завершені, що дозволяє розвиток Charts v3.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-changes">Зміни, що порушують сумісність<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#breaking-changes" class="hash-link" aria-label="Пряме посилання на Зміни, що порушують сумісність" title="Пряме посилання на Зміни, що порушують сумісність" translate="no">​</a></h3>
<ul>
<li class=""><strong>Пострендери тепер є втулками</strong> — <code>helm install --post-renderer</code> тепер приймає назву втулка, а не шлях до виконуваного файлу. Оновіть будь-які наявні post-renderer робочі процеси.</li>
<li class=""><strong>Логін в реєстрі обмежений доменом</strong>&nbsp;— <code>helm registry login</code> приймає лише доменні імена (не повні URL), що дозволяє майбутній per-scope логін.</li>
<li class=""><strong>Перейменування CLI прапорців</strong>&nbsp;— <code>--atomic</code> тепер <code>--rollback-on-failure</code>, а <code>--force</code> тепер <code>--force-replace</code>. Старі прапорці все ще працюють, але видають попередження про застарівання.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Покращення<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#improvements" class="hash-link" aria-label="Пряме посилання на Покращення" title="Пряме посилання на Покращення" translate="no">​</a></h3>
<ul>
<li class="">Швидше визначення залежностей та кешування чартів на основі вмісту.</li>
<li class="">Більш зрозумілі повідомлення про помилки.</li>
<li class="">Покращена підтримка OAuth та токенів для приватних реєстрів.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-3-security-patch-release">Патч-реліз Helm 3 з виправленнями вразливостей<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#helm-3-security-patch-release" class="hash-link" aria-label="Пряме посилання на Патч-реліз Helm 3 з виправленнями вразливостей" title="Пряме посилання на Патч-реліз Helm 3 з виправленнями вразливостей" translate="no">​</a></h2>
<p><a class="" href="https://helm.sh/uk/community/hips/hip-0012">HIP-0012</a> спочатку передбачав виправлення вразливостей протягом одного року з моменту випуску Helm 4.0.0&nbsp;— до листопада 2026 року. Розробники Helm продовжують цей термін на три місяці&nbsp;— до <strong>10 лютого 2027 року</strong>, надаючи спільноті більше часу для завершення переходу на Helm 4.</p>
<p>Протягом цього періоду технічного обслуговування, присвяченого виключно безпеці:</p>
<ul>
<li class=""><strong>Жодних нових функцій</strong> не буде впроваджено в Helm 3, включаючи оновлення клієнтських бібліотек Kubernetes.</li>
<li class=""><strong>Випускатимуться лише виправлення безпеки</strong> (за запитом / за необхідності).</li>
<li class=""><strong>Виправлення помилок</strong> не застосовуватимуться.</li>
</ul>
<p>Якщо до лютого 2027 року в Helm 3 буде виявлено вразливість безпеки, буде випущено виправлення. Після 10 лютого 2027 року жодних інших випусків Helm 3 будь-якого типу не буде.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-to-helm-4">Міграція на Helm 4<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#migration-to-helm-4" class="hash-link" aria-label="Пряме посилання на Міграція на Helm 4" title="Пряме посилання на Міграція на Helm 4" translate="no">​</a></h2>
<p>Процес оновлення розроблено таким чином, щоб він був простим. Щоб зробити процес міграції якомога простішим, можна скористатися такими кроками:</p>
<ol>
<li class=""><strong>Перевірте свої чарти</strong>&nbsp;— розгорніть наявні чарти за допомогою Helm 4 у тестовому середовищі</li>
<li class=""><strong>Перевірте свої конвеєри CI/CD</strong>&nbsp;— оновіть усі скрипти, використовуючи перейменовані прапорці CLI (<code>--atomic</code>&nbsp;→ <code>--rollback-on-failure</code>, <code>--force</code>&nbsp;→ <code>--force-replace</code>)</li>
<li class=""><strong>Перевірте робочі процеси після рендерингу</strong>&nbsp;— перенесіть усі випадки використання <code>--post-renderer</code> до нової системи втулків</li>
<li class=""><strong>Перевірте автентифікацію в реєстрі</strong>&nbsp;— перевірте робочі процеси OCI за допомогою команди <code>helm registry login</code>, використовуючи лише доменні імена</li>
<li class=""><strong>Оновлення</strong>&nbsp;— Helm 4 може керувати наявними релізами Helm 3 без жодних кроків міграції
<ul>
<li class="">Зверніть увагу: Helm 4 зазвичай використовуватиме застосування на стороні сервера (server-side apply) під час встановлення нового релізу Chart. Під час оновлення (або відкату) Helm типово дотримуватиметься попереднього методу застосування релізу. Цю поведінку фіксації можна перевизначити, явно встановивши <code>--server-side=false</code>.</li>
</ul>
</li>
</ol>
<p>Для повного чек-листу оновлення дивіться розділ <a class="" href="https://helm.sh/uk/docs/overview#upgrading-to-helm-4">Оновлення до Helm 4</a> документації.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Приєднуйтесь<a href="https://helm.sh/uk/blog/helm-v3-end-of-life#get-involved" class="hash-link" aria-label="Пряме посилання на Приєднуйтесь" title="Пряме посилання на Приєднуйтесь" translate="no">​</a></h2>
<ul>
<li class=""><strong>GitHub Issues</strong>: <a href="https://github.com/helm/helm/issues" target="_blank" rel="noopener noreferrer" class="">helm/helm</a></li>
<li class=""><strong>Kubernetes Slack</strong>: <a href="https://kubernetes.slack.com/archives/C51E88VDG" target="_blank" rel="noopener noreferrer" class="">#helm-dev</a> та <a href="https://kubernetes.slack.com/archives/C0NH30761" target="_blank" rel="noopener noreferrer" class="">#helm-users</a></li>
<li class=""><strong>Щотижневі dev-наради</strong>: четвер о 9:30 PT на <a href="https://zoom-lfx.platform.linuxfoundation.org/meeting/99213281727?password=17825db5-c698-44cc-9f00-ef1f61f5d3fb" target="_blank" rel="noopener noreferrer" class="">Zoom</a></li>
</ul>
<p>Для деталей дивіться <a class="" href="https://helm.sh/uk/community/communication">посібник спільноти щодо комунікації</a>.</p>]]></content>
        <author>
            <name>George Jenkins</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Повідомлення про безпеку: заява щодо колишнього домену дзеркала APT Helm `baltocdn.com`]]></title>
        <id>https://helm.sh/uk/blog/security-notice-baltocdn</id>
        <link href="https://helm.sh/uk/blog/security-notice-baltocdn"/>
        <updated>2026-05-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Команда безпеки Helm отримала повідомлення від сторонніх організацій про те, що права власності на колишній домен дзеркала APT Debian/Ubuntu, що підтримувався спільнотою, baltocdn.com, змінилися після закінчення терміну реєстрації оригінального домену baltocdn.com. У результаті нові власники можуть використовувати цей домен для розповсюдження шкідливого вмісту.]]></summary>
        <content type="html"><![CDATA[<p>Команда безпеки Helm отримала повідомлення від сторонніх організацій про те, що права власності на колишній домен дзеркала APT Debian/Ubuntu, що підтримувався спільнотою, <code>baltocdn.com</code>, змінилися після закінчення терміну реєстрації оригінального домену <code>baltocdn.com</code>. У результаті нові власники можуть використовувати цей домен для розповсюдження шкідливого вмісту.</p>
<!-- -->
<p>Ми публікуємо це повідомлення, щоб підвищити обізнаність користувачів Helm, які досі можуть мати в конфігурації свого менеджера пакунків APT посилання на <code>baltocdn.com</code>. Раніше <code>baltocdn.com</code> використовувався як дзеркало APT для розповсюдження Helm протягом багатьох років, але більше не є дзеркалом APT Helm і не повинен використовуватися для керування Helm.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">Підсумок<a href="https://helm.sh/uk/blog/security-notice-baltocdn#summary" class="hash-link" aria-label="Пряме посилання на Підсумок" title="Пряме посилання на Підсумок" translate="no">​</a></h2>
<p>Колишній домен дзеркала APT Helm <code>baltocdn.com</code> було виведено з експлуатації у вересні 2025 року. Після виведення з експлуатації спроби доступу або завантаження пакунків Helm з <code>baltocdn.com</code> мали б завершитися невдачею через припинення роботи базової інфраструктури.</p>
<p>Пізніше термін реєстрації домену <code>baltocdn.com</code> закінчився, і домен був повторно зареєстрований <a href="https://www.dynadot.com/domain/whois?domain=baltocdn.com" target="_blank" rel="noopener noreferrer" class="">третьою стороною</a> 19 травня 2026 року. У результаті користувачі, системи або автоматизація, які досі намагаються завантажити пакунки Helm з <code>baltocdn.com</code>, можуть бути спрямовані на вміст, контрольований новим реєстрантом домену.</p>
<p>Наразі команда безпеки Helm отримала повідомлення від сторонніх організацій про те, що домен міг бути переорієнтований для розповсюдження шкідливого вмісту. Ми не підтвердили ці повідомлення самостійно. Проте оскільки домен більше не контролюється попереднім оператором репозиторію APT і більше не є кінцевою точкою розповсюдження Helm, будь-яке подальше використання <code>baltocdn.com</code> становить потенційну загрозу ланцюга постачання.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="affected-users">Користувачі, яких це стосується<a href="https://helm.sh/uk/blog/security-notice-baltocdn#affected-users" class="hash-link" aria-label="Пряме посилання на Користувачі, яких це стосується" title="Пряме посилання на Користувачі, яких це стосується" translate="no">​</a></h2>
<p>Ви можете бути під впливом, якщо будь-які системи на базі Debian або Ubuntu, репозиторії APT, завдання CI, образи контейнерів, сценарії встановлення, сценарії початкового завантаження, шаблони управління конфігурацією або внутрішня документація досі містять посилання на:</p>
<p><code>baltocdn.com</code></p>
<p>Будь-який користувач, який виконував двійкові файли, отримані з <code>baltocdn.com</code>, після 19 травня 2026 року, повинен вважати відповідну систему скомпрометованою та дотримуватися звичайних процедур реагування на інциденти.</p>
<p>Користувачі, які мають застарілі посилання на <code>baltocdn.com</code>, але не намагалися встановлювати або оновлювати Helm з цього домену після 19 травня 2026 року, все одно повинні негайно видалити ці посилання, дотримуючись наведених нижче кроків.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="remediation"><strong>Виправлення</strong><a href="https://helm.sh/uk/blog/security-notice-baltocdn#remediation" class="hash-link" aria-label="Пряме посилання на remediation" title="Пряме посилання на remediation" translate="no">​</a></h2>
<p>Будь ласка, переконайтеся, що всі установки Helm на базі APT для Debian/Ubuntu використовують поточний репозиторій APT:</p>
<p><a href="https://packages.buildkite.com/helm-linux/helm-debian" target="_blank" rel="noopener noreferrer" class="">https://packages.buildkite.com/helm-linux/helm-debian</a></p>
<p>Перегляньте свої системи та репозиторії на наявність будь-яких залишкових посилань на <code>baltocdn.com</code> і замініть їх на поточні інструкції зі встановлення.</p>
<p>Поточні інструкції зі встановлення Helm для APT доступні за посиланням нижче:</p>
<p><a href="https://helm.sh/docs/intro/install/#from-apt-debianubuntu" target="_blank" rel="noopener noreferrer" class="">https://helm.sh/docs/intro/install/#from-apt-debianubuntu</a></p>
<p>Рекомендовані дії:</p>
<ol>
<li class="">Видаліть будь-які записи джерел APT, які посилаються на <code>baltocdn.com</code>.</li>
<li class="">Оновіть конфігурацію встановлення Helm на базі APT для Debian/Ubuntu для використання <code>packages.buildkite.com</code>.</li>
<li class="">Перегляньте конвеєри CI/CD, Dockerfiles, сценарії початкового завантаження, управління конфігурацією та внутрішню документацію на наявність застарілих посилань.</li>
<li class="">Вважайте будь-яку систему, на якій було виконано двійкові файли, отримані з <code>baltocdn.com</code>, після 19 травня 2026 року, потенційно скомпрометованою.</li>
<li class="">Дотримуйтесь процесу реагування на інциденти вашої організації, якщо ви вважаєте, що система могла завантажити або виконати вміст із повторно зареєстрованого домену.</li>
<li class="">Заблокуйте доступ (корпоративний проксі/брандмауер тощо) до <code>baltocdn.com</code>. Оскільки сайт раніше було виведено з експлуатації та він більше не обслуговує вміст, пов'язаний із проектом Helm, обмеження доступу не порушить існуючих робочих процесів.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="about-the-helm-apt-repository">Про репозиторій APT Helm<a href="https://helm.sh/uk/blog/security-notice-baltocdn#about-the-helm-apt-repository" class="hash-link" aria-label="Пряме посилання на Про репозиторій APT Helm" title="Пряме посилання на Про репозиторій APT Helm" translate="no">​</a></h2>
<p>Репозиторій APT Helm для Debian/Ubuntu <a href="https://packages.buildkite.com/helm-linux/helm-debian/" target="_blank" rel="noopener noreferrer" class="">репозиторій</a> (та його попередник <code>baltocdn.com</code>) підтримується спільнотою з вдячністю. Він не підтримується безпосередньо супровідниками Helm.</p>
<p>Проєкт Helm надає офіційні методи встановлення Helm з бінарних релізів та за допомогою скрипта встановлення Helm. Методи встановлення через менеджери пакунків, надані спільнотою, включаючи APT, документовані для зручності користувачів, але не підтримуються безпосередньо проектом Helm.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="engage-with-the-helm-community">Взаємодія зі спільнотою Helm<a href="https://helm.sh/uk/blog/security-notice-baltocdn#engage-with-the-helm-community" class="hash-link" aria-label="Пряме посилання на Взаємодія зі спільнотою Helm" title="Пряме посилання на Взаємодія зі спільнотою Helm" translate="no">​</a></h2>
<p>Проєкт Helm надає кілька способів взаємодії зі спільнотою, включаючи канали Slack та щотижневі зустрічі розробників. Члени команди безпеки Helm та супровідники присутні на цих форумах і разом із рештою спільноти можуть відповісти на запитання чи занепокоєння, пов'язані з проектом Helm.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="reporting-security-concerns">Повідомлення про проблеми безпеки<a href="https://helm.sh/uk/blog/security-notice-baltocdn#reporting-security-concerns" class="hash-link" aria-label="Пряме посилання на Повідомлення про проблеми безпеки" title="Пряме посилання на Повідомлення про проблеми безпеки" translate="no">​</a></h2>
<p>Для отримання додаткової інформації про повідомлення про проблеми безпеки, повʼязані з проєктом Helm, див. процес та політику безпеки Helm:</p>
<p><a href="https://helm.sh/community/security/" target="_blank" rel="noopener noreferrer" class="">https://helm.sh/community/security/</a></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Висновок<a href="https://helm.sh/uk/blog/security-notice-baltocdn#conclusion" class="hash-link" aria-label="Пряме посилання на Висновок" title="Пряме посилання на Висновок" translate="no">​</a></h2>
<p><code>baltocdn.com</code> більше не є дзеркалом APT Helm і не повинен використовуватися для встановлення та керування Helm.
Користувачі повинні перенести будь-які залишкові конфігурації встановлення Helm на базі APT для Debian/Ubuntu на <code>packages.buildkite.com</code> та переглянути свої середовища на наявність застарілих посилань на колишній домен, щоб зменшити потенційні загрози безпеці.</p>]]></content>
        <author>
            <name>George Jenkins</name>
        </author>
        <author>
            <name>Andrew Block</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Випуск Helm 4]]></title>
        <id>https://helm.sh/uk/blog/helm-4-released</id>
        <link href="https://helm.sh/uk/blog/helm-4-released"/>
        <updated>2025-11-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[У середу, 12 листопада, під час презентації Helm 4 на KubeCon + CloudNativeCon було випущено Helm v4.0.0. Це перша нова основна версія Helm за 6 років.]]></summary>
        <content type="html"><![CDATA[<p>У середу, 12 листопада, під час <a href="https://sched.co/27Nme" target="_blank" rel="noopener noreferrer" class="">презентації Helm 4 на KubeCon + CloudNativeCon</a> було випущено <a href="https://github.com/helm/helm/releases/tag/v4.0.0" target="_blank" rel="noopener noreferrer" class="">Helm v4.0.0</a>. Це перша нова основна версія Helm за 6 років. </p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new">Що нового<a href="https://helm.sh/uk/blog/helm-4-released#whats-new" class="hash-link" aria-label="Пряме посилання на Що нового" title="Пряме посилання на Що нового" translate="no">​</a></h2>
<p>Helm v3 добре слугував спільноті Kubernetes протягом багатьох років. За цей час ми бачили нові способи використання Helm, нові застосунки, встановлені за допомогою чартів, зростання <a href="https://artifacthub.io/" target="_blank" rel="noopener noreferrer" class="">Artifact Hub</a> та численні інструменти, що будуються на основі Helm. Ми також бачили, де хотіли додати функції, але внутрішня архітектура Helm не надавала шляху вперед без порушення публічних API в SDK. Helm 4 вносить ці зміни, щоб забезпечити нові функції зараз і в майбутньому.</p>
<p>Деякі з нових функцій включають:</p>
<ul>
<li class="">Перероблена система втулків, що підтримує втулки на основі Web Assembly</li>
<li class="">Пострендери тепер є втулками</li>
<li class="">Тепер підтримується застосування на стороні сервера (server-side apply)</li>
<li class="">Покращене відстеження ресурсів для підтримки очікування на основі kstatus</li>
<li class="">Локальне кешування на основі вмісту (наприклад, для чартів)</li>
<li class="">Логування через slog, що дозволяє інтегрувати логування SDK з сучасними логерами</li>
<li class="">Відтворювані/ідемпотентні збірки архівів чартів</li>
<li class="">Оновлений SDK API, включаючи підтримку кількох версій API чартів (нова експериментальна версія API чартів v3 з'явиться найближчим часом)</li>
</ul>
<p>Детальніше про зміни можна дізнатися в <a class="" href="https://helm.sh/uk/docs/overview">Огляді Helm 4</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-v3-support">Підтримка Helm v3<a href="https://helm.sh/uk/blog/helm-4-released#helm-v3-support" class="hash-link" aria-label="Пряме посилання на Підтримка Helm v3" title="Пряме посилання на Підтримка Helm v3" translate="no">​</a></h2>
<p>Коли виходить нова основна версія програмного забезпечення, потрібен час для переходу. Підтримка Helm v3 буде продовжуватися, щоб забезпечити плавний перехід. Дати продовженої підтримки такі:</p>
<ul>
<li class="">Виправлення помилок до 8 липня 2026 року.</li>
<li class="">Виправлення безпеки до 11 листопада 2026 року.</li>
</ul>
<p>Helm випускає оновлення по середах (зазвичай 2-а середа місяця), і ці дати відповідають датам випуску. Протягом цього часу <strong><em>НЕ</em></strong> будуть перенесені нові функції, окрім оновлень клієнтських бібліотек Kubernetes, які забезпечують підтримку нових версій Kubernetes.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="learn-more">Дізнатися більше<a href="https://helm.sh/uk/blog/helm-4-released#learn-more" class="hash-link" aria-label="Пряме посилання на Дізнатися більше" title="Пряме посилання на Дізнатися більше" translate="no">​</a></h2>
<p>Ви можете дізнатися про зміни в Helm у <a class="" href="https://helm.sh/uk/docs/overview">Огляді</a> або знайти всі зміни в <a class="" href="https://helm.sh/uk/docs/changelog">повному журналі змін</a>. Документація містить набагато більше деталей, оскільки ви можете знайти всі способи, якими Helm залишався незмінним, та нові функції, якими ви можете скористатися.</p>]]></content>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm @ KubeCon + CloudNativeCon NA '25]]></title>
        <id>https://helm.sh/uk/blog/helm-at-kubecon-na-25</id>
        <link href="https://helm.sh/uk/blog/helm-at-kubecon-na-25"/>
        <updated>2025-11-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Helm team is headed to KubeCon + CloudNativeCon NA '25 in Atlanta, Georgia next week and it's truly a special one for us! This time around, as we celebrate our 10th birthday (fun fact, Helm was launched at the first KubeCon in 2015), we will also be releasing the highly anticipated Helm 4! Join us for a series of exciting activities throughout the week -- read on for more details!]]></summary>
        <content type="html"><![CDATA[<p>The Helm team is headed to KubeCon + CloudNativeCon NA '25 in Atlanta, Georgia next week and it's truly a special one for us! This time around, as we celebrate our 10th birthday (fun fact, Helm was launched at the first KubeCon in 2015), we will also be releasing the highly anticipated Helm 4! Join us for a series of exciting activities throughout the week -- read on for more details!</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-booth-in-project-pavilion">Helm Booth in Project Pavilion<a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#helm-booth-in-project-pavilion" class="hash-link" aria-label="Пряме посилання на Helm Booth in Project Pavilion" title="Пряме посилання на Helm Booth in Project Pavilion" translate="no">​</a></h2>
<p>Don't miss out on meeting our project maintainers at the Helm booth - we'll be hanging out the second half of each day. Drop by to ask questions, learn about what's in Helm 4, and pick up special Hazel swag celebrating Helm's 10th birthday!</p>
<ul>
<li class="">
<p>TUES Nov 11 @ 03:30 PM - 07:45 PM ET</p>
</li>
<li class="">
<p>WED Nov 12 @ 02:00 PM - 05:00 PM ET</p>
</li>
<li class="">
<p>THUR Nov 13 @ 12:30 PM - 02:00 PM ET</p>
</li>
</ul>
<p>LOCATION: 8B, back side of Flux and across from Argo</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tuesday-november-11-2025">Tuesday November 11, 2025<a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#tuesday-november-11-2025" class="hash-link" aria-label="Пряме посилання на Tuesday November 11, 2025" title="Пряме посилання на Tuesday November 11, 2025" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="simplifying-advanced-ai-model-serving-on-kubernetes-using-helm-charts"><a href="https://sched.co/27FVb" target="_blank" rel="noopener noreferrer" class="">Simplifying Advanced AI Model Serving on Kubernetes Using Helm Charts</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#simplifying-advanced-ai-model-serving-on-kubernetes-using-helm-charts" class="hash-link" aria-label="Пряме посилання на simplifying-advanced-ai-model-serving-on-kubernetes-using-helm-charts" title="Пряме посилання на simplifying-advanced-ai-model-serving-on-kubernetes-using-helm-charts" translate="no">​</a></h3>
<p>TIME: 12:00 PM - 12:30 PM ET</p>
<p>LOCATION: Building B | Level 4 | B401-402</p>
<p>SPEAKERS: <a href="https://kccncna2025.sched.com/speaker/ajayvohr" target="_blank" rel="noopener noreferrer" class="">Ajay Vohra</a> &amp; <a href="https://kccncna2025.sched.com/speaker/caronzh03" target="_blank" rel="noopener noreferrer" class="">Caron Zhang</a></p>
<p>The AI model serving landscape on Kubernetes presents practitioners with an overwhelming array of technology choices: From inference servers like Ray Serve and Triton Inference Server, inference engines like vLLM, and orchestration platforms like Ray Cluster and KServe. While this diversity drives innovation, it also creates complexity. Teams often prematurely standardize on limited technology stacks to manage this complexity.</p>
<p>This talk introduces an innovative Helm-based approach that abstracts the complexity of AI model serving while preserving the flexibility to leverage the best tools for each use case. Our solution is accelerator agnostic, and provides a consistent YAML interface for deploying and experimenting with various serving technologies.</p>
<p>We'll demonstrate this approach through two concrete examples of multi-node, multi-accelerator model serving with auto scaling: 1/ Ray Serve + vLLM + Ray Cluster, and 2/ LeaderWorkerSet + Triton Inference Server + vLLM + Ray Cluster + HPA.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="wednesday-november-12-2025">Wednesday November 12, 2025<a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#wednesday-november-12-2025" class="hash-link" aria-label="Пряме посилання на Wednesday November 12, 2025" title="Пряме посилання на Wednesday November 12, 2025" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="maintainer-track-introducing-helm-4"><a href="https://sched.co/27Nme" target="_blank" rel="noopener noreferrer" class="">Maintainer Track: Introducing Helm 4</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#maintainer-track-introducing-helm-4" class="hash-link" aria-label="Пряме посилання на maintainer-track-introducing-helm-4" title="Пряме посилання на maintainer-track-introducing-helm-4" translate="no">​</a></h3>
<p>TIME: 11:00 AM - 11:30 AM ET</p>
<p>LOCATION: Building C | Level 3 | Georgia Ballroom 1</p>
<p>SPEAKERS: <a href="https://kccncna2025.sched.com/speaker/matt812" target="_blank" rel="noopener noreferrer" class="">Matt Farina</a> &amp; <a href="https://kccncna2025.sched.com/speaker/robert_sirchia.28kd1wis" target="_blank" rel="noopener noreferrer" class="">Robert Sirchia</a> (Helm Maintainers)</p>
<p>The wait is over! After six years with Helm v3, Helm v4 is finally here. In this session you'll learn about Helm v4, why there was 6 years between major versions (from backwards compatible feature development to maintainer ups and downs), what's new in Helm v4, how long Helm v3 will still be supported, and what comes next. Could that include a Helm v5?</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="contribfest-hands-on-with-helm-4-wasm-plugins-oci-and-resource-sequencing-oh-my"><a href="https://sched.co/27Nl0" target="_blank" rel="noopener noreferrer" class="">Contribfest: Hands-On With Helm 4: Wasm Plugins, OCI, and Resource Sequencing. Oh My!</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#contribfest-hands-on-with-helm-4-wasm-plugins-oci-and-resource-sequencing-oh-my" class="hash-link" aria-label="Пряме посилання на contribfest-hands-on-with-helm-4-wasm-plugins-oci-and-resource-sequencing-oh-my" title="Пряме посилання на contribfest-hands-on-with-helm-4-wasm-plugins-oci-and-resource-sequencing-oh-my" translate="no">​</a></h3>
<p>TIME: 02:15pm - 03:30 PM ET</p>
<p>LOCATION: Building B | Level 2 | B207</p>
<p>SPEAKERS: <a href="https://kccncna2025.sched.com/speaker/ablock2" target="_blank" rel="noopener noreferrer" class="">Andrew Block</a>, <a href="https://kccncna2025.sched.com/speaker/r6by" target="_blank" rel="noopener noreferrer" class="">Scott Rigby</a>, &amp; <a href="https://kccncna2025.sched.com/speaker/gvjenkins" target="_blank" rel="noopener noreferrer" class="">George Jenkins</a> (Helm Maintainers)</p>
<p>Join Helm maintainers for an interactive session contributing to core Helm and building integrations with some of Helm 4's emerging features. We'll guide contributors through creating Helm 4's newest enhancements including WebAssembly plugins, enhancements to how OCI content is manged, and implementing resource sequencing for controlled deployment order. Attendees will explore how to build Download/Postrender/CLI plugins in WebAssembly, develop capabilities related to changes to Helm's management of OCI content including repository prefixes and aliases, and use approaches for sequencing chart deployments beyond Helm's traditional mechanisms.</p>
<p>This session is geared toward anyone interested in Helm development including leveraging and building upon some of the latest features associated with Helm 4!</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-4-release-party"><a class="" href="https://helm.sh/uk/helm-4-release-party/">Helm 4 Release Party</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#helm-4-release-party" class="hash-link" aria-label="Пряме посилання на helm-4-release-party" title="Пряме посилання на helm-4-release-party" translate="no">​</a></h3>
<p>TIME: 06:00 PM - 09:00 PM EST</p>
<p>LOCATION: <a href="https://www.google.com/maps/place/Max+Lager's+Wood-Fired+Grill+%26+Brewery/@33.7633384,-84.3869351,16z/data=!3m1!4b1!4m6!3m5!1s0x88f50479f0b45fe9:0x8c53b75958299abd!8m2!3d33.7633384!4d-84.3869351!16s%2Fm%2F01_23gr" target="_blank" rel="noopener noreferrer" class="">Max Lager's Wood-Fired Grill &amp; Brewery</a></p>
<p><a href="https://www.replicated.com/" target="_blank" rel="noopener noreferrer" class="">Replicated</a> and the <a href="https://www.cncf.io/" target="_blank" rel="noopener noreferrer" class="">CNCF</a> are throwing a Helm 4 Release Party to celebrate the release of Helm 4! Drop by for a low country boil and hang out with the Helm project maintainers for the night! See the invitation <a class="" href="https://helm.sh/uk/helm-4-release-party/">here</a>, and don't forget to save your spot – RSVP <a href="https://replicated.typeform.com/helmparty" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thursday-november-13-2025">Thursday November 13, 2025<a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#thursday-november-13-2025" class="hash-link" aria-label="Пряме посилання на Thursday November 13, 2025" title="Пряме посилання на Thursday November 13, 2025" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="mission-abort-intercepting-dangerous-deletes-before-helm-hits-apply"><a href="https://sched.co/27FeJ" target="_blank" rel="noopener noreferrer" class="">Mission Abort: Intercepting Dangerous Deletes Before Helm Hits Apply</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-25#mission-abort-intercepting-dangerous-deletes-before-helm-hits-apply" class="hash-link" aria-label="Пряме посилання на mission-abort-intercepting-dangerous-deletes-before-helm-hits-apply" title="Пряме посилання на mission-abort-intercepting-dangerous-deletes-before-helm-hits-apply" translate="no">​</a></h3>
<p>TIME: 01:45 PM - 02:15 PM ET</p>
<p>LOCATION: Building B | Level 5 | Thomas Murphy Ballroom 4</p>
<p>SPEAKERS: <a href="https://kccncna2025.sched.com/speaker/godhanipayal" target="_blank" rel="noopener noreferrer" class="">Payal Godhani</a></p>
<p>What if your next Helm deployment silently deletes a LoadBalancer, a Gateway, or an entire namespace? We’ve lived that nightmare—multiple times. In this talk, we’ll share how we turned painful Sev1 outages into a resilient, guardrail-first deployment strategy. By integrating Helm Diff and Argo CD Diff, we built a system that scans every deployment for destructive changes—like the removal of LoadBalancers, KGateways, Services, PVCs, or Namespaces—and blocks them unless explicitly approved. This second-layer approval acts as a safety circuit for your release pipelines. No guesswork. No blind deploys. Just real-time visibility into what’s about to break—before it actually does. Whether you’re managing a single cluster or an entire fleet, this talk will show you how to stop fearing Helm and start trusting it again. Because resilience isn’t about avoiding failure—it’s about learning, adapting, and building guardrails that protect everyone.</p>]]></content>
        <author>
            <name>Karen Chu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm Turns 10]]></title>
        <id>https://helm.sh/uk/blog/helm-turns-ten</id>
        <link href="https://helm.sh/uk/blog/helm-turns-ten"/>
        <updated>2025-10-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Ten years ago, in a hackathon shortly after the release of Kubernetes 1.1.0, Helm was born.]]></summary>
        <content type="html"><![CDATA[<p>Ten years ago, in a hackathon shortly after the release of Kubernetes 1.1.0, Helm was born.</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">commit ecad6e2ef9523a0218864ec552bbfc724f0b9d3d</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Author: Matt Butcher &lt;mbutcher@engineyard.com&gt;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Date:   Mon Oct 19 17:43:26 2015 -0600</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    initial add</span><br></div></code></pre></div></div>
<!-- -->
<p><a href="https://github.com/helm/helm-classic/commit/ecad6e2ef9523a0218864ec552bbfc724f0b9d3d" target="_blank" rel="noopener noreferrer" class="">The first commit</a> can be found on the helm-classic Git repository where the codebase for Helm v1 is located. This is the original Helm, before it merged with Deployment Manager and was folded into the Kubernetes project.</p>
<p>This commit was just the beginning. Helm would be shown off at the first KubeCon, just a few weeks later. From there Helm development would take off and a community of developers and charts would follow.</p>
<p>Happy 10th Birthday, Helm!</p>
<p><img decoding="async" loading="lazy" alt="Happy 10th Birthday Helm" src="https://helm.sh/uk/assets/images/happy-10th-b863841c985a524df66af7f2be6ab91e.png" width="960" height="1088" class="img_ev3q"></p>]]></content>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Шлях до випуску Helm v4]]></title>
        <id>https://helm.sh/uk/blog/path-to-helm-v4</id>
        <link href="https://helm.sh/uk/blog/path-to-helm-v4"/>
        <updated>2025-09-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Випущено першу альфа-версію Helm v4. Тепер, коли розробка Helm v4 вступає у фінальну стадію, ми хотіли б поділитися деталями про те, що відбувається, і як широкий загал може долучитися до цього процесу.]]></summary>
        <content type="html"><![CDATA[<p>Випущено <a href="https://github.com/helm/helm/releases/tag/v4.0.0-alpha.1" target="_blank" rel="noopener noreferrer" class="">першу альфа-версію Helm v4</a>. Тепер, коли розробка Helm v4 вступає у фінальну стадію, ми хотіли б поділитися деталями про те, що відбувається, і як широкий загал може долучитися до цього процесу.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="alpha-period">Альфа-період<a href="https://helm.sh/uk/blog/path-to-helm-v4#alpha-period" class="hash-link" aria-label="Пряме посилання на Альфа-період" title="Пряме посилання на Альфа-період" translate="no">​</a></h2>
<p>З початком вересня введення нових основних функцій для Helm v4 призупинено. Починається альфа-фаза, під час якої все ще будуть відбуватися зміни, що порушують API, але основна увага приділятиметься стабільності та забезпеченню очікуваної роботи вже внесених змін.</p>
<p>Якщо ви користуєтеся Helm, протягом цього періоду ви можете протестувати поточні можливості та надати відгук, якщо щось не працює як очікується. Просто памʼятайте, що це програмне забезпечення альфа-якості, і зміни все ще відбуваються.</p>
<p>Для користувачів Helm SDK зараз хороший час, щоб ознайомитися з API і перевірити, чи є якісь занепокоєння щодо змін у дизайні, а також чи вплинуть вони на вашу роботу.</p>
<p>Період Альфа триватиме протягом вересня.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="beta-period">Бета-період<a href="https://helm.sh/uk/blog/path-to-helm-v4#beta-period" class="hash-link" aria-label="Пряме посилання на Бета-період" title="Пряме посилання на Бета-період" translate="no">​</a></h2>
<p>Бета-період розпочинається в жовтні. На цьому етапі основна увага приділяється стабільності в рамках підготовки до випуску. Зміни, що порушують API, повинні бути завершені, і основна увага переходить до виправлення будь-яких помилок, щоб забезпечити стабільний випуск.</p>
<p>Тестувальники повинні повідомляти про помилки, коли вони стикаються з будь-якими проблемами.</p>
<p>Відповідно до <a class="" href="https://helm.sh/uk/community/release_policy#major-releases">політики випуску версій</a>, після виходу першої бета-версії буде обрано та оголошено остаточну дату випуску версії 4.0.0.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="release-candidates">Претенденти на випуск<a href="https://helm.sh/uk/blog/path-to-helm-v4#release-candidates" class="hash-link" aria-label="Пряме посилання на Претенденти на випуск" title="Пряме посилання на Претенденти на випуск" translate="no">​</a></h2>
<p>Наприкінці жовтня буде створено першого претендента на випуск. Він представляє те, що, на нашу думку, буде випущено як Helm v4. Якщо будуть виявлені якісь серйозні проблеми, їх буде виправлено і буде створено нового претендента на випуск.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-release-">🎉 Випуск 🎉<a href="https://helm.sh/uk/blog/path-to-helm-v4#-release-" class="hash-link" aria-label="Пряме посилання на 🎉 Випуск 🎉" title="Пряме посилання на 🎉 Випуск 🎉" translate="no">​</a></h2>
<p>Випуск заплановано на KubeCon + CloudNativeCon North America 2025 в середині листопада, що через 6 років після випуску Helm v3 і через 10 років після створення Helm. Більш детальну інформацію про випуск буде надано згодом.</p>]]></content>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Debian/Ubuntu Helm Apt Repository Move]]></title>
        <id>https://helm.sh/uk/blog/debian-helm-repository-move</id>
        <link href="https://helm.sh/uk/blog/debian-helm-repository-move"/>
        <updated>2025-08-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[If you are installing helm with Apt, be aware that the Debian/Ubuntu Helm Apt repository is moving.]]></summary>
        <content type="html"><![CDATA[<p>If you are installing helm with Apt, be aware that the Debian/Ubuntu Helm Apt repository is moving.<!-- -->
Previously the repository was hosted at <a href="https://helm.baltorepo.com/" target="_blank" rel="noopener noreferrer" class="">Balto</a> and
now it will be hosted at <a href="https://buildkite.com/" target="_blank" rel="noopener noreferrer" class="">Buildkite</a>.</p>
<p>Update your APT key and references to the repository using the <a href="https://helm.sh/docs/intro/install/#from-apt-debianubuntu" target="_blank" rel="noopener noreferrer" class="">new installation instructions</a>.</p>]]></content>
        <author>
            <name>Terry Howe</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm @ KubeCon + CloudNativeCon EU '25]]></title>
        <id>https://helm.sh/uk/blog/helm-at-kubecon-eu-25</id>
        <link href="https://helm.sh/uk/blog/helm-at-kubecon-eu-25"/>
        <updated>2025-03-31T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[It's that time of the year again – the Helm team is headed to KubeCon + CloudNativeCon EU '25 in London, UK this week from April 1 - 4! Helm 4 is in the works for later this year so be sure to join the conversation with our maintainers during our talk sessions and at our Helm booth in the Project Pavilion! See below for more details on all Helm-related activities throughout the week.]]></summary>
        <content type="html"><![CDATA[<p>It's that time of the year again – the Helm team is headed to KubeCon + CloudNativeCon EU '25 in London, UK this week from April 1 - 4! Helm 4 is in the works for later this year so be sure to join the conversation with our maintainers during our talk sessions and at our Helm booth in the Project Pavilion! See below for more details on all Helm-related activities throughout the week.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contribfest-expanding-the-helm-ecosystem-with-helm-4">Contribfest: <a href="https://sched.co/1tcyE" target="_blank" rel="noopener noreferrer" class="">Expanding the Helm Ecosystem With Helm 4</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-eu-25#contribfest-expanding-the-helm-ecosystem-with-helm-4" class="hash-link" aria-label="Пряме посилання на contribfest-expanding-the-helm-ecosystem-with-helm-4" title="Пряме посилання на contribfest-expanding-the-helm-ecosystem-with-helm-4" translate="no">​</a></h2>
<p>DATE: Wednesday April 2</p>
<p>TIME: 16:15 - 17:30 BST</p>
<p>LOCATION: Level 3 | ICC Capital Suite 17</p>
<p>Are you passionate about Helm and looking for ways to contribute? Join Helm maintainers at this ContribFest session to help shape the future of the project and its ecosystem! This session focuses on three exciting initiatives:</p>
<ul>
<li class="">Exploring the Helm Ecosystem</li>
<li class="">Building a Triage Team</li>
<li class="">Diving into Helm 4</li>
</ul>
<p>Don't miss this session with <a href="https://bsky.app/profile/r6by.bsky.social" target="_blank" rel="noopener noreferrer" class="">Scott</a>, <a href="https://bsky.app/profile/sirchia.cloud" target="_blank" rel="noopener noreferrer" class="">Robert</a>, and <a href="https://bsky.app/profile/ingydotnet.bsky.social" target="_blank" rel="noopener noreferrer" class="">Ingy</a> for your chance at contributing to Helm 4 efforts! For more details on the Contribfest session, check the <a href="https://sched.co/1tcyE" target="_blank" rel="noopener noreferrer" class="">session page</a> for the latest updates.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-maintainer-track-talk-helm-4-you">Helm Maintainer Track Talk: <a href="https://sched.co/1td0b" target="_blank" rel="noopener noreferrer" class="">Helm 4 You</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-eu-25#helm-maintainer-track-talk-helm-4-you" class="hash-link" aria-label="Пряме посилання на helm-maintainer-track-talk-helm-4-you" title="Пряме посилання на helm-maintainer-track-talk-helm-4-you" translate="no">​</a></h2>
<p>DATE: Thursday April 3</p>
<p>TIME: 16:45 - 17:15 BST</p>
<p>LOCATION: Level 3 | ICC Capital Suite 10-12</p>
<p>Join Helm maintainers <a href="https://bsky.app/profile/mattfarina.com" target="_blank" rel="noopener noreferrer" class="">Matt Farina</a> and <a href="https://bsky.app/profile/andyserver.com" target="_blank" rel="noopener noreferrer" class="">Andrew Block</a> as they provide an update on the next major version of Helm, the timelines, and the features being evaluated. They will also share how the community has been inspirational in helping make Helm 4 a reality. Since Helm continues to be a crucial component in the workflows of users and enterprises worldwide, a new version of Helm is only possible thanks to the continued collaboration from the Cloud Native community.</p>
<p>Full details on the talk can be found on the <a href="https://sched.co/1td0b" target="_blank" rel="noopener noreferrer" class="">session page</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-booth-in-project-pavilion">Helm Booth in Project Pavilion<a href="https://helm.sh/uk/blog/helm-at-kubecon-eu-25#helm-booth-in-project-pavilion" class="hash-link" aria-label="Пряме посилання на Helm Booth in Project Pavilion" title="Пряме посилання на Helm Booth in Project Pavilion" translate="no">​</a></h2>
<p>WED April 2 @ 15:30 – 19:45 BST</p>
<p>THUR April 3 @ 14:00 – 17:00 BST</p>
<p>FRI April 4 @ 12:30 – 14:00 BST</p>
<p>LOCATION: 2B, near the sticker wall + back side of Backstage</p>
<p>Our maintainers and contributors will be staffing the Helm project booth during the second half of each day. Let us know how you're using Helm, what questions you have, and learn more about what's coming in Helm 4. We'll have Helm stickers and <em>custom Helm tea towels</em> to help us all remember our time in the UK!</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-sessions-from-the-community">Helm Sessions from the Community<a href="https://helm.sh/uk/blog/helm-at-kubecon-eu-25#helm-sessions-from-the-community" class="hash-link" aria-label="Пряме посилання на Helm Sessions from the Community" title="Пряме посилання на Helm Sessions from the Community" translate="no">​</a></h2>
<p>Aside from sessions with our Helm maintainers, there are several talks from the cloud native ecosystem that touch on Helm – be sure to check these out as well ~</p>
<ul>
<li class=""><a href="https://sched.co/1tcvo" target="_blank" rel="noopener noreferrer" class="">Project Lightning Talk: Kubeflow Helm Chart - Krzysztof Romanowski, Maintainer</a> // Tuesday April 1, 2025 @ 12:34 - 12:39 BST // Platinum Suite | Level 3</li>
<li class=""><a href="https://sched.co/1tcws" target="_blank" rel="noopener noreferrer" class="">Project Lightning Talk: Stir to Combine: Creating Porter Mixins - Sarah Christoff, Maintainer</a> // Tuesday April 1, 2025 @ 16:07 - 16:12 BST // Platinum Suite | Level 3</li>
<li class=""><a href="https://sched.co/1txDf" target="_blank" rel="noopener noreferrer" class="">Poster Session: Helmless (PS 06): Fast Serverless Deployments Without the Overhead of Kubernetes and Terraform - Michael Reichenbach, 1KOMMA5°</a> // Wednesday April 2, 2025 @ 13:30 - 14:30 BST //  Level 1 | Hall Entrance N8-N9 | Poster Pavilion</li>
<li class=""><a href="https://sched.co/1tcyZ" target="_blank" rel="noopener noreferrer" class="">Jaeger V2: OpenTelemetry at the Core of Modern Distributed Tracing - Jonah Kowall, Paessler</a> // Wednesday April 2, 2025 @ 17:00 - 17:30 BST // Level 3 | ICC Capital Suite 10-12</li>
<li class=""><a href="https://sched.co/1txEg" target="_blank" rel="noopener noreferrer" class="">Into the Shopfloor: Moving Manufacturing Execution Systems To Kubernetes - Manuel Peuster &amp; Andrei Traian Cucuruzac, Bosch Connected Industry</a> // Friday April 4, 2025 @ 11:45 - 12:15 BST // Level 1 | Hall Entrance N10 | Room E</li>
</ul>
<p>See everyone this week!</p>]]></content>
        <author>
            <name>Karen Chu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Experience a Helm Release: Live at KubeCon + CloudNativeCon North America 2024!]]></title>
        <id>https://helm.sh/uk/blog/experience-helm-release-kubecon-na-24</id>
        <link href="https://helm.sh/uk/blog/experience-helm-release-kubecon-na-24"/>
        <updated>2024-11-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Have you ever wondered what it takes to perform a software release of one of the most popular tools in the Kubernetes community? While you may envision a series of complex steps or maybe even some black magic (some of which may be true), the release process is much more organized and streamlined than you may have envisioned. However, until you see it for yourself firsthand, these types of questions will continue to go unfulfilled. Seeing it really is believing it!]]></summary>
        <content type="html"><![CDATA[<p>Have you ever wondered what it takes to perform a software release of one of the most popular tools in the Kubernetes community? While you may envision a series of complex steps or maybe even some black magic (some of which may be true), the release process is much more organized and streamlined than you may have envisioned. However, until you see it for yourself firsthand, these types of questions will continue to go unfulfilled. Seeing it really is believing it!</p>
<p>Join maintainers and members of the Helm community at KubeCon + CloudNativeCon North America at the Demo Theater during the booth crawl on Wednesday November 13 at 7pm MST as we review the process involved to perform a release of the latest version of Helm so that it can be made available to the entire cloud native community. Along the way, you will learn about the associated activities, individuals, and processes involved with taking source code and transforming it into a consumable artifact for all across a myriad of supported runtimes and platforms.</p>
<p>Whether you are a Helm aficionado or just have an interest in release engineering, this is a session that you certainly want to circle on your agendas!</p>
<p>Not able to make it to KubeCon + CloudNativeCon North America? Don’t fret! The session will be recorded and made available at a later date.</p>
<p>This release session is just one of several Helm related events taking place at KubeCon + CloudNativeCon North America 2024. A full overview can be found <a class="" href="https://helm.sh/uk/blog/kubecon-slc">here</a>.</p>]]></content>
        <author>
            <name>Andrew Block</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm на KubeCon/CloudNativeCon SLC]]></title>
        <id>https://helm.sh/uk/blog/kubecon-slc</id>
        <link href="https://helm.sh/uk/blog/kubecon-slc"/>
        <updated>2024-11-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Логотип KubeCon / CloudNativeCon]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="Логотип KubeCon / CloudNativeCon" src="https://helm.sh/uk/assets/images/kubecon-3105cf2ba42bc5d717dcbe6f1c26dd26.png" width="2400" height="500" class="img_ev3q"></p>
<p>Helm буде присутній на KubeCon / CloudNativeCon North America в Солт-Лейк-Сіті. Щодня під час основної частини конференції відбуватимуться різні події, зокрема:</p>
<ul>
<li class="">Середа:
<ul>
<li class="">Присутність на стенді в павільйоні проєктів з 3:15pm до 8pm.</li>
<li class="">О 7pm MST ми плануємо наживо зробити реліз.</li>
</ul>
</li>
<li class="">Четвер:
<ul>
<li class="">Присутність на стенді в павільйоні проєктів з 1:45pm до 5pm.</li>
<li class="">Сесія: <a href="https://kccncna2024.sched.com/event/1howt" target="_blank" rel="noopener noreferrer" class="">Contribfest: Helm 4: Наступне покоління менеджера пакунків для Kubernetes</a></li>
<li class="">Сесія: <a href="https://kccncna2024.sched.com/event/1hoxU" target="_blank" rel="noopener noreferrer" class="">Шлях до Helm 4</a></li>
</ul>
</li>
<li class="">Пʼятниця:
<ul>
<li class="">З 12:30pm до 2:30pm у павільйоні проєктів</li>
</ul>
</li>
</ul>
<p>Якщо ви хочете поспілкуватися із супровідником, щоб дізнатися більше про Helm або залишити свої відгуки, павільйон проєктів&nbsp;— це ідеальне місце для цього. Якщо вас цікавить Helm v4, сесія "Шлях до Helm 4" надасть огляд. А якщо ви хочете зробити свій перший внесок у Helm, сесія Contribfest стане гарним стартом.</p>
<p>Якщо ви будете в Солт-Лейк-Сіті, сподіваємось побачити вас там.</p>]]></content>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm 2to3 is Now Unsupported]]></title>
        <id>https://helm.sh/uk/blog/helm2to3-becomes-unsupported</id>
        <link href="https://helm.sh/uk/blog/helm2to3-becomes-unsupported"/>
        <updated>2024-07-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Over four years ago, we introduced Helm 3, a major evolution in Helm's development. And we announced at that time that Helm 2 would receive patches and security updates for a year. We also provided a migration path to Helm 3 from Helm 2 and a tool helm-2to3 to automate migration.]]></summary>
        <content type="html"><![CDATA[<p>Over four years ago, we <a href="https://helm.sh/blog/helm-3-released/" target="_blank" rel="noopener noreferrer" class="">introduced Helm 3</a>, a major evolution in Helm's development. And we <a href="https://helm.sh/blog/2019-10-22-helm-2150-released/" target="_blank" rel="noopener noreferrer" class="">announced</a> at that time that Helm 2 would receive patches and security updates for a year. We also provided a <a href="https://helm.sh/docs/topics/v2_v3_migration/" target="_blank" rel="noopener noreferrer" class="">migration path to Helm 3 from Helm 2</a> and a tool <a href="https://github.com/helm/helm-2to3" target="_blank" rel="noopener noreferrer" class="">helm-2to3</a> to automate migration.</p>
<p>One year later, <a href="https://helm.sh/blog/helm-2-becomes-unsupported/" target="_blank" rel="noopener noreferrer" class="">Helm 2 became unsupported</a>.</p>
<p>Here we are, over 3 years since Helm 2 became unsupported. It would be expected that all users should be migrated to Helm 3 by this time. Following consensus among the Helm org maintainers, we are announcing today the official end of support for the <a href="https://github.com/helm/helm-2to3" target="_blank" rel="noopener noreferrer" class="">helm-2to3</a> tool.</p>
<p>In practice, this means that <strong>Helm 2to3</strong> will receive no more updates (not even security patches).</p>
<p>We strongly discourage the use of the <a href="https://github.com/helm/helm-2to3" target="_blank" rel="noopener noreferrer" class="">helm-2to3</a> tool moving forward, as it will be receiving no future security updates or patches. We hope that it has been a useful tool to aid in the migration from Helm 2 to 3.</p>]]></content>
        <author>
            <name>Martin Hickey</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Шлях до Helm 4]]></title>
        <id>https://helm.sh/uk/blog/the-road-to-helm-4</id>
        <link href="https://helm.sh/uk/blog/the-road-to-helm-4"/>
        <updated>2024-07-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Ми вже певний час кажемо, що Helm — це «стабільне програмне забезпечення». Це не має дивувати нікого, хто знайомий із Kubernetes та його екосистемою від проєктів спільноти з відкритим кодом і стартапів до компаній зі списку Fortune 500. Helm став важливою частиною процесів збирання та розгортання, які обслуговують критично важливі системи.]]></summary>
        <content type="html"><![CDATA[<p>Ми вже певний час кажемо, що Helm&nbsp;— це «стабільне програмне забезпечення». Це не має дивувати нікого, хто знайомий із Kubernetes та його екосистемою: багато хто в спільноті Kubernetes вважає Helm фактичним стандартом серед менеджерів пакунків. Helm використовують дуже широко: від проєктів спільноти з відкритим кодом і стартапів до компаній зі списку Fortune 500. Helm став важливою частиною процесів збирання та розгортання, які обслуговують критично важливі системи.</p>
<p>Один із головних принципів проєкту Helm&nbsp;— суворо дотримуватися політики <a href="https://github.com/helm/helm/blob/main/CONTRIBUTING.md#semantic-versioning" target="_blank" rel="noopener noreferrer" class="">зворотної сумісності</a>. Саме завдяки цьому підходу, що обмежує вплив змін на кінцевих користувачів, Helm став стабільним проєктом, на який може покластися спільнота. На жаль, політика зворотної сумісності обмежує типи змін і функцій, які можна запроваджувати. Важливо памʼятати, що Helm&nbsp;— це не лише інструмент командного рядка, а й SDK. SDK Helm підтримує цілу екосистему рішень для керування вмістом Helm. Будь-яка несумісна зміна може негативно вплинути на одну з цих інтеграцій.</p>
<p>Попри суворі обмеження на зміни, від випуску Helm 3 у 2019 році проєкт поступово додавав нові можливості. Першою такою функцією, що зʼявилася у Helm 3.1.0, став <a class="" href="https://helm.sh/uk/docs/topics/advanced">пострендеринг</a>: він дає змогу користувачам змінювати згенеровані маніфести перед їхнім встановленням або оновленням за допомогою Helm. Додавання етапу пострендерингу до життєвого циклу релізу Helm стало важливою зміною і для користувачів, і для супровідників чартів. Користувачам більше не потрібно виправляти чарти, створювати їхні форки чи вручну рендерити шаблони локально, щоб внести власні зміни. Завдяки цьому супровідникам чартів більше не потрібно надмірно ускладнювати чарти, намагаючись охопити всі можливі сценарії. Відтоді мінорні версії Helm із новими функціями виходять щокварталу й надають користувачам дедалі більше можливостей.</p>
<p>Ще однією важливою новою функцією Helm 3 стала підтримка <a href="https://helm.sh/docs/topics/registries/#using-an-oci-based-registry" target="_blank" rel="noopener noreferrer" class="">реєстрів OCI як способу поширення чартів</a>. Підтримка цієї експериментальної функції зʼявилася у Helm 3.0.0, а повноцінною вона стала у версії 3.8.0. Користувачі CLI та SDK отримали змогу зберігати чарти тим самим перевіреним способом, що й образи контейнерів. Оскільки чарти в реєстрах контейнерів відповідають стандартам OCI, користувачі Helm і супровідники чартів також можуть використовувати для роботи з ними багато інструментів для образів контейнерів, які постійно вдосконалюються. Helm допоміг стандартизувати ширшу екосистему Cloud Native: це був один із перших проєктів, що використав OCI для зберігання, і він сприяв популяризації артефактів OCI в інших проєктах. Повний перелік нових функцій Helm можна знайти в примітках до випуску кожної мінорної версії <a href="https://github.com/helm/helm/releases" target="_blank" rel="noopener noreferrer" class="">в репозиторії</a>.</p>
<p>Успіх Helm частково повʼязаний з архітектурними змінами, запровадженими у Helm 3. Серверний компонент Tiller, який обмежував використання Helm у багатокористувацьких середовищах і середовищах із підвищеними вимогами до безпеки, залишився в минулому. Також було внесено безліч інших удосконалень, які відрізняють Helm 3 від попередніх версій.</p>
<p>Маркус Лемоніс сказав: «Якщо не розвиватися&nbsp;— загинеш». Це особливо справедливо для технологічної галузі, де щодня зʼявляються нові інструменти, підходи й архітектури. Від випуску Helm 3 минуло пʼять років, і завдяки відгукам спільноти стало зрозуміло: проєкту потрібні суттєвіші зміни, щоб Helm і надалі залишався ефективним менеджером пакунків для Kubernetes. Тож спільнота Helm із радістю оголошує про початок роботи над шляхом до Helm 4.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-4-contribfest-at-kubecon-eu-2024">ContribFest про Helm 4 на KubeCon EU 2024<a href="https://helm.sh/uk/blog/the-road-to-helm-4#helm-4-contribfest-at-kubecon-eu-2024" class="hash-link" aria-label="Пряме посилання на ContribFest про Helm 4 на KubeCon EU 2024" title="Пряме посилання на ContribFest про Helm 4 на KubeCon EU 2024" translate="no">​</a></h2>
<p>Часто запитують: «Чи популярний Helm?» Відгуки учасників таких заходів, як KubeCon, де сесії про проєкт збирають повні зали, дають однозначну відповідь: «Так!» Перші кроки до збору відгуків спільноти відкритого коду про наступну версію Helm відбулися на KubeCon EU 2024 у Парижі. Це сталося під час сесії ContribFest під назвою «Building the Helm 4 Highway». Очевидно, що спільнота зацікавлена в розвитку можливостей проєкту Helm. Сесія зібрала повний зал, а учасники запропонували чимало цікавих ідей: додати підтримку мов шаблонів, крім Go, розширити використання втулків і посилити підтримку безпечного ланцюга постачання програмного забезпечення, зокрема додати інші способи підписання чартів. Повний перелік ідей і тем сесії ContribFest доступний <a href="https://docs.google.com/document/d/1WJ3K96fJeldKHoKhejWHDvCOTddEvY-RCtQBUaZ57FM/edit#heading=h.2xqu5w422ice" target="_blank" rel="noopener noreferrer" class="">тут</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-involved">Як долучитися<a href="https://helm.sh/uk/blog/the-road-to-helm-4#get-involved" class="hash-link" aria-label="Пряме посилання на Як долучитися" title="Пряме посилання на Як долучитися" translate="no">​</a></h2>
<p>Якщо ви хочете взяти участь у створенні наступної версії Helm&nbsp;— будемо раді бачити вас! Ось кілька способів долучитися:</p>
<ol>
<li class="">Приєднуйтеся до щотижневих зустрічей щодо плану розвитку Helm 4, які відбуваються щопʼятниці о 19:00 UTC. Учасники спільноти діляться ідеями, розробляють рішення та співпрацюють над наступною версією Helm.
<ol>
<li class=""><a href="https://zoom-lfx.platform.linuxfoundation.org/meeting/99213281727?password=17825db5-c698-44cc-9f00-ef1f61f5d3fb" target="_blank" rel="noopener noreferrer" class="">Зустріч у Zoom</a></li>
</ol>
</li>
<li class="">Беріть участь в обговореннях у каналі <a href="https://kubernetes.slack.com/archives/C51E88VDG" target="_blank" rel="noopener noreferrer" class="">#helm-dev</a> у Kubernetes Slack. Там учасники спільноти Helm співпрацюють над розвитком Helm, зокрема над версією 4.</li>
<li class="">Створіть <a href="https://github.com/helm/helm/issues" target="_blank" rel="noopener noreferrer" class="">тікет</a> у <a href="https://github.com/helm/helm" target="_blank" rel="noopener noreferrer" class="">репозиторії Helm на GitHub</a>.</li>
<li class="">Стежте за <a href="https://x.com/HelmPack" target="_blank" rel="noopener noreferrer" class="">@HelmPack</a> у Twitter/X, щоб дізнаватися новини про проєкт.</li>
</ol>
<p>Helm допоміг визначити, як пакувати програмне забезпечення для Kubernetes і керувати ним. Але на цьому не зупиняймося: вдосконалюючи Helm 4 і додаючи до нього нові функції та можливості, ми й надалі створюватимемо інструмент, яким спільнота зможе впевнено користуватися для пошуку, поширення та запуску програмного забезпечення в Kubernetes.</p>]]></content>
        <author>
            <name>Helm Maintainers</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Response To CVE-2019-25210]]></title>
        <id>https://helm.sh/uk/blog/response-CVE-2019-25210</id>
        <link href="https://helm.sh/uk/blog/response-CVE-2019-25210"/>
        <updated>2024-03-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[CVE-2019-25210 was recently filed against the Helm project. This action was completed without engaging the Helm project and working through the documented security process and team. The Helm project was given no notice before the disclosure was released which resulted in the inability to provide an appropriate statement beforehand. This post serves as the response from the Helm project.]]></summary>
        <content type="html"><![CDATA[<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2019-25210" target="_blank" rel="noopener noreferrer" class="">CVE-2019-25210</a> was recently filed against the Helm project. This action was completed without engaging the Helm project and working through the <a href="https://github.com/helm/community/blob/main/SECURITY.md" target="_blank" rel="noopener noreferrer" class="">documented security process and team</a>. The Helm project was given no notice before the disclosure was released which resulted in the inability to provide an appropriate statement beforehand. This post serves as the response from the Helm project.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="not-a-vulnerability-in-helm">Not A Vulnerability In Helm<a href="https://helm.sh/uk/blog/response-CVE-2019-25210#not-a-vulnerability-in-helm" class="hash-link" aria-label="Пряме посилання на Not A Vulnerability In Helm" title="Пряме посилання на Not A Vulnerability In Helm" translate="no">​</a></h2>
<p>The Helm project rejects this disclosure’s assertion of a vulnerability within Helm.</p>
<p>The <a href="https://github.com/advisories/GHSA-jw44-4f3j-q396" target="_blank" rel="noopener noreferrer" class="">advisory listing on GitHub</a> lists the categorization as <a href="https://cwe.mitre.org/data/definitions/200.html" target="_blank" rel="noopener noreferrer" class="">CWE-200</a>, which is for “Exposure of Sensitive Information to an Unauthorized Actor”. The <a href="https://cwe.mitre.org/data/definitions/200.html" target="_blank" rel="noopener noreferrer" class="">documentation for this CWE</a> notes that its use is discouraged due to frequent misuse. The description aligns with the implementation within Helm in this situation.</p>
<p>The <code>--dry-run</code> flag, when used with <code>helm install</code> and <code>helm upgrade</code>, is designed to send all of the generated chart manifests to standard out that would normally be sent to the Kubernetes API. This is useful for multiple use cases, such as debugging the development of a chart (i.e. package). These manifests are generated from the chart logic. Kubernetes <em>Secrets</em> have been designed by the Kubernetes project to be manifests, like any other resource. When generating manifests, including <em>Secrets</em>, there are times they need to be debugged in order to ensure the generated structure is correct.</p>
<p>This functionality, used in many situations including local development environments, is not an issue. The output is not exposed to an unauthorized actor. In fact, the output is needed. If this functionality is used in an environment that captures the output for unauthorized actors, such as in a CI system, then the vulnerability is in the <strong><em>use of</em></strong> a tool that outputs this information, rather than in the tool itself.</p>
<p>Consider a simple alternative situation. There is a Kubernetes manifest file containing both secret and non-secret information. <code>kubectl</code>, the Kubernetes CLI, is used in an attempt to apply the manifest to a cluster and the attempt fails. So, the <code>cat</code> utility is used to display the contents of the file containing the Secret. Is it the vulnerability in <code>cat</code> for displaying the information or in the CI setup for using <code>cat</code> to display secret information? The vulnerability is in the use of the tool rather than the tool itself.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-changes">Helm Changes<a href="https://helm.sh/uk/blog/response-CVE-2019-25210#helm-changes" class="hash-link" aria-label="Пряме посилання на Helm Changes" title="Пряме посилання на Helm Changes" translate="no">​</a></h2>
<p>To provide greater clarity, the Helm maintainers have made two changes.</p>
<ol>
<li class=""><a href="https://github.com/helm/helm/pull/12859" target="_blank" rel="noopener noreferrer" class="">Documentation has been updated to make the possible exposure of secret information explicit</a>.</li>
<li class=""><a href="https://github.com/helm/helm/pull/12871" target="_blank" rel="noopener noreferrer" class=""> A flag has been added</a>, which will be available in the next minor release, that will hide secret information in the dry-run output of these commands.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-a-delay-in-response">Why A Delay In Response<a href="https://helm.sh/uk/blog/response-CVE-2019-25210#why-a-delay-in-response" class="hash-link" aria-label="Пряме посилання на Why A Delay In Response" title="Пряме посилання на Why A Delay In Response" translate="no">​</a></h2>
<p>When the CVE listing was released and the Helm maintainers became aware, the team went to work evaluating the potential impacts.</p>
<p>The Helm project takes security seriously. Some examples of this include:</p>
<ul>
<li class=""><a href="https://github.com/helm/community/tree/main/security-audit" target="_blank" rel="noopener noreferrer" class="">A documented security policy that enables someone to contact the security team with encrypted communications</a>.</li>
<li class=""><a href="https://github.com/helm/community/tree/main/security-audit" target="_blank" rel="noopener noreferrer" class="">Two 3rd party security audits (on versions of Helm that contained this functionality)</a>.</li>
<li class=""><a href="https://github.com/helm/community/tree/main/security-audit" target="_blank" rel="noopener noreferrer" class="">A fuzzing audit and continuous fuzzing has been set up</a>.</li>
<li class=""><a href="https://github.com/helm/community/tree/main/security-assurance-case" target="_blank" rel="noopener noreferrer" class="">Documented security assurance case</a>, which is an OpenSSF best practices requirement on the way to a silver level.</li>
<li class="">Helm releases are signed by the maintainer who produced the release.</li>
</ul>
<p>Normally, a discussion about a security issue would stay internal to the Helm project. But, this listing was public and contentious. Helm maintainers contacted security professionals from multiple organizations and sought feedback on the situation prior to publicly commenting or performing any remediation work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="please-responsibly-contact-the-helm-security-team">Please Responsibly Contact The Helm Security Team<a href="https://helm.sh/uk/blog/response-CVE-2019-25210#please-responsibly-contact-the-helm-security-team" class="hash-link" aria-label="Пряме посилання на Please Responsibly Contact The Helm Security Team" title="Пряме посилання на Please Responsibly Contact The Helm Security Team" translate="no">​</a></h2>
<p>The Helm security team is responsive. In this calendar year, there have been releases to address two CVEs responsibly reported. You can learn more about reporting security issues in the <a href="https://github.com/helm/community/blob/main/SECURITY.md" target="_blank" rel="noopener noreferrer" class="">documented process</a> and participate, when necessary, to keep the Helm project and community secure.</p>]]></content>
        <author>
            <name>Helm Maintainers</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm 3.13]]></title>
        <id>https://helm.sh/uk/blog/helm-3.13</id>
        <link href="https://helm.sh/uk/blog/helm-3.13"/>
        <updated>2023-09-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Helm 3.13 brings some significant and useful changes for Helm users. This ranges from longtime bugs being fixed to some new features that can have an impact on performance.]]></summary>
        <content type="html"><![CDATA[<p>Helm 3.13 brings some significant and useful changes for Helm users. This ranges from longtime bugs being fixed to some new features that can have an impact on performance.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="dry-run--template-can-connect-to-servers">Dry-run &amp; Template Can Connect To Servers<a href="https://helm.sh/uk/blog/helm-3.13#dry-run--template-can-connect-to-servers" class="hash-link" aria-label="Пряме посилання на Dry-run &amp; Template Can Connect To Servers" title="Пряме посилання на Dry-run &amp; Template Can Connect To Servers" translate="no">​</a></h2>
<p>The dry-run feature on install and upgrade, and Helm template has not been able to communicate with Kubernetes servers. This is for security and because Helm template was designed for template rendering alone.</p>
<p>With Helm 3.13, there is now an opt-in option to communicate with Kubernetes by setting <code>--dry-run=server</code>. This tells Helm to communicate with the server for gathering information but not to perform updates. This flag also works on <code>helm template</code>. If you use <code>--dry-run</code> without setting a value it works as it did before.</p>
<p>Helm SDK users will find a new property, named <code>DryRunOption</code>, that allows you to tell the SDK to communicate with the server.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="values-handling-improvements">Values Handling Improvements<a href="https://helm.sh/uk/blog/helm-3.13#values-handling-improvements" class="hash-link" aria-label="Пряме посилання на Values Handling Improvements" title="Пряме посилання на Values Handling Improvements" translate="no">​</a></h2>
<p>Values handling has had a number of bugs filed about it. For example, importing values was inconsistent. Some of the handling even depended on ordering. Using <code>null</code> to remove properties was inconsistent, too. It worked in some cases but not others. That's fixed in Helm 3.13.</p>
<p>The order you can expect for a value to be used is:</p>
<ol>
<li class="">User specified values (e.g CLI)</li>
<li class="">Imported values from dependencies</li>
<li class="">Parent chart values</li>
<li class="">Sub-chart values</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="json-indexes">JSON Indexes<a href="https://helm.sh/uk/blog/helm-3.13#json-indexes" class="hash-link" aria-label="Пряме посилання на JSON Indexes" title="Пряме посилання на JSON Indexes" translate="no">​</a></h2>
<p>Helm repositories have an index in YAML containing details about the charts and versions of charts it contains. When this file grows large it can be expensive (e.g., processing time and memory) to parse. This is in part because YAML has anchors and aliases which are handy but cause more work to deal with.</p>
<p>Those <code>index.yaml</code> files can now contain JSON instead of YAML. Helm will generate them when the <code>--json</code> flag is set. The <code>index.yaml</code> file is used so the same file location can continue to be used for backwards compatibility. The structure for the data is the same. Helm going all the way back to 3.0.0 can handle parsing <code>index.yaml</code> files with JSON instead of YAML.</p>
<p>Tests were run on very large indexes to look at the perform difference. The results found that:</p>
<ul>
<li class="">Helm 3 versions before 3.13:
<ul>
<li class="">Parsed JSON in ~80% the time of parsing YAML</li>
<li class="">Used ~93% the memory parsing JSON compared to YAML</li>
</ul>
</li>
<li class="">Helm 3.13+, with special case handling to detect and handle JSON:
<ul>
<li class="">Parsed JSON in ~13% the time of parsing YAML</li>
<li class="">Used ~5% the memory parsing JSON compared to YAML</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-metadata-command">Get Metadata Command<a href="https://helm.sh/uk/blog/helm-3.13#get-metadata-command" class="hash-link" aria-label="Пряме посилання на Get Metadata Command" title="Пряме посилання на Get Metadata Command" translate="no">​</a></h2>
<p><code>helm get</code> provides the ability to get information about a release in a cluster. It has been able to get values, notes, hooks, and the generated manifests. In addition to those it can now get information about the metadata of the chart the release is based on.</p>
<p>To illustrate this, I installed WordPress and retrieved the metadata:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ helm get metadata wp</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">NAME: wp</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">CHART: wordpress</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">VERSION: </span><span class="token number" style="color:#36acaa">17.1</span><span class="token plain">.13</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">APP_VERSION: </span><span class="token number" style="color:#36acaa">6.3</span><span class="token plain">.1</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">NAMESPACE: default</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">REVISION: </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">STATUS: deployed</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">DEPLOYED_AT: </span><span class="token number" style="color:#36acaa">2023</span><span class="token plain">-09-28T16:28:30-04:00</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="and-more">And More...<a href="https://helm.sh/uk/blog/helm-3.13#and-more" class="hash-link" aria-label="Пряме посилання на And More..." title="Пряме посилання на And More..." translate="no">​</a></h2>
<p>These are just some of the highlights. Helm 3.13 includes even more features. You can read the details in the <a href="https://github.com/helm/helm/releases/tag/v3.13.0" target="_blank" rel="noopener noreferrer" class="">release notes</a>.</p>]]></content>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Helm OCI MediaTypes]]></title>
        <id>https://helm.sh/uk/blog/helm-oci-mediatypes</id>
        <link href="https://helm.sh/uk/blog/helm-oci-mediatypes"/>
        <updated>2023-05-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Helm introduced full support for storing charts within OCI registries as a distribution method beginning in version 3.8, and while this feature has been available for some time now, there is more underneath the hood than one may realize to make this capability all possible. A number of concepts, working in unison, make it possible to store content aside from traditional container images within OCI registries. This article will explore one of these important concepts, Media Types, their purpose, and how Helm’s own set of Media Types make it possible to extend the storage of charts beyond standard chart repositories to OCI registries.]]></summary>
        <content type="html"><![CDATA[<p>Helm introduced full support for storing charts within OCI registries as a distribution method beginning in version 3.8, and while this feature has been available for some time now, there is more underneath the hood than one may realize to make this capability all possible. A number of concepts, working in unison, make it possible to store content aside from traditional container images within OCI registries. This article will explore one of these important concepts, Media Types, their purpose, and how Helm’s own set of Media Types make it possible to extend the storage of charts beyond standard chart repositories to OCI registries.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="oci-artifacts">OCI Artifacts<a href="https://helm.sh/uk/blog/helm-oci-mediatypes#oci-artifacts" class="hash-link" aria-label="Пряме посилання на OCI Artifacts" title="Пряме посилання на OCI Artifacts" translate="no">​</a></h2>
<p>Even though the majority of content stored within OCI registries are container images, additional content types can also be stored. The <a href="https://opencontainers.org/" target="_blank" rel="noopener noreferrer" class="">Open Container Initiative (OCI)</a> defines these other assets as “Artifacts” and the ability to make use of OCI registries to store arbitrary content types has fundamentally changed how content is distributed. Instead of requiring a separate repository management tool for each type of asset, the very same registry that is already present to house container images can be reused without requiring additional software or infrastructure resources. This not only simplifies operational concerns from a hosting perspective, but provides a more uniform method of distributing content.</p>
<p>Helm has taken full advantage of the benefits of storing charts as OCI artifacts as it not only eliminates the complexity of managing a traditional chart repository, but simplifies the amount of resources that need to be maintained. When using a chart repository as a distribution and hosting solution, multiple assets need to be maintained:</p>
<ul>
<li class="">The packaged chart</li>
<li class="">An optional provenance file</li>
<li class="">A repository index file</li>
</ul>
<p>Producing a Helm chart that is stored as an OCI artifact results in an asset with all of the necessary content packaged as a single atomic unit. The structure of the OCI artifact consists of the following three (3) key resources:</p>
<ul>
<li class="">An OCI Image Config containing the contents of the Chart.yaml file</li>
<li class="">The packaged chart within an Image Layer</li>
<li class="">The provenance file (when included) as an Image Layer</li>
</ul>
<p>The composition of an OCI Helm Chart and the relationship of each of the aforementioned resources can be seen by inspecting the associated OCI Image Manifest. An example is displayed below:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"schemaVersion"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"config"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"mediaType"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"application/vnd.cncf.helm.config.v1+json"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"digest"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"sha256:8ec7c0f2f6860037c19b54c3cfbab48d9b4b21b485a93d87b64690fdb68c2111"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"size"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">117</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"layers"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"mediaType"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"application/vnd.cncf.helm.chart.content.v1.tar+gzip"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"digest"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"sha256:1b251d38cfe948dfc0a5745b7af5ca574ecb61e52aed10b19039db39af6e1617"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"size"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2487</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"mediaType"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"application/vnd.cncf.helm.chart.provenance.v1.prov"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"digest"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"sha256:3e207b409db364b595ba862cdc12be96dcdad8e36c59a03b7b3b61c946a5741a"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"size"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">643</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>This cross-section illustrates not only the components of an OCI based Helm Chart, but OCI based content in general. Each resource, whether it be a layer or a Config Manifest contain the same sets of properties within the Image Manifest.</p>
<ul>
<li class="">Size – Content size</li>
<li class="">Digest – Content addressable reference signifying the algorithm and hash used</li>
<li class="">Media Type – Media Type of the referenced content</li>
</ul>
<p>The Media Type property is arguably the most significant property given the purpose of this discussion. Now that we see where they are referenced within OCI Artifacts, let’s review Media Types in further detail.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="media-types-and-their-significance">Media Types and Their Significance<a href="https://helm.sh/uk/blog/helm-oci-mediatypes#media-types-and-their-significance" class="hash-link" aria-label="Пряме посилання на Media Types and Their Significance" title="Пряме посилання на Media Types and Their Significance" translate="no">​</a></h2>
<p>Media Types, previously known as MIME (Multipurpose Internet Mail Extensions) Types have been around since the early days of the World Wide Web era as they identify file formats and content transmitted through the internet. Their structure consists of two concise sections separated by a slash (/): types and subtypes. Only a limited number of types are defined (10 in total) as they represent a broad use of the type itself. Subtypes are much more diverse and they are organized into a tree structure to enable a hierarchy of related types.</p>
<p>A common Media Type that anyone who has experience with RESTful based communication is familiar with is <code>application/json</code> as it is used to indicate that the content being transmitted is in JSON format. By indicating a Media Type whenever content is being transferred, the format and its representation is understood by both producers and consumers.</p>
<p>The OCI Image Specification contains several Media Types that represent the various structural elements of an image. These include:</p>
<ul>
<li class=""><code>application/vnd.oci.image.index.v1+json</code> - Index Image</li>
<li class=""><code>application/vnd.oci.image.manifest.v1+json</code> - Image Manifest</li>
<li class=""><code>application/vnd.oci.image.layer.v1.tar+gzip</code> - gzip compressed Layer</li>
</ul>
<p>These provide a concrete example to aid in understanding the structural composition of a Media Type. Each of these fall within the <code>application</code> type as they are utilized by specific applications. The subtree here can be broken down into the following components:</p>
<ul>
<li class=""><code>vnd</code> - The vendor tree which are associated with specific products</li>
<li class=""><code>oci</code> - The organization or company responsible</li>
<li class=""><code>image</code> - A short name for the type</li>
<li class=""><code>index/manifest/layer</code> - an optional subcomponent of the type</li>
<li class=""><code>v1</code> - enables the versioning of the schema</li>
<li class=""><code>json/tar+gzip</code> - Optional format signifier</li>
</ul>
<p>A more detailed description of the composition of a Media Type can be found <a href="https://github.com/opencontainers/artifacts/blob/main/artifact-authors.md#defining-a-unique-artifact-type" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-media-types">Helm Media Types<a href="https://helm.sh/uk/blog/helm-oci-mediatypes#helm-media-types" class="hash-link" aria-label="Пряме посилання на Helm Media Types" title="Пряме посилання на Helm Media Types" translate="no">​</a></h2>
<p>The Helm community has worked with the IANA to register three new Media Types representing each of the components comprising an OCI based Helm Chart.</p>
<ul>
<li class=""><a href="https://www.iana.org/assignments/media-types/application/vnd.cncf.helm.config.v1+json" target="_blank" rel="noopener noreferrer" class="">application/vnd.cncf.helm.config.v1+json</a></li>
<li class=""><a href="https://www.iana.org/assignments/media-types/application/vnd.cncf.helm.chart.content.v1.tar+gzip" target="_blank" rel="noopener noreferrer" class="">application/vnd.cncf.helm.chart.content.v1.tar+gzip</a></li>
<li class=""><a href="https://www.iana.org/assignments/media-types/application/vnd.cncf.helm.chart.provenance.v1.prov" target="_blank" rel="noopener noreferrer" class="">application/vnd.cncf.helm.chart.provenance.v1.prov</a></li>
</ul>
<p>Similar to the OCI Media Types shown in the prior section, the Helm Media Types are also located within the vendor tree and use the abbreviation for the Cloud Native Computing Foundation (cncf) as the responsible organization. The remainder of the Media Type subtree is fairly self explanatory as it provides additional distinction to the type of content itself and the format. Anyone inspecting a resource within an OCI registry representing a Helm chart would be able to easily identify it as a Helm chart and understand how to interact with the content.</p>
<p>For those interested in learning more about the Helm Media Types, including the low level technical details, can view the registration details within IANA which provides a wealth of information including the intended use and lower level data specification.</p>
<p>Helm is certainly not alone in the use of OCI artifacts as a distribution method. Other prominent technologies, including Web Assembly (WASM) and Software Bill of Materials (SBOM’s), also leverage OCI artifacts. It is safe to say that we will see the continued adoption of OCI artifacts as a method of storing content by more and more projects and technologies moving forward.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-future-for-helms-oci-media-types">The Future for Helm’s OCI Media Types<a href="https://helm.sh/uk/blog/helm-oci-mediatypes#the-future-for-helms-oci-media-types" class="hash-link" aria-label="Пряме посилання на The Future for Helm’s OCI Media Types" title="Пряме посилання на The Future for Helm’s OCI Media Types" translate="no">​</a></h2>
<p>As anyone who has worked in software development, especially with regards to large, complex projects, can relate to the amount of time it takes for features to be implemented. Work surrounding OCI integration was originally introduced back in Helm version 3.5 and how OCI artifacts in general are stored and managed have evolved since that time. The OCI version 1.1 image specification provides not only additional structure, but guidance on how to manage OCI artifacts. As this specification is not only finalized, but adopted and implemented by registry providers, we will continue to see an increased adoption of the technology. The Helm project and community will continue to evolve with the rest of the industry so that Chart producers and consumers have not only the best experience possible, but can best leverage the available technology.</p>]]></content>
        <author>
            <name>Andrew Block</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm Completes Fuzzing Security Audit]]></title>
        <id>https://helm.sh/uk/blog/helm-completes-fuzzing-security-audit</id>
        <link href="https://helm.sh/uk/blog/helm-completes-fuzzing-security-audit"/>
        <updated>2023-03-31T15:00:00.000Z</updated>
        <summary type="html"><![CDATA[In the past year, the team at Ada Logics has worked on integrating continuous fuzzing into the Helm core project. This was an effort focused on improving the security posture of Helm and ensuring a continued good experience for Helm users. The fuzzing integration involved enrolling Helm in the OSS-Fuzz project and writing a set of fuzzers that further enriches the test coverage of Helm. In total, 38 fuzzers were written, and nine bugs were found (with eight fixed so far), demonstrating the work’s value for Helm both short term and long term. All fuzzers were implemented by way of Go-fuzz and are run daily by OSS-Fuzz against the latest Helm commit to make sure Helm is continuously fuzz tested. The full report of the engagement can be found here.]]></summary>
        <content type="html"><![CDATA[<p>In the past year, the team at <a href="https://adalogics.com/" target="_blank" rel="noopener noreferrer" class="">Ada Logics</a> has worked on integrating continuous fuzzing into the <a href="https://github.com/helm/helm" target="_blank" rel="noopener noreferrer" class="">Helm core project</a>. This was an effort focused on improving the security posture of Helm and ensuring a continued good experience for Helm users. The fuzzing integration involved enrolling Helm in the <a href="https://github.com/cncf/cncf-fuzzing" target="_blank" rel="noopener noreferrer" class="">OSS-Fuzz project</a> and writing a set of fuzzers that further enriches the test coverage of Helm. In total, 38 fuzzers were written, and nine bugs were found (with eight fixed so far), demonstrating the work’s value for Helm both short term and long term. All fuzzers were implemented by way of <a href="https://github.com/dvyukov/go-fuzz" target="_blank" rel="noopener noreferrer" class="">Go-fuzz</a> and are run daily by OSS-Fuzz against the latest Helm commit to make sure Helm is continuously fuzz tested. The full report of the engagement can be found <a href="https://github.com/helm/community/tree/main/security-audit/FUZZING_AUDIT_2022.pdf" target="_blank" rel="noopener noreferrer" class="">here</a>.</p>
<p><a href="https://helm.sh/" target="_blank" rel="noopener noreferrer" class="">Helm</a> is described as the Kubernetes package manager. It helps simplify finding, sharing, and using software built for Kubernetes. Helm began as what is now known as <a href="https://github.com/helm/helm-classic" target="_blank" rel="noopener noreferrer" class="">Helm Classic</a>, a Deis project begun in 2015 and introduced at the inaugural KubeCon. In January of 2016, the project merged with a GCS tool called Kubernetes Deployment Manager, and the project was moved under Kubernetes. Helm was promoted from a Kubernetes subproject to a full-fledged CNCF project in June 2018. Helm <a href="https://www.cncf.io/announcement/2020/04/30/cloud-native-computing-foundation-announces-helm-graduation/" target="_blank" rel="noopener noreferrer" class="">graduated as a CNCF project in April 2020</a>. <a href="https://www.cncf.io/reports/cncf-annual-survey-2021" target="_blank" rel="noopener noreferrer" class="">The CNCF annual survey of 2022</a> found that around 90% of companies are either using or evaluating Kubernetes, and Helm’s performance and security are important, for the continued business operations of these users.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-fuzzing">What is fuzzing?<a href="https://helm.sh/uk/blog/helm-completes-fuzzing-security-audit#what-is-fuzzing" class="hash-link" aria-label="Пряме посилання на What is fuzzing?" title="Пряме посилання на What is fuzzing?" translate="no">​</a></h2>
<p><a href="https://en.wikipedia.org/wiki/Fuzzing" target="_blank" rel="noopener noreferrer" class="">Fuzzing</a> is a technique for testing software for bugs and vulnerabilities by passing it pseudo-random data. The key idea is to write a fuzzing harness similar to a unit — or integration — test that will execute the application under test with some arbitrary input. The fuzzing engine that will run the fuzzing harness uses mutational algorithms to generate new inputs - also called "testcases" - that will cause the code under test to execute uniquely, i.e., generate inputs that trigger new code execution paths. The goal is then to observe if the code under test misbehaves in the event of any of the generated inputs. Fuzzing has been effective in uncovering reliability bugs and vulnerabilities in software for more than two decades, and open source software is increasingly adopting the technique.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-fuzzing-overview">Helm fuzzing overview<a href="https://helm.sh/uk/blog/helm-completes-fuzzing-security-audit#helm-fuzzing-overview" class="hash-link" aria-label="Пряме посилання на Helm fuzzing overview" title="Пряме посилання на Helm fuzzing overview" translate="no">​</a></h2>
<p>In this engagement, the goal was to write a set of fuzzers that would cover a lot of the Helm codebase and integrate the setup into the open source fuzzing service OSS-Fuzz. OSS-Fuzz is a free service offered by Google for critical open source projects to run their fuzzers continuously and report any crashes. Continuous analysis is important due to fuzzing relying on genetic algorithms, which effectively means the fuzzers will improve over time, and OSS-Fuzz will run the fuzzers daily indefinitely. In addition to this, continuous analysis is crucial for capturing any regressions.</p>
<p>Helm is written in the Go programming language, making it safe from memory-corruptions. Fuzzing Go will find panics such as slice/index out of range, nil-pointer dereferences, invalid type assertions, timeouts, and out of memory. At the end of this engagement, nine issues were found, all but one of which were fixed. Refer to the report for a detailed breakdown of the issues.</p>
<p>At the end of this engagement, the fuzzers provide significant coverage of the Helm project, including critical parts such as chart handling, release storage, and repositories. To write these fuzzers, Ada Logics used <a href="https://github.com/AdaLogics/go-fuzz-headers" target="_blank" rel="noopener noreferrer" class="">go-fuzz-headers</a> to deterministically create pseudo-random structs from the data provided by libFuzzer.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="closing-thoughts">Closing thoughts<a href="https://helm.sh/uk/blog/helm-completes-fuzzing-security-audit#closing-thoughts" class="hash-link" aria-label="Пряме посилання на Closing thoughts" title="Пряме посилання на Closing thoughts" translate="no">​</a></h2>
<p>The Helm team is thankful to CNCF for providing the opportunity to work with Ada Logics to develop new fuzzers for Helm. The CNCF takes security seriously, and it previously funded two third-party security audits for the Helm project, <a href="https://helm.sh/blog/2019-11-04-helm-security-audit-results/" target="_blank" rel="noopener noreferrer" class="">source code for the Helm client along with the process Helm uses to handle security</a> and <a href="https://helm.sh/blog/helm-2nd-security-audit/" target="_blank" rel="noopener noreferrer" class="">source code for the Helm client along with a threat model for the use of Helm</a>. We want to thank the following Helm maintainers who participated in this endeavour and provided fixes where required: <a href="https://github.com/technosophos" target="_blank" rel="noopener noreferrer" class="">Matt Butcher</a>, <a href="https://github.com/hickeyma" target="_blank" rel="noopener noreferrer" class="">Martin Hickey</a>, <a href="https://github.com/mattfarina" target="_blank" rel="noopener noreferrer" class="">Matt Farina</a> and <a href="https://github.com/scottrigby" target="_blank" rel="noopener noreferrer" class="">Scott Rigby</a>. We would also like to mention and thank the Flux maintainers, especially <a href="https://github.com/pjbgf" target="_blank" rel="noopener noreferrer" class="">Paulo Gomes</a> for collaborating on an issue. The fuzzing findings and fixes are valuable add-ons to the previous conclusions of the security audits. The Helm project has efficient test suites, and code changes are backed by tests, but the newly developed fuzzers and findings have provided significant value to the project. During the fuzzing, only nine issues were found, which revalidated the high quality of the Helm code. The Helm team can now maintain the newly developed fuzzers and build on them to continue code quality and security.</p>]]></content>
        <author>
            <name>Adam Korczynski</name>
        </author>
        <author>
            <name>David Korczynski</name>
        </author>
        <author>
            <name>Martin Hickey</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm welcomes yxxhero as our newest helm-www repo maintainer]]></title>
        <id>https://helm.sh/uk/blog/welcome-yxxhero</id>
        <link href="https://helm.sh/uk/blog/welcome-yxxhero"/>
        <updated>2022-11-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Helm project is happy to welcome yxxhero as our newest maintainer for the helm-www repo!]]></summary>
        <content type="html"><![CDATA[<p>The Helm project is happy to welcome <a href="https://github.com/yxxhero" target="_blank" rel="noopener noreferrer" class="">yxxhero</a> as our newest maintainer for the helm-www repo!</p>
<!-- --> yxxhero has been a long time contributor to the Helm project over the years. With a supermajority vote from the existing maintainers, yxxhero will be joining to help with Helm documentation. With their background, yxxhero will continue to help strengthen both our simplified and traditional Chinese docs.
<p>Cheers to yxxhero!</p>]]></content>
        <author>
            <name>Karen Chu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Helm @ KubeCon + CloudNativeCon NA '22]]></title>
        <id>https://helm.sh/uk/blog/helm-at-kubecon-na-22</id>
        <link href="https://helm.sh/uk/blog/helm-at-kubecon-na-22"/>
        <updated>2022-10-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Helm maintainers are excited to be headed to KubeCon + CloudNativeCon NA '22 in Detroit, MI in a couple of weeks! As always, there will be a few different places you can find us!]]></summary>
        <content type="html"><![CDATA[<p>The Helm maintainers are excited to be headed to KubeCon + CloudNativeCon NA '22 in Detroit, MI in a couple of weeks! As always, there will be a few different places you can find us!</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-maintainer-track-talk-learn-about-helm-and-its-ecosystem">Helm Maintainer Track Talk: <a href="https://sched.co/182Ns" target="_blank" rel="noopener noreferrer" class="">Learn about Helm and Its Ecosystem</a><a href="https://helm.sh/uk/blog/helm-at-kubecon-na-22#helm-maintainer-track-talk-learn-about-helm-and-its-ecosystem" class="hash-link" aria-label="Пряме посилання на helm-maintainer-track-talk-learn-about-helm-and-its-ecosystem" title="Пряме посилання на helm-maintainer-track-talk-learn-about-helm-and-its-ecosystem" translate="no">​</a></h2>
<p>DATE: Thursday October 27</p>
<p>TIME: 11:00am - 11:35am EDT</p>
<p>LOCATION: Room 410 A</p>
<p>Maintainers <a href="https://twitter.com/mattfarina" target="_blank" rel="noopener noreferrer" class="">Matt Farina</a>, <a href="https://twitter.com/karenaangell" target="_blank" rel="noopener noreferrer" class="">Karena Angell</a>, <a href="https://twitter.com/r6by" target="_blank" rel="noopener noreferrer" class="">Scott Rigby</a>, &amp; <a href="https://twitter.com/sabre1041" target="_blank" rel="noopener noreferrer" class="">Andrew Block</a> will be doing a <a href="https://sched.co/182Ns" target="_blank" rel="noopener noreferrer" class="">Maintainer Track talk</a> introducing Helm itself and then doing a deep dive into the ecosystem around building packages, along with using Helm packages in clusters.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="helm-booth-in-project-pavilion">Helm Booth in Project Pavilion<a href="https://helm.sh/uk/blog/helm-at-kubecon-na-22#helm-booth-in-project-pavilion" class="hash-link" aria-label="Пряме посилання на Helm Booth in Project Pavilion" title="Пряме посилання на Helm Booth in Project Pavilion" translate="no">​</a></h2>
<p>WED OCT 26: 15:30 – 20:00 ET</p>
<p>THUR OCT 27: 14:00 – 17:30 ET</p>
<p>FRI Oct 28: 13:00 – 16:00 ET</p>
<p>LOCATION: opposite side of the Fuzz booth, near the LitmusChaos/Flux/Cortex/Falco booths</p>
<p>Our maintainers will be hanging out at our Helm project booth the second half of each day. We'd love to learn from the community how Helm is being used, what pain points exists, and what users are looking for in the future. Help us help you by sharing your thoughts in our <a href="https://docs.google.com/forms/d/e/1FAIpQLSeR9fSlWShh49_URhAEPA88JVjlPiz1441CA1B2ySJGZg1dzQ/viewform" target="_blank" rel="noopener noreferrer" class="">Helm User Survey</a>, even if you're unable to drop by the booth.</p>
<p>Now for the fun part – the Helm booth will be giving away 3D Helm stickers, glow-in-the-dark Helm stickers, Helm bike bells, or limited edition Helm + Carhartt beanies to stay warm while in Detroit!</p>
<p>With that, we'll see the Helm community soon in-person!</p>]]></content>
        <author>
            <name>Karen Chu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tools You Can Use To Manage Your Helm Releases Declaratively]]></title>
        <id>https://helm.sh/uk/blog/tools-to-manage-helm-declaratively</id>
        <link href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively"/>
        <updated>2022-04-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We regularly get questions from people who want tools or methods to manage their Helm releases in an environment. This post provides some insight and direction to help people get started.]]></summary>
        <content type="html"><![CDATA[<p>We regularly get questions from people who want tools or methods to manage their Helm releases in an environment. This post provides some insight and direction to help people get started.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-helm-doesnt-have-tools-to-do-this">Why Helm Doesn't Have Tools To Do This<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#why-helm-doesnt-have-tools-to-do-this" class="hash-link" aria-label="Пряме посилання на Why Helm Doesn't Have Tools To Do This" title="Пряме посилання на Why Helm Doesn't Have Tools To Do This" translate="no">​</a></h2>
<p>You might wonder, why doesn't Helm provide tools to do this out of the box?</p>
<p>Helm is a package manager. We often compare it to package managers for other platforms like apt, yum, zipper, homebrew, and others. All of these projects, Helm included, keep their scope within the realm of package management.</p>
<p>Managing how instances of packages are run in an environment is a separate concern and one people have varying ideas about. For example, some people use Ansible, others use Terraform, some use both, and some use something entirely different. Different tools can even use different methods (e.g. some are push based and others pull based). <em>All of these are able work with the same package managers.</em></p>
<p>The Helm project strives to provide a package manager that works well with various other tools that can use a variety of different methods to manage releases.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="declarative-and-imperative">Declarative and Imperative<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#declarative-and-imperative" class="hash-link" aria-label="Пряме посилання на Declarative and Imperative" title="Пряме посилання на Declarative and Imperative" translate="no">​</a></h2>
<p>In the Kubernetes space we talk about <em>declarative</em> management. If you're not familiar with the concept, here is a brief explanation.</p>
<p>With declarative management you <em>declare</em> to the <em>system</em> what you want the end state to look like. For example, that you want X number of instances of your workload to be running. The system then works to make this a reality and usually reports status on the progress of making the declared status a reality. Over time, the way the system makes the declared state a reality can change without the need for what you declare or the status of the progress to change.</p>
<p>Imperative management has to do with telling the system what to do step by step. Instead of declaring what you want you tell the system each step to take to achieve the end goal.</p>
<p>Kubernetes provides a means to do both <a href="https://kubernetes.io/docs/tasks/manage-kubernetes-objects/" target="_blank" rel="noopener noreferrer" class="">declarative and imperative management of resources</a>. As the Kubernetes community tends to prefer declarative management, when possible, the rest of this post is going to focus on declarative tools you can use with Helm.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tools">Tools<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#tools" class="hash-link" aria-label="Пряме посилання на Tools" title="Пряме посилання на Tools" translate="no">​</a></h2>
<p>The Kubernetes ecosystem has produced numerous projects of various styles to help you declaratively manage your Helm releases. To illustrate the options we will look at sister projects to Helm in the Cloud Native Computing Foundation (CNCF) and some more general open source projects. You can find more options in the <a href="https://landscape.cncf.io/" target="_blank" rel="noopener noreferrer" class="">CNCF Landscape</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cncf-projects">CNCF Projects<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#cncf-projects" class="hash-link" aria-label="Пряме посилання на CNCF Projects" title="Пряме посилання на CNCF Projects" translate="no">​</a></h3>
<p>The scope of this section is limited to <a href="https://www.cncf.io/projects/" target="_blank" rel="noopener noreferrer" class="">graduated and incubating</a> CNCF projects. There are over 100 CNCF projects and many of them are <a href="https://www.cncf.io/sandbox-projects/" target="_blank" rel="noopener noreferrer" class="">sandbox projects</a>. You can learn more about the differences between types of projects in the <a href="https://www.cncf.io/projects/#maturity-levels" target="_blank" rel="noopener noreferrer" class="">maturity level explanation</a>. The following projects are worth looking at:</p>
<ul>
<li class=""><a href="https://fluxcd.io/docs/components/helm/" target="_blank" rel="noopener noreferrer" class="">Flux Helm Controller</a> - <a href="https://fluxcd.io/" target="_blank" rel="noopener noreferrer" class="">Flux</a> is a collection of projects that enable GitOps. One of the components provides a GitOps method to manage Helm releases. Flux natively supports Helm.</li>
<li class=""><a href="https://github.com/argoproj/argo-cd" target="_blank" rel="noopener noreferrer" class="">Argo CD</a> - The <a href="https://argoproj.github.io/" target="_blank" rel="noopener noreferrer" class="">Argo</a> project defines itself as providing "Open source tools for Kubernetes to run workflows, manage clusters, and do GitOps right." Argo CD is focused on declarative continuous delivery and has the ability to work with Helm charts.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="other-projects">Other Projects<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#other-projects" class="hash-link" aria-label="Пряме посилання на Other Projects" title="Пряме посилання на Other Projects" translate="no">​</a></h3>
<p>There are many projects beyond the CNCF projects you can use to help you manage your Helm releases. The following set is an example and not exhaustive.</p>
<ul>
<li class=""><a href="https://github.com/helmfile/helmfile" target="_blank" rel="noopener noreferrer" class="">Helmfile</a> - A declarative spec for deploying Helm charts.</li>
<li class=""><a href="https://github.com/alauda/captain" target="_blank" rel="noopener noreferrer" class="">Captain</a> - A Helm controller.</li>
<li class=""><a href="https://github.com/hashicorp/terraform-provider-helm" target="_blank" rel="noopener noreferrer" class="">Terraform Helm provider</a> - Enables you to manage Helm charts through Terraform.</li>
<li class=""><a href="https://azure.github.io/orkestra/" target="_blank" rel="noopener noreferrer" class="">Orkestra</a> - Built on other tools in this list, Orkestra adds a robust dependency graph for a related group of Helm releases and their subcharts, as well as a reverse DAG for specifying dependency requirements for rollbacks.</li>
<li class=""><a href="https://github.com/rancher/fleet" target="_blank" rel="noopener noreferrer" class="">Fleet</a> - A GitOps tool chain that works with Kubernetes manifests, Helm charts, and Kustomize.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="high-level-tool-comparison">High-Level Tool Comparison<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#high-level-tool-comparison" class="hash-link" aria-label="Пряме посилання на High-Level Tool Comparison" title="Пряме посилання на High-Level Tool Comparison" translate="no">​</a></h3>
<p>There are some differences between the tools we've looked at so far. The following table provides some insight into their differences. This is not exhaustive and you should evaluate any tools you use yourself.</p>





























































<table><thead><tr><th></th><th>Retains Helm release info</th><th>Supports Helm hooks</th><th>OCI support</th><th>Does not require Helm binary</th></tr></thead><tbody><tr><td>Flux Helm controller</td><td>✅</td><td>✅</td><td>🚫<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-1-8e6365" id="user-content-fnref-1-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">1</a></sup></td><td>✅</td></tr><tr><td>Argo CD</td><td>🚫</td><td>⚠️<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-2-8e6365" id="user-content-fnref-2-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">2</a></sup></td><td>✅<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-3-8e6365" id="user-content-fnref-3-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">3</a></sup></td><td>🚫</td></tr><tr><td>Helmfile</td><td>✅</td><td>⚠️<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-4-8e6365" id="user-content-fnref-4-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">4</a></sup></td><td>⚠️<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-5-8e6365" id="user-content-fnref-5-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">5</a></sup></td><td>🚫<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-6-8e6365" id="user-content-fnref-6-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">6</a></sup></td></tr><tr><td>Captain</td><td>✅</td><td>✅</td><td>⚠️<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-7-8e6365" id="user-content-fnref-7-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">7</a></sup></td><td>✅</td></tr><tr><td>Terraform Helm provider</td><td>✅</td><td>⚠️<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-8-8e6365" id="user-content-fnref-8-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">8</a></sup></td><td>✅</td><td>✅</td></tr><tr><td>Orkestra</td><td>✅</td><td>✅</td><td>🚫<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-9-8e6365" id="user-content-fnref-9-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">9</a></sup></td><td>✅</td></tr><tr><td>Fleet</td><td>✅</td><td>✅</td><td>🚫<sup><a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fn-10-8e6365" id="user-content-fnref-10-8e6365" data-footnote-ref="" aria-describedby="footnote-label" class="anchorTargetStickyNavbar_Vzrq">10</a></sup></td><td>✅</td></tr></tbody></table>
<p><em>Note, this comparison is from when the blog post was published. Projects change over time and the feature set may change over time. You should evaluate the projects in their current state before choosing one.</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="conclusion">Conclusion<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#conclusion" class="hash-link" aria-label="Пряме посилання на Conclusion" title="Пряме посилання на Conclusion" translate="no">​</a></h2>
<p>If you want to use a configuration manager with your Helm and Kubernetes configuration there are many choices. While the Helm project doesn't endorse one project over another, we do suggest using a configuration manager when it's appropriate.</p>
<!-- -->
<section data-footnotes="" class="footnotes"><h2 class="anchor anchorTargetStickyNavbar_Vzrq sr-only" id="footnote-label">Footnotes<a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#footnote-label" class="hash-link" aria-label="Пряме посилання на Footnotes" title="Пряме посилання на Footnotes" translate="no">​</a></h2>
<ol>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-1-8e6365">
<p>Because Flux makes full use of the Helm SDK, as of Helm v3.8.0 Flux is now unblocked to add OCI artifact integration (Flux team members helped finish bringing OCI support out of experimental into a full feature in Helm). <a href="https://github.com/fluxcd/flux2/tree/main/rfcs/0002-helm-oci" target="_blank" rel="noopener noreferrer" class="">RFC-0002</a> is now marked as implementable, and work on this is now in progress for Flux. You can follow this fluxcd/source-controller issue <a href="https://github.com/fluxcd/source-controller/issues/669" target="_blank" rel="noopener noreferrer" class="">#669</a> for progress. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-1-8e6365" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-2-8e6365">
<p>Because Argo does not retain Helm release information, there is an <a href="https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#helm-hooks" target="_blank" rel="noopener noreferrer" class="">attempt to map</a> Helm hooks to ArgoCD hooks, however, there are far fewer Argo hooks and unmappable concepts such as no differentiation between install and upgrade. You can work around this by writing your charts specifically for ArgoCD, however hooks in commonly used community charts will not work. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-2-8e6365" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-3-8e6365">
<p>ArgoCD shells out to the Helm CLI, only to render templates. This has allowed Argo to turn on Helm CLI's OCI feature before it was finished, for the same reason that it can not support Helm features beyond templating. Because of this, OCI is not part of the ArgoCD source architecture. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-3-8e6365" data-footnote-backref="" aria-label="Back to reference 3" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-4-8e6365">
<p>Helmfile has a custom concept of hooks, not necessarily mapped to Helm hooks. See readme <a href="https://github.com/helmfile/helmfile#hooks" target="_blank" rel="noopener noreferrer" class="">hooks section</a> and <a href="https://github.com/roboll/helmfile/issues/1291" target="_blank" rel="noopener noreferrer" class="">this issue</a> for clarification and work in progress. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-4-8e6365" data-footnote-backref="" aria-label="Back to reference 4" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-5-8e6365">
<p>Helmfile has experimental OCI support, without explicitly explaining to users that it sets <code>HELM_EXPERIMENTAL_OCI=1</code> before shelling out to the Helm CLI. See <a href="https://github.com/roboll/helmfile/issues/2112" target="_blank" rel="noopener noreferrer" class="">#2112</a> and <a href="https://github.com/roboll/helmfile/issues/2111" target="_blank" rel="noopener noreferrer" class="">#2111</a>. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-5-8e6365" data-footnote-backref="" aria-label="Back to reference 5" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-6-8e6365">
<p>Helmfile parameterizes the Helm binary (default: <code>helm</code>). <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-6-8e6365" data-footnote-backref="" aria-label="Back to reference 6" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-7-8e6365">
<p>Captain relies on a related project <a href="https://github.com/alauda/oci-chartrepo" target="_blank" rel="noopener noreferrer" class="">alauda/oci-chartrepo</a> to mix concepts of using oci registry as helm chart repo. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-7-8e6365" data-footnote-backref="" aria-label="Back to reference 7" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-8-8e6365">
<p>Terraform Helm provider has <a href="https://github.com/hashicorp/terraform-provider-helm/issues/683" target="_blank" rel="noopener noreferrer" class="">some issues</a> with Helm hooks and wait configurations. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-8-8e6365" data-footnote-backref="" aria-label="Back to reference 8" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-9-8e6365">
<p>Orkestra leverages Flux Helm Controller to reconcile the releases. See the note above about Flux Helm controller OCI status. Once a full implementation is released in Flux, Orkestra will also support OCI. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-9-8e6365" data-footnote-backref="" aria-label="Back to reference 9" class="data-footnote-backref">↩</a></p>
</li>
<li class="anchorTargetStickyNavbar_Vzrq" id="user-content-fn-10-8e6365">
<p>Fleet uses the Helm SDK. Once it uses a version of the Helm SDK that supports OCI registries, Fleet will inherit support. <a href="https://helm.sh/uk/blog/tools-to-manage-helm-declaratively#user-content-fnref-10-8e6365" data-footnote-backref="" aria-label="Back to reference 10" class="data-footnote-backref">↩</a></p>
</li>
</ol>
</section>]]></content>
        <author>
            <name>Scott Rigby</name>
        </author>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Storing Helm Charts in OCI Registries]]></title>
        <id>https://helm.sh/uk/blog/storing-charts-in-oci</id>
        <link href="https://helm.sh/uk/blog/storing-charts-in-oci"/>
        <updated>2022-02-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[With the release of Helm 3.8.0, Helm is able to store and work with charts in container registries, as an alternative to Helm repositories. This feature, which used to be an experimental feature, is now generally available.]]></summary>
        <content type="html"><![CDATA[<p>With the release of Helm 3.8.0, Helm is able to store and work with charts in container registries, as an alternative to <a href="https://helm.sh/docs/topics/chart_repository/" target="_blank" rel="noopener noreferrer" class="">Helm repositories</a>. This feature, which used to be an experimental feature, is now generally available.</p>
<!-- -->
<p>Over the past several years container registry developers have been working on ways to store other artifacts in container registries. To facilitate this in a cross platform manner, the Open Containers Initiative (OCI) - the organization that defines the specifications for containers - released their <a href="https://specs.opencontainers.org/distribution-spec/?v=v1.0.0" target="_blank" rel="noopener noreferrer" class="">distribution specification</a> which allowed other "artifacts" to be stored in registries.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="common-storage">Common Storage<a href="https://helm.sh/uk/blog/storing-charts-in-oci#common-storage" class="hash-link" aria-label="Пряме посилання на Common Storage" title="Пряме посилання на Common Storage" translate="no">​</a></h2>
<p>Since OCI artifacts now makes it possible to store more than container images, you can store charts, images, and other artifacts in a single OCI registry. Sharing a common storage standard that's not specific to Helm allows greater interoperability between tools from the wider container ecosystem for security, identity and access management, and more.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="working-with-charts-in-registries">Working With Charts In Registries<a href="https://helm.sh/uk/blog/storing-charts-in-oci#working-with-charts-in-registries" class="hash-link" aria-label="Пряме посилання на Working With Charts In Registries" title="Пряме посилання на Working With Charts In Registries" translate="no">​</a></h2>
<p>The combination of OCI artifact support in a registry and new functionality within Helm provides the capability to pull and push charts to and from a registry. You can also specify charts stored in OCI as a dependency in any <code>Chart.yaml</code> file. The following example illustrates logging into a registry and pushing a chart:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">$ helm create demo</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Creating demo</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$ helm package demo</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Successfully packaged chart and saved it to: /tmp/demo-0.1.0.tgz</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$ echo "mypass" | helm registry login r.example.com -u myuser --password-stdin</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Login Succeeded</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">$ helm push demo-0.1.0.tgz oci://r.example.com/myuser</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Pushed: r.example.com/myuser/demo:0.1.0</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Digest: sha256:7ed393daf1ffc94803c08ffcbecb798fa58e786bebffbab02da5458f68d0ecb0</span><br></div></code></pre></div></div>
<p>More detail on <a href="https://helm.sh/docs/topics/registries/" target="_blank" rel="noopener noreferrer" class="">working with registries can be found in the Helm documentation</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-helm-sdk">The Helm SDK<a href="https://helm.sh/uk/blog/storing-charts-in-oci#the-helm-sdk" class="hash-link" aria-label="Пряме посилання на The Helm SDK" title="Пряме посилання на The Helm SDK" translate="no">​</a></h2>
<p>The Helm SDK, which is useful for those building tools to integrate with Helm, also includes support to work with registries programmatically. The following example illustrates pushing a chart to a registry:</p>
<div class="language-go codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-go codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">package</span><span class="token plain"> main</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token string" style="color:#e3116c">"fmt"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token string" style="color:#e3116c">"io/ioutil"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token string" style="color:#e3116c">"helm.sh/helm/v3/pkg/registry"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">func</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">check</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">err </span><span class="token builtin">error</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> err </span><span class="token operator" style="color:#393A34">!=</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">nil</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token function" style="color:#d73a49">panic</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">err</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">func</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">main</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	client</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> err </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> registry</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">NewClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function" style="color:#d73a49">check</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">err</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	b</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> err </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> ioutil</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">ReadFile</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"demo-0.1.0.tgz"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function" style="color:#d73a49">check</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">err</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	info</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> err </span><span class="token operator" style="color:#393A34">:=</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Push</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">b</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"r.example.com/myuser/demo:0.1.0"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function" style="color:#d73a49">check</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">err</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	fmt</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Printf</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"Pushed: %s\n"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> info</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Ref</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	fmt</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Printf</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"Digest: %s\n"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> info</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Manifest</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Digest</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>More detail can be found in the <a href="https://pkg.go.dev/helm.sh/helm/v3/pkg/registry" target="_blank" rel="noopener noreferrer" class="">documentation for the registry package</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="limitations">Limitations<a href="https://helm.sh/uk/blog/storing-charts-in-oci#limitations" class="hash-link" aria-label="Пряме посилання на Limitations" title="Пряме посилання на Limitations" translate="no">​</a></h2>
<p>There are some limitations when using registries to store charts compared to Helm repositories or storing container images in registries.</p>
<p>Helm repositores can be added and searched from the local Helm client. This is similar to how repositories work with other package managers such as zypper or apt. When working with OCI registries, this is not an option. OCI based registries don't provide standard APIs to facilitate searching.</p>
<p>While the OCI specification provides support for artifacts, not all registries support storing Helm charts or other artifacts that are not container images. Before choosing a registry, you should confirm whether it supports storing Helm charts.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="artifact-hub-support">Artifact Hub Support<a href="https://helm.sh/uk/blog/storing-charts-in-oci#artifact-hub-support" class="hash-link" aria-label="Пряме посилання на Artifact Hub Support" title="Пряме посилання на Artifact Hub Support" translate="no">​</a></h2>
<p><a href="https://artifacthub.io/" target="_blank" rel="noopener noreferrer" class="">Artifact Hub</a>, another CNCF project, provides a means to search and discover cloud native assets, including charts. Helm charts stored in OCI based registries can be listed on Artifact Hub, which already knows how to work with them. More details on working with Artifact Hub and Helm charts in container registries can be found in their <a href="https://artifacthub.io/docs/topics/repositories/#helm-charts-repositories" target="_blank" rel="noopener noreferrer" class="">documentation</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="oras">ORAS<a href="https://helm.sh/uk/blog/storing-charts-in-oci#oras" class="hash-link" aria-label="Пряме посилання на ORAS" title="Пряме посилання на ORAS" translate="no">​</a></h2>
<p>The <a href="https://oras.land/" target="_blank" rel="noopener noreferrer" class="">OCI Registry as Storage (ORAS) project</a>, another CNCF project, is used by Helm as the underlying library for working with registries. The ORAS project bills itself as:</p>
<blockquote>
<p>Registries are evolving as generic artifact stores. To enable this goal, the ORAS project provides a way to push and pull OCI Artifacts to and from OCI Registries.</p>
</blockquote>
<p>If you want to work with other artifacts in registries the ORAS project may provide some tools to help you.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="thanks-and-help-us-keep-improving">Thanks and Help Us Keep Improving<a href="https://helm.sh/uk/blog/storing-charts-in-oci#thanks-and-help-us-keep-improving" class="hash-link" aria-label="Пряме посилання на Thanks and Help Us Keep Improving" title="Пряме посилання на Thanks and Help Us Keep Improving" translate="no">​</a></h2>
<p>Thanks to everyone who worked on adding support for Helm charts and OCI registries, from the initial experiment to bringing this to a full feature. Thanks especially for end user testing, bug reports and feature requests, and coordination between community members and maintainers across several CNCF projects.</p>
<p>We hope this post helps give a good intro, and some things to consider when evaluating storing your Helm charts in OCI. See if it fits your needs, take it for a spin, and let us know what you think!</p>]]></content>
        <author>
            <name>Scott Rigby</name>
        </author>
        <author>
            <name>Josh Dolitsky</name>
        </author>
        <author>
            <name>Matt Farina</name>
        </author>
    </entry>
</feed>