Documentation ¶
Index ¶
- Constants
- type Credential
- type CredentialType
- type Filter
- type FilterStyle
- type FilterType
- type HealthStatus
- type Namespace
- type NamespaceQuery
- type Policy
- type PolicyQuery
- type Registry
- type RegistryInfo
- type RegistryQuery
- type RegistryType
- type Repository
- type Resource
- type ResourceMetadata
- type ResourceType
- type Trigger
- type TriggerSettings
- type TriggerType
Constants ¶
const ( FilterTypeResource FilterType = "resource" FilterTypeName FilterType = "name" FilterTypeTag FilterType = "tag" FilterTypeLabel FilterType = "label" TriggerTypeManual TriggerType = "manual" TriggerTypeScheduled TriggerType = "scheduled" TriggerTypeEventBased TriggerType = "event_based" )
const definition
const ( // CredentialTypeBasic indicates credential by user name, password CredentialTypeBasic = "basic" // CredentialTypeOAuth indicates credential by OAuth token CredentialTypeOAuth = "oauth" // CredentialTypeSecret is only used by the communication of Harbor internal components CredentialTypeSecret = "secret" )
const definitions
const ( // Healthy indicates registry is healthy Healthy = "healthy" // Unhealthy indicates registry is unhealthy Unhealthy = "unhealthy" // Unknown indicates health status of registry is unknown Unknown = "unknown" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Credential ¶
type Credential struct { // Type of the credential Type CredentialType `json:"type"` // The key of the access account, for OAuth token, it can be empty AccessKey string `json:"access_key"` // The secret or password for the key AccessSecret string `json:"access_secret"` }
Credential keeps the access key and/or secret for the related registry
type CredentialType ¶
type CredentialType string
CredentialType represents the supported credential types e.g: u/p, OAuth token
type Filter ¶
type Filter struct { Type FilterType `json:"type"` Value interface{} `json:"value"` }
Filter holds the info of the filter
type FilterStyle ¶
type FilterStyle struct { Type FilterType `json:"type"` Style string `json:"style"` Values []string `json:"values,omitempty"` }
FilterStyle ...
type HealthStatus ¶
type HealthStatus string
HealthStatus describes whether a target is healthy or not
type Namespace ¶
type Namespace struct { Name string `json:"name"` Metadata map[string]interface{} `json:"metadata"` }
Namespace represents the full path of resource isolation unit; if the namespace has hierarchical structure, e.g organization->team, it should be converted to organization.team
type NamespaceQuery ¶
type NamespaceQuery struct {
Name string
}
NamespaceQuery defines the query condition for listing namespaces
type Policy ¶
type Policy struct { ID int64 `json:"id"` Name string `json:"name"` Description string `json:"description"` Creator string `json:"creator"` // source SrcRegistry *Registry `json:"src_registry"` // destination DestRegistry *Registry `json:"dest_registry"` // Only support two dest namespace modes: // Put all the src resources to the one single dest namespace // or keep namespaces same with the source ones (under this case, // the DestNamespace should be set to empty) DestNamespace string `json:"dest_namespace"` // Filters Filters []*Filter `json:"filters"` // Trigger Trigger *Trigger `json:"trigger"` // Settings // TODO: rename the property name Deletion bool `json:"deletion"` // If override the image tag Override bool `json:"override"` // Operations Enabled bool `json:"enabled"` CreationTime time.Time `json:"creation_time"` UpdateTime time.Time `json:"update_time"` }
Policy defines the structure of a replication policy
type PolicyQuery ¶
type PolicyQuery struct { Name string // TODO: need to consider how to support listing the policies // of one namespace in both pull and push modes Namespace string SrcRegistry int64 DestRegistry int64 models.Pagination }
PolicyQuery defines the query conditions for listing policies
type Registry ¶
type Registry struct { ID int64 `json:"id"` Name string `json:"name"` Description string `json:"description"` Type RegistryType `json:"type"` URL string `json:"url"` // TokenServiceURL is only used for local harbor instance to // avoid the requests passing through the external proxy for now TokenServiceURL string `json:"token_service_url"` Credential *Credential `json:"credential"` Insecure bool `json:"insecure"` Status string `json:"status"` CreationTime time.Time `json:"creation_time"` UpdateTime time.Time `json:"update_time"` }
Registry keeps the related info of registry Data required for the secure access way is not contained here. DAO layer is not considered here
type RegistryInfo ¶
type RegistryInfo struct { Type RegistryType `json:"type"` Description string `json:"description"` SupportedResourceTypes []ResourceType `json:"-"` SupportedResourceFilters []*FilterStyle `json:"supported_resource_filters"` SupportedTriggers []TriggerType `json:"supported_triggers"` }
RegistryInfo provides base info and capability declarations of the registry
type RegistryQuery ¶
type RegistryQuery struct { // Name is name of the registry to query Name string // Pagination specifies the pagination Pagination *models.Pagination }
RegistryQuery defines the query conditions for listing registries
type RegistryType ¶
type RegistryType string
RegistryType indicates the type of registry
const ( RegistryTypeHarbor RegistryType = "harbor" RegistryTypeDockerHub RegistryType = "docker-hub" RegistryTypeDockerRegistry RegistryType = "docker-registry" RegistryTypeHuawei RegistryType = "huawei-SWR" FilterStyleTypeText = "input" FilterStyleTypeRadio = "radio" )
const definition
type Repository ¶
type Repository struct { Name string `json:"name"` Metadata map[string]interface{} `json:"metadata"` }
Repository info of the resource
type Resource ¶
type Resource struct { Type ResourceType `json:"type"` Metadata *ResourceMetadata `json:"metadata"` Registry *Registry `json:"registry"` ExtendedInfo map[string]interface{} `json:"extended_info"` // Indicate if the resource is a deleted resource Deleted bool `json:"deleted"` // indicate whether the resource can be overridden Override bool `json:"override"` }
Resource represents the general replicating content
type ResourceMetadata ¶
type ResourceMetadata struct { Repository *Repository `json:"repository"` // TODO the labels should be put into tag and repository level? Labels []string `json:"labels"` }
ResourceMetadata of resource
func (*ResourceMetadata) GetResourceName ¶
func (r *ResourceMetadata) GetResourceName() string
GetResourceName returns the name of the resource TODO remove
type ResourceType ¶
type ResourceType string
ResourceType represents the type of the resource
const ( ResourceTypeImage ResourceType = "image" ResourceTypeChart ResourceType = "chart" )
the resource type
func (ResourceType) Valid ¶
func (r ResourceType) Valid() bool
Valid indicates whether the ResourceType is a valid value
type Trigger ¶
type Trigger struct { Type TriggerType `json:"type"` Settings *TriggerSettings `json:"trigger_settings"` }
Trigger holds info for a trigger
type TriggerSettings ¶
type TriggerSettings struct {
Cron string `json:"cron"`
}
TriggerSettings is the setting about the trigger