This repository contains the CI/CD configuration and infrastructure-as-code setup for managing Kubernetes clusters using the Sidero Omni platform. All cluster operations, including provisioning, patching, and updates, are automated through GitHub Actions workflows.
.github/workflows/β CI/CD pipelines that automate cluster lifecycle management.clusters/β Definitions and configuration patches for managed clusters (e.g.,khan,kronos).general/β Shared resources and global configurations (e.g.,MachineClasses).
Note: This project assumes familiarity with Kubernetes and the Sidero Omni platform.
- GitHub Actions (for CI/CD automation)
- Access to Sidero Omni
- The following GitHub Secrets configured in your repository:
OMNI_SERVICE_ACCOUNT_KEYβ Sidero Omni service account credentials.OMNI_ENDPOINTβ The API endpoint of your Sidero Omni instance.GITHUB_TOKENβ Used by GitHub Actions to post PR comments and authenticate with the GitHub API.
To update a cluster or its resources:
- Edit the appropriate YAML files under
clusters/orgeneral/. - Push your changes or open a pull request.
- Monitor the GitHub Actions pipeline for deployment status.
Cluster and General configurations are fully automated through GitHub Actions using two workflows:
- Handles cluster-specific configuration updates under
clusters/. - On pushes or pull requests affecting
clusters/**files:- Validates the cluster configuration using
omnictl. - Runs a diff (
plan) to show the proposed changes to the cluster state. - Posts the plan and validation results as a comment on pull requests.
- Applies changes automatically on push to the
mainbranch.
- Validates the cluster configuration using
- Handles shared/global configuration updates under
general/(e.g.,MachineClasses). - On pushes or pull requests affecting
general/**files:- Merges all YAML files into a temporary config file.
- Validates the combined configuration.
- Runs a dry-run plan and posts the output as a comment on pull requests.
- Applies changes automatically on push to the
mainbranch.