This adds a clanModule that will initialize the `system.stateVersion`
upon deploying the machine for the first time.
If the machine is completely reinstalled, then the state version might be
regenerated. But care should be taken if rebuilding from backups.
When attempting to follow the docs on the installer, this error comes
up:
```
$ clan flash --flake git+https://git.clan.lol/clan/clan-core \
--ssh-pubkey ~/.ssh/id_ed25519.pub \
--keymap us \
--language en_US.utf-8 \
--dry-run flash-installer
ERROR: Language 'en_US.utf-8' is not a valid language. Run 'clan flash --list-languages' to see a list of possible languages.
```
I only decided to clean up the docs, but I'm also okay with just
downcasing the locales in `list_possible_languages()`.
The garage module sets up backups for metadata automatically and
generates keys needed for deployment automatically.
What is still needed in a distributed deployment is sharing of the
generated rpc keys with other garage instances.
This removes the `config` subcommand from the cli and the documentation
to keep the api surface small.
While this functionality was convenient it doesn't need to be surfaced
by the clan cli.
The remaining `config` python module should be ported to the `clan-app`
in a follow up pr. Because the functionality is currently only used by
the `clan-app`.
Ideally together with: #1830.
This adds the `mumble` clan-module.
This allows for voice chatting in a true peer-to-peer network.
Every machine that has the module enabled is a potential host and
client - every participant has the same role.
It doesn't matter who in the network is online - as long as one of the
machines is up, one server is up and people can start their voice chat.
- add index pages for each reference documentation category
- move concepts pages into the reference hierarchy
- render clanModules overview page in the style of the CLI overview