This adds a clanModule for `mycelium`.
`Mycelium` is an IPv6 overlay network written in Rust.
Each node that joins the overlay network will receive an overlay network IP in the 400::/7 range.
An example configuration might look like this in the inventory:
```nix
mycelium.default = {
roles.peer.machines = [
"berlin"
"munich"
];
config = {
topLevelDomain = "m";
openFirewall = true;
addHostedPublicNodes = true;
};
};
```
This will add the machines named `berlin` and `munich` to the `mycelium` vpn.
And will also set the toplevel domain of the mycelium vpn to `m`, meaning the
machines are now reachable via `berlin.m` and `munich.m`.
Some test were referring to the whole source code via ${self} which amde them rebuild on every single commit.
This is not mitigated by introduceing `self.filter { include = [...]; }` allowin to a content addressed subset of the source code in tests.
Initialize the `importer` inventory module.
It is a power user module that allows for convenient, flexible,
structured imports for hosts.
It exposes the `extraModules` functionality of the inventory,
without any added configuration.
Closes: #2356
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.
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 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.
Init zerotertier-static-peers module.
This module automatically configures the networkId.
It will automatically accept peers based on their zerotier-ips in the
clan flake.