Adding your own registry to Ankra enables you and your team to distribbute helm-charts as add-on components that can be deployed onto a cluster as part of a stack.

🏗️ Create your own registry with Github

Use any OCI Helm registry (GHCR, Harbor, JFrog Artifactory, AWS ECR, Google Artifact Registry, etc.) with Ankra. This guide focuses on GitHub Container Registry (GHCR) as a free and accessible example.

GitHub Container Registry (GHCR) provides a free and reliable way to host your own Helm charts.

Prerequisites

Before you begin, ensure you have:

  • A GitHub account
  • Git installed on your machine
  • Helm CLI installed (Installation guide)
  • A GitHub Personal Access Token with write:packages permission

To create a Personal Access Token: Go to GitHub Settings > Developer settings > Personal access tokens > Generate new token, and select the write:packages scope.

Step 1: Set Up Your Repository

Create a new GitHub repository to host your Helm charts:

  1. Go to GitHub and create a new repository (e.g., my-helm-charts)
  2. Clone the repository locally:
git clone https://github.com/YOUR_USERNAME/my-helm-charts.git
cd my-helm-charts

Step 2: Create Your Helm Chart

Generate a new Helm chart or prepare an existing one:

# Create a new chart
helm create my-sparkly-app

# Or copy an existing chart to your repository
# cp -r /path/to/existing/chart ./my-sparkly-app

This creates a basic chart structure:

my-sparkly-app/
├── Chart.yaml
├── values.yaml
├── templates/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── ...
└── charts/

Step 3: Configure Your Chart

Edit the Chart.yaml file to include proper metadata:

apiVersion: v2
name: my-sparkly-app
description: A Helm chart for my sparkly application
type: application
version: 1.0.0
appVersion: "1.0.0"
home: https://github.com/YOUR_USERNAME/my-helm-charts
sources:
  - https://github.com/YOUR_USERNAME/my-helm-charts
maintainers:
  - name: Your Name
    email: your.email@example.com

Step 4: Package Your Chart

Package your Helm chart into a .tgz file:

helm package my-sparkly-app

This creates a file like my-sparkly-app-1.0.0.tgz.

Step 5: Login to GHCR

Authenticate with GitHub Container Registry using your Personal Access Token:

echo $GITHUB_TOKEN | helm registry login ghcr.io -u YOUR_USERNAME --password-stdin

Replace $GITHUB_TOKEN with your actual token and YOUR_USERNAME with your GitHub username.

Step 6: Push Your Chart

Push your packaged chart to GHCR:

helm push my-sparkly-app-1.0.0.tgz oci://ghcr.io/YOUR_USERNAME/helm-charts

Step 7: Verify your registry

After pushing, your chart will be available at:

oci://ghcr.io/YOUR_USERNAME/helm-charts/my-sparkly-app

You can verify the upload by checking your GitHub repository’s “Packages” tab.

Step 8: Add your registry to Ankra

Now that your chart is published, add your GHCR registry to Ankra:

  1. Go to the Add-ons section in your Ankra Platform
  2. Click “Manage Sources”
  3. Add your GHCR registry URL: `

Adding your own registry to Ankra enables you and your team to distribbute helm-charts as add-on components that can be deployed onto a cluster as part of a stack.

🏗️ Create your own registry with Github

Use any OCI Helm registry (GHCR, Harbor, JFrog Artifactory, AWS ECR, Google Artifact Registry, etc.) with Ankra. This guide focuses on GitHub Container Registry (GHCR) as a free and accessible example.

GitHub Container Registry (GHCR) provides a free and reliable way to host your own Helm charts.

Prerequisites

Before you begin, ensure you have:

  • A GitHub account
  • Git installed on your machine
  • Helm CLI installed (Installation guide)
  • A GitHub Personal Access Token with write:packages permission

To create a Personal Access Token: Go to GitHub Settings > Developer settings > Personal access tokens > Generate new token, and select the write:packages scope.

Step 1: Set Up Your Repository

Create a new GitHub repository to host your Helm charts:

  1. Go to GitHub and create a new repository (e.g., my-helm-charts)
  2. Clone the repository locally:
git clone https://github.com/YOUR_USERNAME/my-helm-charts.git
cd my-helm-charts

Step 2: Create Your Helm Chart

Generate a new Helm chart or prepare an existing one:

# Create a new chart
helm create my-sparkly-app

# Or copy an existing chart to your repository
# cp -r /path/to/existing/chart ./my-sparkly-app

This creates a basic chart structure:

my-sparkly-app/
├── Chart.yaml
├── values.yaml
├── templates/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── ...
└── charts/

Step 3: Configure Your Chart

Edit the Chart.yaml file to include proper metadata:

apiVersion: v2
name: my-sparkly-app
description: A Helm chart for my sparkly application
type: application
version: 1.0.0
appVersion: "1.0.0"
home: https://github.com/YOUR_USERNAME/my-helm-charts
sources:
  - https://github.com/YOUR_USERNAME/my-helm-charts
maintainers:
  - name: Your Name
    email: your.email@example.com

Step 4: Package Your Chart

Package your Helm chart into a .tgz file:

helm package my-sparkly-app

This creates a file like my-sparkly-app-1.0.0.tgz.

Step 5: Login to GHCR

Authenticate with GitHub Container Registry using your Personal Access Token:

echo $GITHUB_TOKEN | helm registry login ghcr.io -u YOUR_USERNAME --password-stdin

Replace $GITHUB_TOKEN with your actual token and YOUR_USERNAME with your GitHub username.

Step 6: Push Your Chart

Push your packaged chart to GHCR:

helm push my-sparkly-app-1.0.0.tgz oci://ghcr.io/YOUR_USERNAME/helm-charts

Step 7: Verify your registry

After pushing, your chart will be available at:

oci://ghcr.io/YOUR_USERNAME/helm-charts/my-sparkly-app

You can verify the upload by checking your GitHub repository’s “Packages” tab.

Step 8: Add your registry to Ankra

Now that your chart is published, add your GHCR registry to Ankra:

  1. Go to the Add-ons section in your Ankra Platform
  2. Click “Manage Sources”
  3. Add your GHCR registry URL: `