v2.2.4 af396ea

config.go RawHistoryFolder

1package in
2
3import (
4	"context"
5
6	"gordon/internal/domain"
7)
8
9// ConfigService defines the contract for configuration management.
10type ConfigService interface {
11	// Load loads the configuration from the configured source.
12	Load(ctx context.Context) error
13
14	// GetRoutes returns all configured routes.
15	GetRoutes(ctx context.Context) []domain.Route
16
17	// AddRoute adds a new route to the configuration.
18	AddRoute(ctx context.Context, route domain.Route) error
19
20	// UpdateRoute updates an existing route.
21	UpdateRoute(ctx context.Context, route domain.Route) error
22
23	// RemoveRoute removes a route from the configuration.
24	RemoveRoute(ctx context.Context, domain string) error
25
26	// Watch starts watching for configuration changes.
27	// The onChange callback is called when configuration changes are detected.
28	Watch(ctx context.Context, onChange func()) error
29
30	// GetServerPort returns the configured server port.
31	GetServerPort() int
32
33	// GetRegistryPort returns the configured registry port.
34	GetRegistryPort() int
35
36	// GetRegistryDomain returns the configured registry domain.
37	GetRegistryDomain() string
38
39	// GetDataDir returns the configured data directory.
40	GetDataDir() string
41
42	// IsAutoRouteEnabled returns whether auto-route is enabled.
43	IsAutoRouteEnabled() bool
44
45	// IsNetworkIsolationEnabled returns whether network isolation is enabled.
46	IsNetworkIsolationEnabled() bool
47
48	// GetNetworkPrefix returns the prefix for created networks.
49	GetNetworkPrefix() string
50
51	// GetExternalRoutes returns all configured external routes.
52	GetExternalRoutes() map[string]string
53}

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