retention

package
v5.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2024 License: MIT Imports: 13 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// AlgorithmOr is the default algorithm when operating on harbor retention rules
	AlgorithmOr string = "or"

	// Key for defining matching repositories
	ScopeSelectorRepoMatches ScopeSelector = "repoMatches"

	// Key for defining excluded repositories
	ScopeSelectorRepoExcludes ScopeSelector = "repoExcludes"

	// Key for defining matching tag expressions
	TagSelectorMatches TagSelector = "matches"

	// Key for defining excluded tag expressions
	TagSelectorExcludes TagSelector = "excludes"

	// The kind of the retention selector, _always_ defaults to 'doublestar'
	SelectorTypeDefault string = "doublestar"

	// Retain the most recently pushed n artifacts - count
	PolicyTemplateLatestPushedArtifacts PolicyTemplate = "latestPushedK"

	// Retain the most recently pulled n artifacts - count
	PolicyTemplateLatestPulledArtifacts PolicyTemplate = "latestPulledN"

	// Retain the artifacts pushed within the last n days
	PolicyTemplateDaysSinceLastPush PolicyTemplate = "nDaysSinceLastPush"

	// Retain the artifacts pulled within the last n days
	PolicyTemplateDaysSinceLastPull PolicyTemplate = "nDaysSinceLastPull"

	// Retain always
	PolicyTemplateRetainAlways PolicyTemplate = "always"
)
View Source
const (
	// ErrRetentionUnauthorizedMsg is the error message for ErrRetentionUnauthorized error.
	ErrRetentionUnauthorizedMsg = "unauthorized"

	// ErrRetentionNoPermissionMsg is the error message for ErrRetentionNoPermission error.
	ErrRetentionNoPermissionMsg = "user does not have permission to the retention"

	// ErrRetentionInternalErrorsMsg is the error message for ErrRetentionInternalErrors error.
	ErrRetentionInternalErrorsMsg = "unexpected internal errors"

	// ErrRetentionDoesNotExistMsg is the error message for ErrRetentionDoesNotExist error.
	ErrRetentionDoesNotExistMsg = "retention policy does not exist"

	// ErrRetentionNotProvidedMsg is the error message for ErrRetentionNotProvided error.
	ErrRetentionNotProvidedMsg = "no retention policy provided"
)

Variables

This section is empty.

Functions

func ToTagSelectorExtras

func ToTagSelectorExtras(untagged bool) string

ToTagSelectorExtras converts a boolean to the representative string value used by Harbor. Represents the functionality of the 'untagged artifacts' checkbox when editing tag retention rules in the Harbor UI.

Types

type Client

type Client interface {
	NewRetentionPolicy(ctx context.Context, ret *modelv2.RetentionPolicy) error
	GetRetentionPolicyByProject(ctx context.Context, projectNameOrID string) (*modelv2.RetentionPolicy, error)
	GetRetentionPolicyByID(ctx context.Context, id int64) (*modelv2.RetentionPolicy, error)
	DeleteRetentionPolicyByID(ctx context.Context, id int64) error
	UpdateRetentionPolicy(ctx context.Context, ret *modelv2.RetentionPolicy) error
}

type ErrRetentionDoesNotExist

type ErrRetentionDoesNotExist struct{}

ErrRetentionDoesNotExist describes the absence of a retention policy.

func (*ErrRetentionDoesNotExist) Error

func (e *ErrRetentionDoesNotExist) Error() string

Error returns the error message.

type ErrRetentionInternalErrors

type ErrRetentionInternalErrors struct{}

ErrRetentionInternalErrors describes server-side internal errors.

func (*ErrRetentionInternalErrors) Error

Error returns the error message.

type ErrRetentionNoPermission

type ErrRetentionNoPermission struct{}

ErrRetentionNoPermission describes a request error without permission.

func (*ErrRetentionNoPermission) Error

func (e *ErrRetentionNoPermission) Error() string

Error returns the error message.

type ErrRetentionNotProvided

type ErrRetentionNotProvided struct{}

ErrRetentionNotProvided describes a missing retention instance

func (*ErrRetentionNotProvided) Error

func (e *ErrRetentionNotProvided) Error() string

Error returns the error message.

type ErrRetentionUnauthorized

type ErrRetentionUnauthorized struct{}

ErrRetentionUnauthorized describes an unauthorized request.

func (*ErrRetentionUnauthorized) Error

func (e *ErrRetentionUnauthorized) Error() string

Error returns the error message.

type PolicyTemplate

type PolicyTemplate string

PolicyTemplate defines the possible values used for the policy matching mechanism.

func (PolicyTemplate) String

func (p PolicyTemplate) String() string

type RESTClient

type RESTClient struct {
	// Options contains optional configuration when making API calls.
	Options *config.Options

	V2Client *v2client.Harbor

	// AuthInfo contains the auth information that is provided on API calls.
	AuthInfo runtime.ClientAuthInfoWriter
}

RESTClient is a subclient for handling retention related actions.

func NewClient

func NewClient(v2Client *v2client.Harbor, opts *config.Options, authInfo runtime.ClientAuthInfoWriter) *RESTClient

func (*RESTClient) DeleteRetentionPolicyByID

func (c *RESTClient) DeleteRetentionPolicyByID(ctx context.Context, id int64) error

func (*RESTClient) GetRetentionPolicyByID

func (c *RESTClient) GetRetentionPolicyByID(ctx context.Context, id int64) (*modelv2.RetentionPolicy, error)

GetRetentionPolicyByID returns a retention policy identified by its id.

func (*RESTClient) GetRetentionPolicyByProject

func (c *RESTClient) GetRetentionPolicyByProject(ctx context.Context, projectNameOrID string) (*modelv2.RetentionPolicy, error)

GetRetentionPolicyByProject returns the retention policy associated to a project.

func (*RESTClient) NewRetentionPolicy

func (c *RESTClient) NewRetentionPolicy(ctx context.Context, ret *modelv2.RetentionPolicy) error

NewRetentionPolicy creates a new tag retention policy for a project. Note: When setting a `cron` configuration for a retention policy, the cron format must include `0` at the first index. Also, the character at the second index must be `*`, e.g. `0 * * * * *`. See: https://github.com/goharbor/harbor/pull/18923/files

func (*RESTClient) UpdateRetentionPolicy

func (c *RESTClient) UpdateRetentionPolicy(ctx context.Context, ret *modelv2.RetentionPolicy) error

UpdateRetentionPolicy updates the specified retention policy ret.

type ScopeSelector

type ScopeSelector string

ScopeSelector is the retention selector decoration used for operations on retention objects.

func (ScopeSelector) String

func (r ScopeSelector) String() string

type TagSelector

type TagSelector string

TagSelector defines the possible values used for the tag matching mechanism. Valid values are: "matches, excludes".

func (TagSelector) String

func (t TagSelector) String() string

String returns the string value of a TagSelector.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL