zotregistry.dev/zot@v1.4.4-0.20240314164342-eec277e14d20/pkg/extensions/config/sync/config.go (about)

     1  package sync
     2  
     3  import (
     4  	"time"
     5  )
     6  
     7  // key is registry address.
     8  type CredentialsFile map[string]Credentials
     9  
    10  type Credentials struct {
    11  	Username string
    12  	Password string
    13  }
    14  
    15  type Config struct {
    16  	Enable          *bool
    17  	CredentialsFile string
    18  	/* DownloadDir is needed only in case of using cloud based storages
    19  	it uses regclient to first copy images into this dir (as oci layout)
    20  	and then move them into storage. */
    21  	DownloadDir string
    22  	Registries  []RegistryConfig
    23  }
    24  
    25  type RegistryConfig struct {
    26  	URLs         []string
    27  	PollInterval time.Duration
    28  	Content      []Content
    29  	TLSVerify    *bool
    30  	OnDemand     bool
    31  	CertDir      string
    32  	MaxRetries   *int
    33  	RetryDelay   *time.Duration
    34  	OnlySigned   *bool
    35  }
    36  
    37  type Content struct {
    38  	Prefix      string
    39  	Tags        *Tags
    40  	Destination string `mapstructure:",omitempty"`
    41  	StripPrefix bool
    42  }
    43  
    44  type Tags struct {
    45  	Regex  *string
    46  	Semver *bool
    47  }