Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Updates README to point to the GitOps based install guide. #68

Merged
merged 1 commit into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 4 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The requirements are a Kubernetes cluster, which
this repo will contain information about building different
clusters and then a pile of bare metal systems that can
be ingested into the stack to be available to be consumed
via Openstack Ironic.
via OpenStack Ironic.

## Basic Deploy

Expand All @@ -29,55 +29,7 @@ development environment including those tools by launching `nix-shell` in the
project directory. If you don't have `nix-shell` on your machine, it can be
[downloaded here](https://nixos.org/download.html).

### Bootstrapping and Operators

There's a handful of base required components to get a cluster ready to accept
traffic and utilize ArgoCD to deploy the rest of the stack. We'll call that
"bootstrap". Below is the easy one liner but you can look at
[./bootstrap/README.md](./bootstrap/README.md) for detailed info.

```bash
./bootstrap/bootstrap.sh
```

### (Optional) Install MetalLB

[Install MetalLB](./components/20-metallb/README.md)


At this point ArgoCD can start doing the heavy lifting.

```bash
kubectl -n argocd apply -k apps/operators/
```

### Secrets

To make it possible to utilize GitOps, we need to have our secrets pre-created
and not randomly generated. A better solution for secrets will ultimately be
needed but for now we can generate them easily for a dev environment and
deploy them. Visit [/components/01-secrets/README.md](./components/01-secrets/README.md)
for specific steps. Otherwise just follow the steps below.

```bash
# generate secrets
./scripts/easy-secrets-gen.sh
# make the namespaces where the secrets will live
kubectl apply -k components/00-namespaces/
# load the secrets
kubectl apply -k components/01-secrets/
```

### Deploy the UnderStack components

```bash
kubectl -n argocd apply -k apps/components/
```

ArgoCD should successfully get Nautobot deployed. Now come the OpenStack
components which aren't working with GitOps methods at this time.

[Install Keystone](./components/keystone/README.md)

[Configure environment for Keystone/Dex auth](./components/dexidp/README.md).
### Install

Follow the [GitOps Install Guide](https://rackerlabs.github.io/understack/gitops-install/)
which walks through creating a configuration and bootstrapping UnderStack.
8 changes: 8 additions & 0 deletions docs/gitops-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,11 @@ At this point ArgoCD will work to deploy Understack.
[app-of-apps]: <https://argo-cd.readthedocs.io/en/stable/operator-manual/cluster-bootstrapping/>
[argocd]: <https://argo-cd.readthedocs.io/en/stable/>
[gh-deploy-keys]: <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys#set-up-deploy-keys>

## Advanced Configurations

### Argo CD

The UnderStack deploy makes a hardcoded Argo CD config that works with github.com and a SSH key.
If you use something, such as a privately hosted Git service, you can refer to the Argo CD
documentation for configuration details: <https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#unknown-ssh-hosts>
Loading