April 2, 2023 by Admin

Helm Chart Repository with GitHub Pages

Background

At IntVerse.io, we specialize in Platform and Integration Services. This article focuses on how we package any application using Helm and access it via GitHub. Below we have described the article by choosing the observability application.

What is GitHub

GitHub is a web-based platform that provides a hosting service for version control repositories. It allows individuals and teams to collaborate on software development projects by providing tools for version control, code review, issue tracking, and project management. GitHub is known for being open-source friendly and provides a platform for open-source projects to collaborate and grow.

What is Helm

Helm is a package manager for Kubernetes that simplifies the deployment and management of applications on a Kubernetes cluster. It allows users to define, install, and upgrade complex Kubernetes applications with just a few commands. Helm provides a way to package Kubernetes manifests, templates, and other resources into a single deployable unit called a chart.

Step by step Process to upload and access Helm Charts from GitHub Pages
  1. Create new repository on GitHub to upload Helm Chart and Helm Package files
  2. New Repo Upload
  3. Commit Helm chart files to the newly created Repository on GitHub.
  4. New Repo Upload

    Need to execute below HELM commands
    from terminal with helm binary installed

  5. helm lint is a command in Helm, a package manager for Kubernetes, that checks a Helm chart for potential issues before deploying it to a Kubernetes cluster.
  6. helm lint observability/
  7. helm package a distributable package from a Helm chart. The helm package command takes a directory containing a chart and creates a compressed package, or "tgz" file, that includes all the files necessary to install the chart on a Kubernetes cluster.
  8. helm package observability/
  9. The repository index is a YAML file called index.yaml, located at the root of the chart repository. It contains a list of chart entries, with each entry providing metadata about the chart, such as its name, version, and URL to download the chart package.
  10. helm repo index --url https://intverse.github.io/observability/ .
    cat index.yaml

    apiVersion: v1
    entries:
    observability: -
    apiVersion: v2
    appVersion: 1.0.0
    created: "2023-03-28T23:48:03.323565-04:00"
    description: A Helm chart to deploy monitoring (Prometheus and Grafana)
    digest: 5afed1da1ec7888b362e2d04c1e30cf6aec126bfcaeac4c9ae25ac34f216fffb
    icon: https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
    name: observability
    type: application
    urls: - https://intverse.github.io/observability/observability-1.0.0.tgz
    version: 1.0.0
    generated: "2023-03-28T23:48:03.321967-04:00"
  11. Commit index.yaml and observability-1.0.0.tgz to GitHub repository.
  12. New Repo
  13. Now is the time to publish the helm chart from GitHub pages. Click settings on the GitHub repository, scroll to pages and select the branch to start publishing the helm package.
  14. New Repo
  15. helm repo add is a command to add a new chart repository to your local Helm client. The helm repo add command requires two arguments: the name of the repository and its URL.
  16. helm repo add intverse-repo https://intverse.github.io/observability
  17. A chart is a package containing all the necessary files and metadata to deploy an application or service to a Kubernetes cluster. helm install is the command used in the Helm package manager to install a chart onto a Kubernetes cluster. The helm install command requires two arguments: the name of the release and the name of the chart to install.
  18. helm install monitoring intverse-repo/observability
Looking for professional services focused on Platform and Integration Services? Look no further than Intverse.io! Our team of experts has extensive experience in platform architecture, implementation, customization, integration, and support. We work closely with clients to deliver tailored solutions that meet their specific needs and help them achieve their digital goals. With a proven track record of success and a commitment to staying up-to-date with the latest trends and technologies, Intverse is your go-to partner for all your platform needs, our experts are here to help. Check out our website to learn more about how we can help you succeed. IntVerse