Credential Types
Registry Credentials
Authenticate with Helm chart registries (HTTP and OCI).
Git Credentials
Connect to GitHub, GitLab, and other Git providers.
Hetzner API Credentials
Authenticate with Hetzner Cloud for cluster provisioning.
OVH API Credentials
Authenticate with OVH Cloud for cluster provisioning.
SSH Key Credentials
SSH keys for server access on provisioned clusters.
Registry Credentials
Registry credentials authenticate with Helm chart repositories. They’re used when syncing charts from private registries.Creating a Registry Credential
Enter Details
Name: A unique identifier (e.g.,
ghcr-auth, harbor-prod)
Username: Your registry username
Password: Your registry password or access tokenProvider-Specific Setup
GitHub Container Registry (GHCR)
GitHub Container Registry (GHCR)
Create a Personal Access Token:
- Go to GitHub → Settings → Developer settings → Personal access tokens
- Generate a token with
read:packagesscope - For pushing charts, also add
write:packages
Google Artifact Registry
Google Artifact Registry
Create a Service Account:
- Go to Google Cloud Console → IAM → Service Accounts
- Create a new service account
- Grant “Artifact Registry Reader” role
- Create and download a JSON key
_json_key
Password: The entire JSON key file contentsAmazon ECR
Amazon ECR
Get an auth token:Credential values:
Username:
AWS
Password: The token from the command aboveAzure Container Registry
Azure Container Registry
Create a Service Principal:Credential values:
Username: The
appId from the output
Password: The password from the outputDocker Hub
Docker Hub
Create an Access Token:
- Go to Docker Hub → Account Settings → Security
- Create a new Access Token with Read permissions
Harbor
Harbor
Use a robot account (recommended):
- Go to your Harbor project → Robot Accounts
- Create a new robot account with pull permissions
robot$project+name (the robot account name)
Password: The robot account secretJFrog Artifactory
JFrog Artifactory
Create an API Key or Access Token:
- Go to User Profile → Edit Profile
- Generate an API Key or create an Access Token
Hetzner API Credentials
Hetzner API credentials store your Hetzner Cloud API token, used when provisioning and managing Hetzner clusters. The token is validated against the Hetzner API on creation.Creating a Hetzner API Credential
Get a Hetzner API Token
- Log in to the Hetzner Console
- Select your project
- Go to Security → API Tokens
- Click Generate API Token with Read & Write permissions
- Copy the token (it’s only shown once)
Listing Hetzner Credentials
OVH API Credentials
OVH API credentials store your OVH Cloud application key, application secret, consumer key, and project ID used when provisioning and managing OVH clusters. The credentials are validated against the OVH API on creation.Creating OVH API Credentials
Generate OVH API Credentials
- Go to https://api.ovh.com/createToken/
- Log in with your OVH account
- Set the following permissions:
GET, POST, PUT, DELETE on
/cloud/project/*GET on/cloud/project - Click Create Keys
- Save the Application Key, Application Secret, and Consumer Key
Get Your Project ID
- Log in to the OVH Control Panel
- Go to Public Cloud → select your project
- Copy the Project ID from the dashboard URL or project settings
Add to Ankra (UI)
Go to Credentials → Add → OVH, enter a name, your project ID, and paste your API credentials.
Listing OVH Credentials
SSH Key Credentials
SSH key credentials store public keys that are deployed to servers during cluster provisioning. You can either provide your own public key or let Ankra generate a keypair for you.Creating an SSH Key Credential
Choose an approach
Bring your own key: Provide an existing SSH public key
Generate a keypair: Ankra generates a new Ed25519 keypair and returns the private key for you to save
Add to Ankra (UI)
Go to Credentials → Add → SSH Key, enter a name, and either paste your public key or choose Generate.
Listing SSH Key Credentials
Using Credentials
With Helm Registries
When adding a registry, select the credential to use for authentication:- Go to Charts → Repositories → Add
- Enter the registry URL
- Select the credential from the dropdown
- Click Add
With GitOps
Credentials are automatically used when syncing configurations to GitHub repositories connected via OAuth.Managing Credentials
View Credentials
Go to Credentials to see all stored credentials:- Name and type
- Creation date
- Associated registries (if any)
Update a Credential
- Click on the credential name
- Update the username or password
- Click Save
Updating a credential automatically applies to all registries using it. No need to reconfigure registries.
Delete a Credential
- Go to Credentials
- Click the menu (⋮) next to the credential
- Select Delete
Security
Storage
Credentials are stored securely using HashiCorp Vault:- Encrypted at rest
- Access controlled per organization
- Audit logging for all access
Best Practices
Use Tokens, Not Passwords
Prefer access tokens over account passwords. Tokens can be scoped and revoked independently.
Minimum Permissions
Grant only the permissions needed. For chart sync, read-only access is sufficient.
Rotate Regularly
Rotate credentials periodically, especially for production registries.
Separate by Environment
Use different credentials for dev, staging, and production registries.
Troubleshooting
Authentication Errors
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid credentials | Verify username and password/token |
| 403 Forbidden | Insufficient permissions | Check the token has required scopes |
| Token expired | Temporary tokens (ECR) | Refresh the token |
| Connection refused | Network issue | Check firewall and network access |
Common Issues
“unauthorized: authentication required”- The credential wasn’t selected when adding the registry
- Edit the registry and select the correct credential
- The token may have been revoked or expired
- Regenerate the token and update the credential
- The token doesn’t have read access to the repository
- Update the token permissions or use a different account