wip - setup docs (#34)

This commit is contained in:
Stephan Lüscher 2024-05-10 19:57:12 +00:00
parent 7af09dbc6e
commit ba4ac1be63
No known key found for this signature in database
GPG key ID: 445779060FF3D3CF
3 changed files with 47 additions and 2 deletions

View file

@ -79,7 +79,7 @@ These tools and service are necessary to get started:
### Setup / Heat-Up / Cool-Down
For the initial setup and maintenance of the forge you can use the `forge.sh` script:
For the initial setup and maintenance of the forge you can use the [forge.sh](forge.sh) script:
<!-- markdownlint-disable MD013 -->
@ -90,3 +90,5 @@ For the initial setup and maintenance of the forge you can use the `forge.sh` sc
| `./forge.sh cool-down` | Stop the forge |
<!-- markdownlint-enable MD013 -->
Details about what the setup does can be found [here](./docs/setup.md).

View file

@ -32,7 +32,7 @@ etc. is stored there. You can inspect the volume with:
```
Under the `"Mountpoint:"` you find the actual path on your file system. I would recommend you
symlink this folder to a path more rememberable. For example you can do:
symlink this folder to a path more rememberable. For example you can do the following:
```sh
FORGE_POD_DATA_DIR="$(podman volume inspect ublue-os_forge-data | jq -r '.[0].Mountpoint')"

43
docs/setup.md Normal file
View file

@ -0,0 +1,43 @@
# Forge setup
The initial setup and maintenance of the forge you can use the `forge.sh` script:
<!-- markdownlint-disable MD013 -->
| Command | Description |
| ---------------------- | ----------------------------------------------------------- |
| `./forge.sh setup` | Setup the forge for the first time or update existing setup |
| `./forge.sh heat-up` | Start the forge |
| `./forge.sh cool-down` | Stop the forge |
<!-- markdownlint-enable MD013 -->
## What happens during setup
Just in case you haven't have a look at the [forge.sh](forge.sh) script. The following
things happen during the setup:
1. The [pre-requisites](../README.md#pre-requisites) are checked
2. You will be asked for your user credentials
This is not to spy on you. We need them to execute the [configure_host.yml](../anvil/ansible/playbooks/configure_host.yml).
It will configure the necessary settings so you don't have to do that manually.
See step 7.
3. A podman network `ublue-os_forge` is created. All containers from this setup will be
attached to it in the next step
4. All containers are built and spun up according to the [forge-pod.yml](../forge-pod.yml)
specification.
5. The forge SSH key is added to your `~/.ssh/authorized_keys` file.
The root certificate and key are created during container build mentioned in the
previous step.
6. The forge root certificate is copied to the [data](index.md#configuration) directory.
7. The [configure_host.yml](../anvil/ansible/playbooks/configure_host.yml) playbook mentioned
in step 2 is executed.
This will created the necessary host entries in `/etc/hosts`, copy the forge root certificate
to `/etc/pki/ca-trust/source/anchors/`, `update-ca-trust` and create the example configuration
in the [data](index.md#configuration) directory.