docs: update all examples to use gordon_domain
- Update config service to prefer gordon_domain over registry_domain - Update all documentation examples to use gordon_domain - Change CLI status label from "Registry:" to "Domain:" - Keep test fixtures using registry_domain for backwards compat testing
- commit
- 82eb0be29011ad00682b4e42c05ab8f67ab0fb82
- author
- bnema · · 2026-01-16 21:29 UTC
- parent
- bc103cc
- signature
- unsigned
11 files · +27 -21
M docs/config/auto-route.md +3 -3
| @@ -126,7 +126,7 @@ enabled = true | |||
| 126 | 126 | ||
| 127 | 127 | ```toml | |
| 128 | 128 | [server] | |
| 129 | - | registry_domain = "registry.local" | |
| 129 | + | gordon_domain = "gordon.local" | |
| 130 | 130 | ||
| 131 | 131 | [auto_route] | |
| 132 | 132 | enabled = true | |
| @@ -136,8 +136,8 @@ enabled = true | |||
| 136 | 136 | ||
| 137 | 137 | Usage: | |
| 138 | 138 | ```bash | |
| 139 | - | docker push registry.local/myapp.local:latest | |
| 140 | - | docker push registry.local/api.local:latest | |
| 139 | + | docker push gordon.local/myapp.local:latest | |
| 140 | + | docker push gordon.local/api.local:latest | |
| 141 | 141 | # Both routes created automatically | |
| 142 | 142 | ``` | |
| 143 | 143 | ||
| @@ -126,7 +126,7 @@ enabled = true | |||||
| 126 | 126 | ||||
| 127 | ```toml | 127 | ```toml | ||
| 128 | [server] | 128 | [server] | ||
| 129 | - | registry_domain = "registry.local" | 129 | + | gordon_domain = "gordon.local" |
| 130 | 130 | ||||
| 131 | [auto_route] | 131 | [auto_route] | ||
| 132 | enabled = true | 132 | enabled = true | ||
| @@ -136,8 +136,8 @@ enabled = true | |||||
| 136 | 136 | ||||
| 137 | Usage: | 137 | Usage: | ||
| 138 | ```bash | 138 | ```bash | ||
| 139 | - | docker push registry.local/myapp.local:latest | 139 | + | docker push gordon.local/myapp.local:latest |
| 140 | - | docker push registry.local/api.local:latest | 140 | + | docker push gordon.local/api.local:latest |
| 141 | # Both routes created automatically | 141 | # Both routes created automatically | ||
| 142 | ``` | 142 | ``` | ||
| 143 | 143 | ||||
M docs/config/index.md +2 -2
| @@ -15,7 +15,7 @@ Gordon uses a single TOML configuration file located at `~/.config/gordon/gordon | |||
| 15 | 15 | [server] | |
| 16 | 16 | port = 8080 | |
| 17 | 17 | registry_port = 5000 | |
| 18 | - | registry_domain = "registry.mydomain.com" | |
| 18 | + | gordon_domain = "gordon.mydomain.com" | |
| 19 | 19 | ||
| 20 | 20 | [routes] | |
| 21 | 21 | "app.mydomain.com" = "myapp:latest" | |
| @@ -30,7 +30,7 @@ registry_domain = "registry.mydomain.com" | |||
| 30 | 30 | [server] | |
| 31 | 31 | port = 8080 # HTTP proxy port (default: 80) | |
| 32 | 32 | registry_port = 5000 # Registry port (default: 5000) | |
| 33 | - | registry_domain = "registry.mydomain.com" # Required: registry domain | |
| 33 | + | gordon_domain = "gordon.mydomain.com" # Required: Gordon domain (registry + API) | |
| 34 | 34 | # data_dir = "~/.gordon" # Default for user installations | |
| 35 | 35 | ||
| 36 | 36 | # Secrets backend | |
| @@ -15,7 +15,7 @@ Gordon uses a single TOML configuration file located at `~/.config/gordon/gordon | |||||
| 15 | [server] | 15 | [server] | ||
| 16 | port = 8080 | 16 | port = 8080 | ||
| 17 | registry_port = 5000 | 17 | registry_port = 5000 | ||
| 18 | - | registry_domain = "registry.mydomain.com" | 18 | + | gordon_domain = "gordon.mydomain.com" |
| 19 | 19 | ||||
| 20 | [routes] | 20 | [routes] | ||
| 21 | "app.mydomain.com" = "myapp:latest" | 21 | "app.mydomain.com" = "myapp:latest" | ||
| @@ -30,7 +30,7 @@ registry_domain = "registry.mydomain.com" | |||||
| 30 | [server] | 30 | [server] | ||
| 31 | port = 8080 # HTTP proxy port (default: 80) | 31 | port = 8080 # HTTP proxy port (default: 80) | ||
| 32 | registry_port = 5000 # Registry port (default: 5000) | 32 | registry_port = 5000 # Registry port (default: 5000) | ||
| 33 | - | registry_domain = "registry.mydomain.com" # Required: registry domain | 33 | + | gordon_domain = "gordon.mydomain.com" # Required: Gordon domain (registry + API) |
| 34 | # data_dir = "~/.gordon" # Default for user installations | 34 | # data_dir = "~/.gordon" # Default for user installations | ||
| 35 | 35 | ||||
| 36 | # Secrets backend | 36 | # Secrets backend | ||
M docs/getting-started.md +1 -1
| @@ -34,7 +34,7 @@ Edit `~/.config/gordon/gordon.toml`: | |||
| 34 | 34 | [server] | |
| 35 | 35 | port = 8080 # Proxy port (use with Cloudflare) | |
| 36 | 36 | registry_port = 5000 # Registry port | |
| 37 | - | registry_domain = "registry.mydomain.com" # Your registry domain | |
| 37 | + | gordon_domain = "gordon.mydomain.com" # Your Gordon domain | |
| 38 | 38 | ||
| 39 | 39 | [routes] | |
| 40 | 40 | "app.mydomain.com" = "myapp:latest" # Domain → Image mapping | |
| @@ -34,7 +34,7 @@ Edit `~/.config/gordon/gordon.toml`: | |||||
| 34 | [server] | 34 | [server] | ||
| 35 | port = 8080 # Proxy port (use with Cloudflare) | 35 | port = 8080 # Proxy port (use with Cloudflare) | ||
| 36 | registry_port = 5000 # Registry port | 36 | registry_port = 5000 # Registry port | ||
| 37 | - | registry_domain = "registry.mydomain.com" # Your registry domain | 37 | + | gordon_domain = "gordon.mydomain.com" # Your Gordon domain |
| 38 | 38 | ||||
| 39 | [routes] | 39 | [routes] | ||
| 40 | "app.mydomain.com" = "myapp:latest" # Domain → Image mapping | 40 | "app.mydomain.com" = "myapp:latest" # Domain → Image mapping | ||
M docs/installation.md +1 -1
| @@ -166,7 +166,7 @@ Minimum required configuration: | |||
| 166 | 166 | [server] | |
| 167 | 167 | port = 8080 | |
| 168 | 168 | registry_port = 5000 | |
| 169 | - | registry_domain = "registry.yourdomain.com" | |
| 169 | + | gordon_domain = "gordon.yourdomain.com" | |
| 170 | 170 | ||
| 171 | 171 | [routes] | |
| 172 | 172 | "app.yourdomain.com" = "myapp:latest" | |
| @@ -166,7 +166,7 @@ Minimum required configuration: | |||||
| 166 | [server] | 166 | [server] | ||
| 167 | port = 8080 | 167 | port = 8080 | ||
| 168 | registry_port = 5000 | 168 | registry_port = 5000 | ||
| 169 | - | registry_domain = "registry.yourdomain.com" | 169 | + | gordon_domain = "gordon.yourdomain.com" |
| 170 | 170 | ||||
| 171 | [routes] | 171 | [routes] | ||
| 172 | "app.yourdomain.com" = "myapp:latest" | 172 | "app.yourdomain.com" = "myapp:latest" | ||
M internal/adapters/in/cli/routes.go +1 -1
| @@ -249,7 +249,7 @@ func newStatusCmd() *cobra.Command { | |||
| 249 | 249 | fmt.Println(styles.Theme.Title.Render("Gordon Status")) | |
| 250 | 250 | fmt.Println() | |
| 251 | 251 | ||
| 252 | - | fmt.Printf("%s %s\n", styles.Theme.Bold.Render("Registry:"), status.RegistryDomain) | |
| 252 | + | fmt.Printf("%s %s\n", styles.Theme.Bold.Render("Domain:"), status.RegistryDomain) | |
| 253 | 253 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Registry Port:"), status.RegistryPort) | |
| 254 | 254 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Server Port:"), status.ServerPort) | |
| 255 | 255 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Routes:"), status.Routes) | |
| @@ -249,7 +249,7 @@ func newStatusCmd() *cobra.Command { | |||||
| 249 | fmt.Println(styles.Theme.Title.Render("Gordon Status")) | 249 | fmt.Println(styles.Theme.Title.Render("Gordon Status")) | ||
| 250 | fmt.Println() | 250 | fmt.Println() | ||
| 251 | 251 | ||||
| 252 | - | fmt.Printf("%s %s\n", styles.Theme.Bold.Render("Registry:"), status.RegistryDomain) | 252 | + | fmt.Printf("%s %s\n", styles.Theme.Bold.Render("Domain:"), status.RegistryDomain) |
| 253 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Registry Port:"), status.RegistryPort) | 253 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Registry Port:"), status.RegistryPort) | ||
| 254 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Server Port:"), status.ServerPort) | 254 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Server Port:"), status.ServerPort) | ||
| 255 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Routes:"), status.Routes) | 255 | fmt.Printf("%s %d\n", styles.Theme.Bold.Render("Routes:"), status.Routes) | ||
M internal/usecase/config/service.go +7 -1
| @@ -87,10 +87,16 @@ func (s *Service) Load(ctx context.Context) error { | |||
| 87 | 87 | ||
| 88 | 88 | // loadConfigValues loads simple config values from viper. | |
| 89 | 89 | func (s *Service) loadConfigValues() Config { | |
| 90 | + | // Prefer gordon_domain over registry_domain | |
| 91 | + | registryDomain := s.viper.GetString("server.gordon_domain") | |
| 92 | + | if registryDomain == "" { | |
| 93 | + | registryDomain = s.viper.GetString("server.registry_domain") | |
| 94 | + | } | |
| 95 | + | ||
| 90 | 96 | return Config{ | |
| 91 | 97 | ServerPort: s.viper.GetInt("server.port"), | |
| 92 | 98 | RegistryPort: s.viper.GetInt("server.registry_port"), | |
| 93 | - | RegistryDomain: s.viper.GetString("server.registry_domain"), | |
| 99 | + | RegistryDomain: registryDomain, | |
| 94 | 100 | DataDir: s.viper.GetString("server.data_dir"), | |
| 95 | 101 | AutoRouteEnabled: s.viper.GetBool("auto_route.enabled"), | |
| 96 | 102 | NetworkIsolation: s.viper.GetBool("network_isolation.enabled"), | |
| @@ -87,10 +87,16 @@ func (s *Service) Load(ctx context.Context) error { | |||||
| 87 | 87 | ||||
| 88 | // loadConfigValues loads simple config values from viper. | 88 | // loadConfigValues loads simple config values from viper. | ||
| 89 | func (s *Service) loadConfigValues() Config { | 89 | func (s *Service) loadConfigValues() Config { | ||
| 90 | + | // Prefer gordon_domain over registry_domain | |||
| 91 | + | registryDomain := s.viper.GetString("server.gordon_domain") | |||
| 92 | + | if registryDomain == "" { | |||
| 93 | + | registryDomain = s.viper.GetString("server.registry_domain") | |||
| 94 | + | } | |||
| 95 | + | ||||
| 90 | return Config{ | 96 | return Config{ | ||
| 91 | ServerPort: s.viper.GetInt("server.port"), | 97 | ServerPort: s.viper.GetInt("server.port"), | ||
| 92 | RegistryPort: s.viper.GetInt("server.registry_port"), | 98 | RegistryPort: s.viper.GetInt("server.registry_port"), | ||
| 93 | - | RegistryDomain: s.viper.GetString("server.registry_domain"), | 99 | + | RegistryDomain: registryDomain, |
| 94 | DataDir: s.viper.GetString("server.data_dir"), | 100 | DataDir: s.viper.GetString("server.data_dir"), | ||
| 95 | AutoRouteEnabled: s.viper.GetBool("auto_route.enabled"), | 101 | AutoRouteEnabled: s.viper.GetBool("auto_route.enabled"), | ||
| 96 | NetworkIsolation: s.viper.GetBool("network_isolation.enabled"), | 102 | NetworkIsolation: s.viper.GetBool("network_isolation.enabled"), | ||
M wiki/examples/index.md +3 -3
| @@ -14,7 +14,7 @@ Annotated Gordon configuration examples for common scenarios. | |||
| 14 | 14 | ||
| 15 | 15 | ```toml | |
| 16 | 16 | [server] | |
| 17 | - | registry_domain = "registry.local" | |
| 17 | + | gordon_domain = "gordon.local" | |
| 18 | 18 | ||
| 19 | 19 | [routes] | |
| 20 | 20 | "app.local" = "myapp:latest" | |
| @@ -25,7 +25,7 @@ registry_domain = "registry.local" | |||
| 25 | 25 | ```toml | |
| 26 | 26 | [server] | |
| 27 | 27 | port = 8080 | |
| 28 | - | registry_domain = "registry.local" | |
| 28 | + | gordon_domain = "gordon.local" | |
| 29 | 29 | ||
| 30 | 30 | [registry_auth] | |
| 31 | 31 | enabled = false | |
| @@ -42,7 +42,7 @@ enabled = true | |||
| 42 | 42 | ```toml | |
| 43 | 43 | [server] | |
| 44 | 44 | port = 8080 | |
| 45 | - | registry_domain = "registry.company.com" | |
| 45 | + | gordon_domain = "gordon.company.com" | |
| 46 | 46 | ||
| 47 | 47 | [secrets] | |
| 48 | 48 | backend = "pass" | |
| @@ -14,7 +14,7 @@ Annotated Gordon configuration examples for common scenarios. | |||||
| 14 | 14 | ||||
| 15 | ```toml | 15 | ```toml | ||
| 16 | [server] | 16 | [server] | ||
| 17 | - | registry_domain = "registry.local" | 17 | + | gordon_domain = "gordon.local" |
| 18 | 18 | ||||
| 19 | [routes] | 19 | [routes] | ||
| 20 | "app.local" = "myapp:latest" | 20 | "app.local" = "myapp:latest" | ||
| @@ -25,7 +25,7 @@ registry_domain = "registry.local" | |||||
| 25 | ```toml | 25 | ```toml | ||
| 26 | [server] | 26 | [server] | ||
| 27 | port = 8080 | 27 | port = 8080 | ||
| 28 | - | registry_domain = "registry.local" | 28 | + | gordon_domain = "gordon.local" |
| 29 | 29 | ||||
| 30 | [registry_auth] | 30 | [registry_auth] | ||
| 31 | enabled = false | 31 | enabled = false | ||
| @@ -42,7 +42,7 @@ enabled = true | |||||
| 42 | ```toml | 42 | ```toml | ||
| 43 | [server] | 43 | [server] | ||
| 44 | port = 8080 | 44 | port = 8080 | ||
| 45 | - | registry_domain = "registry.company.com" | 45 | + | gordon_domain = "gordon.company.com" |
| 46 | 46 | ||||
| 47 | [secrets] | 47 | [secrets] | ||
| 48 | backend = "pass" | 48 | backend = "pass" | ||
M wiki/examples/minimal.md +4 -4
| @@ -16,7 +16,7 @@ The simplest working Gordon configuration. | |||
| 16 | 16 | [server] | |
| 17 | 17 | port = 8080 | |
| 18 | 18 | registry_port = 5000 | |
| 19 | - | registry_domain = "registry.local" | |
| 19 | + | gordon_domain = "gordon.local" | |
| 20 | 20 | ||
| 21 | 21 | # Authentication disabled for simplicity | |
| 22 | 22 | [registry_auth] | |
| @@ -32,7 +32,7 @@ enabled = false | |||
| 32 | 32 | ### 1. Add to /etc/hosts | |
| 33 | 33 | ||
| 34 | 34 | ```bash | |
| 35 | - | echo "127.0.0.1 app.local registry.local" | sudo tee -a /etc/hosts | |
| 35 | + | echo "127.0.0.1 app.local gordon.local" | sudo tee -a /etc/hosts | |
| 36 | 36 | ``` | |
| 37 | 37 | ||
| 38 | 38 | ### 2. Start Gordon | |
| @@ -45,8 +45,8 @@ gordon serve | |||
| 45 | 45 | ||
| 46 | 46 | ```bash | |
| 47 | 47 | docker build -t myapp . | |
| 48 | - | docker tag myapp registry.local:5000/myapp:latest | |
| 49 | - | docker push registry.local:5000/myapp:latest | |
| 48 | + | docker tag myapp gordon.local:5000/myapp:latest | |
| 49 | + | docker push gordon.local:5000/myapp:latest | |
| 50 | 50 | ``` | |
| 51 | 51 | ||
| 52 | 52 | ### 4. Access | |
| @@ -16,7 +16,7 @@ The simplest working Gordon configuration. | |||||
| 16 | [server] | 16 | [server] | ||
| 17 | port = 8080 | 17 | port = 8080 | ||
| 18 | registry_port = 5000 | 18 | registry_port = 5000 | ||
| 19 | - | registry_domain = "registry.local" | 19 | + | gordon_domain = "gordon.local" |
| 20 | 20 | ||||
| 21 | # Authentication disabled for simplicity | 21 | # Authentication disabled for simplicity | ||
| 22 | [registry_auth] | 22 | [registry_auth] | ||
| @@ -32,7 +32,7 @@ enabled = false | |||||
| 32 | ### 1. Add to /etc/hosts | 32 | ### 1. Add to /etc/hosts | ||
| 33 | 33 | ||||
| 34 | ```bash | 34 | ```bash | ||
| 35 | - | echo "127.0.0.1 app.local registry.local" | sudo tee -a /etc/hosts | 35 | + | echo "127.0.0.1 app.local gordon.local" | sudo tee -a /etc/hosts |
| 36 | ``` | 36 | ``` | ||
| 37 | 37 | ||||
| 38 | ### 2. Start Gordon | 38 | ### 2. Start Gordon | ||
| @@ -45,8 +45,8 @@ gordon serve | |||||
| 45 | 45 | ||||
| 46 | ```bash | 46 | ```bash | ||
| 47 | docker build -t myapp . | 47 | docker build -t myapp . | ||
| 48 | - | docker tag myapp registry.local:5000/myapp:latest | 48 | + | docker tag myapp gordon.local:5000/myapp:latest |
| 49 | - | docker push registry.local:5000/myapp:latest | 49 | + | docker push gordon.local:5000/myapp:latest |
| 50 | ``` | 50 | ``` | ||
| 51 | 51 | ||||
| 52 | ### 4. Access | 52 | ### 4. Access | ||
M wiki/examples/production.md +3 -3
| @@ -17,7 +17,7 @@ A complete Gordon configuration for production environments. | |||
| 17 | 17 | [server] | |
| 18 | 18 | port = 8080 # Cloudflare forwards 443 → 8080 | |
| 19 | 19 | registry_port = 5000 | |
| 20 | - | registry_domain = "registry.company.com" | |
| 20 | + | gordon_domain = "gordon.company.com" | |
| 21 | 21 | ||
| 22 | 22 | # Use pass for secrets (recommended) | |
| 23 | 23 | [secrets] | |
| @@ -161,10 +161,10 @@ systemctl --user enable --now gordon | |||
| 161 | 161 | docker build -t company-app . | |
| 162 | 162 | ||
| 163 | 163 | # Tag with version | |
| 164 | - | docker tag company-app registry.company.com/company-app:v2.2.0 | |
| 164 | + | docker tag company-app gordon.company.com/company-app:v2.2.0 | |
| 165 | 165 | ||
| 166 | 166 | # Push to deploy | |
| 167 | - | docker push registry.company.com/company-app:v2.2.0 | |
| 167 | + | docker push gordon.company.com/company-app:v2.2.0 | |
| 168 | 168 | ||
| 169 | 169 | # Update config with new version | |
| 170 | 170 | vim ~/.config/gordon/gordon.toml | |
| @@ -17,7 +17,7 @@ A complete Gordon configuration for production environments. | |||||
| 17 | [server] | 17 | [server] | ||
| 18 | port = 8080 # Cloudflare forwards 443 → 8080 | 18 | port = 8080 # Cloudflare forwards 443 → 8080 | ||
| 19 | registry_port = 5000 | 19 | registry_port = 5000 | ||
| 20 | - | registry_domain = "registry.company.com" | 20 | + | gordon_domain = "gordon.company.com" |
| 21 | 21 | ||||
| 22 | # Use pass for secrets (recommended) | 22 | # Use pass for secrets (recommended) | ||
| 23 | [secrets] | 23 | [secrets] | ||
| @@ -161,10 +161,10 @@ systemctl --user enable --now gordon | |||||
| 161 | docker build -t company-app . | 161 | docker build -t company-app . | ||
| 162 | 162 | ||||
| 163 | # Tag with version | 163 | # Tag with version | ||
| 164 | - | docker tag company-app registry.company.com/company-app:v2.2.0 | 164 | + | docker tag company-app gordon.company.com/company-app:v2.2.0 |
| 165 | 165 | ||||
| 166 | # Push to deploy | 166 | # Push to deploy | ||
| 167 | - | docker push registry.company.com/company-app:v2.2.0 | 167 | + | docker push gordon.company.com/company-app:v2.2.0 |
| 168 | 168 | ||||
| 169 | # Update config with new version | 169 | # Update config with new version | ||
| 170 | vim ~/.config/gordon/gordon.toml | 170 | vim ~/.config/gordon/gordon.toml | ||
M wiki/guides/podman-rootless.md +1 -1
| @@ -119,7 +119,7 @@ Edit `~/.config/gordon/gordon.toml`: | |||
| 119 | 119 | [server] | |
| 120 | 120 | port = 8080 # Must match firewall forward (80 → 8080) | |
| 121 | 121 | registry_port = 5000 | |
| 122 | - | registry_domain = "registry.mydomain.com" | |
| 122 | + | gordon_domain = "gordon.mydomain.com" | |
| 123 | 123 | ||
| 124 | 124 | [routes] | |
| 125 | 125 | "app.mydomain.com" = "myapp:latest" | |
| @@ -119,7 +119,7 @@ Edit `~/.config/gordon/gordon.toml`: | |||||
| 119 | [server] | 119 | [server] | ||
| 120 | port = 8080 # Must match firewall forward (80 → 8080) | 120 | port = 8080 # Must match firewall forward (80 → 8080) | ||
| 121 | registry_port = 5000 | 121 | registry_port = 5000 | ||
| 122 | - | registry_domain = "registry.mydomain.com" | 122 | + | gordon_domain = "gordon.mydomain.com" |
| 123 | 123 | ||||
| 124 | [routes] | 124 | [routes] | ||
| 125 | "app.mydomain.com" = "myapp:latest" | 125 | "app.mydomain.com" = "myapp:latest" | ||
M wiki/guides/running-in-container.md +1 -1
| @@ -45,7 +45,7 @@ Create `gordon.toml`: | |||
| 45 | 45 | [server] | |
| 46 | 46 | port = 8080 | |
| 47 | 47 | registry_port = 5000 | |
| 48 | - | registry_domain = "registry.mydomain.com" | |
| 48 | + | gordon_domain = "gordon.mydomain.com" | |
| 49 | 49 | ||
| 50 | 50 | [routes] | |
| 51 | 51 | "app.mydomain.com" = "myapp:latest" | |
| @@ -45,7 +45,7 @@ Create `gordon.toml`: | |||||
| 45 | [server] | 45 | [server] | ||
| 46 | port = 8080 | 46 | port = 8080 | ||
| 47 | registry_port = 5000 | 47 | registry_port = 5000 | ||
| 48 | - | registry_domain = "registry.mydomain.com" | 48 | + | gordon_domain = "gordon.mydomain.com" |
| 49 | 49 | ||||
| 50 | [routes] | 50 | [routes] | ||
| 51 | "app.mydomain.com" = "myapp:latest" | 51 | "app.mydomain.com" = "myapp:latest" | ||