detached b310320

docs: fix outdated references and broken links

- Update /v2/token references to /auth/* endpoints
- Update rate-limiting docs to reflect current architecture
- Fix registry-auth.md references to auth.md
- Fix commands.md references to cli/index.md
- Add missing docs/reference/index.md
- Update env var names (GORDON_AUTH_* instead of GORDON_REGISTRY_AUTH_*)
commit
b3103201b7c8383b5b98be61733a85c572db3a3c
author
brice · · 2026-01-18 09:01 UTC
parent
0a90c36
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
10 files · +55 -40
M docs/config/auth.md +1 -1
@@ -321,5 +321,5 @@ gordon auth internal
321321 ## Related
322322
323323 - [Secret Providers](./secrets.md)
324-- [CLI Commands](../cli/commands.md)
324+- [CLI Commands](../cli/index.md)
325325 - [GitHub Actions Deployment](../deployment/github-actions.md)
@@ -321,5 +321,5 @@ gordon auth internal
321 ## Related321 ## Related
322 322
323 - [Secret Providers](./secrets.md)323 - [Secret Providers](./secrets.md)
324-- [CLI Commands](../cli/commands.md)324+- [CLI Commands](../cli/index.md)
325 - [GitHub Actions Deployment](../deployment/github-actions.md)325 - [GitHub Actions Deployment](../deployment/github-actions.md)
M docs/config/logging.md +1 -1
@@ -202,5 +202,5 @@ Sensitive values (passwords, tokens) are automatically redacted.
202202 ## Related
203203
204204 - [Configuration Overview](./index.md)
205-- [CLI Commands](../cli/commands.md)
205+- [CLI Commands](../cli/index.md)
206206 - [Troubleshooting](../reference/troubleshooting.md)
@@ -202,5 +202,5 @@ Sensitive values (passwords, tokens) are automatically redacted.
202 ## Related202 ## Related
203 203
204 - [Configuration Overview](./index.md)204 - [Configuration Overview](./index.md)
205-- [CLI Commands](../cli/commands.md)205+- [CLI Commands](../cli/index.md)
206 - [Troubleshooting](../reference/troubleshooting.md)206 - [Troubleshooting](../reference/troubleshooting.md)
M docs/config/rate-limiting.md +28 -27
@@ -12,8 +12,8 @@ Rate limiting prevents:
1212
1313 Rate limiting applies to:
1414 - **Registry API** (`/v2/*`) — Global + per-IP limits
15-- **Token endpoint** (`/v2/token`) — Same limiter as registry (Global + per-IP)
16-- **Admin API** (`/admin/*`) — Separate per-IP limit only
15+- **Auth endpoints** (`/auth/*`) — Same limiter as registry (Global + per-IP)
16+- **Admin API** (`/admin/*`) — Global + per-IP limits (separate limiter instances)
1717
1818 ## Quick Start
1919
@@ -60,35 +60,36 @@ Gordon uses two separate rate limiters:
6060 │ Incoming Request │
6161 └─────────────────────────────────────────────────────────┘
6262 │
63- ┌───────────────┴───────────────┐
64- ▼ ▼
65- ┌───────────────┐ ┌───────────────┐
66- │ /v2/* routes │ │ /admin/* routes│
67- └───────────────┘ └───────────────┘
68- │ │
69- ▼ ▼
70-┌─────────────────────────┐ ┌─────────────────────────┐
71-│ Registry Rate Limiter │ │ Admin Rate Limiter │
72-│ ┌───────────────────┐ │ │ ┌───────────────────┐ │
73-│ │ Global Limiter │ │ │ │ Per-IP Limiter │ │
74-│ │ (global_rps) │ │ │ │ (per_ip_rps) │ │
75-│ └───────────────────┘ │ │ └───────────────────┘ │
76-│ ┌───────────────────┐ │ └─────────────────────────┘
77-│ │ Per-IP Limiters │ │
78-│ │ (per_ip_rps) │ │
79-│ └───────────────────┘ │
80-└─────────────────────────┘
63+ ┌───────────────────┼───────────────────┐
64+ ▼ ▼ ▼
65+┌───────────────┐ ┌───────────────┐ ┌───────────────┐
66+│ /v2/* routes │ │ /auth/* routes│ │ /admin/* routes│
67+└───────────────┘ └───────────────┘ └───────────────┘
68+ │ │ │
69+ ▼ ▼ ▼
70+┌─────────────────────────────────┐ ┌─────────────────────────┐
71+│ Registry Rate Limiter │ │ Admin Rate Limiter │
72+│ ┌───────────────────┐ │ │ ┌───────────────────┐ │
73+│ │ Global Limiter │ │ │ │ Global Limiter │ │
74+│ │ (global_rps) │ │ │ │ (global_rps) │ │
75+│ └───────────────────┘ │ │ └───────────────────┘ │
76+│ ┌───────────────────┐ │ │ ┌───────────────────┐ │
77+│ │ Per-IP Limiters │ │ │ │ Per-IP Limiters │ │
78+│ │ (per_ip_rps) │ │ │ │ (per_ip_rps) │ │
79+│ └───────────────────┘ │ │ └───────────────────┘ │
80+└─────────────────────────────────┘ └─────────────────────────┘
8181 ```
8282
83-**Registry Limiter** (for `/v2/*` and `/v2/token`):
83+**Registry Limiter** (for `/v2/*` and `/auth/*`):
8484 - Checks global limit first (all clients combined)
8585 - Then checks per-IP limit
8686 - Both must pass for the request to proceed
87+- Auth endpoints share this limiter to prevent brute force attacks
8788
8889 **Admin Limiter** (for `/admin/*`):
89-- Per-IP limit only
90-- No global limit (admin traffic is typically low volume)
91-- Separate from registry to avoid CI/CD traffic affecting admin access
90+- Separate global + per-IP limiters (independent instances)
91+- Isolates admin traffic from registry traffic
92+- Prevents CI/CD bursts from affecting admin access
9293
9394 ## Option Details
9495
@@ -324,10 +325,10 @@ All authenticated endpoints are protected:
324325 | Endpoint | Rate Limiter | Limits Applied |
325326 |----------|--------------|----------------|
326327 | `/v2/*` (registry) | Registry limiter | Global RPS + Per-IP RPS |
327-| `/v2/token` | Registry limiter | Global RPS + Per-IP RPS |
328-| `/admin/*` | Admin limiter | Per-IP RPS only |
328+| `/auth/*` (authentication) | Registry limiter | Global RPS + Per-IP RPS |
329+| `/admin/*` (management) | Admin limiter | Global RPS + Per-IP RPS |
329330
330-The token endpoint shares the registry limiter, preventing brute force attacks on credentials. The admin API uses a separate per-IP limiter to avoid interference with registry traffic.
331+The auth endpoints share the registry limiter, preventing brute force attacks on credentials. The admin API uses separate limiter instances to avoid CI/CD traffic affecting admin access.
331332
332333 ### Recommended Production Settings
333334
@@ -12,8 +12,8 @@ Rate limiting prevents:
12 12
13 Rate limiting applies to:13 Rate limiting applies to:
14 - **Registry API** (`/v2/*`) — Global + per-IP limits14 - **Registry API** (`/v2/*`) — Global + per-IP limits
15-- **Token endpoint** (`/v2/token`) — Same limiter as registry (Global + per-IP)15+- **Auth endpoints** (`/auth/*`) — Same limiter as registry (Global + per-IP)
16-- **Admin API** (`/admin/*`) — Separate per-IP limit only16+- **Admin API** (`/admin/*`) — Global + per-IP limits (separate limiter instances)
17 17
18 ## Quick Start18 ## Quick Start
19 19
@@ -60,35 +60,36 @@ Gordon uses two separate rate limiters:
60 │ Incoming Request │60 │ Incoming Request │
61 └─────────────────────────────────────────────────────────┘61 └─────────────────────────────────────────────────────────┘
62 │62 │
63- ┌───────────────┴───────────────┐63+ ┌───────────────────┼───────────────────┐
64- ▼ ▼64+ ▼ ▼ ▼
65- ┌───────────────┐ ┌───────────────┐65+┌───────────────┐ ┌───────────────┐ ┌───────────────┐
66- │ /v2/* routes │ │ /admin/* routes│66+│ /v2/* routes │ │ /auth/* routes│ │ /admin/* routes│
67- └───────────────┘ └───────────────┘67+└───────────────┘ └───────────────┘ └───────────────┘
68- │ │68+ │ │ │
69- ▼ ▼69+ ▼ ▼ ▼
70-┌─────────────────────────┐ ┌─────────────────────────┐70+┌─────────────────────────────────┐ ┌─────────────────────────┐
71-│ Registry Rate Limiter │ │ Admin Rate Limiter │71+│ Registry Rate Limiter │ │ Admin Rate Limiter │
72-│ ┌───────────────────┐ │ │ ┌───────────────────┐ │72+│ ┌───────────────────┐ │ │ ┌───────────────────┐ │
73-│ │ Global Limiter │ │ │ │ Per-IP Limiter │ │73+│ │ Global Limiter │ │ │ │ Global Limiter │ │
74-│ │ (global_rps) │ │ │ │ (per_ip_rps) │ │74+│ │ (global_rps) │ │ │ │ (global_rps) │ │
75-│ └───────────────────┘ │ │ └───────────────────┘ │75+│ └───────────────────┘ │ │ └───────────────────┘ │
76-│ ┌───────────────────┐ │ └─────────────────────────┘76+│ ┌───────────────────┐ │ │ ┌───────────────────┐ │
77-│ │ Per-IP Limiters │ │77+│ │ Per-IP Limiters │ │ │ │ Per-IP Limiters │ │
78-│ │ (per_ip_rps) │ │78+│ │ (per_ip_rps) │ │ │ │ (per_ip_rps) │ │
79-│ └───────────────────┘ │79+│ └───────────────────┘ │ │ └───────────────────┘ │
80-└─────────────────────────┘80+└─────────────────────────────────┘ └─────────────────────────┘
81 ```81 ```
82 82
83-**Registry Limiter** (for `/v2/*` and `/v2/token`):83+**Registry Limiter** (for `/v2/*` and `/auth/*`):
84 - Checks global limit first (all clients combined)84 - Checks global limit first (all clients combined)
85 - Then checks per-IP limit85 - Then checks per-IP limit
86 - Both must pass for the request to proceed86 - Both must pass for the request to proceed
87+- Auth endpoints share this limiter to prevent brute force attacks
87 88
88 **Admin Limiter** (for `/admin/*`):89 **Admin Limiter** (for `/admin/*`):
89-- Per-IP limit only90+- Separate global + per-IP limiters (independent instances)
90-- No global limit (admin traffic is typically low volume)91+- Isolates admin traffic from registry traffic
91-- Separate from registry to avoid CI/CD traffic affecting admin access92+- Prevents CI/CD bursts from affecting admin access
92 93
93 ## Option Details94 ## Option Details
94 95
@@ -324,10 +325,10 @@ All authenticated endpoints are protected:
324 | Endpoint | Rate Limiter | Limits Applied |325 | Endpoint | Rate Limiter | Limits Applied |
325 |----------|--------------|----------------|326 |----------|--------------|----------------|
326 | `/v2/*` (registry) | Registry limiter | Global RPS + Per-IP RPS |327 | `/v2/*` (registry) | Registry limiter | Global RPS + Per-IP RPS |
327-| `/v2/token` | Registry limiter | Global RPS + Per-IP RPS |328+| `/auth/*` (authentication) | Registry limiter | Global RPS + Per-IP RPS |
328-| `/admin/*` | Admin limiter | Per-IP RPS only |329+| `/admin/*` (management) | Admin limiter | Global RPS + Per-IP RPS |
329 330
330-The token endpoint shares the registry limiter, preventing brute force attacks on credentials. The admin API uses a separate per-IP limiter to avoid interference with registry traffic.331+The auth endpoints share the registry limiter, preventing brute force attacks on credentials. The admin API uses separate limiter instances to avoid CI/CD traffic affecting admin access.
331 332
332 ### Recommended Production Settings333 ### Recommended Production Settings
333 334
M docs/config/server.md +1 -1
@@ -68,7 +68,7 @@ This domain is used for:
6868 - Docker login and image push/pull operations
6969 - Admin API access (`/admin/*` endpoints)
7070 - CLI remote targeting (`gordon routes --remote https://gordon.mydomain.com`)
71-- Token endpoint for authentication (`/v2/token`)
71+- Authentication endpoints (`/auth/*`)
7272
7373 When requests arrive on the proxy port with this domain as the Host header, Gordon routes them to the backend services (registry and admin API).
7474
@@ -68,7 +68,7 @@ This domain is used for:
68 - Docker login and image push/pull operations68 - Docker login and image push/pull operations
69 - Admin API access (`/admin/*` endpoints)69 - Admin API access (`/admin/*` endpoints)
70 - CLI remote targeting (`gordon routes --remote https://gordon.mydomain.com`)70 - CLI remote targeting (`gordon routes --remote https://gordon.mydomain.com`)
71-- Token endpoint for authentication (`/v2/token`)71+- Authentication endpoints (`/auth/*`)
72 72
73 When requests arrive on the proxy port with this domain as the Host header, Gordon routes them to the backend services (registry and admin API).73 When requests arrive on the proxy port with this domain as the Host header, Gordon routes them to the backend services (registry and admin API).
74 74
M docs/deployment/github-actions.md +1 -1
@@ -277,6 +277,6 @@ Error: unauthorized: authentication required
277277
278278 ## Related
279279
280-- [Registry Authentication](../config/registry-auth.md)
280+- [Authentication](../config/auth.md)
281281 - [Deployment Overview](./index.md)
282282 - [Rollback](./rollback.md)
@@ -277,6 +277,6 @@ Error: unauthorized: authentication required
277 277
278 ## Related278 ## Related
279 279
280-- [Registry Authentication](../config/registry-auth.md)280+- [Authentication](../config/auth.md)
281 - [Deployment Overview](./index.md)281 - [Deployment Overview](./index.md)
282 - [Rollback](./rollback.md)282 - [Rollback](./rollback.md)
M docs/getting-started.md +1 -1
@@ -113,7 +113,7 @@ Gordon automatically:
113113
114114 - [Installation Guide](./installation.md) - Production setup with firewall and rootless containers
115115 - [Configuration Reference](./config/index.md) - All configuration options
116-- [Registry Authentication](./config/registry-auth.md) - Secure your registry
116+- [Authentication](./config/auth.md) - Secure your registry
117117 - [Environment Variables](./config/env.md) - Configure per-app settings
118118
119119 ## Related
@@ -113,7 +113,7 @@ Gordon automatically:
113 113
114 - [Installation Guide](./installation.md) - Production setup with firewall and rootless containers114 - [Installation Guide](./installation.md) - Production setup with firewall and rootless containers
115 - [Configuration Reference](./config/index.md) - All configuration options115 - [Configuration Reference](./config/index.md) - All configuration options
116-- [Registry Authentication](./config/registry-auth.md) - Secure your registry116+- [Authentication](./config/auth.md) - Secure your registry
117 - [Environment Variables](./config/env.md) - Configure per-app settings117 - [Environment Variables](./config/env.md) - Configure per-app settings
118 118
119 ## Related119 ## Related
M docs/index.md +2 -2
@@ -47,7 +47,7 @@ Gordon runs on your VPS and provides:
4747 - [Configuration Overview](./config/index.md) - All configuration options
4848 - [Server Settings](./config/server.md) - Ports, domains, and runtime
4949 - [Routes](./config/routes.md) - Domain to container mapping
50-- [Registry Auth](./config/registry-auth.md) - Password and token authentication
50+- [Authentication](./config/auth.md) - Password and token authentication
5151 - [Secrets](./config/secrets.md) - Secure credential storage
5252 - [Network Isolation](./config/network-isolation.md) - Per-app network isolation
5353 - [Attachments](./config/attachments.md) - Service dependencies
@@ -56,7 +56,7 @@ Gordon runs on your VPS and provides:
5656
5757 ### CLI Reference
5858
59-- [CLI Commands](./cli/commands.md) - All available commands
59+- [CLI Commands](./cli/index.md) - All available commands
6060
6161 ### Deployment
6262
@@ -47,7 +47,7 @@ Gordon runs on your VPS and provides:
47 - [Configuration Overview](./config/index.md) - All configuration options47 - [Configuration Overview](./config/index.md) - All configuration options
48 - [Server Settings](./config/server.md) - Ports, domains, and runtime48 - [Server Settings](./config/server.md) - Ports, domains, and runtime
49 - [Routes](./config/routes.md) - Domain to container mapping49 - [Routes](./config/routes.md) - Domain to container mapping
50-- [Registry Auth](./config/registry-auth.md) - Password and token authentication50+- [Authentication](./config/auth.md) - Password and token authentication
51 - [Secrets](./config/secrets.md) - Secure credential storage51 - [Secrets](./config/secrets.md) - Secure credential storage
52 - [Network Isolation](./config/network-isolation.md) - Per-app network isolation52 - [Network Isolation](./config/network-isolation.md) - Per-app network isolation
53 - [Attachments](./config/attachments.md) - Service dependencies53 - [Attachments](./config/attachments.md) - Service dependencies
@@ -56,7 +56,7 @@ Gordon runs on your VPS and provides:
56 56
57 ### CLI Reference57 ### CLI Reference
58 58
59-- [CLI Commands](./cli/commands.md) - All available commands59+- [CLI Commands](./cli/index.md) - All available commands
60 60
61 ### Deployment61 ### Deployment
62 62
A docs/reference/index.md +14 -0
@@ -0,0 +1,14 @@
1+# Reference
2+
3+Technical reference documentation for Gordon.
4+
5+## Contents
6+
7+- [Docker Labels](./docker-labels.md) - Container and image labels used by Gordon
8+- [Environment Variables](./env-variables.md) - Environment variable syntax and interpolation
9+- [Troubleshooting](./troubleshooting.md) - Common issues and solutions
10+
11+## Related
12+
13+- [Configuration Reference](/docs/config/reference.md)
14+- [CLI Commands](/docs/cli/index.md)
@@ -0,0 +1,14 @@
1+# Reference
2+
3+Technical reference documentation for Gordon.
4+
5+## Contents
6+
7+- [Docker Labels](./docker-labels.md) - Container and image labels used by Gordon
8+- [Environment Variables](./env-variables.md) - Environment variable syntax and interpolation
9+- [Troubleshooting](./troubleshooting.md) - Common issues and solutions
10+
11+## Related
12+
13+- [Configuration Reference](/docs/config/reference.md)
14+- [CLI Commands](/docs/cli/index.md)
M docs/reference/troubleshooting.md +1 -1
@@ -334,4 +334,4 @@ curl -v http://localhost:8080/
334334
335335 - [Installation](../installation.md)
336336 - [Configuration](../config/index.md)
337-- [CLI Commands](../cli/commands.md)
337+- [CLI Commands](../cli/index.md)
@@ -334,4 +334,4 @@ curl -v http://localhost:8080/
334 334
335 - [Installation](../installation.md)335 - [Installation](../installation.md)
336 - [Configuration](../config/index.md)336 - [Configuration](../config/index.md)
337-- [CLI Commands](../cli/commands.md)337+- [CLI Commands](../cli/index.md)
M wiki/guides/running-in-container.md +5 -5
@@ -222,10 +222,10 @@ All configuration options can be set via environment variables with `GORDON_` pr
222222 | `GORDON_SERVER_REGISTRY_DOMAIN` | Registry domain (required) | `registry.mydomain.com` |
223223 | `GORDON_SERVER_DATA_DIR` | Data directory | `/data` |
224224 | `GORDON_LOGGING_LEVEL` | Log level | `debug`, `info`, `warn`, `error` |
225-| `GORDON_REGISTRY_AUTH_ENABLED` | Enable registry auth | `true` |
226-| `GORDON_REGISTRY_AUTH_USERNAME` | Registry username | `admin` |
225+| `GORDON_AUTH_ENABLED` | Enable authentication | `true` |
226+| `GORDON_AUTH_USERNAME` | Username for password auth | `admin` |
227227
228-> **Note**: For registry passwords, using plain `password` is deprecated. Use `password_hash` with a secrets backend instead. See [Registry Auth](/docs/config/registry-auth.md) for secure setup.
228+> **Note**: For registry passwords, using plain `password` is deprecated. Use `password_hash` with a secrets backend instead. See [Authentication](/docs/config/auth.md) for secure setup.
229229
230230 ## Using Pass Secrets Backend
231231
@@ -365,7 +365,7 @@ Mounting the Docker/Podman socket grants Gordon full access to the container run
365365 1. **Use a dedicated host**: Run Gordon on a dedicated server or VM
366366 2. **Limit network exposure**: Only expose ports 80/443 publicly
367367 3. **Use TLS**: Put Gordon behind a reverse proxy with TLS (Cloudflare, Caddy, nginx)
368-4. **Enable registry auth**: Always enable authentication for the registry
368+4. **Enable authentication**: Always enable authentication for the registry
369369
370370 ## Troubleshooting
371371
@@ -414,4 +414,4 @@ docker exec gordon wget -q -O- http://localhost:8080/health
414414
415415 - [Configure routes](/docs/config/routes.md)
416416 - [Set up network groups](/docs/config/network-groups.md)
417-- [Enable registry authentication](/docs/config/registry-auth.md)
417+- [Enable authentication](/docs/config/auth.md)
@@ -222,10 +222,10 @@ All configuration options can be set via environment variables with `GORDON_` pr
222 | `GORDON_SERVER_REGISTRY_DOMAIN` | Registry domain (required) | `registry.mydomain.com` |222 | `GORDON_SERVER_REGISTRY_DOMAIN` | Registry domain (required) | `registry.mydomain.com` |
223 | `GORDON_SERVER_DATA_DIR` | Data directory | `/data` |223 | `GORDON_SERVER_DATA_DIR` | Data directory | `/data` |
224 | `GORDON_LOGGING_LEVEL` | Log level | `debug`, `info`, `warn`, `error` |224 | `GORDON_LOGGING_LEVEL` | Log level | `debug`, `info`, `warn`, `error` |
225-| `GORDON_REGISTRY_AUTH_ENABLED` | Enable registry auth | `true` |225+| `GORDON_AUTH_ENABLED` | Enable authentication | `true` |
226-| `GORDON_REGISTRY_AUTH_USERNAME` | Registry username | `admin` |226+| `GORDON_AUTH_USERNAME` | Username for password auth | `admin` |
227 227
228-> **Note**: For registry passwords, using plain `password` is deprecated. Use `password_hash` with a secrets backend instead. See [Registry Auth](/docs/config/registry-auth.md) for secure setup.228+> **Note**: For registry passwords, using plain `password` is deprecated. Use `password_hash` with a secrets backend instead. See [Authentication](/docs/config/auth.md) for secure setup.
229 229
230 ## Using Pass Secrets Backend230 ## Using Pass Secrets Backend
231 231
@@ -365,7 +365,7 @@ Mounting the Docker/Podman socket grants Gordon full access to the container run
365 1. **Use a dedicated host**: Run Gordon on a dedicated server or VM365 1. **Use a dedicated host**: Run Gordon on a dedicated server or VM
366 2. **Limit network exposure**: Only expose ports 80/443 publicly366 2. **Limit network exposure**: Only expose ports 80/443 publicly
367 3. **Use TLS**: Put Gordon behind a reverse proxy with TLS (Cloudflare, Caddy, nginx)367 3. **Use TLS**: Put Gordon behind a reverse proxy with TLS (Cloudflare, Caddy, nginx)
368-4. **Enable registry auth**: Always enable authentication for the registry368+4. **Enable authentication**: Always enable authentication for the registry
369 369
370 ## Troubleshooting370 ## Troubleshooting
371 371
@@ -414,4 +414,4 @@ docker exec gordon wget -q -O- http://localhost:8080/health
414 414
415 - [Configure routes](/docs/config/routes.md)415 - [Configure routes](/docs/config/routes.md)
416 - [Set up network groups](/docs/config/network-groups.md)416 - [Set up network groups](/docs/config/network-groups.md)
417-- [Enable registry authentication](/docs/config/registry-auth.md)417+- [Enable authentication](/docs/config/auth.md)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close