This repository contains all definitions to manage the resources in my TuringPi 2 Cluster. It serves as the single source of truth for ArgoCD.
Created during my semester thesis 4. More information can be found here.
This repository demonstrates the GitOps process using ArgoCD to manage Kubernetes deployments. ArgoCD ensures that the Kubernetes cluster state matches the desired state defined in git, making git the single source of truth.
The GitOps workflow in this repository separates the source code and Kubernetes definitions into different repositories:
- Source Code Repository: Contains the application code and its CI/CD pipeline, which publishes an Open Container Image (OCI).
- Kubernetes Repository: Uses the OCI from the source code repository and deploys it to the cluster using ArgoCD.
ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It compares the state defined in git with the actual state in the cluster and synchronizes them.
Renovate Bot keeps ArgoCD up to date by opening pull requests for new versions. Service owners can merge these pull requests to deploy the updates. After merging, ArgoCD synchronizes the cluster with the updated git definitions.
This repository includes the following applications and definitions:
Application Name | Namespace | Description |
---|---|---|
longhorn | longhorn-system | Storage management |
cert-manager | cert-manager | Certificate management |
gitea | s-gitea | Self-hosted Git service |
nextcloud-int | s-nextcloud-int | Internal Nextcloud instance |
nextcloud-prod | s-nextcloud | Production Nextcloud instance |
This project is licensed under the MIT License. See the LICENSE file for details.
Created in 2024 by Yves Wetter.