|
1 | 1 | --- |
2 | 2 | sidebar_position: 1 |
3 | 3 | --- |
| 4 | +# Installation |
4 | 5 |
|
5 | | -# Installation |
| 6 | +For this example we create a functioning local setup using kind. |
| 7 | +The end goal is to leverage Flux and Kustomize to manage the cluster. |
| 8 | + |
| 9 | +We will configure Flux to install, test and upgrade a demo app using |
| 10 | +`OCIRepository` and `HelmRelease` custom resources. |
| 11 | +Flux will monitor the Helm repository, and it will automatically |
| 12 | +upgrade the Helm releases to their latest chart version based on semver ranges. |
| 13 | + |
| 14 | +## Prerequisites |
| 15 | + |
| 16 | +- [Docker](https://www.docker.com) or [podman](https://podman.io): install either docker or podman in order to run the kind cluster |
| 17 | +- [Kind](https://kind.sigs.k8s.io/): In order to have a local kubernetes cluster you can use kind. Kind Installation: [Kind Quick Start](https://kind.sigs.k8s.io/docs/user/quick-start/) |
| 18 | + On macOS using Homebrew: |
| 19 | + ```sh |
| 20 | + brew install kind |
| 21 | + ``` |
| 22 | +- [Helm](https://helm.sh/): In order to bootstrap flux, helm is required. Checkout various ways to install helm [here](https://helm.sh/docs/intro/install/) |
| 23 | + On macOS using Homebrew: |
| 24 | + ```sh |
| 25 | + brew install helm |
| 26 | + ``` |
| 27 | +- Either specify your github.com username using the `GH_USER` environment variable OR install the gh cli using: |
| 28 | +```sh |
| 29 | +brew install gh |
| 30 | +``` |
| 31 | + |
| 32 | +## Bootstrap local environment |
| 33 | + |
| 34 | +clone the repo https://github.com/openmfp/helm-charts |
| 35 | + |
| 36 | +The `scripts/start.sh` contains all steps needed to bootstrap the local environment. The script will automate the following steps: |
| 37 | +- Create kind cluster called `openmfp` |
| 38 | +- Install flux |
| 39 | +- Prepare secrets |
| 40 | + |
| 41 | +```sh |
| 42 | +## [Secrets]: configure the following environment variables: |
| 43 | +export KEYCLOAK_SECRET='' # client secret for the 'openmfp' keycloak client |
| 44 | +export GH_TOKEN='' # token used to pull the openmfp docker images |
| 45 | +``` |
| 46 | +- apply flux deployment configuration |
| 47 | + |
| 48 | +To start the bootstrapping and local installation invoke |
| 49 | +```sh |
| 50 | +./local-setup/scripts/start.sh |
| 51 | +``` |
| 52 | + |
| 53 | +Once the process is completed you can access the environment using http://localhost:8000 |
| 54 | + |
| 55 | +# Optional Steps |
| 56 | + |
| 57 | +- Keycloak client secret: It is possible to set a custom keycloak client secret by setting the `KEYCLOAK_SECRET` environment variable before running the bootstrap script. |
0 commit comments