An open API service indexing awesome lists of open source software.

https://github.com/appvia/kubernetes-platform

ArgoCD managed Kubernetes pattern for Platform teams
https://github.com/appvia/kubernetes-platform

argocd gitops kubernetes platform platform-engineering

Last synced: 3 months ago
JSON representation

ArgoCD managed Kubernetes pattern for Platform teams

Awesome Lists containing this project

README

          

# Kubernetes Platform

This repository contains a reference pattern for managing a collection of Kubernetes clusters using Argo CD as the deployment framework.

## Documentation

You can find the documentation for the platform at [appvia.github.io/kubernetes-platform](https://appvia.github.io/kubernetes-platform/).

## Why This Pattern?

Managing multiple Kubernetes clusters across different environments presents challenges in consistency, scalability, and automation. This solution provides:

- Standardized provisioning – Automate cluster creation with Infrastructure as Code (IaC).
- Gitops-based management – Declarative, version-controlled deployments using ArgoCD.
- Flexible architectures – Support for both distributed and hub-and-spoke models.
- Secure multi-cluster operations – Enforce policies, RBAC, and secrets management at scale.
- Tenant applications – Provides an easy way for tenant teams to onboard their workloads.

## Operating Model

The following depicts the operating model for the platform.

- A platform is made of up a minimum of two repositories, acting as the source of truth
- `EKS Platform`: (this repository) provides a baseline configuration and collection of tested components.
- `Tenant Repository`: both a consumer of this package, and the source of truth for the applications deployed to the platform.

### The Platform Team

- The platform team has ownership of the EKS Platform repository, this responsibility includes:
- Keep the platform up to date with the latest version of the Kubernetes, and the components deployed to it.
- Provide a tested and approved collection of components, to produce an outcome.
- Provide a mechanism for development teams to deploy their applications to the platform.
- Provide a security baseline for workloads running on the platform.
- Work with the development teams to improve the platform, and the applications running on it.

### The Tenant (Development) Team

- The `Tenant Repository` is owned by the development teams, and is used to deploy their applications to the platform.
- They consume the platform repository as a software dependency.
- They are responsible for promoting platform revisions through the software development lifecycle (e.g., dev → test → production) to ensure the application stack remains aligned.