<?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: Aman Pathak</title>
    <description>The latest articles on DEV Community by Aman Pathak (@aman-devops).</description>
    <link>https://dev.to/aman-devops</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%2F2209189%2Fc9790a6b-7e29-46f7-a841-50f1fd1bae53.jpg</url>
      <title>DEV Community: Aman Pathak</title>
      <link>https://dev.to/aman-devops</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aman-devops"/>
    <language>en</language>
    <item>
      <title>How You Can Become an AWS Community Builder in 2026</title>
      <dc:creator>Aman Pathak</dc:creator>
      <pubDate>Sat, 06 Dec 2025 07:17:40 +0000</pubDate>
      <link>https://dev.to/aman-devops/how-you-can-become-an-aws-community-builder-in-2026-3dg7</link>
      <guid>https://dev.to/aman-devops/how-you-can-become-an-aws-community-builder-in-2026-3dg7</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrws9rjsi5oy00rmzpf9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrws9rjsi5oy00rmzpf9.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Hi everyone, my name is Aman. I create DevOps and cloud content to share my learning with the community. As we are heading toward 2026, many of us want to grow more, learn more, and share more. Today, I am not showing any demo or project. Instead, I want to talk about something people keep asking about. The AWS Community Builder Program.&lt;/p&gt;

&lt;p&gt;I have been part of this program for the last three years. I learned a lot through it, and I want to share how you can also become an AWS Community Builder.&lt;/p&gt;

&lt;p&gt;I have covered the same thing in my YouTube video. If you want, you can watch it here:&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/rwzLqleXXEE"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;h1&gt;
  
  
  What the AWS Community Builder Program Is
&lt;/h1&gt;

&lt;p&gt;This is an official AWS program created for people who actively learn and share knowledge on platforms like LinkedIn, Medium, YouTube, or anywhere you share your work. If you use AWS services in your projects and share your learnings publicly, AWS considers you a good fit.&lt;/p&gt;

&lt;p&gt;The idea is simple. People who learn. People who share. People who contribute to the community.&lt;/p&gt;

&lt;h1&gt;
  
  
  What You Get When You Become a Community Builder
&lt;/h1&gt;

&lt;p&gt;Here are the main benefits based on my experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Credits
&lt;/h2&gt;

&lt;p&gt;You receive 500 credits. I call it minimum because if you genuinely run out while building something, you can request more, and they will provide it after verifying your work.&lt;/p&gt;

&lt;p&gt;One Free AWS Certification&lt;br&gt;
Every year, you get one free certification voucher. This saves a lot because AWS certifications cost money, especially the speciality level ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Swags
&lt;/h2&gt;

&lt;p&gt;Every year, AWS sends swag. I received a cap, bottle, bag, travel pouch, diaries and other small items. Nothing huge, but it feels good when you’re wearing the cap or using the bag.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access to QA Learning Platform
&lt;/h2&gt;

&lt;p&gt;You also get access to CloudAcademy or QA.com, where they have a lot of AWS learning content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Networking
&lt;/h2&gt;

&lt;p&gt;This personally helped me the most. You get a chance to connect with AWS experts and other builders. People who know more than you. People who share insights and correct you. You learn a lot from these conversations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Can Apply
&lt;/h2&gt;

&lt;p&gt;Anyone who is learning and sharing consistently. You do not have to be perfect or advanced. I was a beginner when I applied for the first time. Your consistency matters more than your depth.&lt;/p&gt;

&lt;p&gt;Even basic projects, basic blogs, 30-day challenges or simple YouTube videos count. You just need to show that you are learning and sharing.&lt;/p&gt;

&lt;h1&gt;
  
  
  A Note About Using AI for Content
&lt;/h1&gt;

&lt;p&gt;AWS prefers original work. If your content looks completely AI-generated, it may affect your selection. You can use help for small parts, but your main content should be written by you.&lt;/p&gt;

&lt;h1&gt;
  
  
  How to Apply
&lt;/h1&gt;

&lt;p&gt;Right now, applications are not open. You can join the waitlist. When the window opens, AWS sends you the application link. Usually it happens between January and March.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pulse.aws/application/BM2AKLSX?p=0" rel="noopener noreferrer"&gt;Join the Waitlist&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The form takes time. You will have to add your blogs, videos, GitHub work and explain what you did in the last year. Mention your best content. Mention your top-performing posts. Be honest about what you learned and built.&lt;/p&gt;

&lt;p&gt;After applying, AWS takes around one to two months to evaluate.&lt;/p&gt;

&lt;p&gt;Once selected, you stay in the program for one year. Every year, you need to renew. I have done it three times.&lt;/p&gt;

&lt;h1&gt;
  
  
  What AWS Looks For
&lt;/h1&gt;

&lt;p&gt;AWS focuses on intent, consistency and genuine contribution. They are not looking for experts only. They want people who share their learning journey openly and help others.&lt;/p&gt;

&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;I hope this gives you an understanding of the AWS Community Builder program. If you want, once the application window opens, I can guide you on what to write and how to prepare your form.&lt;/p&gt;

&lt;p&gt;All the best for 2026. Keep learning and keep sharing. See you at the next one.&lt;/p&gt;




&lt;p&gt;🚀 Enjoyed this content?&lt;br&gt;
If you found it useful, don’t forget to 👏 clap, 🔄 share, and 💬 follow for more DevOps &amp;amp; Cloud insights.&lt;/p&gt;

&lt;p&gt;💡 Want to discuss trending technologies in DevOps &amp;amp; Cloud?&lt;/p&gt;

&lt;p&gt;👥 Join the community on Discord&lt;br&gt;
🎥 I am on YouTube&lt;br&gt;
🌐 Explore all my socials &amp;amp; blogs → Linktree&lt;br&gt;
🤝 1:1 Mentorship&lt;br&gt;
If you’re looking for personalised guidance in DevOps &amp;amp; Cloud (career growth, projects, real-world problem-solving), I’m opening limited slots for 1:1 mentorship. Please drop me a DM to know more.&lt;/p&gt;

&lt;p&gt;👉 Keep experimenting. Keep learning. Keep growing!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>cloud</category>
      <category>development</category>
    </item>
    <item>
      <title>How to Package and Publish Your Custom Helm Charts- A Hands-On Tutorial</title>
      <dc:creator>Aman Pathak</dc:creator>
      <pubDate>Mon, 14 Oct 2024 10:42:15 +0000</pubDate>
      <link>https://dev.to/aman-devops/how-to-package-and-publish-your-custom-helm-charts-a-hands-on-tutorial-4e25</link>
      <guid>https://dev.to/aman-devops/how-to-package-and-publish-your-custom-helm-charts-a-hands-on-tutorial-4e25</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pf3l4pfkcltuhencj4n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pf3l4pfkcltuhencj4n.png" alt="Image description" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In this guide, we will explore how to package and publish multiple Helm charts in a single GitHub repository. We’ll deploy two distinct applications — a Go-based portfolio website and the classic Tetris game — on a Kubernetes cluster using Helm. By the end, you will have learned how to create, package, and publish Helm charts on GitHub and deploy them in a Kubernetes environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective
&lt;/h2&gt;

&lt;p&gt;The objective of this tutorial is to help you understand:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to create multiple Helm charts.&lt;/li&gt;
&lt;li&gt;How to package and publish those charts on a GitHub repository.&lt;/li&gt;
&lt;li&gt;How to install and run those applications on Kubernetes using Helm.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Pre-requisites
&lt;/h2&gt;

&lt;p&gt;Before starting, ensure you have the following tools installed:&lt;/p&gt;

&lt;p&gt;kubectl for interacting with Kubernetes clusters.&lt;br&gt;
Helm for managing Kubernetes applications.&lt;br&gt;
Minikube for local Kubernetes cluster setup (optional).&lt;br&gt;
A public GitHub repository to publish your Helm charts.&lt;br&gt;
Repository for this Hands-On Project- &lt;a href="https://github.com/AmanPathak-DevOps/Helm-Charts/tree/master" rel="noopener noreferrer"&gt;https://github.com/AmanPathak-DevOps/Helm-Charts/tree/master&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Hands-On Guide 👐📘
&lt;/h2&gt;

&lt;p&gt;Create a new GitHub repository&lt;/p&gt;

&lt;p&gt;Note: It is required to keep your repository public to publish the helm charts&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhj3ydtdouhqfor83c1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhj3ydtdouhqfor83c1s.png" alt="Image description" width="720" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am cloning the same repo on my EC2 machine. You can do the same on your local machine with the above-required tool installation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76fjranso546pu6xd5xr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76fjranso546pu6xd5xr.png" alt="Image description" width="720" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are going to create two different charts. So we can learn how to package multiple charts in one repo and publish them on Git Hub as well. The first chart has a portfolio website in Go Lang and the second chart is a game known as Tetris. You don’t need to follow the Kubernetes manifest file if you don’t want to.&lt;/p&gt;

&lt;p&gt;To create a first helm chart, run the below command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm create go-portfolio-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv4sbqfpym31pajxlm5x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv4sbqfpym31pajxlm5x.png" alt="Image description" width="720" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We already have our own Manifest file content and values file. So, empty the templates folder and remove the values.yaml file&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgkcuh877upou3iv6y3ns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgkcuh877upou3iv6y3ns.png" alt="Image description" width="720" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, create a deployment.yaml file and service.yaml file then copy the content from below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;namespace.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Namespace
metadata: 
    name: go-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;deployment.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: go-portfolio
  namespace: go-app
  labels:
    role: go-portfolio
    env: dev
spec:
  replicas: {{ .Values.replicaCount }}  # Use replica count from values.yaml
  selector:
    matchLabels:
      role: go-portfolio
  template:
    metadata:
      labels:
        role: go-portfolio
    spec:
      containers:
      - name: go-portfolio
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"  # Pull image and tag from values.yaml
        imagePullPolicy: {{ .Values.image.pullPolicy }}
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "256Mi"
            cpu: "500m"
          limits:
            memory: "512Mi"
            cpu: "1"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;service.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata: 
  name: go-portfolio-svc
  namespace: go-app
spec: 
  ports: 
  - port: 8080
    targetPort: 8080
  type: ClusterIP
  selector: 
    role: go-portfolio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;values.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;replicaCount: 1

image:
  repository: avian19/go-port
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "10201891038"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hope you have added the above YAML code in your respective files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6c6wk0oj4nb44n8qr4ex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6c6wk0oj4nb44n8qr4ex.png" alt="Image description" width="720" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before going to package your helm chart, you can validate whether the helm chart is correct or not by deploying it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install &amp;lt;chart-name&amp;gt; &amp;lt;chart-dir&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe8z0kfnljjsw2fally31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe8z0kfnljjsw2fally31.png" alt="Image description" width="720" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Go App is running fine. So, don’t forget to uninstall it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm uninstall &amp;lt;chart-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fteiyhfbo2lwsm4dif94o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fteiyhfbo2lwsm4dif94o.png" alt="Image description" width="720" height="52"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we are ready to package our helm chart.&lt;/p&gt;

&lt;p&gt;Go to the GitHub root directory and check the status&lt;/p&gt;

&lt;p&gt;I am pushing my changes to the master branch(to keep track) which is not required in the process of packaging and publishing the helm chart.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgw3zsogll2yk48znw76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkgw3zsogll2yk48znw76.png" alt="Image description" width="720" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To Package your Helm Chart and publish it, the gh-pages branch is required in our GitHub Repo. So, create a branch called gh-pages&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b gh-pages
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22r0e05f037bg4slwidy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22r0e05f037bg4slwidy.png" alt="Image description" width="720" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once, the branch gets created. We need to create a package of our go-portfolio-app.&lt;/p&gt;

&lt;p&gt;To generate the package, you need to run the below command which will generate a file having tgz extension.&lt;/p&gt;

&lt;p&gt;Note: The branch will be master as it contains the Chart.yaml file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm package &amp;lt;chart-name(dir)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg96v0di3wy8os39gbo7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg96v0di3wy8os39gbo7p.png" alt="Image description" width="720" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, we packaged our helm chart. Now, we are ready to publish it.&lt;/p&gt;

&lt;p&gt;To publish, we need to create an index.yaml file that keeps track of all the packaged helm charts whenever you install them.&lt;/p&gt;

&lt;p&gt;So, create an index.yaml file at the same place&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch index.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqc3r8aryzzxvrr9qe2x5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqc3r8aryzzxvrr9qe2x5.png" alt="Image description" width="720" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, the index.yaml file did not have any content. But now, we need to generate the index file based on the charts present in our repository which is go-portfolio-app.&lt;/p&gt;

&lt;p&gt;To generate the index.yaml file, run the below command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo index &amp;lt;dir-where-tgz-file-located&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqnu08o2srlogqw5a1xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqnu08o2srlogqw5a1xf.png" alt="Image description" width="720" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, Index.yaml is not empty as it holds the chart name go-portfolio-app&lt;/p&gt;

&lt;p&gt;Finally, we need to push our gh-pages branch changes to GitHub.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcga5dk9emnql5xd3v1oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcga5dk9emnql5xd3v1oi.png" alt="Image description" width="720" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As soon as you push your changes to the GitHub repo.&lt;/p&gt;

&lt;p&gt;Go to the browser and check the GitHub repository, you will see there will a GitHub Actions workflow getting triggered in Orange color.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1o8b99s11ilzixppp3nv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1o8b99s11ilzixppp3nv.png" alt="Image description" width="720" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you click on it you will see the deployment gets completed. But where is it deployed?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhez8nw5sz7hi9zkx6lg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhez8nw5sz7hi9zkx6lg.png" alt="Image description" width="720" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To check the deployed place,&lt;/p&gt;

&lt;p&gt;Go to the Settings of your GitHub repository and navigate to Pages where we are hosting our helm charts&lt;/p&gt;

&lt;p&gt;As you can see in the below snippet, Your site is live at &lt;a href="https://amanpathak-devops.github.io/Helm-Charts/" rel="noopener noreferrer"&gt;https://amanpathak-devops.github.io/Helm-Charts/&lt;/a&gt;. This will be our URL to deploy Helm charts on any Kubernetes Cluster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37xstfjdgktmw1wlnr64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37xstfjdgktmw1wlnr64.png" alt="Image description" width="720" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, add the helm chart repo using the below command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo add aman-devops https://amanpathak-devops.github.io/Helm-Charts/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi44gfj9hwpq4t6tzo7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi44gfj9hwpq4t6tzo7n.png" alt="Image description" width="720" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we are ready to install our helm chart through the helm install command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install go-app aman-devops/go-portfolio-app

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fww0cndgdj5tximdclhit.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fww0cndgdj5tximdclhit.png" alt="Image description" width="720" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can run the below command to list the created Kubernetes resources through the helm chart&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl get all -n go-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieslz2whj4gg09p997x5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fieslz2whj4gg09p997x5.png" alt="Image description" width="720" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the below command to access your application&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl port-forward svc/tetris-service -n tetris 3000:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To access your application on the browser, you can hit the showing link in your browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hhowd4f6gtb0cjvzglm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9hhowd4f6gtb0cjvzglm.png" alt="Image description" width="720" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are using EC2 Server and want to access applications in your browser then, the kubectl port-forward command won’t be enough. To access your browser, run one more command on your local machine it is almost the same command as ssh does.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -L 8080:localhost:8080 &amp;lt;ec2-user&amp;gt;@&amp;lt;public-ip&amp;gt; -i &amp;lt;Pem-file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0izx76ze25s12bk1z92.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0izx76ze25s12bk1z92.png" alt="Image description" width="720" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have successfully packaged and published our first Helm chart. If you feel confident with this process, you can go ahead and exit this blog or document. I hope you found something new to learn. However, if you’re interested in learning how to create multiple charts within a single GitHub repository, I invite you to continue with me in this guide.&lt;/p&gt;

&lt;p&gt;Let’s go ahead and create another chart, which should be quick if you already grasp the process!&lt;/p&gt;

&lt;p&gt;So, I switched back to my master branch in my GitHub repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git switch master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feewpij06gebidj98p96z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feewpij06gebidj98p96z.png" alt="Image description" width="720" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a new helm chart named tetris-game&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm create tetris-game
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyj8xdketp2sc5owdofx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzyj8xdketp2sc5owdofx.png" alt="Image description" width="720" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Empty the templates folder and remove the values.yaml file&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v1aw2ldwui9fphz46s2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1v1aw2ldwui9fphz46s2.png" alt="Image description" width="720" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, add your YAML files given below&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;namespace.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Namespace
metadata: 
    name: tetris
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;deployment.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: tetris
  namespace: tetris
spec:
  replicas: 3
  selector:
    matchLabels:
      app: tetris
  template:
    metadata:
      labels:
        app: tetris
    spec:
      containers:
      - name: tetris
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        ports:
        - containerPort: 3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;service.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata:
  name: tetris-service
  namespace: tetris
spec:
  selector:
    app: tetris
  ports:
  - protocol: TCP
    port: 3000
    targetPort: 3000
  type: ClusterIP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;values.yaml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;replicaCount: 1

image:
  repository: avian19/tetrisv2
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "1"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9obhbfn5uwzisbmms85w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9obhbfn5uwzisbmms85w.png" alt="Image description" width="800" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before going to package your helm chart, you can validate whether the helm chart is correct or not by deploying it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install &amp;lt;chart-name&amp;gt; &amp;lt;chart-dir&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk31z0osrb1vl4wkh9uy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdk31z0osrb1vl4wkh9uy.png" alt="Image description" width="720" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Tetris App is running fine. So, don’t forget to uninstall it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm uninstall &amp;lt;chart-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6xw4suki51khr6c5zw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6xw4suki51khr6c5zw0.png" alt="Image description" width="720" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we are ready to package our helm chart.&lt;/p&gt;

&lt;p&gt;Go to the GitHub root directory and check the status&lt;/p&gt;

&lt;p&gt;I am pushing my changes to the master branch(to keep track) which is not required in the process of packaging and publishing the helm chart.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t5vwzf8gnro44t3c7oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t5vwzf8gnro44t3c7oi.png" alt="Image description" width="720" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Package the Tetris application by running the below command on the master branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm package &amp;lt;chart-name(dir)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F632iuw64yc6uqkbpjxjp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F632iuw64yc6uqkbpjxjp.png" alt="Image description" width="720" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, switch to gh-pages to package the helm chart and publish it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git switch gh-pages

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhufnp6rg8nndh7a2p4x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvhufnp6rg8nndh7a2p4x.png" alt="Image description" width="800" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the below snippet, the index.yaml file has a go-app chart configuration. Now, we need to update the index file to have the Tetris app configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8dhq8htj528vjkg8ugc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8dhq8htj528vjkg8ugc.png" alt="Image description" width="720" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the below command to update the index file for the Tetris app&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo index &amp;lt;dir-where-tgz-file-located&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2nihuzseohne70hvl7m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2nihuzseohne70hvl7m.png" alt="Image description" width="720" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, Index.yaml contains the configuration for chart tetris.&lt;/p&gt;

&lt;p&gt;So we can push our gh-pages branch changes to GitHub.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetb69c7wliad5x7z3zf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetb69c7wliad5x7z3zf1.png" alt="Image description" width="720" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As soon as you push your changes to the GitHub repo.&lt;/p&gt;

&lt;p&gt;Go to the browser and check the GitHub repository, you will see there will a GitHub Actions workflow getting triggered in Orange color.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofr35hv1szbkidvpcnhq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofr35hv1szbkidvpcnhq.png" alt="Image description" width="720" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check the process of deployments by clicking on the Orange icon&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc954kadk2z7uu2hhjcx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc954kadk2z7uu2hhjcx.png" alt="Image description" width="720" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also go to Actions to view the GitHub workflow&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1abmb2y1spvgvu7a04cr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1abmb2y1spvgvu7a04cr.png" alt="Image description" width="720" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, when you are trying to install the Tetris app you might get errors as the old chart doesn’t have Tetris application configuration including index.yaml file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Festjodoiko6mv7hg9b67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Festjodoiko6mv7hg9b67.png" alt="Image description" width="720" height="49"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before installing the Tetris app, we need to update our helm chart&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm repo update

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, we are ready to install our helm chart through the helm install command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;helm install tetris aman-devops/tetris-game
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbud72b19dyvxtcxhwiay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbud72b19dyvxtcxhwiay.png" alt="Image description" width="720" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can run the below command to list the created Kubernetes resources through the helm chart&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl get all -n tetris
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpiedidx926epw9siwrnj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpiedidx926epw9siwrnj.png" alt="Image description" width="720" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the below command to access your application&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl port-forward svc/tetris-service -n tetris 3000:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuphrjrqvnh7lu4u15s3u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuphrjrqvnh7lu4u15s3u.png" alt="Image description" width="720" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To access your application on the browser, you can hit the showing link in your browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk78z0kgdpe5i095gxot8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk78z0kgdpe5i095gxot8.png" alt="Image description" width="720" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy the Game!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogv7fnmj8gtxs9nlsemz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogv7fnmj8gtxs9nlsemz.png" alt="Image description" width="720" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are using EC2 Server and want to access applications in your browser then, the kubectl port-forward command won’t be enough. To access your browser, run one more command on your local machine it is almost the same command as ssh does.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -L 3000:localhost:3000 &amp;lt;ec2-user&amp;gt;@&amp;lt;public-ip&amp;gt; -i &amp;lt;Pem-file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ws02zfpoyz59xrch9yq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ws02zfpoyz59xrch9yq.png" alt="Image description" width="720" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s it for today. I hope you learned something new today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By the end of this guide, you successfully packaged, published, and deployed two different applications using Helm charts in a Kubernetes environment. You’ve also learned how to manage multiple charts within a single GitHub repository. With this foundation, you can now apply the same process to other applications or scale your deployment strategies further!&lt;/p&gt;

&lt;p&gt;Support my work-&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/aman.pathak" rel="noopener noreferrer"&gt;https://www.buymeacoffee.com/aman.pathak&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stay connected on LinkedIn: &lt;a href="https://www.linkedin.com/in/aman-devops/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/aman-devops/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stay up-to-date with GitHub: &lt;a href="https://github.com/AmanPathak-DevOps" rel="noopener noreferrer"&gt;https://github.com/AmanPathak-DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to discuss trending technologies in DevOps &amp;amp; Cloud&lt;br&gt;
Join the Discord Server- &lt;a href="https://discord.gg/jdzF8kTtw2" rel="noopener noreferrer"&gt;https://discord.gg/jdzF8kTtw2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to reach out to me, if you have any other queries.&lt;/p&gt;

&lt;p&gt;Happy Learning!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>kubernetes</category>
      <category>aws</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
