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.

🔗 How to add a registry to Ankra

The contents of the registry you add is available to your account only by default.

  1. Go to the Add-ons section in your Ankra Platform
  2. Click “Manage Sources”
  3. Add your registry URL, for example:
    • GHCR: oci://ghcr.io/YOUR_USERNAME/helm-charts
    • Harbor: https://your-harbor.example.com/chartrepo/your-project
    • Google Artifact Registry: oci://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/helm-charts
    • Other OCI registries: oci://registry.example.com/helm-charts

Once added: All Helm charts in your registry are available as add-ons in the UI or CLI, ready to be configured, deployed and managed on your clusters.


🏗️ Create Your Own Registry with GHCR

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

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: oci://ghcr.io/YOUR_USERNAME/helm-charts
  4. Provide authentication if needed (your GitHub username and Personal Access Token)

Once added, your my-sparkly-app chart will automatically appear as an available add-on in your organization’s Ankra Platform, ready to be installed on any of your clusters.


With your own registry, custom Helm charts can be distributed to your team and integrated with Ankra’s add-on management workflow engine.