package config const DefaultConfigPath = "/usr/local/etc/distributor/config.yml" const ( BackendLocal = "local" BackendSSH = "ssh" BackendS3 = "s3" ) const ( ValidationActionFail = "fail" ) const ( TransferActionSkip = "skip" TransferActionReplace = "replace" TransferActionFail = "fail" ) const ( TransformModeSidecar = "sidecar" ) func ApplyDefaults(cfg *Config) { for pipelineIndex := range cfg.Pipelines { pipeline := &cfg.Pipelines[pipelineIndex] if pipeline.Validation.OnDigestMismatch == "" { pipeline.Validation.OnDigestMismatch = ValidationActionFail } for destinationIndex := range pipeline.Destinations { destination := &pipeline.Destinations[destinationIndex] if destination.Publish == nil { destination.Publish = &PublishPolicy{Source: true} } if destination.Transfer.OnDestinationSame == "" { destination.Transfer.OnDestinationSame = TransferActionSkip } if destination.Transfer.OnDestinationOlder == "" { destination.Transfer.OnDestinationOlder = TransferActionReplace } if destination.Transfer.OnDestinationNewer == "" { destination.Transfer.OnDestinationNewer = TransferActionSkip } if destination.Transfer.OnConflict == "" { destination.Transfer.OnConflict = TransferActionFail } } } }