vole
Clone
Read only, no credentials:
https://rodent.software/vole.git
Write over SSH with a registered key:
git clone ssh://git@rodent.software:2222/vole.git
A free and open-source forge that lives in your Git repo.
Create accounts with a key and find the instance config
c36d507302c0f7fb24af6eba390c4121d67318c3 · Keenan Nemetz · 16d ago · parent 3abbe749
Create accounts with a key and find the instance config An account is now written with its first key in one transaction, so a name cannot be claimed without a credential. add-key remains for additional keys, and remote user create forwards the key on stdin. Local commands now resolve the config from --config, VOLE_CONFIG, ./vole.toml, or ~/.vole/vole.toml before falling back to defaults. init prints --config in its next steps when the instance will not be discovered automatically.
docs/configuration.md +21
| @@ -15,6 +15,27 @@ ssh_addr = "127.0.0.1:2222" | |||
| 15 | 15 | # public_url = "https://forge.example.com" | |
| 16 | 16 | ``` | |
| 17 | 17 | ||
| 18 | ## Which config Vole reads | ||
| 19 | |||
| 20 | Local commands look for a config in this order: | ||
| 21 | |||
| 22 | 1. `--config <path>` | ||
| 23 | 2. the `VOLE_CONFIG` environment variable | ||
| 24 | 3. `./vole.toml` | ||
| 25 | 4. `~/.vole/vole.toml` | ||
| 26 | |||
| 27 | If none exists, Vole uses the built-in defaults with `data_dir = "./data"`. | ||
| 28 | This is why `vole admin init --dir ~/.vole` works from any directory: later | ||
| 29 | commands find `~/.vole/vole.toml` without repeating the path. For an instance | ||
| 30 | somewhere else, run commands from that directory, pass `--config`, or set | ||
| 31 | `VOLE_CONFIG`: | ||
| 32 | |||
| 33 | ```sh | ||
| 34 | vole admin --config /srv/vole/vole.toml user list | ||
| 35 | export VOLE_CONFIG=/srv/vole/vole.toml | ||
| 36 | vole admin user list | ||
| 37 | ``` | ||
| 38 | |||
| 18 | 39 | ## Settings | |
| 19 | 40 | ||
| 20 | 41 | | Setting | Default | What it does | | |