This repository demonstrates the usage of FluxCD for GitOps-based Kubernetes deployments. It contains sample applications and configurations that showcase FluxCD's capabilities.
.
├── apps/ # Application manifests
│ └── base/ # Base configurations
│ ├── podinfo/ # Podinfo application (Git source)
│ ├── capacitor/ # Capacitor application (OCI source)
│ └── nginx/ # Nginx application (Helm source)
├── clusters/ # Cluster-specific configurations
│ └── dev/ # Development cluster
└── flux-system/ # FluxCD system configurations
- Kubernetes cluster
fluxCLI installedkubectlconfigured to access your cluster
-
Fork this repository on your profile
-
Export environment variables:
export GITHUB_USER= export GITHUB_TOKEN= -
Clone the forked repository:
git clone https://github.com/${GITHUB_USER}/release-fluxcd-demo.git cd release-fluxcd-demo
-
Bootstrap FluxCD in your cluster:
flux bootstrap github \ --owner=${GITHUB_USER} \ --repository=release-fluxcd-demo \ --branch=main \ --personal \ --path=clusters/dev -
Verify the installation:
flux get all -A
A simple demo application that shows various Kubernetes features. It's deployed in the podinfo namespace using GitRepository source and Kustomize deployment.
A demo application showcasing OCI (Open Container Initiative) OCIRepository integration. It's deployed in the capacitor namespace using OCIRepository and Kustomize deployment.
A web server application demonstrating Helm integration. It's deployed in the nginx using HelmRepository source and HelmRelease deployment.