Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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.

server/server.go

History on main · 64 commit(s)

ed03b3d1 Serve repositories from the root of the URL space Keenan Nemetz 6h ago
d37d301f Publish repositories as Go modules and move the module path to rodent.software Keenan Nemetz 18h ago
6ce635a8 Customize the instance from an instance repository Keenan Nemetz 1d ago
0c40a1d3 Store repository secrets encrypted, with a CLI and a settings form Keenan Nemetz 7d ago
eb07ff56 Add event, schedule and manual workflow triggers Keenan Nemetz 8d ago
73755a56 Keep a finished CI attempt and drain before shutting down Keenan Nemetz 9d ago
dced06da Apply a push's index delta as the push lands, and check the ref by reading it Keenan Nemetz 10d ago
5ece70a5 Stream run logs over the runner's SSH channel Keenan Nemetz 10d ago
e5478085 Test the merge result before landing it Keenan Nemetz 11d ago
a76b2f38 Compress hosted site responses too Keenan Nemetz 12d ago
9e8cc155 Bound what one repository and one account can cost Keenan Nemetz 12d ago
78cd3437 Bound what an unauthenticated SSH client can spend Keenan Nemetz 13d ago
ed181212 Validate the configuration and harden what a deployment creates Keenan Nemetz 13d ago
86991e70 Bound the anonymous Git HTTP read path Keenan Nemetz 13d ago
c717d4eb Reorganise the web package around one implementation per rule Keenan Nemetz 13d ago
4506a4d3 Expand the admin status page into an operational dashboard Keenan Nemetz 14d ago
5b814e99 Add instance-wide roles and refine access UI Keenan Nemetz 14d ago
9579c1f9 Fold admin work into repository settings and a Users page Keenan Nemetz 14d ago
074ae160 Build a landing page and simplify the forge chrome Keenan Nemetz 14d ago
62576fa8 Identify accounts by their registered name Keenan Nemetz 14d ago
642e5994 Add automatic HTTPS with ACME Keenan Nemetz 14d ago
ec343013 Create and edit releases from the browser Keenan Nemetz 15d ago
09b15120 Add the status page and language-aware file icons Keenan Nemetz 15d ago
67a308ba Add file history and blame views Keenan Nemetz 15d ago
f204e7ee Add the repository compare view Keenan Nemetz 15d ago
aef99284 Add repository code search Keenan Nemetz 15d ago
0b26547e Add the workflow list and run cancel/rerun actions Keenan Nemetz 15d ago
455835e7 Let instance admins create repositories Keenan Nemetz 15d ago
395554f4 Add instance user administration Keenan Nemetz 15d ago
2973f727 Add the instance access editor and repository danger zone Keenan Nemetz 15d ago
1948358f Add repository settings for description, branch, and visibility Keenan Nemetz 15d ago
f6f4b1db Build out change review and threaded discussions Keenan Nemetz 15d ago
a464f892 Turn the code tab into an editor-style file browser Keenan Nemetz 15d ago
f09ef39e Build out the forge web UI Keenan Nemetz 15d ago
474a812d Name branches after the account, and labels after the display Keenan Nemetz 16d ago
f920a9f1 Allow opt-in open registration Keenan Nemetz 16d ago
6c84d387 Add browser auth, contributor access, and gated CI Keenan Nemetz 16d ago
3abbe749 Add remote administration and local workflow runs Keenan Nemetz 16d ago
c5902451 refactor Keenan Nemetz 16d ago
65b88b3b Phase 5: an object is served only through a repository that holds it Keenan Nemetz 16d ago
bf1e027c Phase 5: file locking, for the repositories git cannot merge Keenan Nemetz 16d ago
8d336083 Phase 4: one repository may be bounded, and a freed slot wakes the parked Keenan Nemetz 17d ago
ac433531 Phase 4: a runners page, built from the queue's own presence Keenan Nemetz 17d ago
a945ae55 Phase 4: the queue is reconciled from the refs, not only from the spool Keenan Nemetz 17d ago
ec5c519c Phase 4: access rules live in the instance database Keenan Nemetz 17d ago
5d6db024 Delete the instance signing key Keenan Nemetz 17d ago
a63475ce Phase 7: the CLI knows who you are and where you wrote it Keenan Nemetz 17d ago
427c4761 The roster is a database, not a repository Keenan Nemetz 17d ago
88e980b0 Phase 7 slice 7: the build deploys the site Keenan Nemetz 17d ago
213f4d6d Phase 7 slice 6: a job declares its outputs, the runner publishes them Keenan Nemetz 17d ago
85cc89fe Phase 7 slice 3: artifacts attach over SSH and are one pointer deep Keenan Nemetz 17d ago
c56911e2 Phase 7 slice 2: a release is a tag the web can read Keenan Nemetz 17d ago
78912785 Phase 7 slice 1: review on the web, so approving does not start with a clone Keenan Nemetz 17d ago
d3296cda Phase 6 slice 1: the tree is the site Keenan Nemetz 17d ago
64ac5071 Phase 5: LFS objects, over SSH for writes and the proxy for reads Keenan Nemetz 17d ago
35eaeccf Phase 4 slice 3: checks on the gate, and statuses on the page Keenan Nemetz 17d ago
b44cbfaf Phase 4 slice 2: the queue and the runner Keenan Nemetz 17d ago
31df8bae Accounts with stable ids; the roster moves into the system repository Keenan Nemetz 17d ago
1eeca4e6 Phase 3: change requests, with approvals bound to the commit they reviewed Keenan Nemetz 18d ago
92b37587 One metadata branch: refs/heads/vole, linear history, audited rewrites Keenan Nemetz 18d ago
37c01e5a Phase 2, first slice: issues as files on a branch Keenan Nemetz 18d ago
197ecaa2 Replace the git-backed roster with a trusted keys directory Keenan Nemetz 18d ago
a5f19b3c Move writes to SSH, drop web authentication, keep identity in git Keenan Nemetz 18d ago
653e0cfc Phase 1: a working git remote with access control Keenan Nemetz 18d ago