https://github.com/gambol99/kubernetes-platform
ArgoCD managed Kubernetes pattern for Platform teams
https://github.com/gambol99/kubernetes-platform
argocd eks kubernetes platform platform-engineering self-service terraform
Last synced: 8 months ago
JSON representation
ArgoCD managed Kubernetes pattern for Platform teams
- Host: GitHub
- URL: https://github.com/gambol99/kubernetes-platform
- Owner: gambol99
- Created: 2025-02-21T11:32:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-23T18:16:40.000Z (about 1 year ago)
- Last Synced: 2025-04-06T01:06:03.439Z (about 1 year ago)
- Topics: argocd, eks, kubernetes, platform, platform-engineering, self-service, terraform
- Language: Shell
- Homepage: https://gambol99.github.io/kubernetes-platform/
- Size: 1.55 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kubernetes Platform
This repository contains a pattern for the configuration of management of a collection of Kubernetes clusters, using ArgoCD as the deployment framework.
## Documentation
You can find the documentation for the platform in the [https://gambol99.github.io/kubernetes-platform](https://gambol99.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.
- Tenants Applications - Provides tenants consumers an easy way 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.
- The consumer the platform repository as a software dependency.
- They are responsible iterating the platform repository the revisions through the software development lifecycle i.e promoting the revisions though dev, test, and production to ensure the application stack is aligned.