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.
|
520470e1
Keenan Nemetz
16d ago
|
1 | # Vole documentation |
| 2 | ||
|
e73d453f
Keenan Nemetz
2d ago
|
3 | Vole is a forge that lives in your Git repo. It is for developers and small |
| 4 | teams who want their repository to keep working even when someone else's cloud | |
| 5 | does not. | |
|
520470e1
Keenan Nemetz
16d ago
|
6 | |
| 7 | New to Vole? Start with [Getting started](getting-started.md). It takes you from a | |
| 8 | source checkout to a repository you can clone. | |
| 9 | ||
| 10 | After that, pick the page that matches what you want to do. | |
| 11 | ||
| 12 | ## Everyday use | |
| 13 | ||
| 14 | | Page | What it helps you do | | |
| 15 | |---|---| | |
| 16 | | [Getting started](getting-started.md) | Build Vole, create an account, and make your first repository | | |
| 17 | | [Issues](issues.md) | Track bugs and tasks, comment on them, and edit them | | |
|
ab326d3a
Keenan Nemetz
14d ago
|
18 | | [Change requests](change-requests.md) | Ask for a change request to be reviewed, approved, and merged | |
|
70b70264
Keenan Nemetz
15d ago
|
19 | | [Workflows](workflows.md) | Add workflows, define jobs, and publish artifacts | |
| 20 | | [Runners](runner.md) | Start a machine, execute jobs, and report results | | |
|
520470e1
Keenan Nemetz
16d ago
|
21 | | [LFS](lfs.md) | Store large files and lock files that Git cannot merge | |
| 22 | | [Releases](releases.md) | Publish a release with notes, source archives, and binaries | | |
| 23 | | [Sites](sites.md) | Serve a repository branch as a website | | |
|
d37d301f
Keenan Nemetz
19h ago
|
24 | | [Go modules](go-modules.md) | Import a public repository with `go get`, with no vanity service in front of the forge | |
|
520470e1
Keenan Nemetz
16d ago
|
25 | |
|
70b70264
Keenan Nemetz
15d ago
|
26 | ## Reference |
| 27 | ||
| 28 | | Page | What it helps you do | | |
| 29 | |---|---| | |
| 30 | | [Workflow reference](reference/workflow-reference.md) | Look up every workflow field, limit, and default | | |
| 31 | | [Image reference](reference/image-reference.md) | Look up every `.vole/images` field, limit, and default | | |
| 32 | ||
|
520470e1
Keenan Nemetz
16d ago
|
33 | ## Running an instance |
| 34 | ||
| 35 | | Page | What it helps you do | | |
| 36 | |---|---| | |
|
9bce3723
Keenan Nemetz
3d ago
|
37 | | [Deploying](deploy/README.md) | Put an instance on a server with a first-boot file | |
|
520470e1
Keenan Nemetz
16d ago
|
38 | | [Configuration](configuration.md) | Change addresses, limits, and site settings | |
|
ab326d3a
Keenan Nemetz
14d ago
|
39 | | [Accounts and access](accounts-and-access.md) | Add accounts, manage SSH keys, and set permissions | |
|
520470e1
Keenan Nemetz
16d ago
|
40 | | [Operations](operations.md) | Back up, recover, and clean up an instance | |
|
0448a978
Keenan Nemetz
10d ago
|
41 | | [Load testing](load-testing.md) | Measure throughput and latency on a real instance | |
|
3b39a84c
Keenan Nemetz
14d ago
|
42 | | [Packages](packaging.md) | Build, install, and upgrade a `.deb` or `.rpm` | |
|
520470e1
Keenan Nemetz
16d ago
|
43 | | [CLI reference](cli.md) | Look up a command or option | |
| 44 | ||
| 45 | ## Design | |
| 46 | ||
| 47 | [Architecture](architecture.md) explains how trust, storage, and the code are | |
| 48 | organized. | |
| 49 | ||
|
ab326d3a
Keenan Nemetz
14d ago
|
50 | ## Terminology |
| 51 | ||
| 52 | Use one word for each concept, in the interface and the guides: | |
| 53 | ||
| 54 | - **account**: the identity that owns keys, passkeys, sessions, and roles. The CLI | |
|
2e024cc9
Keenan Nemetz
14d ago
|
55 | spells its commands `vole admin account ...`; `vole admin user ...` remains as |
| 56 | an alias. The database file is `data/users.db`; in prose it is still an account. | |
|
b7396a11
Keenan Nemetz
6h ago
|
57 | - **repository**: the Git repository and what belongs to it. The CLI uses `repo`, |
| 58 | URLs use `/<name>`, and the forge's own pages live under `/-/`; do not call it a | |
| 59 | project. | |
|
ab326d3a
Keenan Nemetz
14d ago
|
60 | - **change request**: a proposed branch reviewed before landing. The CLI uses |
|
8fb7aabf
Keenan Nemetz
3d ago
|
61 | `change` and the route is `/changes`. |
|
ab326d3a
Keenan Nemetz
14d ago
|
62 | - **enrollment link**: the one-time link that lets someone register a passkey and |
|
2e024cc9
Keenan Nemetz
14d ago
|
63 | sign in. The CLI command is `vole admin account invite`, and some code calls it |
| 64 | an invite. | |
|
ab326d3a
Keenan Nemetz
14d ago
|
65 | - **instance admin**: the instance-wide `admin` role. Say "instance admin", not |
| 66 | "administrator", when that is what you mean. | |
| 67 | - **sign in** / **sign out**: the browser action. `login` and `logout` remain in | |
| 68 | routes, setting names, and code. | |
| 69 | ||
|
8fb7aabf
Keenan Nemetz
3d ago
|
70 | The `data/users.db` filename and the `user` command aliases keep their |
| 71 | historical spellings; everything the interface and documentation say uses the | |
| 72 | words above. | |
|
ab326d3a
Keenan Nemetz
14d ago
|
73 | |
|
520470e1
Keenan Nemetz
16d ago
|
74 | ## A few conventions |
| 75 | ||
| 76 | - Examples assume `vole` is on your `PATH`, or that you are running `./vole` from | |
| 77 | the repository root. | |
| 78 | - Use `--remote <name>` when a clone has more than one remote. The default is | |
| 79 | `origin`. | |
| 80 | - Commands accept options in the same styles Git does: `--long value`, | |
| 81 | `--long=value`, `-o value`, `-ovalue`, repeated options, and `--` to stop | |
| 82 | option parsing. | |
| 83 | - Commands that write data need a Git remote. Read-only commands such as | |
| 84 | `vole issue list` work from a clone without network access. |