v1alpha2

package
v0.0.0-...-f648866 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the registries v1alpha2 API group +kubebuilder:object:generate=true +groupName=registries.mittwald.de

Index

Constants

View Source
const (
	ProjectStatusPhaseUnknown     ProjectStatusPhaseName = ""
	ProjectStatusPhaseCreating    ProjectStatusPhaseName = "Creating"
	ProjectStatusPhaseReady       ProjectStatusPhaseName = "Ready"
	ProjectStatusPhaseTerminating ProjectStatusPhaseName = "Terminating"

	MemberRoleProjectAdmin MemberRole = "ProjectAdmin"
	MemberRoleDeveloper    MemberRole = "Developer"
	MemberRoleGuest        MemberRole = "Guest"
	MemberRoleMaster       MemberRole = "Master"
)
View Source
const (
	ReplicationTriggerTypeManual     string = "manual"
	ReplicationTriggerTypeScheduled  string = "scheduled"
	ReplicationTriggerTypeEventBased string = "event_based"

	ReplicationFilterTypeResource string = "resource"
	ReplicationFilterTypeName     string = "name"
	ReplicationFilterTypeTag      string = "tag"
	ReplicationFilterTypeLabel    string = "label"
)

const definition

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "registries.mittwald.de", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type GarbageCollection

type GarbageCollection struct {
	// +kubebuilder:validation:Optional
	Cron string `json:"cron,omitempty"`

	// +optional
	DeleteUntagged bool `json:"deleteUntagged,omitempty"`

	// +kubebuilder:validation:Optional
	ScheduleType ScheduleType `json:"scheduleType,omitempty"`
}

GarbageCollection holds request information for a garbage collection schedule.

func (*GarbageCollection) DeepCopy

func (in *GarbageCollection) DeepCopy() *GarbageCollection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollection.

func (*GarbageCollection) DeepCopyInto

func (in *GarbageCollection) DeepCopyInto(out *GarbageCollection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Instance

type Instance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              InstanceSpec `json:"spec,omitempty"`

	Status InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the instances API +kubebuilder:subresource:status +kubebuilder:resource:path=instances,scope=Namespaced,shortName=harborinstance;harbor +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase.name",description="phase" +kubebuilder:printcolumn:name="URL",type="string",JSONPath=".spec.instanceURL", description="harbor instance url" +kubebuilder:object:root=true

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Instance) DeepCopyObject

func (in *Instance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceChartRepository

type InstanceChartRepository struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   InstanceChartRepositorySpec   `json:"spec,omitempty"`
	Status InstanceChartRepositoryStatus `json:"status,omitempty"`
}

InstanceChartRepository is the Schema for the instancechartrepositories API +kubebuilder:subresource:status +kubebuilder:resource:path=instancechartrepositories,scope=Namespaced +kubebuilder:printcolumn:name="URL",type="string",JSONPath=".spec.url",description="URL" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="status" +kubebuilder:object:root=true

func (*InstanceChartRepository) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceChartRepository.

func (*InstanceChartRepository) DeepCopyInto

func (in *InstanceChartRepository) DeepCopyInto(out *InstanceChartRepository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceChartRepository) DeepCopyObject

func (in *InstanceChartRepository) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceChartRepositoryList

type InstanceChartRepositoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceChartRepository `json:"items"`
}

InstanceChartRepositoryList contains a list of InstanceChartRepositories. +kubebuilder:object:root=true

func (*InstanceChartRepositoryList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceChartRepositoryList.

func (*InstanceChartRepositoryList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceChartRepositoryList) DeepCopyObject

func (in *InstanceChartRepositoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceChartRepositorySpec

type InstanceChartRepositorySpec struct {
	// The URL of the chart repository to use
	URL string `json:"url"`

	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`

	// +kubebuilder:validation:Optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
}

InstanceChartRepositorySpec defines the desired state of an InstanceChartRepository.

func (*InstanceChartRepositorySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceChartRepositorySpec.

func (*InstanceChartRepositorySpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceChartRepositoryStatus

type InstanceChartRepositoryStatus struct {
	State RepoState `json:"state"`
}

InstanceChartRepositoryStatus defines the observed state of an InstanceChartRepository.

func (*InstanceChartRepositoryStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceChartRepositoryStatus.

func (*InstanceChartRepositoryStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceHelmChartSecretValues

type InstanceHelmChartSecretValues struct {
	SecretRef *corev1.LocalObjectReference `json:"secretRef"`
	Key       string                       `json:"key"`
}

func (*InstanceHelmChartSecretValues) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceHelmChartSecretValues.

func (*InstanceHelmChartSecretValues) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceHelmChartSpec

type InstanceHelmChartSpec struct {
	helmclient.ChartSpec `json:",inline"`

	// set additional chart values from secret
	// +kubebuilder:validation:Optional
	SecretValues *InstanceHelmChartSecretValues `json:"secretValues,omitempty"`
}

func (*InstanceHelmChartSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceHelmChartSpec.

func (*InstanceHelmChartSpec) DeepCopyInto

func (in *InstanceHelmChartSpec) DeepCopyInto(out *InstanceHelmChartSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceList

type InstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Instance `json:"items"`
}

InstanceList contains a list of Instance. +kubebuilder:object:root=true

func (*InstanceList) DeepCopy

func (in *InstanceList) DeepCopy() *InstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.

func (*InstanceList) DeepCopyInto

func (in *InstanceList) DeepCopyInto(out *InstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceList) DeepCopyObject

func (in *InstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceSpec

type InstanceSpec struct {
	Name string `json:"name"`
	// can't use the resulting string-type so this is a simple string and will be casted to an OperatorType in the resolver:
	// error: Hit an unsupported type invalid type for invalid type
	Type string `json:"type"`

	InstanceURL string `json:"instanceURL"`

	HelmChart *InstanceHelmChartSpec `json:"helmChart"`

	// +kubebuilder:validation:Optional
	GarbageCollection *GarbageCollection `json:"garbageCollection,omitempty"`
}

InstanceSpec defines the desired state of Instance.

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.

func (*InstanceSpec) DeepCopyInto

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatus

type InstanceStatus struct {
	Phase InstanceStatusPhase `json:"phase"`

	// +optional
	SpecHash string `json:"specHash"`
}

InstanceStatus defines the observed state of Instance.

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatusPhase

type InstanceStatusPhase struct {
	Name InstanceStatusPhaseName `json:"name"`

	Message string `json:"message"`

	// Time of last observed transition into this state.
	// +kubebuilder:validation:Optional
	LastTransition *metav1.Time `json:"lastTransition,omitempty"`
}

func (*InstanceStatusPhase) DeepCopy

func (in *InstanceStatusPhase) DeepCopy() *InstanceStatusPhase

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatusPhase.

func (*InstanceStatusPhase) DeepCopyInto

func (in *InstanceStatusPhase) DeepCopyInto(out *InstanceStatusPhase)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatusPhaseName

type InstanceStatusPhaseName string
const (
	InstanceStatusPhasePending     InstanceStatusPhaseName = "Pending"
	InstanceStatusPhaseInstalling  InstanceStatusPhaseName = "Installing"
	InstanceStatusPhaseInstalled   InstanceStatusPhaseName = "Installed"
	InstanceStatusPhaseTerminating InstanceStatusPhaseName = "Terminating"
	InstanceStatusPhaseError       InstanceStatusPhaseName = "Error"
)

type MemberRequest

type MemberRequest struct {
	Role MemberRole                  `json:"role"`
	User corev1.LocalObjectReference `json:"user"` // reference to an User object
}

func (*MemberRequest) DeepCopy

func (in *MemberRequest) DeepCopy() *MemberRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberRequest.

func (*MemberRequest) DeepCopyInto

func (in *MemberRequest) DeepCopyInto(out *MemberRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemberRole

type MemberRole string

func (MemberRole) ID

func (role MemberRole) ID() MemberRoleID

ID returns a role ID integer by enumerating the given role.

type MemberRoleID

type MemberRoleID int64
const (
	MemberRoleIDDefault MemberRoleID = iota
	MemberRoleIDProjectAdmin
	MemberRoleIDDeveloper
	MemberRoleIDGuest
	MemberRoleIDMaster
)

type Project

type Project struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project is the Schema for the projects API +kubebuilder:subresource:status +kubebuilder:resource:path=projects,scope=Namespaced +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="phase" +kubebuilder:printcolumn:name="ID",type="integer",JSONPath=".status.id",description="harbor replication id" +kubebuilder:printcolumn:name="Public",type="boolean",JSONPath=".spec.metadata.public",description="harbor replication id" +kubebuilder:object:root=true

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Project) DeepCopyObject

func (in *Project) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectList

type ProjectList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Project `json:"items"`
}

ProjectList contains a list of Projects. +kubebuilder:object:root=true

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectList) DeepCopyObject

func (in *ProjectList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectMetadata

type ProjectMetadata struct {
	// Whether content trust is enabled or not
	// If it is, users can not pull unsigned images from this project
	// +kubebuilder:validation:Optional
	EnableContentTrust bool `json:"enableContentTrust,omitempty"`
	// Whether to scan images automatically when pushing or not
	// +kubebuilder:validation:Optional
	AutoScan bool `json:"autoScan,omitempty"`
	// Whether this project reuses the system level CVE allowlist as the allowlist of its own.
	// The valid values are "true", "false".
	// If set to "true", the actual allowlist associated with this project, if any, will be ignored.
	// +kubebuilder:validation:Optional
	ReuseSysCVEAllowlist bool `json:"reuseSysCVEAllowlist,omitempty"`
	// Whether to prevent the vulnerable images from running or not.
	// +kubebuilder:validation:Optional
	PreventVul bool `json:"preventVul,omitempty"`
	// Public status of the Project
	// +kubebuilder:validation:Required
	Public bool `json:"public"`
	// If a vulnerability's severity is higher than the severity defined here,
	// images can't be pulled. Valid values are "none", "low", "medium", "high", "critical".
	// +kubebuilder:validation:Optional
	Severity *string `json:"severity,omitempty"`
}

func (*ProjectMetadata) DeepCopy

func (in *ProjectMetadata) DeepCopy() *ProjectMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadata.

func (*ProjectMetadata) DeepCopyInto

func (in *ProjectMetadata) DeepCopyInto(out *ProjectMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectSpec

type ProjectSpec struct {
	Name string `json:"name"`

	// ParentInstance is a LocalObjectReference to the
	// name of the harbor instance the project is created for
	ParentInstance corev1.LocalObjectReference `json:"parentInstance"`

	// +kubebuilder:validation:Optional
	StorageLimit int `json:"storageLimit"`

	// ProxyCache defines an optional reference to a registry resource.
	// The project will be created as a "Proxy Cache" project, if specified.
	// +kubebuilder:validation:Optional
	ProxyCache *ProxyCacheSettings `json:"proxyCache,omitempty"`

	// +kubebuilder:validation:Optional
	Metadata ProjectMetadata `json:"metadata,omitempty"`

	// Ref to the name of a 'User' resource
	// +kubebuilder:validation:Optional
	MemberRequests []MemberRequest `json:"memberRequests,omitempty"`
}

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectStatus

type ProjectStatus struct {
	Phase   ProjectStatusPhaseName `json:"phase"`
	Message string                 `json:"message"`
	// Time of last observed transition into this state
	// +kubebuilder:validation:Optional
	LastTransition *metav1.Time `json:"lastTransition,omitempty"`

	// The project ID is written back from the held project ID.
	ID int32 `json:"id,omitempty"`
	// Members is the list of existing project member users as LocalObjectReference
	Members []corev1.LocalObjectReference `json:"members,omitempty"`
}

ProjectStatus defines the state of a single project

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectStatusPhaseName

type ProjectStatusPhaseName string

type ProxyCacheSettings

type ProxyCacheSettings struct {
	Registry *corev1.LocalObjectReference `json:"registry,omitempty"`
}

ProxyCacheSettings defines settings for the registry endpoint used by a "Proxy Cache" project.

func (*ProxyCacheSettings) DeepCopy

func (in *ProxyCacheSettings) DeepCopy() *ProxyCacheSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyCacheSettings.

func (*ProxyCacheSettings) DeepCopyInto

func (in *ProxyCacheSettings) DeepCopyInto(out *ProxyCacheSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Registry

type Registry struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec RegistrySpec `json:"spec,omitempty"`

	Status RegistryStatus `json:"status,omitempty"`
}

Registry is the Schema for the registries API +kubebuilder:subresource:status +kubebuilder:resource:path=registries,scope=Namespaced +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="phase" +kubebuilder:printcolumn:name="ID",type="integer",JSONPath=".status.id",description="harbor registry id" +kubebuilder:object:root=true

func (*Registry) DeepCopy

func (in *Registry) DeepCopy() *Registry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registry.

func (*Registry) DeepCopyInto

func (in *Registry) DeepCopyInto(out *Registry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Registry) DeepCopyObject

func (in *Registry) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RegistryCredential

type RegistryCredential struct {
	// Secret reference to the credentials
	SecretRef corev1.LocalObjectReference `json:"secretRef"`

	// Key for the "AccessKey" field of the secret referenced in SecretRef
	SecretKeyAccessKey string `json:"secretKeyAccessKey"`

	// Key for the "AccessSecret" field of the secret referenced in SecretRef
	SecretKeyAccessSecret string `json:"secretKeyAccessSecret"`

	// Credential type, such as 'basic', 'oauth'.
	Type string `json:"type"`
}

func (*RegistryCredential) DeepCopy

func (in *RegistryCredential) DeepCopy() *RegistryCredential

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredential.

func (*RegistryCredential) DeepCopyInto

func (in *RegistryCredential) DeepCopyInto(out *RegistryCredential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistryList

type RegistryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Registry `json:"items"`
}

RegistryList contains a list of Registry +kubebuilder:object:root=true

func (*RegistryList) DeepCopy

func (in *RegistryList) DeepCopy() *RegistryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryList.

func (*RegistryList) DeepCopyInto

func (in *RegistryList) DeepCopyInto(out *RegistryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RegistryList) DeepCopyObject

func (in *RegistryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RegistrySpec

type RegistrySpec struct {
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	Description string `json:"description,omitempty"`

	Type RegistryType `json:"type"`

	// Target URL of the registry
	URL string `json:"url"`

	// +kubebuilder:validation:Optional
	Credential *RegistryCredential `json:"credential,omitempty"`

	// Whether or not the TLS certificate will be verified when Harbor tries to access the registry
	// +kubebuilder:validation:Optional
	Insecure bool `json:"insecure,omitempty"`

	// ParentInstance is a LocalObjectReference to the
	// name of the harbor instance the registry is created for
	ParentInstance corev1.LocalObjectReference `json:"parentInstance"`
}

RegistrySpec defines the desired state of a Registry.

func (*RegistrySpec) DeepCopy

func (in *RegistrySpec) DeepCopy() *RegistrySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrySpec.

func (*RegistrySpec) DeepCopyInto

func (in *RegistrySpec) DeepCopyInto(out *RegistrySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistryStatus

type RegistryStatus struct {
	Phase   RegistryStatusPhaseName `json:"phase"`
	Message string                  `json:"message"`

	// Time of last observed transition into this state
	// +kubebuilder:validation:Optional
	LastTransition *metav1.Time `json:"lastTransition,omitempty"`

	// The registry ID is written back from the held registry ID.
	ID int64 `json:"id,omitempty"`
}

RegistryStatus defines the observed state of Registry.

func (*RegistryStatus) DeepCopy

func (in *RegistryStatus) DeepCopy() *RegistryStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStatus.

func (*RegistryStatus) DeepCopyInto

func (in *RegistryStatus) DeepCopyInto(out *RegistryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistryStatusPhaseName

type RegistryStatusPhaseName string
const (
	RegistryStatusPhaseUnknown     RegistryStatusPhaseName = ""
	RegistryStatusPhaseCreating    RegistryStatusPhaseName = "Creating"
	RegistryStatusPhaseReady       RegistryStatusPhaseName = "Ready"
	RegistryStatusPhaseTerminating RegistryStatusPhaseName = "Terminating"
)

type RegistryType

type RegistryType string
const (
	RegistryTypeHarbor           RegistryType = "harbor"
	RegistryTypeDockerHub        RegistryType = "docker-hub"
	RegistryTypeDockerRegistry   RegistryType = "docker-registry"
	RegistryTypeHuaweiSWR        RegistryType = "huawei-SWR"
	RegistryTypeGoogleGCR        RegistryType = "google-gcr"
	RegistryTypeAwsECR           RegistryType = "aws-ecr"
	RegistryTypeAzureECR         RegistryType = "azure-acr"
	RegistryTypeAliACR           RegistryType = "ali-acr"
	RegistryTypeJfrogArtifactory RegistryType = "jfrog-artifactory"
	RegistryTypeQuay             RegistryType = "quay"
	RegistryTypeGitlab           RegistryType = "gitlab"
	RegistryTypeHelmHub          RegistryType = "helm-hub"
)

type Replication

type Replication struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ReplicationSpec `json:"spec,omitempty"`

	Status ReplicationStatus `json:"status,omitempty"`
}

Replication is the Schema for the replications API +kubebuilder:subresource:status +kubebuilder:resource:path=replications,scope=Namespaced +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="phase" +kubebuilder:printcolumn:name="ID",type="integer",JSONPath=".status.id",description="harbor replication id" +kubebuilder:printcolumn:name="Enabled",type="boolean",JSONPath=".spec.enabled",description="harbor replication id" +kubebuilder:printcolumn:name="Source",type="string",JSONPath=".status.source",description="source registry" +kubebuilder:printcolumn:name="Destination",type="string",JSONPath=".status.destination",description="destination registry" +kubebuilder:object:root=true

func (*Replication) DeepCopy

func (in *Replication) DeepCopy() *Replication

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Replication.

func (*Replication) DeepCopyInto

func (in *Replication) DeepCopyInto(out *Replication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Replication) DeepCopyObject

func (in *Replication) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReplicationFilter

type ReplicationFilter struct {
	// The replication policy filter type.
	// +kubebuilder:validation:Optional
	Type string `json:"type,omitempty"`

	// The value of replication policy filter.
	// +kubebuilder:validation:Optional
	Value string `json:"value,omitempty"`
}

ReplicationFilter holds the specifications of a replication filter

func (*ReplicationFilter) DeepCopy

func (in *ReplicationFilter) DeepCopy() *ReplicationFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationFilter.

func (*ReplicationFilter) DeepCopyInto

func (in *ReplicationFilter) DeepCopyInto(out *ReplicationFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicationList

type ReplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Replication `json:"items"`
}

ReplicationList contains a list of Replication +kubebuilder:object:root=true

func (*ReplicationList) DeepCopy

func (in *ReplicationList) DeepCopy() *ReplicationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationList.

func (*ReplicationList) DeepCopyInto

func (in *ReplicationList) DeepCopyInto(out *ReplicationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReplicationList) DeepCopyObject

func (in *ReplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReplicationSpec

type ReplicationSpec struct {
	// Whether to override the resources on the destination registry or not
	Override bool `json:"override"`

	// Whether the policy is enabled or not
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
	// +kubebuilder:validation:Optional
	TriggerAfterCreation bool `json:"triggerAfterCreation,omitempty"`
	// Whether to replicate the deletion operation
	// +kubebuilder:validation:Optional
	ReplicateDeletion bool `json:"replicateDeletion,omitempty"`

	// The name of the replication
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	Description string `json:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Creator string `json:"creator,omitempty"`

	// The destination namespace
	// If left empty, the resource will be but in the same namespace as the source
	// +kubebuilder:validation:Optional
	DestNamespace string `json:"destNamespace,omitempty"`

	// Source Registry
	// Reference to a registry cr
	// +kubebuilder:validation:Optional
	SrcRegistry *corev1.LocalObjectReference `json:"srcRegistry,omitempty"`

	// Destination Registry
	// Reference to a registry cr
	// +kubebuilder:validation:Optional
	DestRegistry *corev1.LocalObjectReference `json:"destRegistry,omitempty"`

	// The replication policy trigger type
	// +kubebuilder:validation:Optional
	Trigger *ReplicationTrigger `json:"trigger,omitempty"`

	// The replication policy filter array
	// +kubebuilder:validation:Optional
	Filters []ReplicationFilter `json:"filters,omitempty"`

	// ParentInstance is a LocalObjectReference to the
	// name of the harbor instance the replication policy gets created for
	ParentInstance corev1.LocalObjectReference `json:"parentInstance"`
}

ReplicationSpec defines the desired state of Replication

func (*ReplicationSpec) DeepCopy

func (in *ReplicationSpec) DeepCopy() *ReplicationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationSpec.

func (*ReplicationSpec) DeepCopyInto

func (in *ReplicationSpec) DeepCopyInto(out *ReplicationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicationStatus

type ReplicationStatus struct {
	Phase   ReplicationStatusPhaseName `json:"phase"`
	Message string                     `json:"message"`

	// The replication ID is written back from the held replication ID.
	ID int64 `json:"id,omitempty"`
	// The respective source and destination registries
	Source      string `json:"source,omitempty"`
	Destination string `json:"destination,omitempty"`
}

ReplicationStatus defines the observed state of Replication

func (*ReplicationStatus) DeepCopy

func (in *ReplicationStatus) DeepCopy() *ReplicationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationStatus.

func (*ReplicationStatus) DeepCopyInto

func (in *ReplicationStatus) DeepCopyInto(out *ReplicationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicationStatusPhaseName

type ReplicationStatusPhaseName string
const (
	ReplicationStatusPhaseUnknown                 ReplicationStatusPhaseName = ""
	ReplicationStatusPhaseCreating                ReplicationStatusPhaseName = "Creating"
	ReplicationStatusPhaseCompleted               ReplicationStatusPhaseName = "Completed"
	ReplicationStatusPhaseTerminating             ReplicationStatusPhaseName = "Terminating"
	ReplicationStatusPhaseManualExecutionRunning  ReplicationStatusPhaseName = "Execution Running"
	ReplicationStatusPhaseManualExecutionFailed   ReplicationStatusPhaseName = "Execution Failed"
	ReplicationStatusPhaseManualExecutionFinished ReplicationStatusPhaseName = "Execution Finished"
)

type ReplicationTrigger

type ReplicationTrigger struct {
	// +kubebuilder:validation:Optional
	Type string `json:"type,omitempty"`

	// +kubebuilder:validation:Optional
	Settings *TriggerSettings `json:"triggerSettings,omitempty"`
}

ReplicationTrigger defines a replication trigger. We have to use our custom type here, because we cannot DeepCopy the pointer of *h.Trigger.

func (*ReplicationTrigger) DeepCopy

func (in *ReplicationTrigger) DeepCopy() *ReplicationTrigger

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationTrigger.

func (*ReplicationTrigger) DeepCopyInto

func (in *ReplicationTrigger) DeepCopyInto(out *ReplicationTrigger)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepoState

type RepoState string
const (
	RepoStateReady RepoState = "Ready"
	RepoStateError RepoState = "Error"
)

type ScheduleType

type ScheduleType string
const (
	ScheduleTypeHourly   ScheduleType = "Hourly"
	ScheduleTypeDaily    ScheduleType = "Daily"
	ScheduleTypeWeekly   ScheduleType = "Weekly"
	ScheduleTypeCustom   ScheduleType = "Custom"
	ScheduleTypeManually ScheduleType = "Manually"
	ScheduleTypeNone     ScheduleType = "None"
)

type TriggerSettings

type TriggerSettings struct {
	Cron string `json:"cron"`
}

TriggerSettings holds the settings of a trigger

func (*TriggerSettings) DeepCopy

func (in *TriggerSettings) DeepCopy() *TriggerSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerSettings.

func (*TriggerSettings) DeepCopyInto

func (in *TriggerSettings) DeepCopyInto(out *TriggerSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the users API +kubebuilder:subresource:status +kubebuilder:resource:path=users,scope=Namespaced,shortName=users;harborusers +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="phase" +kubebuilder:object:root=true

func (*User) DeepCopy

func (in *User) DeepCopy() *User

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*User) DeepCopyObject

func (in *User) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []User `json:"items"`
}

UserList contains a list of User +kubebuilder:object:root=true

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UserList) DeepCopyObject

func (in *UserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UserSpec

type UserSpec struct {
	// +kubebuilder:validation:Optional
	SysAdmin *bool `json:"sysAdmin,omitempty"`
	// The effective length of the generated user password
	// +kubebuilder:validation:Minimum=8
	// +kubebuilder:validation:Maximum=128
	// +kubebuilder:validation:Optional
	PasswordStrength int32 `json:"passwordStrength"`
	// ParentInstance is a LocalObjectReference to the
	// name of the harbor instance the user is created for
	ParentInstance corev1.LocalObjectReference `json:"parentInstance"`
	Name           string                      `json:"name"`
	RealName       string                      `json:"realname"`
	Email          string                      `json:"email"`
	UserSecretRef  corev1.LocalObjectReference `json:"userSecretRef"`
	// +kubebuilder:validation:Optional
	Comments string `json:"comments,omitempty"`
}

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserStatus

type UserStatus struct {
	Phase UserStatusPhaseName `json:"phase"`
	// +optional
	Message string `json:"message"`
	// +optional
	PasswordHash string `json:"passwordHash"`

	// Time of last observed transition into this state
	// +kubebuilder:validation:Optional
	LastTransition *metav1.Time `json:"lastTransition,omitempty"`
}

UserStatus defines the state of a single user

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserStatusPhaseName

type UserStatusPhaseName string
const (
	UserStatusPhaseUnknown     UserStatusPhaseName = ""
	UserStatusPhaseCreating    UserStatusPhaseName = "Creating"
	UserStatusPhaseReady       UserStatusPhaseName = "Ready"
	UserStatusPhaseTerminating UserStatusPhaseName = "Terminating"
)

Jump to

Keyboard shortcuts

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