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/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Unify account terminology and clarify ACL commands

2e024cc96a391c0959ad2914caeed78b600fcfc1 · Keenan Nemetz · 14d ago · parent ab326d3a

Unify account terminology and clarify ACL commands

Use account consistently in the CLI, help, docs, and remote admin messages. Rename the CLI account command from user to account while retaining the old user spelling as an alias.

Replace positional ACL mutations with explicit verbs such as set-role, protect add, runners remove, and checks enable. Update local and remote admin parsing, hints, docs, and tests.

Tidy repository filter alignment and remove duplicated issue/change counts from page subtitles.

docs/cli.md +51−32

@@ -35,50 +35,52 @@ vole version
35 35
36 36 ## Server management
37 37
38 `vole admin` is the single namespace for account (`user`), repository (`repo`), and
39 access (`acl`) management.
38 `vole admin` is the single namespace for account, repository (`repo`), and access
39 (`acl`) management.
40 40 Without `--remote`, it changes the instance named by the local `vole.toml`. With
41 41 `--remote`, it sends the same command over SSH and must be run by an instance
42 42 admin.
43 43
44 44 ```sh
45 vole admin user create alice --key ~/.ssh/id_ed25519.pub
46 vole admin --remote origin user create bob --key bob.pub
47 vole admin --remote ssh://git@forge.example.com:2222 user list
45 vole admin account create alice --key ~/.ssh/id_ed25519.pub
46 vole admin --remote origin account create bob --key bob.pub
47 vole admin --remote ssh://git@forge.example.com:2222 account list
48 48 ```
49 49
50 50 See [Accounts and access](accounts-and-access.md#remote-administration).
51 51
52 The pre-admin spellings `vole user`, `vole repo`, `vole acl`, `vole index` and
53 `vole gc` remain as compatibility aliases; documentation and help use `vole admin`.
52 `vole admin account` is the documented spelling. The old `vole admin user` form
53 and the pre-admin aliases (`vole account`, `vole user`, `vole repo`, `vole acl`,
54 `vole index`, and `vole gc`) remain for compatibility; documentation and help use
55 `vole admin account`.
54 56
55 57 ### Accounts
56 58
57 The `user` commands manage accounts.
59 The `account` commands manage accounts.
58 60
59 61 ```sh
60 vole admin user create [--key <file|->] [--role <role>] <name>
61 vole admin user invite <name>
62 vole admin user credentials <name>
63 vole admin user rm-credential <name> <credential-id>
64 vole admin user sessions <name>
65 vole admin user revoke-sessions [--all | <name>]
66 vole admin user add-key --key <file|-> <name>
67 vole admin user rm-key <name> <fingerprint>
68 vole admin user retire <name>
69 vole admin user role <name> <none|read|contribute|maintain|admin>
70 vole admin user grant-admin <name>
71 vole admin user revoke-admin <name>
72 vole admin user show <name>
73 vole admin user list
74 vole admin user backup <path>
62 vole admin account create [--key <file|->] [--role <role>] <name>
63 vole admin account invite <name>
64 vole admin account credentials <name>
65 vole admin account rm-credential <name> <credential-id>
66 vole admin account sessions <name>
67 vole admin account revoke-sessions [--all | <name>]
68 vole admin account add-key --key <file|-> <name>
69 vole admin account rm-key <name> <fingerprint>
70 vole admin account retire <name>
71 vole admin account role <name> <none|read|contribute|maintain|admin>
72 vole admin account grant-admin <name>
73 vole admin account revoke-admin <name>
74 vole admin account show <name>
75 vole admin account list
76 vole admin account backup <path>
75 77 vole whoami [--remote <name>]
76 78 ```
77 79
78 80 Omitting `--key` creates a browser-only account and prints a one-time enrollment
79 81 link. `--role` sets the account's instance-wide role; it applies to public
80 repositories, while `admin` applies to every repository. `user role` changes it
81 later. `user invite` issues a fresh link for an existing account. `user backup`
82 repositories, while `admin` applies to every repository. `account role` changes it
83 later. `account invite` issues a fresh link for an existing account. `account backup`
82 84 writes a file on the host, so it is local-only.
83 85
84 86 The account name is the only identifier an account has. It cannot be changed: it
@@ -102,16 +104,33 @@ New repositories are private. The owner becomes the first admin.
102 104 Instance-wide roles are account standing; repository rules are set with `acl`:
103 105
104 106 ```sh
105 vole admin user role <name> <none|read|contribute|maintain|admin>
107 vole admin account role <name> <none|read|contribute|maintain|admin>
108
106 109 vole admin acl show <repo>
107 vole admin acl set <repo> <account> <none|read|contribute|maintain|admin>
108 vole admin acl default <repo> <none|read|contribute|maintain|admin>
109 vole admin acl protect <repo> <ref-pattern>...
110 vole admin acl approvals <repo> <n>
111 vole admin acl checks <repo> <on|off>
112 vole admin acl runners <repo> [<account>...] [--add <account> | --remove <account> | --clear]
110 vole admin acl set-role <repo> <account> <none|read|contribute|maintain|admin>
111 vole admin acl set-default-role <repo> <none|read|contribute|maintain|admin>
112 vole admin acl set-approvals <repo> <n>
113
114 vole admin acl checks enable <repo>
115 vole admin acl checks disable <repo>
116
117 vole admin acl protect list <repo>
118 vole admin acl protect add <repo> <ref-pattern>...
119 vole admin acl protect remove <repo> <ref-pattern>...
120 vole admin acl protect set <repo> <ref-pattern>...
121 vole admin acl protect clear <repo>
122
123 vole admin acl runners list <repo>
124 vole admin acl runners add <repo> <account>...
125 vole admin acl runners remove <repo> <account>...
126 vole admin acl runners set <repo> <account>...
127 vole admin acl runners clear <repo>
113 128 ```
114 129
130 `set-role` and `set-default-role` accept `none` to remove access. `protect set`
131 and `runners set` replace the whole list; the `add` and `remove` forms change one
132 entry at a time.
133
115 134 See [Accounts and access](accounts-and-access.md) and
116 135 [Runners](runner.md#who-can-run-jobs-and-report-results).
117 136