Omit empty fields from bootstrap config output
probod-bootstrap was writing empty strings and stub blocks such as
`esign: {}` into generated YAML. The post-marshal prune pass caused
part of that by stripping empty leaf strings while leaving empty
parent maps behind.
Drop the prune round-trip in WriteConfig and rely on struct-level
omitzero/omitempty tags plus custom IsZero() helpers on probodconfig.
Only include LLM providers when an API key is set, use a nil map for
extra API headers, and extend the dev-config Makefile recipe with the
local dev defaults already documented in .env.example.
Config loading is unchanged: omitted keys still decode to Go zero
values.
Signed-off-by: Ludovic Vielle <ludovic@probo.com>
This commit is contained in:
@@ -23,17 +23,17 @@ import (
|
||||
)
|
||||
|
||||
type PgConfig struct {
|
||||
Addr string `json:"addr"`
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
Database string `json:"database"`
|
||||
Addr string `json:"addr,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
Database string `json:"database,omitempty"`
|
||||
PoolSize int32 `json:"pool-size"`
|
||||
MinPoolSize int32 `json:"min-pool-size"`
|
||||
MaxConnIdleTimeSeconds int `json:"max-conn-idle-time-seconds"`
|
||||
MaxConnLifetimeSeconds int `json:"max-conn-lifetime-seconds"`
|
||||
MaxConnLifetimeJitterSeconds int `json:"max-conn-lifetime-jitter-seconds"`
|
||||
HealthCheckPeriodSeconds int `json:"health-check-period-seconds"`
|
||||
CACertBundle string `json:"ca-cert-bundle"`
|
||||
CACertBundle string `json:"ca-cert-bundle,omitempty"`
|
||||
Debug bool `json:"debug"`
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user