mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-20 13:11:44 +00:00
New repo layout (#217)
* Updated instructions to match new repo layout * Updating file paths to match the new repo organization * Updated one reference from /flux-system to /bootstrap * Changed one more reference to /flux-system to /bootstrap * Typo * Added requested formatting and missing backslash in bootstrap command. Co-authored-by: David Young <davidy@funkypenguin.co.nz>
This commit is contained in:
@@ -65,7 +65,7 @@ Create a GitHub [personal access token](https://github.com/settings/tokens) that
|
||||
|
||||
### Create GitHub Repo
|
||||
|
||||
Now we'll create a repo for flux - it can (*and probably should!*) be private. I've created a [template repo to get you started](https://github.com/geek-cookbook/template-flux/generate), but you could simply start with a blank repo too.[^1]
|
||||
Now we'll create a repo for flux - it can (*and probably should!*) be private. I've created a [template repo to get you started](https://github.com/geek-cookbook/template-flux/generate), but you could simply start with a blank repo too (*although you'll need at least a `bootstrap` directory included or the command below will fail*).[^1]
|
||||
|
||||
### Bootstrap Flux
|
||||
|
||||
@@ -86,7 +86,8 @@ GITHUB_TOKEN=<your-token>
|
||||
flux bootstrap github \
|
||||
--owner=my-github-username \
|
||||
--repository=my-github-username/my-repository \
|
||||
--personal
|
||||
--personal \
|
||||
--path bootstrap
|
||||
```
|
||||
|
||||
Once the flux bootstrap is completed without errors, list the pods in the cluster again, with `kubectl get pods -A`. This time, you see something like this:
|
||||
@@ -115,12 +116,12 @@ Flux installed its controllers into the `flux-system` namespace, and created two
|
||||
|
||||
If you used my template repo, some extra things also happened..
|
||||
|
||||
1. I'd pre-populated the `flux-system` directory in the template repo with 3 folders:
|
||||
1. [helmrepositories](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/helmrepositories), for storing repositories used for deploying helm charts
|
||||
2. [kustomizations](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/kustomizations), for storing additional kustomizations *(which in turn can reference other paths in the repo*)
|
||||
3. [namespaces](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/namespaces), for storing namespace manifests (*since these need to exist before we can deploy helmreleases into them*)
|
||||
2. Because the `flux-system` Kustomization includes everything **recursively** under `flux-system` path in the repo, all of the above were **also** applied to the cluster
|
||||
3. I'd pre-prepared a [Namespace](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/namespaces/namespace-podinfo.yaml), [HelmRepository](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/helmrepositories/helmrepository-podinfo.yaml), and [Kustomization](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/kustomizations/kustomization-podinfo.yaml) for "podinfo", a simple example application, so these were applied to the cluster
|
||||
1. I'd pre-populated the `bootstrap` directory in the template repo with 3 folders:
|
||||
1. [helmrepositories](https://github.com/geek-cookbook/template-flux/tree/main/bootstrap/helmrepositories), for storing repositories used for deploying helm charts
|
||||
2. [kustomizations](https://github.com/geek-cookbook/template-flux/tree/main/bootstrap/kustomizations), for storing additional kustomizations *(which in turn can reference other paths in the repo*)
|
||||
3. [namespaces](https://github.com/geek-cookbook/template-flux/tree/main/bootstrap/namespaces), for storing namespace manifests (*since these need to exist before we can deploy helmreleases into them*)
|
||||
2. Because the `bootstrap` Kustomization includes everything **recursively** under `bootstrap` path in the repo, all of the above were **also** applied to the cluster
|
||||
3. I'd pre-prepared a [Namespace](https://github.com/geek-cookbook/template-flux/blob/main/bootstrap/namespaces/namespace-podinfo.yaml), [HelmRepository](https://github.com/geek-cookbook/template-flux/blob/main/bootstrap/helmrepositories/helmrepository-podinfo.yaml), and [Kustomization](https://github.com/geek-cookbook/template-flux/blob/main/bootstrap/kustomizations/kustomization-podinfo.yaml) for "podinfo", a simple example application, so these were applied to the cluster
|
||||
4. The kustomization we added for podinfo refers to the `/podinfo` path in the repo, so everything in **this** folder was **also** applied to the cluster
|
||||
5. In the `/podinfo` path of the repo is a [HelmRelease](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/helmrelease-podinfo.yaml) (*an object describing how to deploy a helm chart*), and a [ConfigMap](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/configmap-pofinfo-helm-chart-value-overrides-configmap.yaml) (*which ontain the `values.yaml` for the podinfo helm chart*)
|
||||
6. Flux recognized the podinfo **HelmRelease**, applied it along with the values in the **ConfigMap**, and consequently we have podinfo deployed from the latest helm chart, into the cluster, and managed by Flux! 💪
|
||||
|
||||
Reference in New Issue
Block a user