Minor docs and test cleanup related to the SSH configuration
All checks were successful
ci/woodpecker/tag/release Pipeline was successful
All checks were successful
ci/woodpecker/tag/release Pipeline was successful
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# Distributor Configuration
|
# Configuration Reference
|
||||||
|
|
||||||
## Config File Location
|
## Config File Location
|
||||||
|
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ Safe fix: remove one source of the credential or make the deployment intentional
|
|||||||
|
|
||||||
## `host is required for ssh backend`
|
## `host is required for ssh backend`
|
||||||
|
|
||||||
Likely cause: SSH config is missing the structured `host` field, or an old URI-based SSH config is still in use.
|
Likely cause: SSH config is missing the structured `host` field, or an old URL-style SSH config is still in use.
|
||||||
|
|
||||||
Diagnostic:
|
Diagnostic:
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ Diagnostic:
|
|||||||
go run ./cmd/distributor run --config <config-path> --dry-run
|
go run ./cmd/distributor run --config <config-path> --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
Safe fix: configure SSH with `host`, optional `user` and `port`, and `path`. The `uri` field is not used for SSH execution.
|
Safe fix: configure SSH with `host`, optional `user` and `port`, and `path`. SSH URLs are not part of the active config schema.
|
||||||
|
|
||||||
## `no SSH auth methods configured`
|
## `no SSH auth methods configured`
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ type Destination struct {
|
|||||||
User string `yaml:"user"`
|
User string `yaml:"user"`
|
||||||
Port int `yaml:"port"`
|
Port int `yaml:"port"`
|
||||||
Path string `yaml:"path"`
|
Path string `yaml:"path"`
|
||||||
URI string `yaml:"uri"`
|
|
||||||
Endpoint string `yaml:"endpoint"`
|
Endpoint string `yaml:"endpoint"`
|
||||||
Bucket string `yaml:"bucket"`
|
Bucket string `yaml:"bucket"`
|
||||||
Prefix string `yaml:"prefix"`
|
Prefix string `yaml:"prefix"`
|
||||||
@@ -42,7 +41,6 @@ type Backend struct {
|
|||||||
User string `yaml:"user"`
|
User string `yaml:"user"`
|
||||||
Port int `yaml:"port"`
|
Port int `yaml:"port"`
|
||||||
Path string `yaml:"path"`
|
Path string `yaml:"path"`
|
||||||
URI string `yaml:"uri"`
|
|
||||||
Endpoint string `yaml:"endpoint"`
|
Endpoint string `yaml:"endpoint"`
|
||||||
Bucket string `yaml:"bucket"`
|
Bucket string `yaml:"bucket"`
|
||||||
Prefix string `yaml:"prefix"`
|
Prefix string `yaml:"prefix"`
|
||||||
|
|||||||
@@ -349,7 +349,7 @@ pipelines:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadFileRejectsSSHURIExecutionConfig(t *testing.T) {
|
func TestLoadFileRejectsLegacySSHURIFieldAsUnknown(t *testing.T) {
|
||||||
assertLoadError(t, `
|
assertLoadError(t, `
|
||||||
pipelines:
|
pipelines:
|
||||||
- id: reports
|
- id: reports
|
||||||
@@ -361,7 +361,7 @@ pipelines:
|
|||||||
- id: archive
|
- id: archive
|
||||||
backend: local
|
backend: local
|
||||||
path: /archive
|
path: /archive
|
||||||
`, "uri is not supported for ssh backend")
|
`, "field uri not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadFileRejectsUnsupportedBackend(t *testing.T) {
|
func TestLoadFileRejectsUnsupportedBackend(t *testing.T) {
|
||||||
|
|||||||
@@ -69,14 +69,14 @@ func Validate(cfg Config) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func validateSourceBackend(errs ValidationErrors, context string, backend Backend) ValidationErrors {
|
func validateSourceBackend(errs ValidationErrors, context string, backend Backend) ValidationErrors {
|
||||||
return validateBackend(errs, context, backend.Backend, backend.Host, backend.Port, backend.Path, backend.URI, backend.Endpoint, backend.Bucket, backend.Prefix, backend.SSH.HostKeyPolicy, backend.Creds)
|
return validateBackend(errs, context, backend.Backend, backend.Host, backend.Port, backend.Path, backend.Endpoint, backend.Bucket, backend.Prefix, backend.SSH.HostKeyPolicy, backend.Creds)
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateDestinationBackend(errs ValidationErrors, context string, destination Destination) ValidationErrors {
|
func validateDestinationBackend(errs ValidationErrors, context string, destination Destination) ValidationErrors {
|
||||||
return validateBackend(errs, context, destination.Backend, destination.Host, destination.Port, destination.Path, destination.URI, destination.Endpoint, destination.Bucket, destination.Prefix, destination.SSH.HostKeyPolicy, destination.Creds)
|
return validateBackend(errs, context, destination.Backend, destination.Host, destination.Port, destination.Path, destination.Endpoint, destination.Bucket, destination.Prefix, destination.SSH.HostKeyPolicy, destination.Creds)
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateBackend(errs ValidationErrors, context, backend, host string, port int, path, uri, endpoint, bucket, prefix string, hostKeyPolicy HostKeyPolicy, creds Credentials) ValidationErrors {
|
func validateBackend(errs ValidationErrors, context, backend, host string, port int, path, endpoint, bucket, prefix string, hostKeyPolicy HostKeyPolicy, creds Credentials) ValidationErrors {
|
||||||
switch backend {
|
switch backend {
|
||||||
case "":
|
case "":
|
||||||
errs = append(errs, context+".backend is required")
|
errs = append(errs, context+".backend is required")
|
||||||
@@ -91,9 +91,6 @@ func validateBackend(errs ValidationErrors, context, backend, host string, port
|
|||||||
if path == "" {
|
if path == "" {
|
||||||
errs = append(errs, context+".path is required for ssh backend")
|
errs = append(errs, context+".path is required for ssh backend")
|
||||||
}
|
}
|
||||||
if uri != "" {
|
|
||||||
errs = append(errs, context+".uri is not supported for ssh backend; use host, user, port, and path")
|
|
||||||
}
|
|
||||||
if port < 0 || port > 65535 {
|
if port < 0 || port > 65535 {
|
||||||
errs = append(errs, context+".port must be between 1 and 65535")
|
errs = append(errs, context+".port must be between 1 and 65535")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user