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:
@@ -16,15 +16,15 @@ package probodconfig
|
||||
|
||||
type MailerConfig struct {
|
||||
MailerInterval int `json:"mailer-interval"`
|
||||
SenderName string `json:"sender-name"`
|
||||
SenderEmail string `json:"sender-email"`
|
||||
SMTP SMTPConfig `json:"smtp"`
|
||||
SenderName string `json:"sender-name,omitempty"`
|
||||
SenderEmail string `json:"sender-email,omitempty"`
|
||||
SMTP SMTPConfig `json:"smtp,omitzero"`
|
||||
}
|
||||
|
||||
type SMTPConfig struct {
|
||||
Addr string `json:"addr"`
|
||||
User string `json:"user"`
|
||||
Password string `json:"password"`
|
||||
Addr string `json:"addr,omitempty"`
|
||||
User string `json:"user,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
TLSRequired bool `json:"tls-required"`
|
||||
HelloName string `json:"hello-name"`
|
||||
HelloName string `json:"hello-name,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user