Skip to content

Cloud-native-engineering/sem04_k8s

Repository files navigation

Sem04 - K8s GitOps

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.

Overview

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.

gitops

GitOps Workflow

The GitOps workflow in this repository separates the source code and Kubernetes definitions into different repositories:

  1. Source Code Repository: Contains the application code and its CI/CD pipeline, which publishes an Open Container Image (OCI).
  2. Kubernetes Repository: Uses the OCI from the source code repository and deploys it to the cluster using ArgoCD.

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 Integration

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.

Contents & Applications

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

License

This project is licensed under the MIT License. See the LICENSE file for details.

Author

Created in 2024 by Yves Wetter.

About

GitOps - ArgoCD Definitions to manage k8s via GitOps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published