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:
@@ -17,16 +17,16 @@ package probodconfig
|
||||
type CustomDomainsConfig struct {
|
||||
RenewalInterval int `json:"renewal-interval"`
|
||||
ProvisionInterval int `json:"provision-interval"`
|
||||
ResolverAddr string `json:"resolver-addr"`
|
||||
ResolverAddr string `json:"resolver-addr,omitempty"`
|
||||
CnameTarget string `json:"cname-target"`
|
||||
CAAIssuerDomain string `json:"caa-issuer-domain"`
|
||||
ACME ACMEConfig `json:"acme"`
|
||||
ACME ACMEConfig `json:"acme,omitzero"`
|
||||
}
|
||||
|
||||
type ACMEConfig struct {
|
||||
Directory string `json:"directory"`
|
||||
Email string `json:"email"`
|
||||
KeyType string `json:"key-type"`
|
||||
AccountKey string `json:"account-key"`
|
||||
RootCA string `json:"root-ca"`
|
||||
Directory string `json:"directory,omitempty"`
|
||||
Email string `json:"email,omitempty"`
|
||||
KeyType string `json:"key-type,omitempty"`
|
||||
AccountKey string `json:"account-key,omitempty"`
|
||||
RootCA string `json:"root-ca,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user