Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmontes11/flux-infrastructure
Flux proof of concept for bootstraping core infrastructure and the tenants that sit on top of it.
https://github.com/mmontes11/flux-infrastructure
flux flux2 fluxcd gitops kubernetes multi-cluster multi-tenant sealed-secrets
Last synced: about 2 months ago
JSON representation
Flux proof of concept for bootstraping core infrastructure and the tenants that sit on top of it.
- Host: GitHub
- URL: https://github.com/mmontes11/flux-infrastructure
- Owner: mmontes11
- Created: 2022-03-19T12:31:05.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-31T20:34:27.000Z (over 2 years ago)
- Last Synced: 2024-10-11T02:51:02.517Z (2 months ago)
- Topics: flux, flux2, fluxcd, gitops, kubernetes, multi-cluster, multi-tenant, sealed-secrets
- Language: Shell
- Homepage:
- Size: 53.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# flux-infrastructure
[Flux](https://fluxcd.io/) proof of concept for bootstraping core infrastructure and the tenants that sit on top of it.
### Getting started
1. Create a new cluster with [KIND](https://kind.sigs.k8s.io/):
```bash
./scripts/kind.sh
```2. Place your TLS certificate and private key at in the `certs/` directory.
3. Fork this repository and then execute this commands to install Flux and bootstrap the cluster:
```bash
export GITHUB_USER=
export GITHUB_TOKEN=
./scripts/bootstrap.sh
```### Clusters
The current setup supports bootstrapping multiple clusters just by adding `Kustomization` resources on the [clusters](./clusters) folder.
### Infrastructure
Core infrastructure will be reconciled respecting the order of the dependencies defined in the [infrastructure](./infrastructure) folder:
- [sources](./infrastructure/sources): `GitRepository` and `HelmRepository` CRDs used by Flux
- [rbac](./infrastructure/rbac): Common role based access control resources
- [nginx](https://github.com/kubernetes/ingress-nginx): Ingress controller to handle the `Ingress` resources
- [sealed-secrets](https://github.com/bitnami-labs/sealed-secrets): Sealed secrets controller to manage `SealedSecret` CRDs### Tenants
A tenant is a set of resources deployed on top of the core infrastructure in multiple clusters. They can be configured by adding `Kustomization` resources on the [tenants](./tenants) folder:
- [podinfo](https://github.com/mmontes11/flux-tenant-podinfo): Example Go application