Skip to main content
Ankra makes it easy to manage clusters using GitOps. Define your cluster’s configuration, manifests, and add-ons in YAML files, store them in Git, and let Ankra handle the automation.

What is GitOps?

GitOps is a way to manage your Kubernetes infrastructure using Git as the single source of truth. With Ankra:
  • Store configuration in Git - Your cluster definitions, manifests, and add-ons live in your repository
  • Automatic sync - Ankra detects changes and applies them to your clusters
  • Version control - Track every change, roll back when needed, review via pull requests
  • Team collaboration - Multiple team members can update configurations safely

How It Works

Ankra uses include paths to let you split your configuration into multiple files or folders. This keeps your setup modular, maintainable, and easy to scale.

Why Use Include Paths?

CI/CD Integration

Keep manifests and add-ons in separate files or folders for easy automation in your CI/CD pipelines. Update only what you need, and trigger deployments automatically.

Modularity & Reuse

Organize resources by team, environment, or feature. Reuse the same manifests or add-ons across different stacks or clusters.

Team Collaboration

Let different teams own and update their own YAML files without merge conflicts. Everyone works from the same Git repository.

Scalability

Easily add new resources or stacks by dropping new YAML files into the right folder-no need to edit a giant config file.

Repository Structure

Organize your Git repository with separate folders for manifests and add-ons:
my-repo/
  manifests/
    namespace.yaml
    rbac.yaml
  addons/
    ingress.yaml
    monitoring.yaml
  import-cluster.yaml

Cluster Definition Example

Your import-cluster.yaml references files using include paths:
apiVersion: v1
kind: ImportCluster
metadata:
  name: my-cluster
spec:
  git_repository:
    provider: github
    credential_name: my-credential
    branch: main
    repository: my-org/my-repo
  stacks:
  - name: platform-stack
    manifests:
    - include: manifests/
    addons:
    - include: addons/
Ankra will automatically load and apply all YAML files from the manifests/ and addons/ folders. You can also include individual files for more control:
manifests:
- include: manifests/namespace.yaml
- include: manifests/rbac.yaml

How Ankra Syncs Your Cluster

  1. You update or add YAML files in your Git repository
  2. Ankra detects the change and automatically syncs your cluster
  3. All included manifests and add-ons are applied in the order you specify

Monitoring Sync Status

Track the status of your GitOps syncs in the cluster settings.

Sync Status Banner

Navigate to your cluster → SettingsGitOps to see the current sync status:
StatusDescription
SyncedAll configurations are up-to-date with the repository
SyncingA sync is currently in progress
ErrorThe last sync failed—check error details below
Not ConfiguredGitOps is not yet connected to a repository

Sync Progress

During a sync, you’ll see the progress through these phases:
  1. Fetching - Pulling latest changes from Git
  2. Validating - Checking YAML syntax and configuration
  3. Applying - Deploying changes to the cluster
  4. Completed - Sync finished successfully

Manual Sync

Click Sync Now to trigger an immediate sync from your Git repository. Use this when:
  • You want to apply changes without waiting for automatic detection
  • Webhook delivery failed
  • You need to force a refresh

Sync History

View a complete history of all GitOps syncs for your cluster.

Accessing Sync History

  1. Go to your cluster → SettingsGitOps
  2. Scroll down to the Sync History table

History Table Features

The sync history table shows:
ColumnDescription
StatusSuccess, Failed, or Running badge
SourceHow the sync was triggered (webhook or manual)
CommitThe Git commit SHA with a link to view in GitHub
StartedWhen the sync began (relative timestamp)
Triggered ByWho or what initiated the sync
Table Features:
  • Pagination: Navigate through history (10 entries per page)
  • Sorting: Click column headers to sort by any field
  • Commit Links: Click the SHA to view the commit in GitHub

Sync Metadata

Each sync entry includes detailed metadata:
  • Last Commit SHA: The exact commit that was synced
  • Sync Source: webhook (automatic) or manual
  • Timestamp: When the sync occurred
  • Retry Count: Number of retry attempts (if any)
  • IAC Files Link: Direct link to view the configuration files in your repository

Handling Sync Errors

When a sync fails, Ankra provides detailed error information to help you fix issues quickly.

Error Display

Failed syncs show:
  • Validation Errors: Issues with YAML syntax or configuration
  • Field-Level Guidance: Specific fields that need attention
  • Missing Fields: Required fields that weren’t provided
  • Typo Detection: Suggestions for misspelled field names

Common Error Types

YAML syntax issues or invalid configuration values.Solution: Check the error details for the specific field and fix the YAML in your repository.
Required configuration fields weren’t provided.Solution: The error shows which fields are missing with examples of expected values.
A resource already exists or conflicts with another definition.Solution: Check for duplicate resource names or conflicting configurations.

Retrying Failed Syncs

  1. Fix the issues in your Git repository
  2. Commit and push the changes
  3. Click Sync Now or wait for automatic detection
  4. Monitor the new sync in the history table

Best Practices

Keep related resources together. Group manifests and add-ons by environment, team, or feature.
Use clear folder names. Make it obvious what each folder contains (e.g., manifests/, addons/, prod/, dev/).
Automate with CI/CD. Trigger Ankra syncs on pull requests or merges to main.
Review changes in Git. Use pull requests to review and approve updates to your cluster configuration.

Troubleshooting

If Ankra isn’t syncing as expected:
IssueSolution
Sync not triggeringCheck that Git credentials are valid and have repo access
Files not foundVerify all include paths exist in the repository
Invalid configurationEnsure YAML files are syntactically correct
Wrong branchConfirm the branch name in your cluster definition matches
Use the Ankra WebUI to see sync status and any errors. The Operations page shows deployment history and helps identify issues.

Global Helm Registries

Ankra comes with a curated index of preloaded Helm charts that are ready to use out of the box. These registries power the add-on catalog in the Ankra platform.

Community Contributions

Want to add a Helm chart that would benefit the entire Ankra community? Submit a pull request to the ankra-global-resources repository. Your contribution will be available to all Ankra users.
The ankra-global-resources repository contains:
  • Helm Registries - Preloaded chart repositories that appear in the Ankra add-on index
  • Global Resources - Platform-wide resource definitions

Contributing a Helm Registry

  1. Fork the ankra-global-resources repository
  2. Add your Helm registry definition to the helm_registries/ folder
  3. Submit a pull request with a description of the charts and their use cases
  4. Once merged, your charts will be available to all Ankra users
When contributing, ensure the Helm charts are well-maintained, secure, and provide value to the broader Kubernetes community.

  • Stacks - Learn about organizing resources into stacks
  • Add-ons - Install Helm charts as add-ons
  • Manifests - Deploy raw Kubernetes manifests

Still have questions? Join our Slack community and we’ll help out.