Environment setup

To set up for charts development, command line tools and a Kubernetes cluster are required.

Required developer tools

The minimum tools required for charts development are documented on the Required tools page.

We recommend using asdf to install these tools. This allows us to easily switch between versions, Helm 3.4 and 3.5 for example.

Additional developer tools

Developers working on charts also often use the following tools:

Tool nameBenefitsExample use caseLink(s)
asdfEasily switch between versions of your favorite runtimes and CLI tools.Switching between Helm 3.4 and Helm 3.5 binaries.GitHub
kubectx & kubens Manage and switch between Kubernetes contexts and namespaces.Setting default namespace per selected cluster context.GitHub
k3sLightweight Kubernetes installation (<40MB).Quick and reliable local chart testing.Homepage
k9sGreatly reduced typing of kubectl commands.Navigate and manage cluster resources quickly in a command line interface.GitHub
lensHighly visual management and navigation of clusters.Navigate and manage cluster resources quickly in a standalone desktop application.Homepage
sternEasily follow logs from multiple pods.See logs from a set of GitLab pods together.GitHub
diveExplore container layers.A tool for exploring a container image, layer contents, and discovering ways to shrink the size of your Docker/OCI image. GitHub, GitLab Unfiltered

Kubernetes cluster

A cloud or local Kubernetes cluster may be used for development. For simple issues, a local cluster is often enough to test deployments. When dealing with networking, storage, or other complex issues, a cloud Kubernetes cluster allows you to more accurately recreate a production environment.

Local cluster

The following local cluster options are supported:

Cloud cluster

The following cloud cluster options are supported:

  • GKE - Google Kubernetes Engine, recommended
  • EKS - Amazon Elastic Kubernetes Service

Installing from repository

Details on installing the chart from the Git repository can be found in the developer deployment documentation.