<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Maicon Berlofa</title>
    <description>The latest articles on DEV Community by Maicon Berlofa (@mberlofa).</description>
    <link>https://dev.to/mberlofa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3854214%2F44009d44-8685-463b-aa2d-7236d64c6d46.png</url>
      <title>DEV Community: Maicon Berlofa</title>
      <link>https://dev.to/mberlofa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mberlofa"/>
    <language>en</language>
    <item>
      <title>After the Broadcom Rug Pull: Why I Built Open-Source Helm Charts That Use Upstream Images and Ship With S3 Backup</title>
      <dc:creator>Maicon Berlofa</dc:creator>
      <pubDate>Tue, 31 Mar 2026 21:06:25 +0000</pubDate>
      <link>https://dev.to/mberlofa/after-the-broadcom-rug-pull-why-i-built-open-source-helm-charts-that-use-upstream-images-and-ship-37n</link>
      <guid>https://dev.to/mberlofa/after-the-broadcom-rug-pull-why-i-built-open-source-helm-charts-that-use-upstream-images-and-ship-37n</guid>
      <description>&lt;p&gt;If you're running Bitnami Helm charts, you already know the situation. Broadcom acquired VMware, pulled Bitnami images behind a paid subscription, and the community that built itself around those charts got left holding stale images and broken CI pipelines.&lt;/p&gt;

&lt;p&gt;Some teams pinned to &lt;code&gt;bitnamilegacy&lt;/code&gt;. Some forked charts and are now maintaining them forever. Some migrated to operators like CloudNativePG or Strimzi. Many are still stuck, wondering when something will break.&lt;/p&gt;

&lt;p&gt;I'd been building Helm charts before the Broadcom situation, but what happened crystallized the problem: &lt;strong&gt;the ecosystem was too dependent on one vendor's charts, one vendor's images, and one vendor's goodwill.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://helmforge.dev" rel="noopener noreferrer"&gt;HelmForge&lt;/a&gt; — 23 MIT-licensed Helm charts that use &lt;strong&gt;official upstream container images&lt;/strong&gt; and ship with &lt;strong&gt;built-in S3-compatible backup&lt;/strong&gt;. No proprietary images. No custom entrypoints. No licensing surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Bitnami Was Hard to Replace
&lt;/h2&gt;

&lt;p&gt;The thread I keep seeing on Reddit is some version of: &lt;em&gt;"Where do I find Helm charts for MongoDB/Redis/PostgreSQL now?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And the honest answer is: it's hard. Here's why:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bitnami charts were tightly coupled to Bitnami images.&lt;/strong&gt; They added custom environment variables, init scripts, and directory layouts. You can't just swap in the official &lt;code&gt;postgres:16&lt;/code&gt; image and have the chart work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Forking 300+ charts is insane to maintain.&lt;/strong&gt; The &lt;a href="https://github.com/open-bitnami" rel="noopener noreferrer"&gt;open-bitnami&lt;/a&gt; fork exists, but maintaining hundreds of charts with security patches and K8s compatibility is a full-time job for a team, not a community side project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Operators solve the database problem but not the application problem.&lt;/strong&gt; CloudNativePG is excellent for PostgreSQL. Strimzi is great for Kafka. But what about Vaultwarden? n8n? WordPress? Keycloak? Strapi? There's no operator for every stateful app.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What HelmForge Does Differently
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Official upstream images only
&lt;/h3&gt;

&lt;p&gt;Every HelmForge chart runs the official container image published by the upstream project. PostgreSQL uses &lt;code&gt;postgres:16&lt;/code&gt;. Redis uses &lt;code&gt;redis:7&lt;/code&gt;. MongoDB uses &lt;code&gt;mongo:8&lt;/code&gt;. Vaultwarden uses &lt;code&gt;vaultwarden/server&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;No vendor-built images. No custom entrypoints that break when the vendor changes their license. If the upstream project publishes an image, that's what the chart uses.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. S3 backup is built into every stateful chart
&lt;/h3&gt;

&lt;p&gt;This is the other thing Bitnami never solved. You deploy the database, it works, and then backup is your problem. With HelmForge:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;backup&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;2&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*"&lt;/span&gt;
  &lt;span class="na"&gt;s3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://minio.example.com&lt;/span&gt;
    &lt;span class="na"&gt;bucket&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-backups&lt;/span&gt;
    &lt;span class="na"&gt;accessKey&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;minioadmin&lt;/span&gt;
    &lt;span class="na"&gt;secretKey&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;minioadmin&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. The chart creates a CronJob with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;initContainer&lt;/strong&gt; that dumps the data (pg_dump, mysqldump, mongodump, sqlite3 .backup, or tar — the chart picks the right tool)&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;main container&lt;/strong&gt; that uploads the compressed archive to any S3-compatible endpoint&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;ConfigMap&lt;/strong&gt; with the backup scripts (fully visible, no black boxes)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Works with AWS S3, MinIO, Cloudflare R2, Backblaze B2, DigitalOcean Spaces — anything that speaks S3.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. MIT licensed, forever
&lt;/h3&gt;

&lt;p&gt;No CLA. No proprietary dependencies. No "community edition" that might get pulled. The charts live on GitHub, are published to ghcr.io and a Helm repo on GitHub Pages. The only dependency is GitHub being up.&lt;/p&gt;

&lt;h2&gt;
  
  
  16 Charts With Backup Built In
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Chart&lt;/th&gt;
&lt;th&gt;What gets backed up&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PostgreSQL&lt;/td&gt;
&lt;td&gt;pg_dump of all databases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL&lt;/td&gt;
&lt;td&gt;mysqldump of all databases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MongoDB&lt;/td&gt;
&lt;td&gt;mongodump archive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vaultwarden&lt;/td&gt;
&lt;td&gt;SQLite .backup, pg_dump, or mysqldump&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keycloak&lt;/td&gt;
&lt;td&gt;External DB dump (PostgreSQL or MySQL)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;n8n&lt;/td&gt;
&lt;td&gt;SQLite or external DB dump&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WordPress&lt;/td&gt;
&lt;td&gt;MySQL dump + wp-content tar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strapi&lt;/td&gt;
&lt;td&gt;SQLite or external DB dump + uploads tar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Answer&lt;/td&gt;
&lt;td&gt;SQLite or external DB dump&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Guacamole&lt;/td&gt;
&lt;td&gt;PostgreSQL or MySQL dump&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Komga&lt;/td&gt;
&lt;td&gt;SQLite backup + library metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Minecraft&lt;/td&gt;
&lt;td&gt;World data tar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pi-hole&lt;/td&gt;
&lt;td&gt;Configuration and lists tar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uptime Kuma&lt;/td&gt;
&lt;td&gt;SQLite backup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AdGuard Home&lt;/td&gt;
&lt;td&gt;Configuration and data tar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authelia&lt;/td&gt;
&lt;td&gt;Configuration backup&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Same &lt;code&gt;backup.enabled&lt;/code&gt; + &lt;code&gt;backup.s3.*&lt;/code&gt; interface across all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vaultwarden with SQLite backup to MinIO
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;persistence&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

&lt;span class="na"&gt;backup&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;30&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;2&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*"&lt;/span&gt;
  &lt;span class="na"&gt;s3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://minio.example.com&lt;/span&gt;
    &lt;span class="na"&gt;bucket&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vaultwarden-backups&lt;/span&gt;
    &lt;span class="na"&gt;prefix&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;sqlite&lt;/span&gt;
    &lt;span class="na"&gt;existingSecret&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vaultwarden-backup-s3&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CronJob runs &lt;code&gt;sqlite3 .backup&lt;/code&gt;, compresses it, and uploads to S3. Switch to PostgreSQL or MySQL and the chart automatically uses &lt;code&gt;pg_dump&lt;/code&gt; or &lt;code&gt;mysqldump&lt;/code&gt; — same values key, different initContainer.&lt;/p&gt;

&lt;h3&gt;
  
  
  n8n with queue mode and backup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;architecture&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;queue&lt;/span&gt;

&lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;postgresql&lt;/span&gt;
  &lt;span class="na"&gt;external&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-pg.example.com&lt;/span&gt;

&lt;span class="na"&gt;redis&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

&lt;span class="na"&gt;backup&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;4&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*"&lt;/span&gt;
  &lt;span class="na"&gt;s3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://minio.example.com&lt;/span&gt;
    &lt;span class="na"&gt;bucket&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;n8n-backups&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Honest Comparison
&lt;/h2&gt;

&lt;p&gt;HelmForge is not a Bitnami replacement. The catalog is 23 charts, not 300. It's maintained by one person, not a corporate team. Here's the tradeoff:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Bitnami (pre-Broadcom)&lt;/th&gt;
&lt;th&gt;Bitnami (post-Broadcom)&lt;/th&gt;
&lt;th&gt;HelmForge&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;License&lt;/td&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;$5-6k/month&lt;/td&gt;
&lt;td&gt;MIT (forever)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Catalog&lt;/td&gt;
&lt;td&gt;100+ charts&lt;/td&gt;
&lt;td&gt;100+ charts&lt;/td&gt;
&lt;td&gt;23 charts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container images&lt;/td&gt;
&lt;td&gt;Bitnami-built (custom)&lt;/td&gt;
&lt;td&gt;Bitnami-built (paid)&lt;/td&gt;
&lt;td&gt;Official upstream&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backup&lt;/td&gt;
&lt;td&gt;Not included&lt;/td&gt;
&lt;td&gt;Not included&lt;/td&gt;
&lt;td&gt;Built-in S3 CronJob&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image lock-in&lt;/td&gt;
&lt;td&gt;High (custom env vars, paths)&lt;/td&gt;
&lt;td&gt;High + paid&lt;/td&gt;
&lt;td&gt;None (standard upstream)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI validation&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;lint, template, unittest, kubeconform&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you need a chart for a niche application, HelmForge might not cover it yet. But for the 23 apps it does cover — databases, identity, CMS, automation, monitoring, game servers, DNS — the charts are tested, the images are upstream, and backup works out of the box.&lt;/p&gt;

&lt;h2&gt;
  
  
  The CI Pipeline
&lt;/h2&gt;

&lt;p&gt;Every chart goes through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;helm lint --strict&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;helm template&lt;/code&gt; with default and all CI scenario values&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;helm unittest&lt;/code&gt; for template logic&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kubeconform&lt;/code&gt; for Kubernetes schema validation&lt;/li&gt;
&lt;li&gt;Local k3d cluster validation before merge&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each chart has a maturity label (stable, beta, alpha) so you know exactly what you're getting. Releases are automated with semantic versioning and categorized GitHub Release notes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Add the repo&lt;/span&gt;
helm repo add helmforge https://repo.helmforge.dev
helm repo update

&lt;span class="c"&gt;# Or use OCI directly&lt;/span&gt;
helm &lt;span class="nb"&gt;install &lt;/span&gt;vaultwarden oci://ghcr.io/helmforgedev/helm/vaultwarden

&lt;span class="c"&gt;# Show available values&lt;/span&gt;
helm show values helmforge/vaultwarden
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/helmforgedev/charts" rel="noopener noreferrer"&gt;github.com/helmforgedev/charts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://helmforge.dev" rel="noopener noreferrer"&gt;helmforge.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Artifact Hub: &lt;a href="https://artifacthub.io/packages/search?repo=helmforge" rel="noopener noreferrer"&gt;artifacthub.io/packages/search?repo=helmforge&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contribute
&lt;/h2&gt;

&lt;p&gt;HelmForge is 23 charts maintained by one person. That's the honest starting point. But the Bitnami situation proved that one company owning the chart ecosystem is a single point of failure — and the fix isn't another single maintainer, it's shared ownership.&lt;/p&gt;

&lt;p&gt;The repo is MIT licensed with no CLA. Adding a new chart follows a clear pattern: &lt;code&gt;values.yaml&lt;/code&gt;, templates, unit tests, CI scenarios, and backup if the app is stateful. If you've been maintaining internal charts or patching Bitnami forks for your own apps, consider contributing them upstream instead of maintaining them alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ways to get involved:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add a chart&lt;/strong&gt; for an app you already run on Kubernetes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port a Bitnami chart&lt;/strong&gt; to use official upstream images&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improve existing charts&lt;/strong&gt; — new topologies, better defaults, additional backup strategies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open an issue&lt;/strong&gt; to request a chart or report a bug&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Star the repo&lt;/strong&gt; if you want to follow the progress&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: a community-owned chart repository where no single entity can pull the rug.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/helmforgedev/charts" rel="noopener noreferrer"&gt;github.com/helmforgedev/charts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://helmforge.dev" rel="noopener noreferrer"&gt;helmforge.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Artifact Hub: &lt;a href="https://artifacthub.io/packages/search?repo=helmforge" rel="noopener noreferrer"&gt;artifacthub.io/packages/search?repo=helmforge&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;If your infrastructure depends on a single vendor's goodwill, you're one acquisition away from a rug pull. HelmForge won't replace Bitnami's 300-chart catalog, but it covers the workloads most teams actually run — with upstream images, built-in backup, and a license that won't change on you. The more people contribute, the less any of us depends on one vendor.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>helm</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
