Skip to main content
Ankra integrates with external Helm chart registries, allowing you to deploy charts from any HTTP or OCI-compatible repository. This integration enables your team to use both public charts and private internal charts through the Ankra platform.

Supported Registry Types

HTTP Registries

Traditional Helm repositories that serve an index.yaml file over HTTP/HTTPS.

OCI Registries

Container registries that support Helm charts stored as OCI artifacts.

HTTP Registry Integration

HTTP registries are traditional Helm repositories that serve charts via HTTP. They use an index.yaml file to list available charts and versions.

How It Works

  1. Index Sync: Ankra fetches the index.yaml from your registry URL
  2. ETag Optimization: Uses HTTP headers to skip syncs when the index hasn’t changed
  3. Chart Download: New chart versions are downloaded and cached
  4. Metadata Extraction: README, values.yaml, and JSON schema are extracted for the UI

Supported Providers

ProviderURL FormatNotes
ChartMuseumhttps://charts.example.comSelf-hosted chart repository
Harborhttps://harbor.example.com/chartrepo/PROJECTRequires chartrepo path
Nexushttps://nexus.example.com/repository/helm-hosted/Hosted repository type
JFrog Artifactoryhttps://artifactory.example.com/artifactory/helm-localLocal or virtual repo
AWS S3https://bucket.s3.amazonaws.com/chartsWith static website hosting

Adding an HTTP Registry

1

Navigate to Repositories

Go to ChartsRepositories and click Add.
2

Enter Registry URL

Enter your registry URL, e.g., https://charts.example.com
3

Select Credential

If authentication is required, select a credential from the dropdown.
4

Save

Click Add to connect the registry.

OCI Registry Integration

OCI registries store Helm charts as container images using the OCI specification. This is the modern approach supported by Helm 3.8+.

How It Works

  1. Manifest Fetch: Ankra reads the OCI manifest to discover chart tags
  2. Layer Download: Chart layers are downloaded from the registry
  3. Artifact Extraction: The Helm chart is extracted from OCI layers
  4. Version Tracking: Each tag is tracked as a chart version

Supported Providers

ProviderURL FormatAuthentication
GitHub Container Registryoci://ghcr.io/ORG/chartsPersonal Access Token
Google Artifact Registryoci://REGION-docker.pkg.dev/PROJECT/REPOService Account JSON
Amazon ECRoci://ACCOUNT.dkr.ecr.REGION.amazonaws.comAWS credentials
Azure Container Registryoci://REGISTRY.azurecr.io/chartsService Principal
Docker Huboci://registry-1.docker.io/ORGAccess Token
Harboroci://harbor.example.com/PROJECTUsername/Password

Adding an OCI Registry

1

Navigate to Repositories

Go to ChartsRepositories and click Add.
2

Enter OCI Registry URL

Enter your registry URL with the oci:// prefix, e.g., oci://ghcr.io/your-org/charts
3

Select Credential

If authentication is required, select a credential from the dropdown.
4

Save

Click Add to connect the registry.
OCI URLs must start with oci://. Ankra automatically detects the registry type based on the URL prefix.

Sync Configuration

Default Sync Interval

Registries sync automatically every 2 minutes by default.

Custom Sync Intervals

You can configure sync intervals per registry:
  • Minimum: 10 seconds
  • Maximum: 24 hours (86400 seconds)
  • Disabled: Set to 0 to disable automatic sync

Sync Behavior

1

Check for Updates

Ankra checks if the registry index has changed using ETag or Last-Modified headers.
2

Detect New Versions

New chart versions are identified by comparing against previously synced versions.
3

Download Charts

New versions are downloaded and stored. Metadata is extracted for browsing.
4

Retry on Failure

Failed downloads are automatically retried with exponential backoff.

Authentication

Most registries require authentication. See Credentials Integration for setting up:
  • Username/password authentication
  • Token-based authentication
  • Service account credentials

Troubleshooting

HTTP Registry Issues

IssueCauseSolution
404 Not FoundWrong URL pathVerify the URL points to the repository root
401 UnauthorizedMissing credentialsAdd registry credential
TimeoutNetwork/firewallCheck connectivity to the registry
Empty chart listInvalid index.yamlVerify the registry is properly configured

OCI Registry Issues

IssueCauseSolution
Invalid referenceMissing oci:// prefixAdd oci:// to the URL
Manifest unknownChart doesn’t existCheck the repository path
UnauthorizedToken expiredRefresh or recreate credentials
Tag not foundVersion doesn’t existVerify chart versions in the registry

API Integration

Use the Ankra API to manage registries programmatically:
# List registries
curl -H "Authorization: Bearer $TOKEN" \
  https://platform.ankra.app/api/v1/registries

# Add HTTP registry
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-charts", "url": "https://charts.example.com", "kind": "http_registry"}' \
  https://platform.ankra.app/api/v1/registries

# Add OCI registry
curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "ghcr-charts", "url": "oci://ghcr.io/org/charts", "kind": "oci_registry"}' \
  https://platform.ankra.app/api/v1/registries
See the API Reference for complete documentation.