Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hasheddan/crossflux
@crossplane and @fluxcd
https://github.com/hasheddan/crossflux
Last synced: 2 months ago
JSON representation
@crossplane and @fluxcd
- Host: GitHub
- URL: https://github.com/hasheddan/crossflux
- Owner: hasheddan
- Created: 2021-04-05T21:10:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-04-13T03:47:44.000Z (over 3 years ago)
- Last Synced: 2024-04-22T00:37:19.747Z (5 months ago)
- Size: 50.8 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# crossflux
Crossflux is an example of managing an entire organization from a single
repository using GitOps on [Crossplane](https://crossplane.io/),
[Flux](https://fluxcd.io/), and [Kubernetes](https://kubernetes.io/).## Repository Layout
- `clusters`: sources and reconciliations for Flux
- Controls how Flux will reconcile changes in this repo
- `packages`: source for Crossplane configuration packages
- `platform`: manifests for building platform on Crossplane
- Controls what platform APIs are offered to developers in the cluster
- Installs configurations from `packages`
- `teams`: team-specific manifests for applications and infrastructure
- See the [teams documentation](./docs/teams.md) for more information## Setup
The following steps assume a running Kubernetes cluster and a `kubeconfig`
context that points to it.1. Install Flux CLI
```
curl -s https://toolkit.fluxcd.io/install.sh | sudo bash
```2. Install Latest Flux Version
```
flux install --version=latest --namespace=flux-system
```3. Create Github Deploy Key Secret
```
flux create secret git git-deploy-key \
--url=ssh://[email protected]/hasheddan/crossflux \
--namespace=flux-system \
--export > git-deploy-key.yaml
```Add public key as a deploy key in your repo by following the steps in [the
GitHub
documentation](https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys),
then create the `Secret` in the cluster.```
kubectl apply -f credentials/git-deploy-key.yaml
```4. Create Provider Credential Secrets
```
kubectl create secret generic aws-creds -n crossplane-system --from-file=creds=./credentials/aws-creds.conf
```5. Bootstrap Crossflux Cluster
```
kubectl apply -f clusters/controlplane
```