v1alpha3

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package v1alpha3 contains API Schema definitions for the containerregistry v1alpha3 API group +kubebuilder:object:generate=true +groupName=goharbor.io

Index

Constants

View Source
const (
	S3DriverName         = "s3"
	SwiftDriverName      = "swift"
	FileSystemDriverName = "filesystem"
)
View Source
const (
	// Ready means the HarborCluster is ready.
	Ready HarborClusterConditionType = "Ready"
	// CacheReady means the Cache is ready.
	CacheReady HarborClusterConditionType = "CacheReady"
	// DatabaseReady means the Database is ready.
	DatabaseReady HarborClusterConditionType = "DatabaseReady"
	// StorageReady means the Storage is ready.
	StorageReady HarborClusterConditionType = "StorageReady"
	// ServiceReady means the Service of Harbor is ready.
	ServiceReady HarborClusterConditionType = "ServiceReady"
	// ConfigurationReady means the configuration is applied to harbor.
	ConfigurationReady HarborClusterConditionType = "ConfigurationReady"
	// StatusCreating is the status of provisioning.
	StatusProvisioning ClusterStatus = "provisioning"
	// StatusHealthy is the status of healthy.
	StatusHealthy ClusterStatus = "healthy"
	// StatusUnHealthy is the status of unhealthy.
	StatusUnHealthy ClusterStatus = "unhealthy"
)

These are valid conditions of a HarborCluster.

View Source
const (
	RegistryControllerCorePublicURLKey = "REGISTRY_HTTP_HOST"
	RegistryControllerAuthURLKey       = "REGISTRY_AUTH_TOKEN_REALM" // RegistryControllerCorePublicURLKey + "/service/token"
)
View Source
const (
	CoreDatabaseType = "postgresql"
)
View Source
const (
	HarborClassAnnotation = "goharbor.io/harbor-class"
)
View Source
const NotarySignerAPIPort = 7899
View Source
const (
	// ipaddress:port[,weight,password,database_index]
	RegistryControllerCacheURLKey = "url"
)

Variables

View Source
var (
	ErrNoStorageConfiguration = errors.New("no storage configuration")
	Err2StorageConfiguration  = errors.New("only 1 storage can be configured")
)
View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "goharbor.io", Version: "v1alpha3"}

	// 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
)
View Source
var HarborClusterGVK = schema.GroupVersionKind{
	Group:   GroupVersion.Group,
	Version: GroupVersion.Version,
	Kind:    "HarborCluster",
}

Functions

func Convert_v1alpha3_Cache_To_v1beta1_Cache added in v1.1.0

func Convert_v1alpha3_Cache_To_v1beta1_Cache(src *Cache, dst *v1beta1.Cache)

func Convert_v1alpha3_ChartMuseumComponentSpec_To_v1beta1_ChartMuseumComponentSpec added in v1.1.0

func Convert_v1alpha3_ChartMuseumComponentSpec_To_v1beta1_ChartMuseumComponentSpec(src *ChartMuseumComponentSpec, dst *v1beta1.ChartMuseumComponentSpec)

func Convert_v1alpha3_CoreComponentSpec_To_v1beta1_CoreComponentSpec added in v1.1.0

func Convert_v1alpha3_CoreComponentSpec_To_v1beta1_CoreComponentSpec(src *CoreComponentSpec, dst *v1beta1.CoreComponentSpec)

func Convert_v1alpha3_Database_To_v1beta1_Database added in v1.1.0

func Convert_v1alpha3_Database_To_v1beta1_Database(src *Database, dst *v1beta1.Database)

func Convert_v1alpha3_ExporterComponentSpec_To_v1beta1_ExporterComponentSpec added in v1.1.0

func Convert_v1alpha3_ExporterComponentSpec_To_v1beta1_ExporterComponentSpec(src *ExporterComponentSpec, dst *v1beta1.ExporterComponentSpec)

func Convert_v1alpha3_HarborClusterSpec_To_v1beta1_HarborClusterSpec added in v1.1.0

func Convert_v1alpha3_HarborClusterSpec_To_v1beta1_HarborClusterSpec(src *HarborClusterSpec, dst *v1beta1.HarborClusterSpec)

func Convert_v1alpha3_HarborClusterStatus_To_v1beta1_HarborClusterStatus added in v1.1.0

func Convert_v1alpha3_HarborClusterStatus_To_v1beta1_HarborClusterStatus(src *HarborClusterStatus, dst *v1beta1.HarborClusterStatus)

func Convert_v1alpha3_HarborComponentSpec_To_v1beta1_EmbeddedHarborComponentsSpec added in v1.1.0

func Convert_v1alpha3_HarborComponentSpec_To_v1beta1_EmbeddedHarborComponentsSpec(src *HarborComponentsSpec, dst *v1beta1.EmbeddedHarborComponentsSpec)

func Convert_v1alpha3_HarborDatabaseSpec_To_v1beta1_Database added in v1.1.0

func Convert_v1alpha3_HarborDatabaseSpec_To_v1beta1_Database(src *HarborDatabaseSpec, dst *v1beta1.Database)

func Convert_v1alpha3_HarborExporterCacheSpec_To_v1beta1_HarborExporterCacheSpec added in v1.1.0

func Convert_v1alpha3_HarborExporterCacheSpec_To_v1beta1_HarborExporterCacheSpec(src *HarborExporterCacheSpec, dst *v1beta1.HarborExporterCacheSpec)

func Convert_v1alpha3_HarborExposeComponentSpec_To_v1beta1_HarborExposeComponentSpec added in v1.1.0

func Convert_v1alpha3_HarborExposeComponentSpec_To_v1beta1_HarborExposeComponentSpec(src *HarborExposeComponentSpec, dst *v1beta1.HarborExposeComponentSpec)

func Convert_v1alpha3_HarborExposeIngressSpec_To_v1beta1_HarborExposeIngressSpec added in v1.1.0

func Convert_v1alpha3_HarborExposeIngressSpec_To_v1beta1_HarborExposeIngressSpec(src *HarborExposeIngressSpec, dst *v1beta1.HarborExposeIngressSpec)

func Convert_v1alpha3_HarborExposeSpec_To_v1beta1_HarborExposeSpec added in v1.1.0

func Convert_v1alpha3_HarborExposeSpec_To_v1beta1_HarborExposeSpec(src *HarborExposeSpec, dst *v1beta1.HarborExposeSpec)

func Convert_v1alpha3_HarborSpec_To_v1beta1_HarborSpec added in v1.1.0

func Convert_v1alpha3_HarborSpec_To_v1beta1_HarborSpec(src *HarborSpec, dst *v1beta1.EmbeddedHarborSpec)

func Convert_v1alpha3_HarborStorageImageChartStorageSpec_To_v1beta1_Storage added in v1.1.0

func Convert_v1alpha3_HarborStorageImageChartStorageSpec_To_v1beta1_Storage(src *HarborStorageImageChartStorageSpec, dst *v1beta1.Storage)

func Convert_v1alpha3_HarborStorageTrivyStorageSpec_To_v1beta1_HarborStorageTrivyStorageSpec added in v1.1.0

func Convert_v1alpha3_HarborStorageTrivyStorageSpec_To_v1beta1_HarborStorageTrivyStorageSpec(src *HarborStorageTrivyStorageSpec, dst *v1beta1.HarborStorageTrivyStorageSpec)

func Convert_v1alpha3_JobServiceComponentSpec_To_v1beta1_JobServiceComponentSpec added in v1.1.0

func Convert_v1alpha3_JobServiceComponentSpec_To_v1beta1_JobServiceComponentSpec(src *JobServiceComponentSpec, dst *v1beta1.JobServiceComponentSpec)

func Convert_v1alpha3_MinIOSpec_to_v1beta1_MinIOSpec added in v1.1.0

func Convert_v1alpha3_MinIOSpec_to_v1beta1_MinIOSpec(src *MinIOSpec, dst *v1beta1.MinIOSpec)

func Convert_v1alpha3_NotaryComponentSpec_To_v1beta1_NotaryComponentSpec added in v1.1.0

func Convert_v1alpha3_NotaryComponentSpec_To_v1beta1_NotaryComponentSpec(src *NotaryComponentSpec, dst *v1beta1.NotaryComponentSpec)

func Convert_v1alpha3_PostgresSQLSpec_To_v1beta1_ZlandoPostgresSQLSpec added in v1.1.0

func Convert_v1alpha3_PostgresSQLSpec_To_v1beta1_ZlandoPostgresSQLSpec(src *PostgresSQLSpec, dst *v1beta1.ZlandoPostgreSQLSpec)

func Convert_v1alpha3_RedisSpec_To_v1beta1_CacheSpec added in v1.1.0

func Convert_v1alpha3_RedisSpec_To_v1beta1_CacheSpec(src *RedisSpec, dst *v1beta1.CacheSpec)

func Convert_v1alpha3_RegistryComponentSpec_To_v1beta1_RegistryComponentSpec added in v1.1.0

func Convert_v1alpha3_RegistryComponentSpec_To_v1beta1_RegistryComponentSpec(src *RegistryComponentSpec, dst *v1beta1.RegistryComponentSpec)

func Convert_v1alpha3_Storage_To_v1beta1_Storage added in v1.1.0

func Convert_v1alpha3_Storage_To_v1beta1_Storage(src *Storage, dst *v1beta1.Storage)

func Convert_v1alpha3_TrivyComponentSpec_To_v1beta1_TrivyComponentSpec added in v1.1.0

func Convert_v1alpha3_TrivyComponentSpec_To_v1beta1_TrivyComponentSpec(src *TrivyComponentSpec, dst *v1beta1.TrivyComponentSpec)

func Convert_v1beta1_Cache_To_v1alpha3_Cache added in v1.1.0

func Convert_v1beta1_Cache_To_v1alpha3_Cache(src *v1beta1.Cache, dst *Cache)

func Convert_v1beta1_ChartMuseumComponentSpec_To_v1alpha3_ChartMuseumComponentSpec added in v1.1.0

func Convert_v1beta1_ChartMuseumComponentSpec_To_v1alpha3_ChartMuseumComponentSpec(src *v1beta1.ChartMuseumComponentSpec, dst *ChartMuseumComponentSpec)

func Convert_v1beta1_CoreComponentSpec_To_v1alpha3_CoreComponentSpec added in v1.1.0

func Convert_v1beta1_CoreComponentSpec_To_v1alpha3_CoreComponentSpec(src *v1beta1.CoreComponentSpec, dst *CoreComponentSpec)

func Convert_v1beta1_Database_To_v1alpha3_Database added in v1.1.0

func Convert_v1beta1_Database_To_v1alpha3_Database(src *v1beta1.Database, dst *Database)

func Convert_v1beta1_EmbeddedHarborComponentsSpec_To_v1alpha3_HarborComponentSpec added in v1.1.0

func Convert_v1beta1_EmbeddedHarborComponentsSpec_To_v1alpha3_HarborComponentSpec(src *v1beta1.EmbeddedHarborComponentsSpec, dst *HarborComponentsSpec)

func Convert_v1beta1_EmbeddedHarborSpec_To_v1alpha3_HarborSpec added in v1.1.0

func Convert_v1beta1_EmbeddedHarborSpec_To_v1alpha3_HarborSpec(src *v1beta1.EmbeddedHarborSpec, dst *HarborSpec)

func Convert_v1beta1_ExporterComponentSpec_To_v1alpha3_ExporterComponentSpec added in v1.1.0

func Convert_v1beta1_ExporterComponentSpec_To_v1alpha3_ExporterComponentSpec(src *v1beta1.ExporterComponentSpec, dst *ExporterComponentSpec)

func Convert_v1beta1_ExternalRedisSpec_To_v1alpha3_ExternalRedisSpec added in v1.1.0

func Convert_v1beta1_ExternalRedisSpec_To_v1alpha3_ExternalRedisSpec(src *v1beta1.ExternalRedisSpec, dst *ExternalRedisSpec)

func Convert_v1beta1_FileSystemSpec_To_v1alpha3_HarborStorageImageChartStorage added in v1.1.0

func Convert_v1beta1_FileSystemSpec_To_v1alpha3_HarborStorageImageChartStorage(src *v1beta1.FileSystemSpec, dst *HarborStorageImageChartStorageSpec)

func Convert_v1beta1_HarborClusterSpec_To_v1alpha3_HarborClusterSpec added in v1.1.0

func Convert_v1beta1_HarborClusterSpec_To_v1alpha3_HarborClusterSpec(src *v1beta1.HarborClusterSpec, dst *HarborClusterSpec)

func Convert_v1beta1_HarborClusterStatus_To_v1alpha3_HarborClusterStatus added in v1.1.0

func Convert_v1beta1_HarborClusterStatus_To_v1alpha3_HarborClusterStatus(src *v1beta1.HarborClusterStatus, dst *HarborClusterStatus)

func Convert_v1beta1_HarborExporterCacheSpec_To_v1alpha3_HarborExporterCacheSpec added in v1.1.0

func Convert_v1beta1_HarborExporterCacheSpec_To_v1alpha3_HarborExporterCacheSpec(src *v1beta1.HarborExporterCacheSpec, dst *HarborExporterCacheSpec)

func Convert_v1beta1_HarborExposeComponentSpec_To_v1alpha3_HarborExposeComponentSpec added in v1.1.0

func Convert_v1beta1_HarborExposeComponentSpec_To_v1alpha3_HarborExposeComponentSpec(src *v1beta1.HarborExposeComponentSpec, dst *HarborExposeComponentSpec)

func Convert_v1beta1_HarborExposeIngressSpec_To_v1alpha3_HarborExposeIngressSpec added in v1.1.0

func Convert_v1beta1_HarborExposeIngressSpec_To_v1alpha3_HarborExposeIngressSpec(src *v1beta1.HarborExposeIngressSpec, dst *HarborExposeIngressSpec)

func Convert_v1beta1_HarborExposeSpec_To_v1alpha3_HarborExposeSpec added in v1.1.0

func Convert_v1beta1_HarborExposeSpec_To_v1alpha3_HarborExposeSpec(src *v1beta1.HarborExposeSpec, dst *HarborExposeSpec)

func Convert_v1beta1_HarborStorageTrivyStorageSpec_To_v1alpha3_HarborStorageTrivyStorageSpec added in v1.1.0

func Convert_v1beta1_HarborStorageTrivyStorageSpec_To_v1alpha3_HarborStorageTrivyStorageSpec(src *v1beta1.HarborStorageTrivyStorageSpec, dst *HarborStorageTrivyStorageSpec)

func Convert_v1beta1_JobServiceComponentSpec_To_v1alpha3_JobServiceComponentSpec added in v1.1.0

func Convert_v1beta1_JobServiceComponentSpec_To_v1alpha3_JobServiceComponentSpec(src *v1beta1.JobServiceComponentSpec, dst *JobServiceComponentSpec)

func Convert_v1beta1_MinIOSpec_To_v1alpha3_MinIOSpec added in v1.1.0

func Convert_v1beta1_MinIOSpec_To_v1alpha3_MinIOSpec(src *v1beta1.MinIOSpec, dst *MinIOSpec)

func Convert_v1beta1_NotaryComponentSpec_To_v1alpha3_NotaryComponentSpec added in v1.1.0

func Convert_v1beta1_NotaryComponentSpec_To_v1alpha3_NotaryComponentSpec(src *v1beta1.NotaryComponentSpec, dst *NotaryComponentSpec)

func Convert_v1beta1_PostgreSQLSpec_To_v1alpha3_HarborDatabaseSpec added in v1.1.0

func Convert_v1beta1_PostgreSQLSpec_To_v1alpha3_HarborDatabaseSpec(src *v1beta1.PostgreSQLSpec, dst *HarborDatabaseSpec)

func Convert_v1beta1_RedisSpec_To_v1alpha3_CacheSpec added in v1.1.0

func Convert_v1beta1_RedisSpec_To_v1alpha3_CacheSpec(src *v1beta1.CacheSpec, dst *RedisSpec)

func Convert_v1beta1_RegistryComponentSpec_To_v1alpha3_RegistryComponentSpec added in v1.1.0

func Convert_v1beta1_RegistryComponentSpec_To_v1alpha3_RegistryComponentSpec(src *v1beta1.RegistryComponentSpec, dst *RegistryComponentSpec)

func Convert_v1beta1_S3Spec_To_v1alpha3_HarborStorageImageChartStorage added in v1.1.0

func Convert_v1beta1_S3Spec_To_v1alpha3_HarborStorageImageChartStorage(src *v1beta1.S3Spec, dst *HarborStorageImageChartStorageSpec)

func Convert_v1beta1_Storage_To_v1alpha3_Storage added in v1.1.0

func Convert_v1beta1_Storage_To_v1alpha3_Storage(src *v1beta1.Storage, dst *Storage)

func Convert_v1beta1_SwiftSpec_To_v1alpha3_HarborStorageImageChartStorage added in v1.1.0

func Convert_v1beta1_SwiftSpec_To_v1alpha3_HarborStorageImageChartStorage(src *v1beta1.SwiftSpec, dst *HarborStorageImageChartStorageSpec)

func Convert_v1beta1_TrivyComponentSpec_To_v1alpha3_TrivyComponentSpec added in v1.1.0

func Convert_v1beta1_TrivyComponentSpec_To_v1alpha3_TrivyComponentSpec(src *v1beta1.TrivyComponentSpec, dst *TrivyComponentSpec)

func Convert_v1beta1_ZlandoPostgreSQLSpec_To_v1alpha3_PostgresSQLSpec added in v1.1.0

func Convert_v1beta1_ZlandoPostgreSQLSpec_To_v1alpha3_PostgresSQLSpec(src *v1beta1.ZlandoPostgreSQLSpec, dst *PostgresSQLSpec)

Types

type Cache

type Cache struct {
	// Set the kind of cache service to be used. Only support Redis now.
	// +kubebuilder:validation:Enum=Redis
	Kind string `json:"kind"`

	// RedisSpec is the specification of redis.
	// +kubebuilder:validation:Required
	RedisSpec *RedisSpec `json:"redisSpec"`
}

func (*Cache) DeepCopy

func (in *Cache) DeepCopy() *Cache

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

func (*Cache) DeepCopyInto

func (in *Cache) DeepCopyInto(out *Cache)

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

type CertificateInjection

type CertificateInjection struct {
	// +kubebuilder:validation:Optional
	CertificateRefs []string `json:"certificateRefs,omitempty"`
}

CertificateInjection defines the certs injection.

func (*CertificateInjection) DeepCopy

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

func (*CertificateInjection) DeepCopyInto

func (in *CertificateInjection) DeepCopyInto(out *CertificateInjection)

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

func (CertificateInjection) GenerateVolumeMounts

func (ci CertificateInjection) GenerateVolumeMounts() []corev1.VolumeMount

GenerateVolumeMounts generates volumeMounts.

func (CertificateInjection) GenerateVolumes

func (ci CertificateInjection) GenerateVolumes() []corev1.Volume

GenerateVolumes generates volumes.

func (CertificateInjection) ShouldInject

func (ci CertificateInjection) ShouldInject() bool

ShouldInject returns whether should inject certs.

type ChartMuseum

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

	Spec ChartMuseumSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=chartmuseum +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 ChartMuseum is the Schema for the ChartMuseum API.

func (*ChartMuseum) ConvertFrom added in v1.1.0

func (c *ChartMuseum) ConvertFrom(srcRaw conversion.Hub) error

func (*ChartMuseum) ConvertTo added in v1.1.0

func (c *ChartMuseum) ConvertTo(dstRaw conversion.Hub) error

func (*ChartMuseum) DeepCopy

func (in *ChartMuseum) DeepCopy() *ChartMuseum

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

func (*ChartMuseum) DeepCopyInto

func (in *ChartMuseum) DeepCopyInto(out *ChartMuseum)

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

func (*ChartMuseum) DeepCopyObject

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

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

type ChartMuseumAuthBearerSpec

type ChartMuseumAuthBearerSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Reference to secret containing authorization server certificate
	CertificateRef string `json:"certificateRef"`

	// +kubebuilder:validation:Required
	// Authorization server url
	Realm string `json:"realm"`

	// +kubebuilder:validation:Required
	// Authorization server service name
	Service string `json:"service"`
}

func (*ChartMuseumAuthBearerSpec) DeepCopy

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

func (*ChartMuseumAuthBearerSpec) DeepCopyInto

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

type ChartMuseumAuthSpec

type ChartMuseumAuthSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Allow anonymous GET operations when auth is used
	AnonymousGet bool `json:"anonymousGet"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Reference to secret containing basic http authentication
	// Harbor: Harbor try to connect using chart_controller username
	BasicAuthRef string `json:"basicAuthRef,omitempty"`

	// +kubebuilder:validation:Optional
	// Bearer authentication specs
	Bearer *ChartMuseumAuthBearerSpec `json:"bearer,omitempty"`
}

func (*ChartMuseumAuthSpec) DeepCopy

func (in *ChartMuseumAuthSpec) DeepCopy() *ChartMuseumAuthSpec

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

func (*ChartMuseumAuthSpec) DeepCopyInto

func (in *ChartMuseumAuthSpec) DeepCopyInto(out *ChartMuseumAuthSpec)

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

type ChartMuseumCacheSpec

type ChartMuseumCacheSpec struct {
	// +kubebuilder:validation:Optional
	// Redis cache store
	Redis *harbormetav1.RedisConnection `json:"redis,omitempty"`
}

func (*ChartMuseumCacheSpec) DeepCopy

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

func (*ChartMuseumCacheSpec) DeepCopyInto

func (in *ChartMuseumCacheSpec) DeepCopyInto(out *ChartMuseumCacheSpec)

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

type ChartMuseumChartIndexSpec

type ChartMuseumChartIndexSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// Parallel scan limit for the repo indexer
	ParallelLimit *int32 `json:"parallelLimit,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Timestamp drift tolerated between cached and generated index before invalidation
	StorageTimestampTolerance *metav1.Duration `json:"storageTimestampTolerance,omitempty"`
}

func (*ChartMuseumChartIndexSpec) DeepCopy

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

func (*ChartMuseumChartIndexSpec) DeepCopyInto

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

type ChartMuseumChartRepoSpec

type ChartMuseumChartRepoSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The length of repo variable
	DepthDynamic bool `json:"depthDynamic"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1
	// Levels of nested repos for multitenancy
	// Harbor: must be set to 1 to support project namespace
	Depth *int32 `json:"depth,omitempty"`
}

func (*ChartMuseumChartRepoSpec) DeepCopy

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

func (*ChartMuseumChartRepoSpec) DeepCopyInto

func (in *ChartMuseumChartRepoSpec) DeepCopyInto(out *ChartMuseumChartRepoSpec)

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

type ChartMuseumChartSpec

type ChartMuseumChartSpec struct {
	// +kubebuilder:validation:Optional
	// Form fields which will be queried
	PostFormFieldName ChartMuseumPostFormFieldNameSpec `json:"postFormFieldName,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="https?://.*"
	// The absolute url for .tgz files in index.yaml
	URL string `json:"url,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// Allow chart versions to be re-uploaded without ?force querystring
	AllowOverwrite *bool `json:"allowOverwrite,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Enforce the chart museum server only accepts the valid chart version as Helm does
	SemanticVersioning2Only bool `json:"onlySemver2"`

	// +kubebuilder:validation:Required
	Storage ChartMuseumChartStorageSpec `json:"storage"`

	// +kubebuilder:validation:Optional
	Index ChartMuseumChartIndexSpec `json:"index,omitempty"`

	// +kubebuilder:validation:Optional
	Repo ChartMuseumChartRepoSpec `json:"repo,omitempty"`
}

func (*ChartMuseumChartSpec) DeepCopy

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

func (*ChartMuseumChartSpec) DeepCopyInto

func (in *ChartMuseumChartSpec) DeepCopyInto(out *ChartMuseumChartSpec)

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

type ChartMuseumChartStorageDriverAmazonSpec

type ChartMuseumChartStorageDriverAmazonSpec struct {
	// +kubebuilder:validation:Required
	// S3 bucket to store charts for amazon storage
	Bucket string `json:"bucket"`

	// +kubebuilder:validation:Optional
	// Alternative s3 endpoint
	Endpoint string `json:"endpoint,omitempty"`

	// +kubebuilder:validation:Optional
	// Prefix to store charts for the bucket
	Prefix string `json:"prefix,omitempty"`

	// +kubebuilder:validation:Optional
	// Region of the bucket
	Region string `json:"region,omitempty"`

	// +kubebuilder:validation:Optional
	// ServerSideEncryption is the algorithm for server side encryption
	ServerSideEncryption string `json:"serverSideEncryption,omitempty"`

	// +kubebuilder:validation:Optional
	AccessKeyID string `json:"accessKeyID,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	AccessSecretRef string `json:"accessSecretRef,omitempty"`
}

func (*ChartMuseumChartStorageDriverAmazonSpec) DeepCopy

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

func (*ChartMuseumChartStorageDriverAmazonSpec) DeepCopyInto

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

type ChartMuseumChartStorageDriverFilesystemSpec

type ChartMuseumChartStorageDriverFilesystemSpec struct {
	// +kubebuilder:validation:Required
	VolumeSource corev1.VolumeSource `json:"volumeSource"`

	// +kubebuilder:validation:Optionel
	Prefix string `json:"prefix,omitempty"`
}

func (*ChartMuseumChartStorageDriverFilesystemSpec) DeepCopy

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

func (*ChartMuseumChartStorageDriverFilesystemSpec) DeepCopyInto

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

type ChartMuseumChartStorageDriverOpenStackSpec

type ChartMuseumChartStorageDriverOpenStackSpec struct {
	// +kubebuilder:validation:Required
	// Container to store charts for openstack storage backend
	Container string `json:"container"`

	// +kubebuilder:validation:Optional
	// Prefix to store charts for the container
	Prefix string `json:"prefix,omitempty"`

	// +kubebuilder:validation:Optional
	// Region of the container
	Region string `json:"region,omitempty"`

	// +kubebuilder:validation:Required
	// URL for obtaining an auth token.
	// https://storage.myprovider.com/v2.0 or https://storage.myprovider.com/v3/auth
	AuthenticationURL string `json:"authenticationURL"`

	// +kubebuilder:validation:Optional
	// Your Openstack tenant name.
	// You can either use tenant or tenantid.
	Tenant string `json:"tenant,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack tenant ID.
	// You can either use tenant or tenantid.
	TenantID string `json:"tenantID,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack domain name for Identity v3 API. You can either use domain or domainid.
	Domain string `json:"domain,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack domain ID for Identity v3 API. You can either use domain or domainid.
	DomainID string `json:"domainID,omitempty"`

	// +kubebuilder:validation:Optional
	// The Openstack user name. You can either use username or userid.
	Username string `json:"username,omitempty"`

	// +kubebuilder:validation:Optional
	// The Openstack user id. You can either use username or userid.
	UserID string `json:"userid,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Secret name containing the Openstack password.
	PasswordRef string `json:"passwordRef,omitempty"`
}

func (*ChartMuseumChartStorageDriverOpenStackSpec) DeepCopy

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

func (*ChartMuseumChartStorageDriverOpenStackSpec) DeepCopyInto

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

type ChartMuseumChartStorageDriverSpec

type ChartMuseumChartStorageDriverSpec struct {
	// +kubebuilder:validation:Optional
	Amazon *ChartMuseumChartStorageDriverAmazonSpec `json:"amazon,omitempty"`

	// +kubebuilder:validation:Optional
	OpenStack *ChartMuseumChartStorageDriverOpenStackSpec `json:"openstack,omitempty"`

	// +kubebuilder:validation:Optional
	FileSystem *ChartMuseumChartStorageDriverFilesystemSpec `json:"filesystem,omitempty"`
}

func (*ChartMuseumChartStorageDriverSpec) DeepCopy

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

func (*ChartMuseumChartStorageDriverSpec) DeepCopyInto

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

type ChartMuseumChartStorageSpec

type ChartMuseumChartStorageSpec struct {
	ChartMuseumChartStorageDriverSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// Maximum number of objects allowed in storage (per tenant)
	MaxStorageObjects *int64 `json:"maxStorageObject,omitempty"`
}

func (*ChartMuseumChartStorageSpec) DeepCopy

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

func (*ChartMuseumChartStorageSpec) DeepCopyInto

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

type ChartMuseumComponentSpec

type ChartMuseumComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Harbor defaults ChartMuseum to returning relative urls,
	// if you want using absolute url you should enable it
	AbsoluteURL bool `json:"absoluteUrl"`
}

func (*ChartMuseumComponentSpec) DeepCopy

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

func (*ChartMuseumComponentSpec) DeepCopyInto

func (in *ChartMuseumComponentSpec) DeepCopyInto(out *ChartMuseumComponentSpec)

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

type ChartMuseumDisableSpec

type ChartMuseumDisableSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Disable all routes prefixed with
	API bool `json:"api"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Disable use of index-cache.yaml
	StateFiles bool `json:"statefiles"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Do not allow chart versions to be re-uploaded, even with ?force querystrin
	ForceOverwrite bool `json:"forceOverwrite"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Disable Prometheus metrics
	Metrics bool `json:"metrics"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Disable DELETE route
	Delete bool `json:"delete"`
}

func (*ChartMuseumDisableSpec) DeepCopy

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

func (*ChartMuseumDisableSpec) DeepCopyInto

func (in *ChartMuseumDisableSpec) DeepCopyInto(out *ChartMuseumDisableSpec)

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

type ChartMuseumList

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

+kubebuilder:object:root=true ChartMuseumList contains a list of ChartMuseum.

func (*ChartMuseumList) DeepCopy

func (in *ChartMuseumList) DeepCopy() *ChartMuseumList

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

func (*ChartMuseumList) DeepCopyInto

func (in *ChartMuseumList) DeepCopyInto(out *ChartMuseumList)

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

func (*ChartMuseumList) DeepCopyObject

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

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

type ChartMuseumLogSpec

type ChartMuseumLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Output structured logs as json
	JSON bool `json:"json"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Show debug messages
	Debug bool `json:"debug"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Log inbound /health requests
	Health bool `json:"health"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// log latency as an integer instead of a string
	LatencyInteger *bool `json:"latencyInteger,omitempty"`
}

func (*ChartMuseumLogSpec) DeepCopy

func (in *ChartMuseumLogSpec) DeepCopy() *ChartMuseumLogSpec

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

func (*ChartMuseumLogSpec) DeepCopyInto

func (in *ChartMuseumLogSpec) DeepCopyInto(out *ChartMuseumLogSpec)

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

type ChartMuseumPostFormFieldNameSpec

type ChartMuseumPostFormFieldNameSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:default="chart"
	// Form field which will be queried for the chart file content
	// Harbor: Expecting chart to use with Harbor
	Chart string `json:"chart,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:default="prov"
	// Form field which will be queried for the provenance file content
	// Harbor: Expecting prov to use with Harbor
	Provenance string `json:"provenance,omitempty"`
}

func (*ChartMuseumPostFormFieldNameSpec) DeepCopy

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

func (*ChartMuseumPostFormFieldNameSpec) DeepCopyInto

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

type ChartMuseumServerSpec

type ChartMuseumServerSpec struct {
	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Socket timeout
	ReadTimeout *metav1.Duration `json:"readTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Socket timeout
	WriteTimeout *metav1.Duration `json:"writeTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=20971520
	// Max size of post body (in bytes)
	MaxUploadSize *int64 `json:"maxUploadSize,omitempty"`

	// +kubebuilder:validation:Optional
	// Value to set in the Access-Control-Allow-Origin HTTP header
	CORSAllowOrigin string `json:"corsAllowOrigin,omitempty"`
}

func (*ChartMuseumServerSpec) DeepCopy

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

func (*ChartMuseumServerSpec) DeepCopyInto

func (in *ChartMuseumServerSpec) DeepCopyInto(out *ChartMuseumServerSpec)

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

type ChartMuseumSpec

type ChartMuseumSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	Log ChartMuseumLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Optional
	Authentication ChartMuseumAuthSpec `json:"authentication,omitempty"`

	// +kubebuilder:validation:Optional
	Server ChartMuseumServerSpec `json:"server,omitempty"`

	// +kubebuilder:validation:Optional
	// Disable some features
	Disable ChartMuseumDisableSpec `json:"disable,omitempty"`

	// +kubebuilder:validation:Optional
	// Cache stores
	Cache ChartMuseumCacheSpec `json:"cache,omitempty"`

	// +kubebuilder:validation:Required
	Chart ChartMuseumChartSpec `json:"chart"`
}

ChartMuseumSpec defines the desired state of ChartMuseum.

func (*ChartMuseumSpec) DeepCopy

func (in *ChartMuseumSpec) DeepCopy() *ChartMuseumSpec

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

func (*ChartMuseumSpec) DeepCopyInto

func (in *ChartMuseumSpec) DeepCopyInto(out *ChartMuseumSpec)

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

type ClusterStatus

type ClusterStatus string

ClusterStatus is a type for cluster status.

type Component

type Component string

the name of component used harbor cluster.

const (
	ComponentHarbor   Component = "harbor"
	ComponentCache    Component = "cache"
	ComponentStorage  Component = "storage"
	ComponentDatabase Component = "database"
)

all Component used in harbor cluster full stack.

type Core

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

	Spec CoreSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=core +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Core is the Schema for the Core API.

func (*Core) ConvertFrom added in v1.1.0

func (c *Core) ConvertFrom(srcRaw conversion.Hub) error

func (*Core) ConvertTo added in v1.1.0

func (c *Core) ConvertTo(dstRaw conversion.Hub) error

func (*Core) DeepCopy

func (in *Core) DeepCopy() *Core

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

func (*Core) DeepCopyInto

func (in *Core) DeepCopyInto(out *Core)

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

func (*Core) DeepCopyObject

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

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

type CoreComponentPortalSpec

type CoreComponentPortalSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`
}

func (*CoreComponentPortalSpec) DeepCopy

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

func (*CoreComponentPortalSpec) DeepCopyInto

func (in *CoreComponentPortalSpec) DeepCopyInto(out *CoreComponentPortalSpec)

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

type CoreComponentSpec

type CoreComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Required
	TokenIssuer cmmeta.ObjectReference `json:"tokenIssuer,omitempty"`

	// +kubebuilder:validation:Optional
	Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
}

func (*CoreComponentSpec) DeepCopy

func (in *CoreComponentSpec) DeepCopy() *CoreComponentSpec

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

func (*CoreComponentSpec) DeepCopyInto

func (in *CoreComponentSpec) DeepCopyInto(out *CoreComponentSpec)

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

type CoreComponentsChartRepositorySpec

type CoreComponentsChartRepositorySpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	AbsoluteURL bool `json:"absoluteURL"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"redis"}
	// +kubebuilder:default="redis"
	CacheDriver string `json:"cacheDriver,omitempty"`
}

func (*CoreComponentsChartRepositorySpec) DeepCopy

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

func (*CoreComponentsChartRepositorySpec) DeepCopyInto

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

type CoreComponentsJobServiceSpec

type CoreComponentsJobServiceSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SecretRef string `json:"secretRef"`
}

func (*CoreComponentsJobServiceSpec) DeepCopy

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

func (*CoreComponentsJobServiceSpec) DeepCopyInto

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

type CoreComponentsNotaryServerSpec

type CoreComponentsNotaryServerSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`
}

func (*CoreComponentsNotaryServerSpec) DeepCopy

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

func (*CoreComponentsNotaryServerSpec) DeepCopyInto

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

type CoreComponentsRegistryCredentialsSpec

type CoreComponentsRegistryCredentialsSpec struct {
	// +kubebuilder:validation:Required
	Username string `json:"username"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	PasswordRef string `json:"passwordRef"`
}

func (*CoreComponentsRegistryCredentialsSpec) DeepCopy

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

func (*CoreComponentsRegistryCredentialsSpec) DeepCopyInto

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

type CoreComponentsRegistrySpec

type CoreComponentsRegistrySpec struct {
	RegistryControllerConnectionSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Redis *harbormetav1.RedisConnection `json:"redis,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Sync bool `json:"sync"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MinLength=1
	StorageProviderName string `json:"storageProviderName,omitempty"`
}

func (*CoreComponentsRegistrySpec) DeepCopy

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

func (*CoreComponentsRegistrySpec) DeepCopyInto

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

type CoreComponentsSpec

type CoreComponentsSpec struct {
	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Required
	JobService CoreComponentsJobServiceSpec `json:"jobService"`

	// +kubebuilder:validation:Required
	Portal CoreComponentPortalSpec `json:"portal"`

	// +kubebuilder:validation:Required
	Registry CoreComponentsRegistrySpec `json:"registry"`

	// +kubebuilder:validation:Required
	TokenService CoreComponentsTokenServiceSpec `json:"tokenService"`

	// +kubebuilder:validation:Optional
	Trivy *CoreComponentsTrivySpec `json:"trivy,omitempty"`

	// +kubebuilder:validation:Optional
	ChartRepository *CoreComponentsChartRepositorySpec `json:"chartRepository,omitempty"`

	// +kubebuilder:validation:Optional
	NotaryServer *CoreComponentsNotaryServerSpec `json:"notaryServer,omitempty"`
}

func (*CoreComponentsSpec) DeepCopy

func (in *CoreComponentsSpec) DeepCopy() *CoreComponentsSpec

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

func (*CoreComponentsSpec) DeepCopyInto

func (in *CoreComponentsSpec) DeepCopyInto(out *CoreComponentsSpec)

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

type CoreComponentsTokenServiceSpec

type CoreComponentsTokenServiceSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef"`
}

func (*CoreComponentsTokenServiceSpec) DeepCopy

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

func (*CoreComponentsTokenServiceSpec) DeepCopyInto

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

type CoreComponentsTrivySpec

type CoreComponentsTrivySpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	AdapterURL string `json:"adapterURL"`
}

func (*CoreComponentsTrivySpec) DeepCopy

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

func (*CoreComponentsTrivySpec) DeepCopyInto

func (in *CoreComponentsTrivySpec) DeepCopyInto(out *CoreComponentsTrivySpec)

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

type CoreConfig

type CoreConfig struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	AdminInitialPasswordRef string `json:"adminInitialPasswordRef"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"db_auth"}
	// +kubebuilder:default="db_auth"
	AuthenticationMode string `json:"authMode,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SecretRef string `json:"secretRef"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	PublicCertificateRef string `json:"publicCertificateRef,omitempty"`
}

func (*CoreConfig) DeepCopy

func (in *CoreConfig) DeepCopy() *CoreConfig

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

func (*CoreConfig) DeepCopyInto

func (in *CoreConfig) DeepCopyInto(out *CoreConfig)

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

type CoreDatabaseSpec

type CoreDatabaseSpec struct {
	harbormetav1.PostgresConnectionWithParameters `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=50
	MaxIdleConnections *int32 `json:"maxIdleConnections,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1000
	MaxOpenConnections *int32 `json:"maxOpenConnections,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	EncryptionKeyRef string `json:"encryptionKeyRef"`
}

func (*CoreDatabaseSpec) DeepCopy

func (in *CoreDatabaseSpec) DeepCopy() *CoreDatabaseSpec

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

func (*CoreDatabaseSpec) DeepCopyInto

func (in *CoreDatabaseSpec) DeepCopyInto(out *CoreDatabaseSpec)

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

type CoreHTTPSpec

type CoreHTTPSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	GZip *bool `json:"enableGzip,omitempty"`
}

func (*CoreHTTPSpec) DeepCopy

func (in *CoreHTTPSpec) DeepCopy() *CoreHTTPSpec

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

func (*CoreHTTPSpec) DeepCopyInto

func (in *CoreHTTPSpec) DeepCopyInto(out *CoreHTTPSpec)

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

type CoreList

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

+kubebuilder:object:root=true CoreList contains a list of Core.

func (*CoreList) DeepCopy

func (in *CoreList) DeepCopy() *CoreList

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

func (*CoreList) DeepCopyInto

func (in *CoreList) DeepCopyInto(out *CoreList)

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

func (*CoreList) DeepCopyObject

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

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

type CoreLogSpec

type CoreLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.CoreLogLevel `json:"level,omitempty"`
}

func (*CoreLogSpec) DeepCopy

func (in *CoreLogSpec) DeepCopy() *CoreLogSpec

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

func (*CoreLogSpec) DeepCopyInto

func (in *CoreLogSpec) DeepCopyInto(out *CoreLogSpec)

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

type CoreRedisSpec

type CoreRedisSpec struct {
	harbormetav1.RedisConnection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="30s"
	// IdleTimeoutSecond closes connections after remaining idle for this duration. If the value
	// is zero, then idle connections are not closed. Applications should set
	// the timeout to a value less than the server's timeout.
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`
}

func (*CoreRedisSpec) DeepCopy

func (in *CoreRedisSpec) DeepCopy() *CoreRedisSpec

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

func (*CoreRedisSpec) DeepCopyInto

func (in *CoreRedisSpec) DeepCopyInto(out *CoreRedisSpec)

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

type CoreSpec

type CoreSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// https://github.com/goharbor/harbor/blob/master/src/lib/config/metadata/metadatalist.go#L62
	CoreConfig `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	HTTP CoreHTTPSpec `json:"http,omitempty"`

	// +kubebuilder:validation:Required
	Components CoreComponentsSpec `json:"components"`

	// +kubebuilder:validation:Optional
	Proxy *harbormetav1.ProxySpec `json:"proxy,omitempty"`

	// +kubebuilder:validation:Optional
	Log CoreLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Required
	Database CoreDatabaseSpec `json:"database"`

	// +kubebuilder:validation:Required
	Redis CoreRedisSpec `json:"redis"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	ExternalEndpoint string `json:"externalEndpoint"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	ConfigExpiration *metav1.Duration `json:"configExpiration,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CSRFKeyRef string `json:"csrfKeyRef"`

	// +kubebuilder:validation:Optional
	Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
}

CoreSpec defines the desired state of Core.

func (*CoreSpec) DeepCopy

func (in *CoreSpec) DeepCopy() *CoreSpec

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

func (*CoreSpec) DeepCopyInto

func (in *CoreSpec) DeepCopyInto(out *CoreSpec)

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

type Database

type Database struct {
	// Set the kind of which database service to be used, Only support PostgresSQL now.
	// +kubebuilder:validation:Enum=PostgresSQL
	Kind string `json:"kind"`

	// +kubebuilder:validation:Required
	PostgresSQLSpec *PostgresSQLSpec `json:"postgresSqlSpec"`
}

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

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

type ErrUnsupportedComponent

type ErrUnsupportedComponent harbormetav1.ComponentWithTLS

func (ErrUnsupportedComponent) Error

func (err ErrUnsupportedComponent) Error() string

type Exporter

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

	Spec ExporterSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=exporter +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Exporter is the Schema for the Exporter API.

func (*Exporter) ConvertFrom added in v1.1.0

func (e *Exporter) ConvertFrom(srcRaw conversion.Hub) error

func (*Exporter) ConvertTo added in v1.1.0

func (e *Exporter) ConvertTo(dstRaw conversion.Hub) error

func (*Exporter) DeepCopy

func (in *Exporter) DeepCopy() *Exporter

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

func (*Exporter) DeepCopyInto

func (in *Exporter) DeepCopyInto(out *Exporter)

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

func (*Exporter) DeepCopyObject

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

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

type ExporterCacheSpec

type ExporterCacheSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?"
	// +kubebuilder:default="30s"
	// The duration to cache info from the database and core.
	Duration *metav1.Duration `json:"duration,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?"
	// +kubebuilder:default="4h"
	// The interval to clean the cache info from the database and core.
	CleanInterval *metav1.Duration `json:"cleanInterval,omitempty"`
}

func (*ExporterCacheSpec) DeepCopy

func (in *ExporterCacheSpec) DeepCopy() *ExporterCacheSpec

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

func (*ExporterCacheSpec) DeepCopyInto

func (in *ExporterCacheSpec) DeepCopyInto(out *ExporterCacheSpec)

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

func (*ExporterCacheSpec) GetCleanIntervalEnvVar

func (spec *ExporterCacheSpec) GetCleanIntervalEnvVar() string

func (*ExporterCacheSpec) GetDurationEnvVar

func (spec *ExporterCacheSpec) GetDurationEnvVar() string

type ExporterComponentSpec

type ExporterComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Cache HarborExporterCacheSpec `json:"cache,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=8001
	// +kubebuilder:validation:Minimum=1
	// The port of the exporter.
	Port int32 `json:"port"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="/metrics"
	// +kubebuilder:validation:Pattern="/.+"
	// The metrics path of the exporter.
	Path string `json:"path"`
}

func (*ExporterComponentSpec) DeepCopy

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

func (*ExporterComponentSpec) DeepCopyInto

func (in *ExporterComponentSpec) DeepCopyInto(out *ExporterComponentSpec)

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

type ExporterCoreSpec

type ExporterCoreSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	// The absolute Harbor Core URL.
	URL string `json:"url"`
}

func (*ExporterCoreSpec) DeepCopy

func (in *ExporterCoreSpec) DeepCopy() *ExporterCoreSpec

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

func (*ExporterCoreSpec) DeepCopyInto

func (in *ExporterCoreSpec) DeepCopyInto(out *ExporterCoreSpec)

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

type ExporterDatabaseSpec

type ExporterDatabaseSpec struct {
	harbormetav1.PostgresConnectionWithParameters `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=50
	MaxIdleConnections *int32 `json:"maxIdleConnections,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1000
	MaxOpenConnections *int32 `json:"maxOpenConnections,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	EncryptionKeyRef string `json:"encryptionKeyRef"`
}

func (*ExporterDatabaseSpec) DeepCopy

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

func (*ExporterDatabaseSpec) DeepCopyInto

func (in *ExporterDatabaseSpec) DeepCopyInto(out *ExporterDatabaseSpec)

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

type ExporterList

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

+kubebuilder:object:root=true ExporterList contains a list of Exporter.

func (*ExporterList) DeepCopy

func (in *ExporterList) DeepCopy() *ExporterList

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

func (*ExporterList) DeepCopyInto

func (in *ExporterList) DeepCopyInto(out *ExporterList)

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

func (*ExporterList) DeepCopyObject

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

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

type ExporterLogSpec

type ExporterLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.ExporterLogLevel `json:"level,omitempty"`
}

func (*ExporterLogSpec) DeepCopy

func (in *ExporterLogSpec) DeepCopy() *ExporterLogSpec

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

func (*ExporterLogSpec) DeepCopyInto

func (in *ExporterLogSpec) DeepCopyInto(out *ExporterLogSpec)

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

type ExporterSpec

type ExporterSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	Log ExporterLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Optional
	Cache ExporterCacheSpec `json:"cache,omitempty"`

	// +kubebuilder:validation:Required
	Core ExporterCoreSpec `json:"core"`

	// +kubebuilder:validation:Required
	Database ExporterDatabaseSpec `json:"database"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=8001
	// +kubebuilder:validation:Minimum=1
	Port int32 `json:"port,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="/metrics"
	// +kubebuilder:validation:Pattern="/.+"
	Path string `json:"path,omitempty"`
}

ExporterSpec defines the desired state of Exporter.

func (*ExporterSpec) DeepCopy

func (in *ExporterSpec) DeepCopy() *ExporterSpec

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

func (*ExporterSpec) DeepCopyInto

func (in *ExporterSpec) DeepCopyInto(out *ExporterSpec)

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

type ExternalRedisSpec

type ExternalRedisSpec struct {
	harbormetav1.RedisHostSpec    `json:",inline"`
	harbormetav1.RedisCredentials `json:",inline"`
}

func (*ExternalRedisSpec) DeepCopy

func (in *ExternalRedisSpec) DeepCopy() *ExternalRedisSpec

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

func (*ExternalRedisSpec) DeepCopyInto

func (in *ExternalRedisSpec) DeepCopyInto(out *ExternalRedisSpec)

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

type Harbor

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

	Spec HarborSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=harbor +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor",shortName="h" +kubebuilder:printcolumn:name="Public URL",type=string,JSONPath=`.spec.externalURL`,description="The public URL to the Harbor application",priority=5 +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version`,description="The version to the Harbor application",priority=5 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Harbor is the Schema for the harbors API.

func (*Harbor) ConvertFrom added in v1.1.0

func (h *Harbor) ConvertFrom(srcRaw conversion.Hub) error

func (*Harbor) ConvertTo added in v1.1.0

func (h *Harbor) ConvertTo(dstRaw conversion.Hub) error

func (*Harbor) DeepCopy

func (in *Harbor) DeepCopy() *Harbor

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

func (*Harbor) DeepCopyInto

func (in *Harbor) DeepCopyInto(out *Harbor)

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

func (*Harbor) DeepCopyObject

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

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

func (*Harbor) GetComponentProxySpec

func (h *Harbor) GetComponentProxySpec(component harbormetav1.Component) *harbormetav1.ProxySpec

func (*Harbor) GetComponentSpec

func (h *Harbor) GetComponentSpec(ctx context.Context, component harbormetav1.Component) harbormetav1.ComponentSpec

type HarborCluster

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

	Spec   HarborClusterSpec   `json:"spec,omitempty"`
	Status HarborClusterStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=harborcluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Public URL",type=string,JSONPath=`.spec.externalURL`,description="The public URL to the Harbor application",priority=0 +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version`,description="The version to the Harbor application",priority=0 +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status`,description="The overall status of the Harbor cluster",priority=0 +kubebuilder:printcolumn:name="Operator Version",type=string,JSONPath=`.status.operator.controllerVersion`,description="The operator version ",priority=30 +kubebuilder:printcolumn:name="Operator Git Commit",type=string,JSONPath=`.status.operator.controllerGitCommit`,description="The operator git commit",priority=30 HarborCluster is the Schema for the harborclusters API.

func (*HarborCluster) ConvertFrom added in v1.1.0

func (hc *HarborCluster) ConvertFrom(srcRaw conversion.Hub) error

func (*HarborCluster) ConvertTo added in v1.1.0

func (hc *HarborCluster) ConvertTo(dstRaw conversion.Hub) error

func (*HarborCluster) DeepCopy

func (in *HarborCluster) DeepCopy() *HarborCluster

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

func (*HarborCluster) DeepCopyInto

func (in *HarborCluster) DeepCopyInto(out *HarborCluster)

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

func (*HarborCluster) DeepCopyObject

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

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

type HarborClusterCondition

type HarborClusterCondition struct {
	// Type is the type of the condition.
	Type HarborClusterConditionType `json:"type"`
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

HarborClusterCondition contains details for the current condition of this pod.

func (*HarborClusterCondition) DeepCopy

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

func (*HarborClusterCondition) DeepCopyInto

func (in *HarborClusterCondition) DeepCopyInto(out *HarborClusterCondition)

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

type HarborClusterConditionType

type HarborClusterConditionType string

HarborClusterConditionType is a valid value for HarborClusterConditionType.Type.

type HarborClusterList

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

+kubebuilder:object:root=true HarborClusterList contains a list of HarborCluster.

func (*HarborClusterList) DeepCopy

func (in *HarborClusterList) DeepCopy() *HarborClusterList

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

func (*HarborClusterList) DeepCopyInto

func (in *HarborClusterList) DeepCopyInto(out *HarborClusterList)

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

func (*HarborClusterList) DeepCopyObject

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

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

type HarborClusterSpec

type HarborClusterSpec struct {
	HarborSpec `json:",inline"`

	// Cache configuration for in-cluster cache services
	// +kubebuilder:validation:Optional
	InClusterCache *Cache `json:"inClusterCache,omitempty"`

	// Database configuration for in-cluster database service
	// +kubebuilder:validation:Optional
	InClusterDatabase *Database `json:"inClusterDatabase,omitempty"`

	// Storage configuration for in-cluster storage service
	// +kubebuilder:validation:Optional
	InClusterStorage *Storage `json:"inClusterStorage,omitempty"`
}

HarborClusterSpec defines the desired state of HarborCluster.

func (*HarborClusterSpec) DeepCopy

func (in *HarborClusterSpec) DeepCopy() *HarborClusterSpec

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

func (*HarborClusterSpec) DeepCopyInto

func (in *HarborClusterSpec) DeepCopyInto(out *HarborClusterSpec)

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

type HarborClusterStatus

type HarborClusterStatus struct {
	// +kubebuilder:validation:Optional
	Operator harbormetav1.OperatorStatus `json:"operator,omitempty"`

	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// Status indicates the overall status of the Harbor cluster
	// Status can be "unknown", "creating", "healthy" and "unhealthy"
	Status ClusterStatus `json:"status"`

	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Revision of the status
	// Use unix nano
	Revision int64 `json:"revision"`

	// Conditions of each components
	Conditions []HarborClusterCondition `json:"conditions,omitempty"`
}

HarborClusterStatus defines the observed state of HarborCluster.

func (*HarborClusterStatus) DeepCopy

func (in *HarborClusterStatus) DeepCopy() *HarborClusterStatus

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

func (*HarborClusterStatus) DeepCopyInto

func (in *HarborClusterStatus) DeepCopyInto(out *HarborClusterStatus)

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

type HarborComponentsSpec

type HarborComponentsSpec struct {
	// +kubebuilder:validation:Optional
	Portal *PortalComponentSpec `json:"portal,omitempty"`

	// +kubebuilder:validation:Required
	Core CoreComponentSpec `json:"core,omitempty"`

	// +kubebuilder:validation:Required
	JobService JobServiceComponentSpec `json:"jobservice,omitempty"`

	// +kubebuilder:validation:Required
	Registry RegistryComponentSpec `json:"registry,omitempty"`

	// +kubebuilder:validation:Optional
	RegistryController *harbormetav1.ComponentSpec `json:"registryctl,omitempty"`

	// +kubebuilder:validation:Optional
	ChartMuseum *ChartMuseumComponentSpec `json:"chartmuseum,omitempty"`

	// +kubebuilder:validation:Optional
	Exporter *ExporterComponentSpec `json:"exporter,omitempty"`

	// +kubebuilder:validation:Optional
	Trivy *TrivyComponentSpec `json:"trivy,omitempty"`

	// +kubebuilder:validation:Optional
	Notary *NotaryComponentSpec `json:"notary,omitempty"`

	// Skip OpenAPI schema validation
	// Use validating webhook to do verification (field required)
	// +kubebuilder:validation:Optional
	Redis *ExternalRedisSpec `json:"redis,omitempty"`

	// Skip OpenAPI schema validation
	// Use validating webhook to do verification (field required)
	// +kubebuilder:validation:Optional
	Database *HarborDatabaseSpec `json:"database,omitempty"`
}

func (*HarborComponentsSpec) DeepCopy

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

func (*HarborComponentsSpec) DeepCopyInto

func (in *HarborComponentsSpec) DeepCopyInto(out *HarborComponentsSpec)

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

func (*HarborComponentsSpec) RedisConnection

type HarborDatabaseSpec

type HarborDatabaseSpec struct {
	harbormetav1.PostgresCredentials `json:",inline"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Hosts []harbormetav1.PostgresHostSpec `json:"hosts"`

	// +kubebuilder:validation:Optional
	SSLMode harbormetav1.PostgresSSLMode `json:"sslMode,omitempty"`

	// +kubebuilder:validation:Optional
	Prefix string `json:"prefix,omitempty"`
}

func (*HarborDatabaseSpec) DeepCopy

func (in *HarborDatabaseSpec) DeepCopy() *HarborDatabaseSpec

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

func (*HarborDatabaseSpec) DeepCopyInto

func (in *HarborDatabaseSpec) DeepCopyInto(out *HarborDatabaseSpec)

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

func (*HarborDatabaseSpec) GetPostgresqlConnection

type HarborExporterCacheSpec

type HarborExporterCacheSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?"
	// +kubebuilder:default="30s"
	// The duration to cache info from the database and core.
	Duration *metav1.Duration `json:"duration,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?"
	// +kubebuilder:default="4h"
	// The interval to clean the cache info from the database and core.
	CleanInterval *metav1.Duration `json:"cleanInterval,omitempty"`
}

func (*HarborExporterCacheSpec) DeepCopy

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

func (*HarborExporterCacheSpec) DeepCopyInto

func (in *HarborExporterCacheSpec) DeepCopyInto(out *HarborExporterCacheSpec)

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

type HarborExposeComponentSpec

type HarborExposeComponentSpec struct {
	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	Ingress *HarborExposeIngressSpec `json:"ingress,omitempty"`
}

func (*HarborExposeComponentSpec) DeepCopy

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

func (*HarborExposeComponentSpec) DeepCopyInto

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

type HarborExposeIngressSpec

type HarborExposeIngressSpec struct {
	// +kubebuilder:validation:Required
	Host string `json:"host"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="default"
	// Set to the type of ingress controller.
	Controller harbormetav1.IngressController `json:"controller,omitempty"`

	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*HarborExposeIngressSpec) DeepCopy

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

func (*HarborExposeIngressSpec) DeepCopyInto

func (in *HarborExposeIngressSpec) DeepCopyInto(out *HarborExposeIngressSpec)

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

type HarborExposeSpec

type HarborExposeSpec struct {
	// +kubebuilder:validation:Required
	Core HarborExposeComponentSpec `json:"core"`

	// +kubebuilder:validation:Optional
	// The ingress of the notary, required when notary component enabled.
	Notary *HarborExposeComponentSpec `json:"notary,omitempty"`
}

func (*HarborExposeSpec) DeepCopy

func (in *HarborExposeSpec) DeepCopy() *HarborExposeSpec

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

func (*HarborExposeSpec) DeepCopyInto

func (in *HarborExposeSpec) DeepCopyInto(out *HarborExposeSpec)

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

type HarborInternalTLSSpec

type HarborInternalTLSSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`
}

func (*HarborInternalTLSSpec) DeepCopy

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

func (*HarborInternalTLSSpec) DeepCopyInto

func (in *HarborInternalTLSSpec) DeepCopyInto(out *HarborInternalTLSSpec)

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

func (*HarborInternalTLSSpec) GetComponentTLSSpec

func (r *HarborInternalTLSSpec) GetComponentTLSSpec(certificateRef string) *harbormetav1.ComponentsTLSSpec

func (*HarborInternalTLSSpec) GetInternalPort

func (r *HarborInternalTLSSpec) GetInternalPort(component harbormetav1.ComponentWithTLS) int32

func (*HarborInternalTLSSpec) GetScheme

func (r *HarborInternalTLSSpec) GetScheme() string

func (*HarborInternalTLSSpec) IsEnabled

func (r *HarborInternalTLSSpec) IsEnabled() bool

type HarborList

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

+kubebuilder:object:root=true +resource:path=harbors HarborList contains a list of Harbor.

func (*HarborList) DeepCopy

func (in *HarborList) DeepCopy() *HarborList

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

func (*HarborList) DeepCopyInto

func (in *HarborList) DeepCopyInto(out *HarborList)

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

func (*HarborList) DeepCopyObject

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

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

type HarborProxySpec

type HarborProxySpec struct {
	harbormetav1.ProxySpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={core,jobservice,trivy}
	Components []string `json:"components,omitempty"`
}

func (*HarborProxySpec) DeepCopy

func (in *HarborProxySpec) DeepCopy() *HarborProxySpec

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

func (*HarborProxySpec) DeepCopyInto

func (in *HarborProxySpec) DeepCopyInto(out *HarborProxySpec)

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

type HarborSpec

type HarborSpec struct {
	HarborComponentsSpec `json:",inline"`

	ImageSource *harbormetav1.ImageSourceSpec `json:"imageSource,omitempty"`

	// +kubebuilder:validation:Required
	Expose HarborExposeSpec `json:"expose"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.*"
	ExternalURL string `json:"externalURL"`

	// +kubebuilder:validation:Optional
	InternalTLS HarborInternalTLSSpec `json:"internalTLS"`

	// Skip OpenAPI schema validation
	// Use validating webhook to do verification (field required)
	// +kubebuilder:validation:Optional
	ImageChartStorage *HarborStorageImageChartStorageSpec `json:"imageChartStorage,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	LogLevel harbormetav1.HarborLogLevel `json:"logLevel,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	HarborAdminPasswordRef string `json:"harborAdminPasswordRef"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="RollingUpdate"
	UpdateStrategyType appsv1.DeploymentStrategyType `json:"updateStrategyType,omitempty"`

	// +kubebuilder:validation:Optional
	Proxy *HarborProxySpec `json:"proxy,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[0-9]+\\.[0-9]+\\.[0-9]+"
	// The version of the harbor, eg 2.1.2
	Version string `json:"version"`
}

HarborSpec defines the desired state of Harbor.

func (*HarborSpec) DeepCopy

func (in *HarborSpec) DeepCopy() *HarborSpec

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

func (*HarborSpec) DeepCopyInto

func (in *HarborSpec) DeepCopyInto(out *HarborSpec)

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

func (*HarborSpec) ValidateNotary

func (spec *HarborSpec) ValidateNotary() *field.Error

func (*HarborSpec) ValidateRegistryController

func (spec *HarborSpec) ValidateRegistryController() *field.Error

type HarborStorageImageChartStorageFileSystemSpec

type HarborStorageImageChartStorageFileSystemSpec struct {
	// +kubebuilder:validation:Optional
	ChartPersistentVolume *HarborStoragePersistentVolumeSpec `json:"chartPersistentVolume,omitempty"`

	// +kubebuilder:validation:Required
	RegistryPersistentVolume HarborStorageRegistryPersistentVolumeSpec `json:"registryPersistentVolume"`
}

func (*HarborStorageImageChartStorageFileSystemSpec) DeepCopy

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

func (*HarborStorageImageChartStorageFileSystemSpec) DeepCopyInto

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

type HarborStorageImageChartStorageS3Spec

type HarborStorageImageChartStorageS3Spec struct {
	RegistryStorageDriverS3Spec `json:",inline"`
}

func (*HarborStorageImageChartStorageS3Spec) ChartMuseum

func (*HarborStorageImageChartStorageS3Spec) DeepCopy

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

func (*HarborStorageImageChartStorageS3Spec) DeepCopyInto

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

func (*HarborStorageImageChartStorageS3Spec) Registry

type HarborStorageImageChartStorageSpec

type HarborStorageImageChartStorageSpec struct {
	// +kubebuilder:validation:Optional
	Redirect RegistryStorageRedirectSpec `json:"redirect,omitempty"`

	// +kubebuilder:validation:Optional
	// FileSystem is an implementation of the storagedriver.StorageDriver interface which uses the local filesystem.
	// The local filesystem can be a remote volume.
	// See: https://docs.docker.com/registry/storage-drivers/filesystem/
	FileSystem *HarborStorageImageChartStorageFileSystemSpec `json:"filesystem,omitempty"`

	// +kubebuilder:validation:Optional
	// An implementation of the storagedriver.StorageDriver interface which uses Amazon S3 or S3 compatible services for object storage.
	// See: https://docs.docker.com/registry/storage-drivers/s3/
	S3 *HarborStorageImageChartStorageS3Spec `json:"s3,omitempty"`

	// +kubebuilder:validation:Optional
	// An implementation of the storagedriver.StorageDriver interface that uses OpenStack Swift for object storage.
	// See: https://docs.docker.com/registry/storage-drivers/swift/
	Swift *HarborStorageImageChartStorageSwiftSpec `json:"swift,omitempty"`
}

func (*HarborStorageImageChartStorageSpec) DeepCopy

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

func (*HarborStorageImageChartStorageSpec) DeepCopyInto

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

func (*HarborStorageImageChartStorageSpec) ProviderName

func (r *HarborStorageImageChartStorageSpec) ProviderName() string

func (*HarborStorageImageChartStorageSpec) Validate

type HarborStorageImageChartStorageSwiftSpec

type HarborStorageImageChartStorageSwiftSpec struct {
	RegistryStorageDriverSwiftSpec `json:",inline"`
}

func (*HarborStorageImageChartStorageSwiftSpec) ChartMuseum

func (*HarborStorageImageChartStorageSwiftSpec) DeepCopy

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

func (*HarborStorageImageChartStorageSwiftSpec) DeepCopyInto

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

func (*HarborStorageImageChartStorageSwiftSpec) Registry

type HarborStoragePersistentVolumeSpec

type HarborStoragePersistentVolumeSpec struct {
	corev1.PersistentVolumeClaimVolumeSource `json:",inline"`

	// +kubebuilder:validation:Optional
	Prefix string `json:"prefix,omitempty"`
}

func (*HarborStoragePersistentVolumeSpec) DeepCopy

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

func (*HarborStoragePersistentVolumeSpec) DeepCopyInto

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

type HarborStorageRegistryPersistentVolumeSpec

type HarborStorageRegistryPersistentVolumeSpec struct {
	HarborStoragePersistentVolumeSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=25
	// +kubebuilder:default=100
	MaxThreads int32 `json:"maxthreads,omitempty"`
}

func (*HarborStorageRegistryPersistentVolumeSpec) DeepCopy

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

func (*HarborStorageRegistryPersistentVolumeSpec) DeepCopyInto

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

type HarborStorageTrivyStorageSpec

type HarborStorageTrivyStorageSpec struct {
	// +kubebuilder:validation:Optional
	// ReportsPersistentVolume specify the persistent volume used to store Trivy reports.
	// If empty, empty dir will be used.
	ReportsPersistentVolume *HarborStoragePersistentVolumeSpec `json:"reportsPersistentVolume,omitempty"`

	// +kubebuilder:validation:Optional
	// CachePersistentVolume specify the persistent volume used to store Trivy cache.
	// If empty, empty dir will be used.
	CachePersistentVolume *HarborStoragePersistentVolumeSpec `json:"cachePersistentVolume,omitempty"`
}

func (*HarborStorageTrivyStorageSpec) DeepCopy

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

func (*HarborStorageTrivyStorageSpec) DeepCopyInto

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

type JobService

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

	Spec JobServiceSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=jobservice +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 JobService is the Schema for the JobService API.

func (*JobService) ConvertFrom added in v1.1.0

func (js *JobService) ConvertFrom(srcRaw conversion.Hub) error

func (*JobService) ConvertTo added in v1.1.0

func (js *JobService) ConvertTo(dstRaw conversion.Hub) error

func (*JobService) DeepCopy

func (in *JobService) DeepCopy() *JobService

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

func (*JobService) DeepCopyInto

func (in *JobService) DeepCopyInto(out *JobService)

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

func (*JobService) DeepCopyObject

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

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

type JobServiceComponentSpec

type JobServiceComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=10
	WorkerCount int32 `json:"workerCount,omitempty"`
}

func (*JobServiceComponentSpec) DeepCopy

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

func (*JobServiceComponentSpec) DeepCopyInto

func (in *JobServiceComponentSpec) DeepCopyInto(out *JobServiceComponentSpec)

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

type JobServiceCoreSpec

type JobServiceCoreSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SecretRef string `json:"secretRef"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`
}

func (*JobServiceCoreSpec) DeepCopy

func (in *JobServiceCoreSpec) DeepCopy() *JobServiceCoreSpec

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

func (*JobServiceCoreSpec) DeepCopyInto

func (in *JobServiceCoreSpec) DeepCopyInto(out *JobServiceCoreSpec)

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

type JobServiceList

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

+kubebuilder:object:root=true JobServiceList contains a list of JobService.

func (*JobServiceList) DeepCopy

func (in *JobServiceList) DeepCopy() *JobServiceList

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

func (*JobServiceList) DeepCopyInto

func (in *JobServiceList) DeepCopyInto(out *JobServiceList)

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

func (*JobServiceList) DeepCopyObject

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

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

type JobServiceLoggerConfigDatabaseSpec

type JobServiceLoggerConfigDatabaseSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="INFO"
	Level harbormetav1.JobServiceLogLevel `json:"level,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	Sweeper *metav1.Duration `json:"sweeper,omitempty"`
}

func (*JobServiceLoggerConfigDatabaseSpec) DeepCopy

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

func (*JobServiceLoggerConfigDatabaseSpec) DeepCopyInto

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

type JobServiceLoggerConfigFileSpec

type JobServiceLoggerConfigFileSpec struct {
	// +kubebuilder:validation:Optional
	Volume *corev1.VolumeSource `json:"volume,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="INFO"
	Level harbormetav1.JobServiceLogLevel `json:"level,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	Sweeper *metav1.Duration `json:"sweeper,omitempty"`
}

func (*JobServiceLoggerConfigFileSpec) DeepCopy

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

func (*JobServiceLoggerConfigFileSpec) DeepCopyInto

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

type JobServiceLoggerConfigSTDOUTSpec

type JobServiceLoggerConfigSTDOUTSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="INFO"
	Level harbormetav1.JobServiceLogLevel `json:"level,omitempty"`
}

func (*JobServiceLoggerConfigSTDOUTSpec) DeepCopy

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

func (*JobServiceLoggerConfigSTDOUTSpec) DeepCopyInto

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

type JobServiceLoggerConfigSpec

type JobServiceLoggerConfigSpec struct {
	// +kubebuilder:validation:Optional
	// +nullable
	Files []JobServiceLoggerConfigFileSpec `json:"files,omitempty"`

	// +kubebuilder:validation:Optional
	Database *JobServiceLoggerConfigDatabaseSpec `json:"database,omitempty"`

	// +kubebuilder:validation:Optional
	STDOUT *JobServiceLoggerConfigSTDOUTSpec `json:"stdout,omitempty"`
}

LoggerConfig keeps logger basic configurations. One of files, database or stdout must be defined.

func (*JobServiceLoggerConfigSpec) DeepCopy

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

func (*JobServiceLoggerConfigSpec) DeepCopyInto

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

func (*JobServiceLoggerConfigSpec) Validate

func (r *JobServiceLoggerConfigSpec) Validate() error

type JobServiceLoggerConfigSweeperSpec

type JobServiceLoggerConfigSweeperSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SettingsRef string `json:"settingsRef,omitempty"`
}

JobServiceLoggerConfigSweeperSpec keeps settings of log sweeper.

func (*JobServiceLoggerConfigSweeperSpec) DeepCopy

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

func (*JobServiceLoggerConfigSweeperSpec) DeepCopyInto

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

type JobServiceLoggerName

type JobServiceLoggerName string

+kubebuilder:validation:Type=string +kubebuilder:validation:Enum={"DB","FILE","STD_OUTPUT"} JobServiceLoggerName is the type of logger to configure.

const (
	JobServiceLoggerDatabase JobServiceLoggerName = "DB"
	JobServiceLoggerFile     JobServiceLoggerName = "FILE"
	JobServiceLoggerSTDOUT   JobServiceLoggerName = "STD_OUTPUT"
)

type JobServicePoolRedisSpec

type JobServicePoolRedisSpec struct {
	harbormetav1.RedisConnection `json:",inline"`

	// +kubebuilder:validation:Optional
	Namespace string `json:"namespace,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="30s"
	// IdleTimeoutSecond closes connections after remaining idle for this duration. If the value
	// is zero, then idle connections are not closed. Applications should set
	// the timeout to a value less than the server's timeout.
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`
}

RedisPoolConfig keeps redis worker info.

func (*JobServicePoolRedisSpec) DeepCopy

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

func (*JobServicePoolRedisSpec) DeepCopyInto

func (in *JobServicePoolRedisSpec) DeepCopyInto(out *JobServicePoolRedisSpec)

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

type JobServicePoolSpec

type JobServicePoolSpec struct {
	// Worker concurrency
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=10
	WorkerCount int32 `json:"workers,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum={"redis"}
	// +kubebuilder:default="redis"
	Backend string `json:"backend,omitempty"`

	// +kubebuilder:validation:Required
	Redis JobServicePoolRedisSpec `json:"redisPool,omitempty"`
}

PoolConfig keeps worker worker configurations.

func (*JobServicePoolSpec) DeepCopy

func (in *JobServicePoolSpec) DeepCopy() *JobServicePoolSpec

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

func (*JobServicePoolSpec) DeepCopyInto

func (in *JobServicePoolSpec) DeepCopyInto(out *JobServicePoolSpec)

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

type JobServiceSpec

type JobServiceSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SecretRef string `json:"secretRef"`

	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Required
	Core JobServiceCoreSpec `json:"core"`

	// +kubebuilder:validation:Required
	TokenService JobServiceTokenSpec `json:"tokenService"`

	// +kubebuilder:validation:Required
	// Configurations of worker pool
	WorkerPool JobServicePoolSpec `json:"workerPool"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"stdout":{"level":"INFO"},"files":{{"volume":{"emptyDir":{"sizeLimit":"100Mi"}},"level":"INFO","sweeper":"720h"}}}
	// Job logger configurations
	JobLoggers JobServiceLoggerConfigSpec `json:"jobLoggers,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"stdout":{"level":"INFO"}}
	// Logger configurations
	Loggers JobServiceLoggerConfigSpec `json:"loggers,omitempty"`

	// +kubebuilder:validation:Required
	Registry RegistryControllerConnectionSpec `json:"registry"`

	// +kubebuilder:validation:Optional
	Proxy *harbormetav1.ProxySpec `json:"proxy,omitempty"`
}

JobServiceSpec defines the desired state of JobService.

func (*JobServiceSpec) DeepCopy

func (in *JobServiceSpec) DeepCopy() *JobServiceSpec

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

func (*JobServiceSpec) DeepCopyInto

func (in *JobServiceSpec) DeepCopyInto(out *JobServiceSpec)

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

type JobServiceTokenSpec

type JobServiceTokenSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URL string `json:"url"`
}

func (*JobServiceTokenSpec) DeepCopy

func (in *JobServiceTokenSpec) DeepCopy() *JobServiceTokenSpec

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

func (*JobServiceTokenSpec) DeepCopyInto

func (in *JobServiceTokenSpec) DeepCopyInto(out *JobServiceTokenSpec)

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

type MinIOClientSpec

type MinIOClientSpec struct {
	harbormetav1.ImageSpec `json:",inline"`
}

func (*MinIOClientSpec) DeepCopy

func (in *MinIOClientSpec) DeepCopy() *MinIOClientSpec

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

func (*MinIOClientSpec) DeepCopyInto

func (in *MinIOClientSpec) DeepCopyInto(out *MinIOClientSpec)

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

type MinIOSpec

type MinIOSpec struct {
	harbormetav1.ImageSpec `json:",inline"`

	// Determine if the redirection of minio storage is disabled.
	// +kubebuilder:validation:Required
	Redirect StorageRedirectSpec `json:"redirect"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Reference to the secret containing the MinIO access key and secret key.
	SecretRef string `json:"secretRef,omitempty"`
	// Supply number of replicas.
	// For standalone mode, supply 1. For distributed mode, supply 4 to 16 drives (should be even).
	// Note that the operator does not support upgrading from standalone to distributed mode.
	// +kubebuilder:validation:Minimum:=1
	Replicas int32 `json:"replicas"`
	// Number of persistent volumes that will be attached per server
	// +kubebuilder:validation:Minimum:=1
	VolumesPerServer int32 `json:"volumesPerServer"`
	// VolumeClaimTemplate allows a user to specify how volumes inside a MinIOInstance
	// +kubebuilder:validation:Optional
	VolumeClaimTemplate corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
	// If provided, use these requests and limit for cpu/memory resource allocation
	// +kubebuilder:validation:Optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// MinIOClientSpec the spec for the mc
	// +kubebuilder:validation:Optional
	MinIOClientSpec *MinIOClientSpec `json:"mc,omitempty"`
}

func (*MinIOSpec) DeepCopy

func (in *MinIOSpec) DeepCopy() *MinIOSpec

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

func (*MinIOSpec) DeepCopyInto

func (in *MinIOSpec) DeepCopyInto(out *MinIOSpec)

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

type NotaryComponentSpec

type NotaryComponentSpec struct {
	// +kubebuilder:validation:Optional
	Server harbormetav1.ComponentSpec `json:"server"`

	// +kubebuilder:validation:Optional
	Signer harbormetav1.ComponentSpec `json:"signer"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// Inject migration configuration to notary resources
	MigrationEnabled *bool `json:"migrationEnabled,omitempty"`
}

func (*NotaryComponentSpec) DeepCopy

func (in *NotaryComponentSpec) DeepCopy() *NotaryComponentSpec

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

func (*NotaryComponentSpec) DeepCopyInto

func (in *NotaryComponentSpec) DeepCopyInto(out *NotaryComponentSpec)

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

func (*NotaryComponentSpec) IsMigrationEnabled

func (r *NotaryComponentSpec) IsMigrationEnabled() bool

type NotaryLoggingSpec

type NotaryLoggingSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.NotaryLogLevel `json:"level,omitempty"`
}

func (*NotaryLoggingSpec) DeepCopy

func (in *NotaryLoggingSpec) DeepCopy() *NotaryLoggingSpec

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

func (*NotaryLoggingSpec) DeepCopyInto

func (in *NotaryLoggingSpec) DeepCopyInto(out *NotaryLoggingSpec)

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

type NotaryServer

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

	Spec NotaryServerSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=notaryserver +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 NotaryServer is the Schema for the NotaryServer API.

func (*NotaryServer) ConvertFrom added in v1.1.0

func (n *NotaryServer) ConvertFrom(srcRaw conversion.Hub) error

func (*NotaryServer) ConvertTo added in v1.1.0

func (n *NotaryServer) ConvertTo(dstRaw conversion.Hub) error

func (*NotaryServer) DeepCopy

func (in *NotaryServer) DeepCopy() *NotaryServer

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

func (*NotaryServer) DeepCopyInto

func (in *NotaryServer) DeepCopyInto(out *NotaryServer)

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

func (*NotaryServer) DeepCopyObject

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

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

type NotaryServerAuthSpec

type NotaryServerAuthSpec struct {
	// +kubebuilder:validation:Required
	Token NotaryServerAuthTokenSpec `json:"token"`
}

func (*NotaryServerAuthSpec) DeepCopy

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

func (*NotaryServerAuthSpec) DeepCopyInto

func (in *NotaryServerAuthSpec) DeepCopyInto(out *NotaryServerAuthSpec)

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

type NotaryServerAuthTokenSpec

type NotaryServerAuthTokenSpec struct {
	// +kubebuilder:validation:Required
	Realm string `json:"realm"`

	// +kubebuilder:validation:Required
	Service string `json:"service"`

	// +kubebuilder:validation:Required
	Issuer string `json:"issuer"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	AutoRedirect *bool `json:"autoredirect,omitempty"`
}

func (*NotaryServerAuthTokenSpec) DeepCopy

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

func (*NotaryServerAuthTokenSpec) DeepCopyInto

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

type NotaryServerList

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

+kubebuilder:object:root=true NotaryServerList contains a list of NotaryServer.

func (*NotaryServerList) DeepCopy

func (in *NotaryServerList) DeepCopy() *NotaryServerList

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

func (*NotaryServerList) DeepCopyInto

func (in *NotaryServerList) DeepCopyInto(out *NotaryServerList)

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

func (*NotaryServerList) DeepCopyObject

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

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

type NotaryServerSpec

type NotaryServerSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Required
	TrustService NotaryServerTrustServiceSpec `json:"trustService"`

	// +kubebuilder:validation:Optional
	Logging NotaryLoggingSpec `json:"logging,omitempty"`

	// +kubebuilder:validation:Required
	Storage NotaryStorageSpec `json:"storage,omitempty"`

	// +kubebuilder:validation:Optional
	Authentication *NotaryServerAuthSpec `json:"authentication,omitempty"`

	// +kubebuilder:validation:Optional
	MigrationEnabled *bool `json:"migrationEnabled,omitempty"`
}

NotaryServerSpec defines the desired state of NotaryServer.

func (*NotaryServerSpec) DeepCopy

func (in *NotaryServerSpec) DeepCopy() *NotaryServerSpec

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

func (*NotaryServerSpec) DeepCopyInto

func (in *NotaryServerSpec) DeepCopyInto(out *NotaryServerSpec)

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

type NotaryServerTrustServiceRemoteSpec

type NotaryServerTrustServiceRemoteSpec struct {
	// +kubebuilder:validation:Required
	Host string `json:"host"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:ExclusiveMinimum=true
	// +kubebuilder:default=443
	Port int64 `json:"port,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=ecdsa
	// +kubebuilder:validation:Enum=ecdsa;rsa;ed25519
	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef,omitempty"`
}

func (*NotaryServerTrustServiceRemoteSpec) DeepCopy

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

func (*NotaryServerTrustServiceRemoteSpec) DeepCopyInto

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

type NotaryServerTrustServiceSpec

type NotaryServerTrustServiceSpec struct {
	// +kubebuilder:validation:Optional
	Remote *NotaryServerTrustServiceRemoteSpec `json:"remote,omitempty"`
}

func (*NotaryServerTrustServiceSpec) DeepCopy

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

func (*NotaryServerTrustServiceSpec) DeepCopyInto

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

type NotarySigner

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

	Spec NotarySignerSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=notarysigner +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 NotarySigner is the Schema for the NotarySigner API.

func (*NotarySigner) ConvertFrom added in v1.1.0

func (n *NotarySigner) ConvertFrom(srcRaw conversion.Hub) error

func (*NotarySigner) ConvertTo added in v1.1.0

func (n *NotarySigner) ConvertTo(dstRaw conversion.Hub) error

func (*NotarySigner) DeepCopy

func (in *NotarySigner) DeepCopy() *NotarySigner

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

func (*NotarySigner) DeepCopyInto

func (in *NotarySigner) DeepCopyInto(out *NotarySigner)

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

func (*NotarySigner) DeepCopyObject

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

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

type NotarySignerAuthenticationSpec

type NotarySignerAuthenticationSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef"`
}

func (*NotarySignerAuthenticationSpec) DeepCopy

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

func (*NotarySignerAuthenticationSpec) DeepCopyInto

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

type NotarySignerList

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

+kubebuilder:object:root=true NotarySignerList contains a list of NotarySigner.

func (*NotarySignerList) DeepCopy

func (in *NotarySignerList) DeepCopy() *NotarySignerList

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

func (*NotarySignerList) DeepCopyInto

func (in *NotarySignerList) DeepCopyInto(out *NotarySignerList)

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

func (*NotarySignerList) DeepCopyObject

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

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

type NotarySignerSpec

type NotarySignerSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Required
	Authentication NotarySignerAuthenticationSpec `json:"authentatication"`

	// +kubebuilder:validation:Optional
	Logging NotaryLoggingSpec `json:"logging,omitempty"`

	// +kubebuilder:validation:Required
	Storage NotarySignerStorageSpec `json:"storage"`

	// +kubebuilder:validation:Optional
	MigrationEnabled *bool `json:"migrationEnabled,omitempty"`
}

NotarySignerSpec defines the desired state of NotarySigner.

func (*NotarySignerSpec) DeepCopy

func (in *NotarySignerSpec) DeepCopy() *NotarySignerSpec

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

func (*NotarySignerSpec) DeepCopyInto

func (in *NotarySignerSpec) DeepCopyInto(out *NotarySignerSpec)

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

type NotarySignerStorageSpec

type NotarySignerStorageSpec struct {
	NotaryStorageSpec `json:",inline"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	AliasesRef string `json:"aliasesRef"`
}

func (*NotarySignerStorageSpec) DeepCopy

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

func (*NotarySignerStorageSpec) DeepCopyInto

func (in *NotarySignerStorageSpec) DeepCopyInto(out *NotarySignerStorageSpec)

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

type NotaryStorageSpec

type NotaryStorageSpec struct {
	// +kubebuilder:validation:Required
	Postgres harbormetav1.PostgresConnectionWithParameters `json:"postgres"`
}

func (*NotaryStorageSpec) DeepCopy

func (in *NotaryStorageSpec) DeepCopy() *NotaryStorageSpec

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

func (*NotaryStorageSpec) DeepCopyInto

func (in *NotaryStorageSpec) DeepCopyInto(out *NotaryStorageSpec)

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

func (*NotaryStorageSpec) GetPasswordFieldKey

func (n *NotaryStorageSpec) GetPasswordFieldKey() string

type Portal

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

	Spec PortalSpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=portal +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Portal is the Schema for the portals API.

func (*Portal) ConvertFrom added in v1.1.0

func (p *Portal) ConvertFrom(srcRaw conversion.Hub) error

func (*Portal) ConvertTo added in v1.1.0

func (p *Portal) ConvertTo(dstRaw conversion.Hub) error

func (*Portal) DeepCopy

func (in *Portal) DeepCopy() *Portal

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

func (*Portal) DeepCopyInto

func (in *Portal) DeepCopyInto(out *Portal)

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

func (*Portal) DeepCopyObject

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

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

type PortalComponentSpec added in v1.2.0

type PortalComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`
}

func (*PortalComponentSpec) DeepCopy added in v1.2.0

func (in *PortalComponentSpec) DeepCopy() *PortalComponentSpec

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

func (*PortalComponentSpec) DeepCopyInto added in v1.2.0

func (in *PortalComponentSpec) DeepCopyInto(out *PortalComponentSpec)

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

type PortalList

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

+kubebuilder:object:root=true PortalList contains a list of Portal.

func (*PortalList) DeepCopy

func (in *PortalList) DeepCopy() *PortalList

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

func (*PortalList) DeepCopyInto

func (in *PortalList) DeepCopyInto(out *PortalList)

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

func (*PortalList) DeepCopyObject

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

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

type PortalSpec

type PortalSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1024
	// Sets the maximum number of simultaneous connections that can be opened.
	MaxConnections *int32 `json:"maxConnections,omitempty"`

	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`
}

PortalSpec defines the desired state of Portal.

func (*PortalSpec) DeepCopy

func (in *PortalSpec) DeepCopy() *PortalSpec

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

func (*PortalSpec) DeepCopyInto

func (in *PortalSpec) DeepCopyInto(out *PortalSpec)

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

type PostgresSQLSpec

type PostgresSQLSpec struct {
	harbormetav1.ImageSpec `json:",inline"`

	// Storage defines database data store pvc size
	// +kubebuilder:validation:Optional
	Storage string `json:"storage,omitempty"`
	// Replicas defines database instance replicas
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum:=1
	Replicas int `json:"replicas,omitempty"`
	// StorageClassName defines use which StorageClass to create pvc
	// +kubebuilder:validation:Optional
	StorageClassName string `json:"storageClassName,omitempty"`
	// Resources defines database pod resource config
	// +kubebuilder:validation:Optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*PostgresSQLSpec) DeepCopy

func (in *PostgresSQLSpec) DeepCopy() *PostgresSQLSpec

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

func (*PostgresSQLSpec) DeepCopyInto

func (in *PostgresSQLSpec) DeepCopyInto(out *PostgresSQLSpec)

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

type RedisSentinel

type RedisSentinel struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// Replicas is the instance number of redis sentinel.
	Replicas int `json:"replicas,omitempty"`
}

func (*RedisSentinel) DeepCopy

func (in *RedisSentinel) DeepCopy() *RedisSentinel

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

func (*RedisSentinel) DeepCopyInto

func (in *RedisSentinel) DeepCopyInto(out *RedisSentinel)

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

type RedisServer

type RedisServer struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// Replicas is the instance number of redis server.
	Replicas int `json:"replicas,omitempty"`

	// +kubebuilder:validation:Optional
	// Resources is the resources requests and limits for redis.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// StorageClassName is the storage class name of the redis storage.
	StorageClassName string `json:"storageClassName,omitempty"`

	// +kubebuilder:validation:Optional
	// Storage is the size of the redis storage.
	Storage string `json:"storage,omitempty"`
}

func (*RedisServer) DeepCopy

func (in *RedisServer) DeepCopy() *RedisServer

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

func (*RedisServer) DeepCopyInto

func (in *RedisServer) DeepCopyInto(out *RedisServer)

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

type RedisSpec

type RedisSpec struct {
	harbormetav1.ImageSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// Server is the configuration of the redis server.
	Server *RedisServer `json:"server,omitempty"`
	// +kubebuilder:validation:Optional
	// Sentinel is the configuration of the redis sentinel.
	Sentinel *RedisSentinel `json:"sentinel,omitempty"`
}

func (*RedisSpec) DeepCopy

func (in *RedisSpec) DeepCopy() *RedisSpec

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

func (*RedisSpec) DeepCopyInto

func (in *RedisSpec) DeepCopyInto(out *RedisSpec)

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"`

	Spec RegistrySpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=registry +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Registry is the Schema for the registries API.

func (*Registry) ConvertFrom added in v1.1.0

func (r *Registry) ConvertFrom(srcRaw conversion.Hub) error

func (*Registry) ConvertTo added in v1.1.0

func (r *Registry) ConvertTo(dstRaw conversion.Hub) error

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 RegistryAccessLogSpec

type RegistryAccessLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Disabled bool `json:"disabled"`
}

func (*RegistryAccessLogSpec) DeepCopy

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

func (*RegistryAccessLogSpec) DeepCopyInto

func (in *RegistryAccessLogSpec) DeepCopyInto(out *RegistryAccessLogSpec)

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

type RegistryAuthenticationHTPasswdSpec

type RegistryAuthenticationHTPasswdSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Realm string `json:"realm"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	SecretRef string `json:"secretRef"`
}

func (*RegistryAuthenticationHTPasswdSpec) DeepCopy

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

func (*RegistryAuthenticationHTPasswdSpec) DeepCopyInto

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

type RegistryAuthenticationSillySpec

type RegistryAuthenticationSillySpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Realm string `json:"realm"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Service string `json:"service"`
}

func (*RegistryAuthenticationSillySpec) DeepCopy

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

func (*RegistryAuthenticationSillySpec) DeepCopyInto

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

type RegistryAuthenticationSpec

type RegistryAuthenticationSpec struct {
	// +kubebuilder:validation:Optional
	Silly *RegistryAuthenticationSillySpec `json:"silly,omitempty"`

	// +kubebuilder:validation:Optional
	Token *RegistryAuthenticationTokenSpec `json:"token,omitempty"`

	// +kubebuilder:validation:Optional
	HTPasswd *RegistryAuthenticationHTPasswdSpec `json:"htPasswd,omitempty"`
}

func (*RegistryAuthenticationSpec) DeepCopy

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

func (*RegistryAuthenticationSpec) DeepCopyInto

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

type RegistryAuthenticationTokenSpec

type RegistryAuthenticationTokenSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Realm string `json:"realm"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Service string `json:"service"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Issuer string `json:"issuer"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:true
	AutoRedirect *bool `json:"autoredirect,omitempty"`
}

func (*RegistryAuthenticationTokenSpec) DeepCopy

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

func (*RegistryAuthenticationTokenSpec) DeepCopyInto

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

type RegistryCompatibilitySchemaSpec

type RegistryCompatibilitySchemaSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef,omitempty"`
}

func (*RegistryCompatibilitySchemaSpec) DeepCopy

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

func (*RegistryCompatibilitySchemaSpec) DeepCopyInto

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

type RegistryCompatibilitySpec

type RegistryCompatibilitySpec struct {
	// +kubebuilder:validation:Optional
	Schema1 RegistryCompatibilitySchemaSpec `json:"schema1,omitempty"`
}

func (*RegistryCompatibilitySpec) DeepCopy

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

func (*RegistryCompatibilitySpec) DeepCopyInto

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

type RegistryComponentSpec

type RegistryComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	RelativeURLs *bool `json:"relativeURLs,omitempty"`

	// +kubebuilder:validation:Optional
	StorageMiddlewares []RegistryMiddlewareSpec `json:"storageMiddlewares,omitempty"`

	// +kubebuilder:validation:Optional
	Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
}

func (*RegistryComponentSpec) DeepCopy

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

func (*RegistryComponentSpec) DeepCopyInto

func (in *RegistryComponentSpec) DeepCopyInto(out *RegistryComponentSpec)

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

type RegistryConfig01

type RegistryConfig01 struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"level":"info","formatter":"text"}
	Log RegistryLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Optional
	HTTP RegistryHTTPSpec `json:"http,omitempty"`

	// +kubebuilder:validation:Optional
	Health RegistryHealthSpec `json:"health,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	Notifications RegistryNotificationsSpec `json:"notifications,omitempty"`

	// +kubebuilder:validation:Optional
	Authentication RegistryAuthenticationSpec `json:"authentication,omitempty"`

	// +kubebuilder:validation:Optional
	Validation RegistryValidationSpec `json:"validation,omitempty"`

	// +kubebuilder:validation:Optional
	Compatibility RegistryCompatibilitySpec `json:"compatibility,omitempty"`

	// +kubebuilder:validation:Required
	Storage RegistryStorageSpec `json:"storage"`

	// +kubebuilder:validation:Optional
	Middlewares RegistryMiddlewaresSpec `json:"middlewares,omitempty"`

	// +kubebuilder:validation:Optional
	Reporting map[string]string `json:"reporting,omitempty"`

	// +kubebuilder:validation:Optional
	Redis *RegistryRedisSpec `json:"redis,omitempty"`
}

func (*RegistryConfig01) DeepCopy

func (in *RegistryConfig01) DeepCopy() *RegistryConfig01

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

func (*RegistryConfig01) DeepCopyInto

func (in *RegistryConfig01) DeepCopyInto(out *RegistryConfig01)

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

type RegistryController

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

	Spec RegistryControllerSpec `json:"spec,omitempty"`

	// Most recently observed status.
	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=registrycontroller +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 RegistryController is the Schema for the RegistryController API.

func (*RegistryController) ConvertFrom added in v1.1.0

func (r *RegistryController) ConvertFrom(srcRaw conversion.Hub) error

func (*RegistryController) ConvertTo added in v1.1.0

func (r *RegistryController) ConvertTo(dstRaw conversion.Hub) error

func (*RegistryController) DeepCopy

func (in *RegistryController) DeepCopy() *RegistryController

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

func (*RegistryController) DeepCopyInto

func (in *RegistryController) DeepCopyInto(out *RegistryController)

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

func (*RegistryController) DeepCopyObject

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

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

type RegistryControllerAuthenticationSpec

type RegistryControllerAuthenticationSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CoreSecretRef string `json:"coreSecretRef,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	JobServiceSecretRef string `json:"jobServiceSecretRef,omitempty"`
}

func (*RegistryControllerAuthenticationSpec) DeepCopy

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

func (*RegistryControllerAuthenticationSpec) DeepCopyInto

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

type RegistryControllerConnectionSpec

type RegistryControllerConnectionSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	RegistryURL string `json:"url"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	ControllerURL string `json:"controllerURL"`

	// +kubebuilder:validation:Required
	Credentials CoreComponentsRegistryCredentialsSpec `json:"credentials"`
}

func (*RegistryControllerConnectionSpec) DeepCopy

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

func (*RegistryControllerConnectionSpec) DeepCopyInto

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

type RegistryControllerHTTPSSpec

type RegistryControllerHTTPSSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef"`
}

func (*RegistryControllerHTTPSSpec) DeepCopy

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

func (*RegistryControllerHTTPSSpec) DeepCopyInto

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

type RegistryControllerList

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

+kubebuilder:object:root=true RegistryControllerList contains a list of RegistryController.

func (*RegistryControllerList) DeepCopy

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

func (*RegistryControllerList) DeepCopyInto

func (in *RegistryControllerList) DeepCopyInto(out *RegistryControllerList)

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

func (*RegistryControllerList) DeepCopyObject

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

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

type RegistryControllerLogSpec

type RegistryControllerLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.RegistryCtlLogLevel `json:"level,omitempty"`
}

func (*RegistryControllerLogSpec) DeepCopy

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

func (*RegistryControllerLogSpec) DeepCopyInto

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

type RegistryControllerSpec

type RegistryControllerSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	RegistryRef string `json:"registryRef"`

	// +kubebuilder:validation:Optional
	Log RegistryControllerLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Required
	Authentication RegistryControllerAuthenticationSpec `json:"authentication"`
}

RegistryControllerSpec defines the desired state of RegistryController.

func (*RegistryControllerSpec) DeepCopy

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

func (*RegistryControllerSpec) DeepCopyInto

func (in *RegistryControllerSpec) DeepCopyInto(out *RegistryControllerSpec)

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

type RegistryHTTPDebugPrometheusSpec

type RegistryHTTPDebugPrometheusSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="/metrics"
	Path string `json:"path,omitempty"`
}

func (*RegistryHTTPDebugPrometheusSpec) DeepCopy

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

func (*RegistryHTTPDebugPrometheusSpec) DeepCopyInto

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

type RegistryHTTPDebugSpec

type RegistryHTTPDebugSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:ExclusiveMinimum=true
	// +kubebuilder:default=5001
	Port int32 `json:"port,omitempty"`

	// +kubebuilder:validation:Optional
	Prometheus RegistryHTTPDebugPrometheusSpec `json:"prometheus,omitempty"`
}

func (*RegistryHTTPDebugSpec) DeepCopy

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

func (*RegistryHTTPDebugSpec) DeepCopyInto

func (in *RegistryHTTPDebugSpec) DeepCopyInto(out *RegistryHTTPDebugSpec)

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

type RegistryHTTPHTTP2Spec

type RegistryHTTPHTTP2Spec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Disabled bool `json:"disabled"`
}

func (*RegistryHTTPHTTP2Spec) DeepCopy

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

func (*RegistryHTTPHTTP2Spec) DeepCopyInto

func (in *RegistryHTTPHTTP2Spec) DeepCopyInto(out *RegistryHTTPHTTP2Spec)

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

type RegistryHTTPSpec

type RegistryHTTPSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// The secret name containing a random piece of data
	// used to sign state that may be stored with the client
	// to protect against tampering. For production environments
	// you should generate a random piece of data using
	// a cryptographically secure random generator.
	// If you omit the secret, the registry will automatically generate a secret when it starts.
	// If you are building a cluster of registries behind a load balancer,
	// you MUST ensure the secret is the same for all registries.
	SecretRef string `json:"secretRef,omitempty"`

	// +kubebuilder:validation:Optional
	// A fully-qualified URL for an externally-reachable address for the registry.
	// If present, it is used when creating generated URLs.
	// Otherwise, these URLs are derived from client requests.
	Host string `json:"host,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"unix","tcp"}
	// +kubebuilder:default="tcp"
	// The network used to create a listening socket.
	Net string `json:"net,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="(/(.+/)?)?"
	// If the server does not run at the root path, set this to the value of the prefix.
	// The root path is the section before v2.
	// It requires both preceding and trailing slashes, such as in the example /path/.
	Prefix string `json:"prefix,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Amount of time to wait for HTTP connections to drain
	// before shutting down after registry receives SIGTERM signal
	DrainTimeout *metav1.Duration `json:"drainTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"X-Content-Type-Options":{"nosniff"}}
	// Use this option to specify headers that the HTTP server should include in responses.
	// This can be used for security headers such as Strict-Transport-Security.
	// The headers option should contain an option for each header to include, where the parameter
	// name is the header’s name, and the parameter value a list of the header’s payload values.
	// Including X-Content-Type-Options: [nosniff] is recommended, sothat browsers
	// will not interpret content as HTML if they are directed to load a page from the registry.
	// This header is included in the example configuration file.
	Headers map[string][]string `json:"headers,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// If true, the registry returns relative URLs in Location headers.
	// The client is responsible for resolving the correct URL.
	// This option is not compatible with Docker 1.7 and earlier.
	RelativeURLs *bool `json:"relativeURLs,omitempty"`

	// +kubebuilder:validation:Optional
	// Use the http2 structure to control http2 settings for the registry.
	HTTP2 RegistryHTTPHTTP2Spec `json:"http2,omitempty"`

	// +kubebuilder:validation:Optional
	// Use debug option to configure a debug server that can be helpful in diagnosing problems.
	// The debug endpoint can be used for monitoring registry metrics and health,
	// as well as profiling. Sensitive information may be available via the debug endpoint.
	// Please be certain that access to the debug endpoint is locked down in a production environment.
	Debug *RegistryHTTPDebugSpec `json:"debug,omitempty"`

	// +kubebuilder:validation:Optional
	// Use this to configure TLS for the server.
	// If you already have a web server running on the same host as the registry,
	// you may prefer to configure TLS on that web server and proxy connections to the registry server.
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`
}

func (*RegistryHTTPSpec) DeepCopy

func (in *RegistryHTTPSpec) DeepCopy() *RegistryHTTPSpec

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

func (*RegistryHTTPSpec) DeepCopyInto

func (in *RegistryHTTPSpec) DeepCopyInto(out *RegistryHTTPSpec)

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

type RegistryHealthFileSpec

type RegistryHealthFileSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	File string `json:"path"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Interval *metav1.Duration `json:"interval,omitempty"`
}

func (*RegistryHealthFileSpec) DeepCopy

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

func (*RegistryHealthFileSpec) DeepCopyInto

func (in *RegistryHealthFileSpec) DeepCopyInto(out *RegistryHealthFileSpec)

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

type RegistryHealthHTTPSpec

type RegistryHealthHTTPSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	URI string `json:"uri"`

	// +kubebuilder:validation:Optional
	Headers map[string][]string `json:"headers,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Interval *metav1.Duration `json:"interval,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=3
	Threshold *int32 `json:"threshold,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=200
	StatusCode *int32 `json:"statuscode,omitempty"`
}

func (*RegistryHealthHTTPSpec) DeepCopy

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

func (*RegistryHealthHTTPSpec) DeepCopyInto

func (in *RegistryHealthHTTPSpec) DeepCopyInto(out *RegistryHealthHTTPSpec)

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

type RegistryHealthSpec

type RegistryHealthSpec struct {
	// +kubebuilder:validation:Optional
	StorageDriver RegistryHealthStorageDriverSpec `json:"storageDriver,omitempty"`

	// +kubebuilder:validation:Optional
	File []RegistryHealthFileSpec `json:"file,omitempty"`

	// +kubebuilder:validation:Optional
	HTTP []RegistryHealthHTTPSpec `json:"http,omitempty"`

	// +kubebuilder:validation:Optional
	TCP []RegistryHealthTCPSpec `json:"tcp,omitempty"`
}

func (*RegistryHealthSpec) DeepCopy

func (in *RegistryHealthSpec) DeepCopy() *RegistryHealthSpec

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

func (*RegistryHealthSpec) DeepCopyInto

func (in *RegistryHealthSpec) DeepCopyInto(out *RegistryHealthSpec)

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

type RegistryHealthStorageDriverSpec

type RegistryHealthStorageDriverSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	Enabled *bool `json:"enabled,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:ExclusiveMinimum=true
	// +kubebuilder:default=3
	Threshold int32 `json:"threshold,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Interval *metav1.Duration `json:"interval,omitempty"`
}

func (*RegistryHealthStorageDriverSpec) DeepCopy

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

func (*RegistryHealthStorageDriverSpec) DeepCopyInto

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

type RegistryHealthTCPSpec

type RegistryHealthTCPSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	Address string `json:"address"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	Interval *metav1.Duration `json:"interval,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=3
	Threshold *int32 `json:"threshold,omitempty"`
}

func (*RegistryHealthTCPSpec) DeepCopy

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

func (*RegistryHealthTCPSpec) DeepCopyInto

func (in *RegistryHealthTCPSpec) DeepCopyInto(out *RegistryHealthTCPSpec)

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"`
}

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

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 RegistryLogHookSpec

type RegistryLogHookSpec struct {
	// +kubebuilder:validation:Required
	Type string `json:"type"`

	// +kubebuilder:validation:Required
	Levels []string `json:"levels"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	OptionsRef string `json:"optionsRef"`
}

func (*RegistryLogHookSpec) DeepCopy

func (in *RegistryLogHookSpec) DeepCopy() *RegistryLogHookSpec

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

func (*RegistryLogHookSpec) DeepCopyInto

func (in *RegistryLogHookSpec) DeepCopyInto(out *RegistryLogHookSpec)

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

type RegistryLogSpec

type RegistryLogSpec struct {
	// +kubebuilder:validation:Optional
	AccessLog RegistryAccessLogSpec `json:"accessLog,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.RegistryLogLevel `json:"level,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="text"
	Formatter harbormetav1.RegistryLogFormatter `json:"formatter,omitempty"`

	// +kubebuilder:validation:Optional
	Fields map[string]string `json:"fields,omitempty"`

	// +kubebuilder:validation:Optional
	Hooks []RegistryLogHookSpec `json:"hooks,omitempty"`
}

func (*RegistryLogSpec) DeepCopy

func (in *RegistryLogSpec) DeepCopy() *RegistryLogSpec

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

func (*RegistryLogSpec) DeepCopyInto

func (in *RegistryLogSpec) DeepCopyInto(out *RegistryLogSpec)

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

type RegistryMiddlewareSpec

type RegistryMiddlewareSpec struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	OptionsRef string `json:"optionsRef,omitempty"`
}

func (*RegistryMiddlewareSpec) DeepCopy

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

func (*RegistryMiddlewareSpec) DeepCopyInto

func (in *RegistryMiddlewareSpec) DeepCopyInto(out *RegistryMiddlewareSpec)

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

type RegistryMiddlewaresSpec

type RegistryMiddlewaresSpec struct {
	// +kubebuilder:validation:Optional
	// +listType:map
	// +listMapKey:name
	Registry []RegistryMiddlewareSpec `json:"registry,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType:map
	// +listMapKey:name
	Repository []RegistryMiddlewareSpec `json:"repository,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType:map
	// +listMapKey:name
	Storage []RegistryMiddlewareSpec `json:"storage,omitempty"`
}

func (*RegistryMiddlewaresSpec) DeepCopy

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

func (*RegistryMiddlewaresSpec) DeepCopyInto

func (in *RegistryMiddlewaresSpec) DeepCopyInto(out *RegistryMiddlewaresSpec)

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

type RegistryNotificationEndpointIgnoreSpec

type RegistryNotificationEndpointIgnoreSpec struct {
	// +kubebuilder:validation:Optional
	MediaTypes []string `json:"mediaTypes,omitempty"`

	// +kubebuilder:validation:Optional
	Actions []string `json:"actions,omitempty"`
}

func (*RegistryNotificationEndpointIgnoreSpec) DeepCopy

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

func (*RegistryNotificationEndpointIgnoreSpec) DeepCopyInto

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

type RegistryNotificationEndpointSpec

type RegistryNotificationEndpointSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:minLength=1
	// A human-readable name for the service.
	Name string `json:"name"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	// The URL to which events should be published.
	URL string `json:"url"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// If true, notifications are disabled for the service.
	Disabled bool `json:"disabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=3
	Threshold *int32 `json:"threshold,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="5s"
	// A value for the HTTP timeout. A positive integer and an optional suffix indicating the unit of time, which may be ns, us, ms, s, m, or h. If you omit the unit of time, ns is used.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="10s"
	Backoff *metav1.Duration `json:"backoff,omitempty"`

	// +kubebuilder:validation:Optional
	Headers map[string][]string `json:"headers,omitempty"`

	// +kubebuilder:validation:Optional
	IgnoredMediaTypes []string `json:"ignoredMediaTypes,omitempty"`

	// +kubebuilder:validation:Optional
	Ignore RegistryNotificationEndpointIgnoreSpec `json:"ignore,omitempty"`
}

func (*RegistryNotificationEndpointSpec) DeepCopy

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

func (*RegistryNotificationEndpointSpec) DeepCopyInto

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

type RegistryNotificationEventsSpec

type RegistryNotificationEventsSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	IncludeReferences *bool `json:"includeReferences,omitempty"`
}

func (*RegistryNotificationEventsSpec) DeepCopy

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

func (*RegistryNotificationEventsSpec) DeepCopyInto

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

type RegistryNotificationsSpec

type RegistryNotificationsSpec struct {
	// +kubebuilder:validation:Optional
	// +listType:map
	// +listMapKey:name
	// The endpoints structure contains a list of named services (URLs) that can accept event notifications.
	Endpoints []RegistryNotificationEndpointSpec `json:"endpoints,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={}
	Events RegistryNotificationEventsSpec `json:"events,omitempty"`
}

func (*RegistryNotificationsSpec) DeepCopy

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

func (*RegistryNotificationsSpec) DeepCopyInto

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

type RegistryRedisPoolSpec

type RegistryRedisPoolSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=3
	MaxIdle *int32 `json:"maxIdle,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=5
	MaxActive *int32 `json:"maxActive,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="30s"
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`
}

func (*RegistryRedisPoolSpec) DeepCopy

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

func (*RegistryRedisPoolSpec) DeepCopyInto

func (in *RegistryRedisPoolSpec) DeepCopyInto(out *RegistryRedisPoolSpec)

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

type RegistryRedisSpec

type RegistryRedisSpec struct {
	harbormetav1.RedisConnection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	DialTimeout *metav1.Duration `json:"dialTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	ReadTimeout *metav1.Duration `json:"readTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	WriteTimeout *metav1.Duration `json:"writeTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	Pool RegistryRedisPoolSpec `json:"pool,omitempty"`
}

func (*RegistryRedisSpec) DeepCopy

func (in *RegistryRedisSpec) DeepCopy() *RegistryRedisSpec

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

func (*RegistryRedisSpec) DeepCopyInto

func (in *RegistryRedisSpec) DeepCopyInto(out *RegistryRedisSpec)

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

type RegistrySpec

type RegistrySpec struct {
	harbormetav1.ComponentSpec `json:",inline"`
	RegistryConfig01           `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	Proxy *harbormetav1.ProxySpec `json:"proxy,omitempty"`
}

RegistrySpec defines the desired state of Registry. See https://docs.docker.com/registry/configuration/

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.

func (*RegistrySpec) Default

func (r *RegistrySpec) Default()

type RegistryStorageCacheSpec

type RegistryStorageCacheSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum={"inmemory","redis"}
	Blobdescriptor string `json:"blobdescriptor,omitempty"`
}

func (*RegistryStorageCacheSpec) DeepCopy

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

func (*RegistryStorageCacheSpec) DeepCopyInto

func (in *RegistryStorageCacheSpec) DeepCopyInto(out *RegistryStorageCacheSpec)

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

type RegistryStorageDeleteSpec

type RegistryStorageDeleteSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	Enabled *bool `json:"enabled,omitempty"`
}

func (*RegistryStorageDeleteSpec) DeepCopy

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

func (*RegistryStorageDeleteSpec) DeepCopyInto

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

type RegistryStorageDriverFilesystemSpec

type RegistryStorageDriverFilesystemSpec struct {
	// +kubebuilder:validation:Required
	VolumeSource corev1.VolumeSource `json:"volumeSource"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=25
	// +kubebuilder:default=100
	MaxThreads int32 `json:"maxthreads,omitempty"`

	// +kubebuilder:validation:Optional
	Prefix string `json:"prefix,omitempty"`
}

func (*RegistryStorageDriverFilesystemSpec) DeepCopy

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

func (*RegistryStorageDriverFilesystemSpec) DeepCopyInto

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

type RegistryStorageDriverInmemorySpec

type RegistryStorageDriverInmemorySpec struct{}

func (*RegistryStorageDriverInmemorySpec) DeepCopy

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

func (*RegistryStorageDriverInmemorySpec) DeepCopyInto

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

type RegistryStorageDriverS3Spec

type RegistryStorageDriverS3Spec struct {
	// +kubebuilder:validation:Optional
	// The AWS Access Key.
	// If you use IAM roles, omit to fetch temporary credentials from IAM.
	AccessKey string `json:"accesskey,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Reference to the secret containing the AWS Secret Key.
	// If you use IAM roles, omit to fetch temporary credentials from IAM.
	SecretKeyRef string `json:"secretkeyRef,omitempty"`

	// +kubebuilder:validation:Required
	// The AWS region in which your bucket exists.
	// For the moment, the Go AWS library in use does not use the newer DNS based bucket routing.
	// For a list of regions, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
	Region string `json:"region"`

	// +kubebuilder:validation:Optional
	// Endpoint for S3 compatible storage services (Minio, etc).
	RegionEndpoint string `json:"regionendpoint,omitempty"`

	// +kubebuilder:validation:Required
	// The bucket name in which you want to store the registry’s data.
	Bucket string `json:"bucket"`

	// +kubebuilder:validation:Optional
	// This is a prefix that is applied to all S3 keys to allow you to segment data in your bucket if necessary.
	RootDirectory string `json:"rootdirectory,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="STANDARD"
	// The S3 storage class applied to each registry file.
	StorageClass string `json:"storageclass,omitempty"`

	// +kubebuilder:validation:Optional
	// KMS key ID to use for encryption (encrypt must be true, or this parameter is ignored).
	KeyID string `json:"keyid,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Specifies whether the registry stores the image in encrypted format or not. A boolean value.
	Encrypt bool `json:"encrypt"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Skips TLS verification when the value is set to true.
	SkipVerify bool `json:"skipverify"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	CertificateRef string `json:"certificateRef,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	Secure *bool `json:"secure,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	// Indicates whether the registry uses Version 4 of AWS’s authentication.
	V4Auth *bool `json:"v4auth,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=5242880
	// The S3 API requires multipart upload chunks to be at least 5MB.
	ChunkSize int64 `json:"chunksize,omitempty"`
}

func (*RegistryStorageDriverS3Spec) DeepCopy

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

func (*RegistryStorageDriverS3Spec) DeepCopyInto

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

type RegistryStorageDriverSpec

type RegistryStorageDriverSpec struct {
	// +kubebuilder:validation:Optional
	// InMemory storage driver is for purely tests purposes.
	// This driver is an implementation of the storagedriver.StorageDriver interface which
	// uses local memory for object storage.
	// If you would like to run a registry from volatile memory, use the filesystem driver on a ramdisk.
	// IMPORTANT: This storage driver does not persist data across runs. This is why it is only suitable for testing. Never use this driver in production.
	// See: https://docs.docker.com/registry/storage-drivers/inmemory/
	InMemory *RegistryStorageDriverInmemorySpec `json:"inmemory,omitempty"`

	// +kubebuilder:validation:Optional
	// FileSystem is an implementation of the storagedriver.StorageDriver interface which uses the local filesystem.
	// The local filesystem can be a remote volume.
	// See: https://docs.docker.com/registry/storage-drivers/filesystem/
	FileSystem *RegistryStorageDriverFilesystemSpec `json:"filesystem,omitempty"`

	// +kubebuilder:validation:Optional
	// An implementation of the storagedriver.StorageDriver interface which uses Amazon S3 or S3 compatible services for object storage.
	// See: https://docs.docker.com/registry/storage-drivers/s3/
	S3 *RegistryStorageDriverS3Spec `json:"s3,omitempty"`

	// +kubebuilder:validation:Optional
	// An implementation of the storagedriver.StorageDriver interface that uses OpenStack Swift for object storage.
	// See: https://docs.docker.com/registry/storage-drivers/swift/
	Swift *RegistryStorageDriverSwiftSpec `json:"swift,omitempty"`
}

func (*RegistryStorageDriverSpec) DeepCopy

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

func (*RegistryStorageDriverSpec) DeepCopyInto

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

func (*RegistryStorageDriverSpec) Validate

func (r *RegistryStorageDriverSpec) Validate() error

type RegistryStorageDriverSwiftSpec

type RegistryStorageDriverSwiftSpec struct {
	// +kubebuilder:validation:Required
	// URL for obtaining an auth token.
	// https://storage.myprovider.com/v2.0 or https://storage.myprovider.com/v3/auth
	AuthURL string `json:"authurl"`

	// +kubebuilder:validation:Required
	// The Openstack user name.
	Username string `json:"username,omitempty"`

	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// Secret name containing the Openstack password.
	PasswordRef string `json:"passwordRef,omitempty"`

	// +kubebuilder:validation:Optional
	// The Openstack region in which your container exists.
	Region string `json:"region,omitempty"`

	// +kubebuilder:validation:Required
	// The name of your Swift container where you wish to store the registry’s data.
	// The driver creates the named container during its initialization.
	Container string `json:"container"`

	// +kubebuilder:validation:Optional
	// Your Openstack tenant name.
	// You can either use tenant or tenantid.
	Tenant string `json:"tenant,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack tenant ID.
	// You can either use tenant or tenantid.
	TenantID string `json:"tenantID,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack domain name for Identity v3 API. You can either use domain or domainid.
	Domain string `json:"domain,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack domain ID for Identity v3 API. You can either use domain or domainid.
	DomainID string `json:"domainID,omitempty"`

	// +kubebuilder:validation:Optional
	// Your Openstack trust ID for Identity v3 API.
	TrustID string `json:"trustid,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// Skips TLS verification if the value is set to true.
	InsecureSkipVerify bool `json:"insecureskipverify,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=5242880
	// Size of the data segments for the Swift Dynamic Large Objects.
	// This value should be a number.
	ChunkSize int64 `json:"chunksize,omitempty"`

	// +kubebuilder:validation:Optional
	// This is a prefix that is applied to all Swift keys to allow you to segment data in your container if necessary. Defaults to the container’s root.
	Prefix string `json:"prefix,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
	// The secret key used to generate temporary URLs.
	SecretKeyRef string `json:"secretkeyRef,omitempty"`

	// +kubebuilder:validation:Optional
	// The access key to generate temporary URLs. It is used by HP Cloud Object Storage in addition to the secretkey parameter.
	AccessKey string `json:"accesskey,omitempty"`

	// +kubebuilder:validation:Optional
	// Specify the OpenStack Auth’s version, for example 3. By default the driver autodetects the auth’s version from the authurl.
	AuthVersion string `json:"authversion,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="public"
	// +kubebuilder:validation:Enum={"public","internal","admin"}
	// The endpoint type used when connecting to swift.
	EndpointType string `json:"endpointtype,omitempty"`
}

func (*RegistryStorageDriverSwiftSpec) DeepCopy

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

func (*RegistryStorageDriverSwiftSpec) DeepCopyInto

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

type RegistryStorageMaintenanceReadOnlySpec

type RegistryStorageMaintenanceReadOnlySpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`
}

func (*RegistryStorageMaintenanceReadOnlySpec) DeepCopy

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

func (*RegistryStorageMaintenanceReadOnlySpec) DeepCopyInto

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

type RegistryStorageMaintenanceSpec

type RegistryStorageMaintenanceSpec struct {
	// +kubebuilder:validation:Optional
	UploadPurging RegistryStorageMaintenanceUploadPurgingSpec `json:"uploadPurging,omitempty"`

	// +kubebuilder:validation:Optional
	ReadOnly RegistryStorageMaintenanceReadOnlySpec `json:"readOnly,omitempty"`
}

func (*RegistryStorageMaintenanceSpec) DeepCopy

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

func (*RegistryStorageMaintenanceSpec) DeepCopyInto

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

type RegistryStorageMaintenanceUploadPurgingSpec

type RegistryStorageMaintenanceUploadPurgingSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	DryRun bool `json:"dryRun"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="168h"
	Age *metav1.Duration `json:"age,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// +kubebuilder:default="24h"
	Interval *metav1.Duration `json:"interval,omitempty"`
}

func (*RegistryStorageMaintenanceUploadPurgingSpec) DeepCopy

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

func (*RegistryStorageMaintenanceUploadPurgingSpec) DeepCopyInto

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

type RegistryStorageRedirectSpec

type RegistryStorageRedirectSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Disable bool `json:"disable"`
}

func (*RegistryStorageRedirectSpec) DeepCopy

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

func (*RegistryStorageRedirectSpec) DeepCopyInto

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

type RegistryStorageSpec

type RegistryStorageSpec struct {
	// +kubebuilder:validation:Required
	Driver RegistryStorageDriverSpec `json:"driver"`

	// +kubebuilder:validation:Optional
	Cache RegistryStorageCacheSpec `json:"cache,omitempty"`

	// +kubebuilder:validation:Optional
	Maintenance RegistryStorageMaintenanceSpec `json:"maintenance,omitempty"`

	// +kubebuilder:validation:Optional
	Delete RegistryStorageDeleteSpec `json:"delete,omitempty"`

	// +kubebuilder:validation:Optional
	Redirect RegistryStorageRedirectSpec `json:"redirect,omitempty"`
}

func (*RegistryStorageSpec) DeepCopy

func (in *RegistryStorageSpec) DeepCopy() *RegistryStorageSpec

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

func (*RegistryStorageSpec) DeepCopyInto

func (in *RegistryStorageSpec) DeepCopyInto(out *RegistryStorageSpec)

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

type RegistryValidationManifestSpec

type RegistryValidationManifestSpec struct {
	// +kubebuilder:validation:Optional
	URLs RegistryValidationManifestURLsSpec `json:"urls,omitempty"`
}

func (*RegistryValidationManifestSpec) DeepCopy

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

func (*RegistryValidationManifestSpec) DeepCopyInto

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

type RegistryValidationManifestURLsSpec

type RegistryValidationManifestURLsSpec struct {
	// +kubebuilder:validation:Optional
	Allow []string `json:"allow,omitempty"`

	// +kubebuilder:validation:Optional
	Deny []string `json:"deny,omitempty"`
}

func (*RegistryValidationManifestURLsSpec) DeepCopy

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

func (*RegistryValidationManifestURLsSpec) DeepCopyInto

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

type RegistryValidationSpec

type RegistryValidationSpec struct {
	// +kubebuilder:validation:Optional
	Disabled bool `json:"disabled"`

	// +kubebuilder:validation:Optional
	Manifests RegistryValidationManifestSpec `json:"manifests,omitempty"`
}

func (*RegistryValidationSpec) DeepCopy

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

func (*RegistryValidationSpec) DeepCopyInto

func (in *RegistryValidationSpec) DeepCopyInto(out *RegistryValidationSpec)

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

type Storage

type Storage struct {
	// Kind of which storage service to be used. Only support MinIO now.
	// +kubebuilder:validation:Enum=MinIO
	Kind string `json:"kind"`

	// inCLuster options.
	// +kubebuilder:validation:Required
	MinIOSpec *MinIOSpec `json:"minIOSpec,omitempty"`
}

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type StorageRedirectSpec

type StorageRedirectSpec struct {
	// Default is true
	// +kubebuilder:default:=true
	Enable bool `json:"enable"`
	// +kubebuilder:validation:Optional
	Expose *HarborExposeComponentSpec `json:"expose,omitempty"`
}

StorageRedirectSpec defines if the redirection is disabled.

func (*StorageRedirectSpec) DeepCopy

func (in *StorageRedirectSpec) DeepCopy() *StorageRedirectSpec

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

func (*StorageRedirectSpec) DeepCopyInto

func (in *StorageRedirectSpec) DeepCopyInto(out *StorageRedirectSpec)

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

type Trivy

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

	Spec TrivySpec `json:"spec,omitempty"`

	Status harbormetav1.ComponentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +k8s:openapi-gen=true +resource:path=trivy +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.",priority=1 +kubebuilder:printcolumn:name="Failure",type=string,JSONPath=`.status.conditions[?(@.type=="Failed")].message`,description="Human readable message describing the failure",priority=5 Trivy is the Schema for the Trivy API.

func (*Trivy) ConvertFrom added in v1.1.0

func (t *Trivy) ConvertFrom(srcRaw conversion.Hub) error

func (*Trivy) ConvertTo added in v1.1.0

func (t *Trivy) ConvertTo(dstRaw conversion.Hub) error

func (*Trivy) DeepCopy

func (in *Trivy) DeepCopy() *Trivy

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

func (*Trivy) DeepCopyInto

func (in *Trivy) DeepCopyInto(out *Trivy)

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

func (*Trivy) DeepCopyObject

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

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

type TrivyComponentSpec

type TrivyComponentSpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	// The name of the secret containing the token to connect to GitHub API.
	GithubTokenRef string `json:"githubTokenRef,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The flag to enable or disable Trivy DB downloads from GitHub
	SkipUpdate bool `json:"skipUpdate"`

	// +kubebuilder:validation:Required
	Storage HarborStorageTrivyStorageSpec `json:"storage"`
}

func (*TrivyComponentSpec) DeepCopy

func (in *TrivyComponentSpec) DeepCopy() *TrivyComponentSpec

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

func (*TrivyComponentSpec) DeepCopyInto

func (in *TrivyComponentSpec) DeepCopyInto(out *TrivyComponentSpec)

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

type TrivyList

type TrivyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []Trivy `json:"items"`
}

+kubebuilder:object:root=true TrivyList contains a list of Trivy.

func (*TrivyList) DeepCopy

func (in *TrivyList) DeepCopy() *TrivyList

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

func (*TrivyList) DeepCopyInto

func (in *TrivyList) DeepCopyInto(out *TrivyList)

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

func (*TrivyList) DeepCopyObject

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

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

type TrivyLogSpec

type TrivyLogSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="info"
	Level harbormetav1.TrivyLogLevel `json:"level,omitempty"`
}

func (*TrivyLogSpec) DeepCopy

func (in *TrivyLogSpec) DeepCopy() *TrivyLogSpec

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

func (*TrivyLogSpec) DeepCopyInto

func (in *TrivyLogSpec) DeepCopyInto(out *TrivyLogSpec)

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

type TrivyRedisJobsSpec

type TrivyRedisJobsSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="1h"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// The time to live for persisting scan jobs and associated scan reports
	ScanTTL *metav1.Duration `json:"scanTTL,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="harbor.scanner.trivy:job-queue"
	// The namespace for keys in the scan jobs queue backed by Redis
	Namespace string `json:"Namespace,omitempty"`
}

func (*TrivyRedisJobsSpec) DeepCopy

func (in *TrivyRedisJobsSpec) DeepCopy() *TrivyRedisJobsSpec

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

func (*TrivyRedisJobsSpec) DeepCopyInto

func (in *TrivyRedisJobsSpec) DeepCopyInto(out *TrivyRedisJobsSpec)

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

type TrivyRedisPoolSpec

type TrivyRedisPoolSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=5
	// +kubebuilder:validation:Minimum=0
	// The max number of connections allocated by the Redis connection pool
	MaxActive int `json:"maxActive,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=5
	// +kubebuilder:validation:Minimum=0
	// The max number of idle connections in the Redis connection pool
	MaxIdle int `json:"maxIdle,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="5m"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// The duration after which idle connections to the Redis server are closed.
	// If the value is zero, then idle connections are not closed.
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// The timeout for connecting to the Redis server
	ConnectionTimeout *metav1.Duration `json:"connectionTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// The timeout for reading a single Redis command reply
	ReadTimeout *metav1.Duration `json:"readTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="1s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// The timeout for writing a single Redis command
	WriteTimeout *metav1.Duration `json:"writeTimeout,omitempty"`
}

func (*TrivyRedisPoolSpec) DeepCopy

func (in *TrivyRedisPoolSpec) DeepCopy() *TrivyRedisPoolSpec

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

func (*TrivyRedisPoolSpec) DeepCopyInto

func (in *TrivyRedisPoolSpec) DeepCopyInto(out *TrivyRedisPoolSpec)

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

type TrivyRedisSpec

type TrivyRedisSpec struct {
	harbormetav1.RedisConnection `json:",inline"`

	// +kubebuilder:validation:Required
	Pool TrivyRedisPoolSpec `json:"pool,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="harbor.scanner.trivy:store"
	// The namespace for keys in the Redis store
	Namespace string `json:"namespace,omitempty"`

	// +kubebuilder:validation:Optional
	Jobs TrivyRedisJobsSpec `json:"jobs,omitempty"`
}

func (*TrivyRedisSpec) DeepCopy

func (in *TrivyRedisSpec) DeepCopy() *TrivyRedisSpec

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

func (*TrivyRedisSpec) DeepCopyInto

func (in *TrivyRedisSpec) DeepCopyInto(out *TrivyRedisSpec)

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

type TrivyServerProxySpec

type TrivyServerProxySpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="https?://.+"
	// The URL of the proxy server
	URL string `json:"URL"`

	// +kubebuilder:validation:Optional
	// The URLs that the proxy settings do not apply to
	NoProxy []string `json:"noProxy,omitempty"`
}

func (*TrivyServerProxySpec) DeepCopy

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

func (*TrivyServerProxySpec) DeepCopyInto

func (in *TrivyServerProxySpec) DeepCopyInto(out *TrivyServerProxySpec)

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

type TrivyServerSpec

type TrivyServerSpec struct {
	// +kubebuilder:validation:Optional
	TLS *harbormetav1.ComponentsTLSSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	ClientCertificateAuthorityRefs []string `json:"clientCertificateAuthorityRefs,omitempty"`

	// +kubebuilder:validation:Optional
	TokenServiceCertificateAuthorityRefs []string `json:"tokenServiceCertificateAuthorityRefs,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="15s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Socket timeout
	ReadTimeout *metav1.Duration `json:"readTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="15s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Socket timeout
	WriteTimeout *metav1.Duration `json:"writeTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Type="string"
	// +kubebuilder:default="60s"
	// +kubebuilder:validation:Pattern="([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?([0-9]+us)?([0-9]+µs)?([0-9]+ns)?"
	// Idle timeout
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The flag to display only fixed vulnerabilities
	IgnoreUnfixed bool `json:"ignoreUnfixed,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The flag to enable or disable Trivy debug mode
	DebugMode bool `json:"debugMode,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The flag to skip verifying registry certificate
	Insecure bool `json:"insecure,omitempty"`

	// +kubebuilder:validation:Optional
	Proxy *TrivyServerProxySpec `json:"proxy,omitempty"`
}

func (*TrivyServerSpec) DeepCopy

func (in *TrivyServerSpec) DeepCopy() *TrivyServerSpec

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

func (*TrivyServerSpec) DeepCopyInto

func (in *TrivyServerSpec) DeepCopyInto(out *TrivyServerSpec)

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

type TrivySpec

type TrivySpec struct {
	harbormetav1.ComponentSpec `json:",inline"`

	harbormetav1.TrivyVulnerabilityTypes `json:",inline"`

	harbormetav1.TrivySeverityTypes `json:",inline"`

	CertificateInjection `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"level":"info"}
	Log TrivyLogSpec `json:"log,omitempty"`

	// +kubebuilder:validation:Required
	Server TrivyServerSpec `json:"server"`

	// +kubebuilder:validation:Optional
	Update TrivyUpdateSpec `json:"update,omitempty"`

	// +kubebuilder:validation:Required
	// Redis cache store
	Redis TrivyRedisSpec `json:"redis,omitempty"`

	// +kubebuilder:validation:Required
	Storage TrivyStorageSpec `json:"storage"`

	// +kubebuilder:validation:Optional
	Proxy *harbormetav1.ProxySpec `json:"proxy,omitempty"`
}

TrivySpec defines the desired state of Trivy.

func (*TrivySpec) DeepCopy

func (in *TrivySpec) DeepCopy() *TrivySpec

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

func (*TrivySpec) DeepCopyInto

func (in *TrivySpec) DeepCopyInto(out *TrivySpec)

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

type TrivyStorageSpec

type TrivyStorageSpec struct {
	// +kubebuilder:validation:Required
	Reports TrivyStorageVolumeSpec `json:"reports"`

	// +kubebuilder:validation:Required
	Cache TrivyStorageVolumeSpec `json:"cache"`
}

func (*TrivyStorageSpec) DeepCopy

func (in *TrivyStorageSpec) DeepCopy() *TrivyStorageSpec

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

func (*TrivyStorageSpec) DeepCopyInto

func (in *TrivyStorageSpec) DeepCopyInto(out *TrivyStorageSpec)

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

type TrivyStorageVolumeSpec

type TrivyStorageVolumeSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={"emptyDir":{"sizeLimit":"1Gi"}}
	VolumeSource corev1.VolumeSource `json:"volumeSource,omitempty"`

	// +kubebuilder:validation:Optional
	Prefix string `json:"prefix,omitempty"`
}

func (*TrivyStorageVolumeSpec) DeepCopy

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

func (*TrivyStorageVolumeSpec) DeepCopyInto

func (in *TrivyStorageVolumeSpec) DeepCopyInto(out *TrivyStorageVolumeSpec)

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

type TrivyUpdateSpec

type TrivyUpdateSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// The flag to enable or disable Trivy DB downloads from GitHub
	Skip bool `json:"skip"`

	// +kubebuilder:validation:Optional
	// The GitHub access token to download Trivy DB (see GitHub rate limiting)
	GithubTokenRef string `json:"githubTokenRef,omitempty"`
}

func (*TrivyUpdateSpec) DeepCopy

func (in *TrivyUpdateSpec) DeepCopy() *TrivyUpdateSpec

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

func (*TrivyUpdateSpec) DeepCopyInto

func (in *TrivyUpdateSpec) DeepCopyInto(out *TrivyUpdateSpec)

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

Jump to

Keyboard shortcuts

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