mirror of
https://github.com/crazy-max/diun.git
synced 2026-01-03 19:45:05 +01:00
Global defaults for image configs
Allows setting of image configs at a global level to act as default values. This required a change in the model.Image struct due to a bool field not having a third, unset state. The remedy is to unmarshal into a temporary data structure to detect the presents of a field value and then use that to determine if the default value should be used. Fixes #491
This commit is contained in:
@@ -91,7 +91,7 @@ func (c *Client) listContainerImage() []model.Image {
|
||||
Str("ctn_image", imageName).
|
||||
Interface("ctn_labels", ctn.Labels).
|
||||
Msg("Validate image")
|
||||
image, err := provider.ValidateImage(imageName, metadata(ctn), ctn.Labels, *c.config.WatchByDefault)
|
||||
image, err := provider.ValidateImage(imageName, metadata(ctn), ctn.Labels, *c.config.WatchByDefault, *c.imageDefaults)
|
||||
|
||||
if err != nil {
|
||||
c.logger.Error().Err(err).
|
||||
|
||||
@@ -10,16 +10,18 @@ import (
|
||||
// Client represents an active docker provider object
|
||||
type Client struct {
|
||||
*provider.Client
|
||||
config *model.PrdDocker
|
||||
logger zerolog.Logger
|
||||
config *model.PrdDocker
|
||||
logger zerolog.Logger
|
||||
imageDefaults *model.Image
|
||||
}
|
||||
|
||||
// New creates new docker provider instance
|
||||
func New(config *model.PrdDocker) *provider.Client {
|
||||
func New(config *model.PrdDocker, imageDefaults *model.Image) *provider.Client {
|
||||
return &provider.Client{
|
||||
Handler: &Client{
|
||||
config: config,
|
||||
logger: log.With().Str("provider", "docker").Logger(),
|
||||
config: config,
|
||||
logger: log.With().Str("provider", "docker").Logger(),
|
||||
imageDefaults: imageDefaults,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user