Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the containerregistry v1beta1 API group +kubebuilder:object:generate=true +groupName=goharbor.io
Index ¶
- Constants
- Variables
- type AccessCredential
- type AzureSpec
- type Cache
- type CacheSpec
- type CertificateInjection
- func (in *CertificateInjection) DeepCopy() *CertificateInjection
- func (in *CertificateInjection) DeepCopyInto(out *CertificateInjection)
- func (ci CertificateInjection) GenerateVolumeMounts() []corev1.VolumeMount
- func (ci CertificateInjection) GenerateVolumes() []corev1.Volume
- func (ci CertificateInjection) ShouldInject() bool
- type ChartMuseum
- type ChartMuseumAuthBearerSpec
- type ChartMuseumAuthSpec
- type ChartMuseumCacheSpec
- type ChartMuseumChartIndexSpec
- type ChartMuseumChartRepoSpec
- type ChartMuseumChartSpec
- type ChartMuseumChartStorageDriverAmazonSpec
- type ChartMuseumChartStorageDriverAzureSpec
- type ChartMuseumChartStorageDriverFilesystemSpec
- type ChartMuseumChartStorageDriverGcsSpec
- type ChartMuseumChartStorageDriverOpenStackSpec
- type ChartMuseumChartStorageDriverOssSpec
- type ChartMuseumChartStorageDriverSpec
- type ChartMuseumChartStorageSpec
- type ChartMuseumComponentSpec
- type ChartMuseumDisableSpec
- type ChartMuseumList
- type ChartMuseumLogSpec
- type ChartMuseumPostFormFieldNameSpec
- type ChartMuseumServerSpec
- type ChartMuseumSpec
- type ClusterStatus
- type Component
- type Core
- type CoreComponentPortalSpec
- type CoreComponentSpec
- type CoreComponentsChartRepositorySpec
- type CoreComponentsJobServiceSpec
- type CoreComponentsNotaryServerSpec
- type CoreComponentsRegistryCredentialsSpec
- type CoreComponentsRegistrySpec
- type CoreComponentsSpec
- type CoreComponentsTokenServiceSpec
- type CoreComponentsTrivySpec
- type CoreConfig
- type CoreDatabaseSpec
- type CoreHTTPSpec
- type CoreList
- type CoreLogSpec
- type CoreRedisSpec
- type CoreSpec
- type Database
- type DatabaseSpec
- type EmbeddedHarborComponentsSpec
- type EmbeddedHarborSpec
- type ErrUnsupportedComponent
- type Exporter
- type ExporterCacheSpec
- type ExporterComponentSpec
- type ExporterCoreSpec
- type ExporterDatabaseSpec
- type ExporterJobServiceSpec
- type ExporterList
- type ExporterLogSpec
- type ExporterSpec
- type ExternalRedisSpec
- type FileSystemSpec
- type GcsSpec
- type Harbor
- func (in *Harbor) DeepCopy() *Harbor
- func (in *Harbor) DeepCopyInto(out *Harbor)
- func (in *Harbor) DeepCopyObject() runtime.Object
- func (h *Harbor) GetComponentProxySpec(component harbormetav1.Component) *harbormetav1.ProxySpec
- func (h *Harbor) GetComponentSpec(ctx context.Context, component harbormetav1.Component) harbormetav1.ComponentSpec
- func (*Harbor) Hub()
- func (h *Harbor) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- func (h *Harbor) Validate(old *Harbor) error
- func (h *Harbor) ValidateCreate() error
- func (h *Harbor) ValidateDelete() error
- func (h *Harbor) ValidateUpdate(old runtime.Object) error
- type HarborCluster
- func (in *HarborCluster) DeepCopy() *HarborCluster
- func (in *HarborCluster) DeepCopyInto(out *HarborCluster)
- func (in *HarborCluster) DeepCopyObject() runtime.Object
- func (harborcluster *HarborCluster) Default()
- func (harborcluster *HarborCluster) Hub()
- func (harborcluster *HarborCluster) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- func (harborcluster *HarborCluster) ValidateCreate() error
- func (harborcluster *HarborCluster) ValidateDelete() error
- func (harborcluster *HarborCluster) ValidateUpdate(old runtime.Object) error
- type HarborClusterCondition
- type HarborClusterConditionType
- type HarborClusterList
- type HarborClusterSpec
- type HarborClusterStatus
- type HarborComponentsSpec
- type HarborConfiguration
- type HarborConfigurationEmail
- type HarborConfigurationHTTPAuthProxy
- type HarborConfigurationLdap
- type HarborConfigurationList
- type HarborConfigurationModel
- type HarborConfigurationOidc
- type HarborConfigurationSpec
- type HarborConfigurationStatus
- type HarborConfigurationStatusType
- type HarborConfigurationUaa
- type HarborDatabaseSpec
- type HarborExporterCacheSpec
- type HarborExposeComponentSpec
- type HarborExposeIngressSpec
- type HarborExposeSpec
- type HarborInternalTLSSpec
- func (in *HarborInternalTLSSpec) DeepCopy() *HarborInternalTLSSpec
- func (in *HarborInternalTLSSpec) DeepCopyInto(out *HarborInternalTLSSpec)
- func (r *HarborInternalTLSSpec) GetComponentTLSSpec(certificateRef string) *harbormetav1.ComponentsTLSSpec
- func (r *HarborInternalTLSSpec) GetInternalPort(component harbormetav1.ComponentWithTLS) int32
- func (r *HarborInternalTLSSpec) GetScheme() string
- func (r *HarborInternalTLSSpec) IsEnabled() bool
- type HarborList
- type HarborProject
- func (in *HarborProject) DeepCopy() *HarborProject
- func (in *HarborProject) DeepCopyInto(out *HarborProject)
- func (in *HarborProject) DeepCopyObject() runtime.Object
- func (hp *HarborProject) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- func (hp *HarborProject) Validate(old *HarborProject) error
- func (hp *HarborProject) ValidateCreate() error
- func (hp *HarborProject) ValidateDelete() error
- func (hp *HarborProject) ValidateUpdate(old runtime.Object) error
- type HarborProjectList
- type HarborProjectMember
- type HarborProjectMetadata
- type HarborProjectSpec
- type HarborProjectStatus
- type HarborProjectStatusType
- type HarborProxySpec
- type HarborServerConfiguration
- type HarborServerConfigurationList
- type HarborServerConfigurationSpec
- type HarborServerConfigurationStatus
- type HarborServerConfigurationStatusType
- type HarborSpec
- type HarborStorageImageChartStorageAzureSpec
- func (r *HarborStorageImageChartStorageAzureSpec) ChartMuseum() *ChartMuseumChartStorageDriverAzureSpec
- func (in *HarborStorageImageChartStorageAzureSpec) DeepCopy() *HarborStorageImageChartStorageAzureSpec
- func (in *HarborStorageImageChartStorageAzureSpec) DeepCopyInto(out *HarborStorageImageChartStorageAzureSpec)
- func (r *HarborStorageImageChartStorageAzureSpec) Registry() *RegistryStorageDriverAzureSpec
- type HarborStorageImageChartStorageFileSystemSpec
- type HarborStorageImageChartStorageGcsSpec
- func (r *HarborStorageImageChartStorageGcsSpec) ChartMuseum() *ChartMuseumChartStorageDriverGcsSpec
- func (in *HarborStorageImageChartStorageGcsSpec) DeepCopy() *HarborStorageImageChartStorageGcsSpec
- func (in *HarborStorageImageChartStorageGcsSpec) DeepCopyInto(out *HarborStorageImageChartStorageGcsSpec)
- func (r *HarborStorageImageChartStorageGcsSpec) Registry() *RegistryStorageDriverGcsSpec
- type HarborStorageImageChartStorageOssSpec
- func (r *HarborStorageImageChartStorageOssSpec) ChartMuseum() *ChartMuseumChartStorageDriverOssSpec
- func (in *HarborStorageImageChartStorageOssSpec) DeepCopy() *HarborStorageImageChartStorageOssSpec
- func (in *HarborStorageImageChartStorageOssSpec) DeepCopyInto(out *HarborStorageImageChartStorageOssSpec)
- func (r *HarborStorageImageChartStorageOssSpec) Registry() *RegistryStorageDriverOssSpec
- type HarborStorageImageChartStorageS3Spec
- func (r *HarborStorageImageChartStorageS3Spec) ChartMuseum() *ChartMuseumChartStorageDriverAmazonSpec
- func (in *HarborStorageImageChartStorageS3Spec) DeepCopy() *HarborStorageImageChartStorageS3Spec
- func (in *HarborStorageImageChartStorageS3Spec) DeepCopyInto(out *HarborStorageImageChartStorageS3Spec)
- func (r *HarborStorageImageChartStorageS3Spec) Registry() *RegistryStorageDriverS3Spec
- type HarborStorageImageChartStorageSpec
- func (in *HarborStorageImageChartStorageSpec) DeepCopy() *HarborStorageImageChartStorageSpec
- func (in *HarborStorageImageChartStorageSpec) DeepCopyInto(out *HarborStorageImageChartStorageSpec)
- func (r *HarborStorageImageChartStorageSpec) ProviderName() string
- func (r *HarborStorageImageChartStorageSpec) Validate() error
- type HarborStorageImageChartStorageSwiftSpec
- func (r *HarborStorageImageChartStorageSwiftSpec) ChartMuseum() *ChartMuseumChartStorageDriverOpenStackSpec
- func (in *HarborStorageImageChartStorageSwiftSpec) DeepCopy() *HarborStorageImageChartStorageSwiftSpec
- func (in *HarborStorageImageChartStorageSwiftSpec) DeepCopyInto(out *HarborStorageImageChartStorageSwiftSpec)
- func (r *HarborStorageImageChartStorageSwiftSpec) Registry() *RegistryStorageDriverSwiftSpec
- type HarborStorageJobServiceStorageSpec
- type HarborStoragePersistentVolumeSpec
- type HarborStorageRegistryPersistentVolumeSpec
- type HarborStorageTrivyStorageSpec
- type JobService
- func (in *JobService) DeepCopy() *JobService
- func (in *JobService) DeepCopyInto(out *JobService)
- func (in *JobService) DeepCopyObject() runtime.Object
- func (*JobService) Hub()
- func (jobservice *JobService) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- func (jobservice *JobService) Validate() error
- func (jobservice *JobService) ValidateCreate() error
- func (jobservice *JobService) ValidateDelete() error
- func (jobservice *JobService) ValidateUpdate(old runtime.Object) error
- type JobServiceComponentSpec
- type JobServiceCoreSpec
- type JobServiceList
- type JobServiceLoggerConfigDatabaseSpec
- type JobServiceLoggerConfigFileSpec
- type JobServiceLoggerConfigSTDOUTSpec
- type JobServiceLoggerConfigSpec
- type JobServiceLoggerConfigSweeperSpec
- type JobServiceLoggerName
- type JobServicePoolRedisSpec
- type JobServicePoolSpec
- type JobServiceSpec
- type JobServiceStorageSpec
- type JobServiceStorageVolumeSpec
- type JobServiceTokenSpec
- type MinIOClientSpec
- type MinIOSpec
- type NotaryComponentSpec
- type NotaryLoggingSpec
- type NotaryServer
- type NotaryServerAuthSpec
- type NotaryServerAuthTokenSpec
- type NotaryServerList
- type NotaryServerSpec
- type NotaryServerTrustServiceRemoteSpec
- type NotaryServerTrustServiceSpec
- type NotarySigner
- type NotarySignerAuthenticationSpec
- type NotarySignerList
- type NotarySignerSpec
- type NotarySignerStorageSpec
- type NotaryStorageSpec
- type OssSpec
- type Portal
- type PortalComponentSpec
- type PortalList
- type PortalSpec
- type PostgreSQLSpec
- type PullSecretBinding
- type PullSecretBindingList
- type PullSecretBindingSpec
- type PullSecretBindingStatus
- type PullSecretBindingStatusType
- type RedisFailoverSpec
- type RedisSentinel
- type RedisServer
- type Registry
- func (in *Registry) DeepCopy() *Registry
- func (in *Registry) DeepCopyInto(out *Registry)
- func (in *Registry) DeepCopyObject() runtime.Object
- func (*Registry) Hub()
- func (r *Registry) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- func (r *Registry) Validate() error
- func (r *Registry) ValidateCreate() error
- func (r *Registry) ValidateDelete() error
- func (r *Registry) ValidateUpdate(old runtime.Object) error
- type RegistryAccessLogSpec
- type RegistryAuthenticationHTPasswdSpec
- type RegistryAuthenticationSillySpec
- type RegistryAuthenticationSpec
- type RegistryAuthenticationTokenSpec
- type RegistryCompatibilitySchemaSpec
- type RegistryCompatibilitySpec
- type RegistryComponentSpec
- type RegistryConfig01
- type RegistryController
- func (in *RegistryController) DeepCopy() *RegistryController
- func (in *RegistryController) DeepCopyInto(out *RegistryController)
- func (in *RegistryController) DeepCopyObject() runtime.Object
- func (*RegistryController) Hub()
- func (r *RegistryController) SetupWebhookWithManager(_ context.Context, mgr ctrl.Manager) error
- type RegistryControllerAuthenticationSpec
- type RegistryControllerConnectionSpec
- type RegistryControllerHTTPSSpec
- type RegistryControllerList
- type RegistryControllerLogSpec
- type RegistryControllerSpec
- type RegistryHTTPDebugPrometheusSpec
- type RegistryHTTPDebugSpec
- type RegistryHTTPHTTP2Spec
- type RegistryHTTPSpec
- type RegistryHealthFileSpec
- type RegistryHealthHTTPSpec
- type RegistryHealthSpec
- type RegistryHealthStorageDriverSpec
- type RegistryHealthTCPSpec
- type RegistryList
- type RegistryLogHookSpec
- type RegistryLogSpec
- type RegistryMiddlewareSpec
- type RegistryMiddlewaresSpec
- type RegistryNotificationEndpointIgnoreSpec
- type RegistryNotificationEndpointSpec
- type RegistryNotificationEventsSpec
- type RegistryNotificationsSpec
- type RegistryRedisPoolSpec
- type RegistryRedisSpec
- type RegistrySpec
- type RegistryStorageCacheSpec
- type RegistryStorageDeleteSpec
- type RegistryStorageDriverAzureSpec
- type RegistryStorageDriverFilesystemSpec
- type RegistryStorageDriverGcsSpec
- type RegistryStorageDriverInmemorySpec
- type RegistryStorageDriverOssSpec
- type RegistryStorageDriverS3Spec
- type RegistryStorageDriverSpec
- type RegistryStorageDriverSwiftSpec
- type RegistryStorageMaintenanceReadOnlySpec
- type RegistryStorageMaintenanceSpec
- type RegistryStorageMaintenanceUploadPurgingSpec
- type RegistryStorageRedirectSpec
- type RegistryStorageSpec
- type RegistryValidationManifestSpec
- type RegistryValidationManifestURLsSpec
- type RegistryValidationSpec
- type S3Spec
- type Storage
- type StorageRedirectSpec
- type StorageSpec
- type SwiftSpec
- type Trivy
- type TrivyComponentSpec
- type TrivyList
- type TrivyLogSpec
- type TrivyRedisJobsSpec
- type TrivyRedisPoolSpec
- type TrivyRedisSpec
- type TrivyServerProxySpec
- type TrivyServerSpec
- type TrivySpec
- type TrivyStorageSpec
- type TrivyStorageVolumeSpec
- type TrivyUpdateSpec
- type ZlandoPostgreSQLSpec
Constants ¶
const ( S3DriverName = "s3" SwiftDriverName = "swift" FileSystemDriverName = "filesystem" AzureDriverName = "azure" GcsDriverName = "gcs" OssDriverName = "oss" )
const ( KindDatabaseZlandoPostgreSQL = "Zlando/PostgreSQL" KindDatabasePostgreSQL = "PostgreSQL" KindStorageOss = "Oss" KindStorageGcs = "Gcs" KindStorageAzure = "Azure" KindStorageMinIO = "MinIO" KindStorageSwift = "Swift" KindStorageS3 = "S3" KindStorageFileSystem = "FileSystem" KindCacheRedisFailover = "RedisFailover" KindCacheRedis = "Redis" )
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.
const ( RegistryControllerCorePublicURLKey = "REGISTRY_HTTP_HOST" RegistryControllerAuthURLKey = "REGISTRY_AUTH_TOKEN_REALM" // RegistryControllerCorePublicURLKey + "/service/token" )
const (
CoreDatabaseType = "postgresql"
)
const (
HarborClassAnnotation = "goharbor.io/harbor-class"
)
const NotarySignerAPIPort = 7899
const (
// ipaddress:port[,weight,password,database_index]
RegistryControllerCacheURLKey = "url"
)
Variables ¶
var ( ErrNoStorageConfiguration = errors.New("no storage configuration") Err2StorageConfiguration = errors.New("only 1 storage can be configured") )
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "goharbor.io", Version: "v1beta1"} // 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 )
var HarborClusterGVK = schema.GroupVersionKind{ Group: GroupVersion.Group, Version: GroupVersion.Version, Kind: "HarborCluster", }
Functions ¶
This section is empty.
Types ¶
type AccessCredential ¶
type AccessCredential 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])?)*"
Namespace string `json:"namespace"`
// +kubebuilder:validation:Required
// +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"`
}
AccessCredential is a namespaced credential to keep the access key and secret for the harbor server configuration.
func (*AccessCredential) DeepCopy ¶
func (in *AccessCredential) DeepCopy() *AccessCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessCredential.
func (*AccessCredential) DeepCopyInto ¶
func (in *AccessCredential) DeepCopyInto(out *AccessCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureSpec ¶
type AzureSpec struct {
HarborStorageImageChartStorageAzureSpec `json:",inline"`
}
func (*AzureSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSpec.
func (*AzureSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cache ¶
type Cache struct {
// Set the kind of cache service to be used. Only support Redis now.
// +kubebuilder:validation:Enum={Redis,RedisFailover}
Kind string `json:"kind"`
// RedisSpec is the specification of redis.
// +kubebuilder:validation:Required
Spec *CacheSpec `json:"spec"`
}
func (*Cache) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cache.
func (*Cache) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CacheSpec ¶
type CacheSpec struct {
// +kubebuilder:validation:Optional
Redis *ExternalRedisSpec `json:"redis,omitempty"`
// +kubebuilder:validation:Optional
RedisFailover *RedisFailoverSpec `json:"redisFailover,omitempty"`
}
func (*CacheSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheSpec.
func (*CacheSpec) DeepCopyInto ¶
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 ¶
func (in *CertificateInjection) DeepCopy() *CertificateInjection
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 +kubebuilder:storageversion +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) 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.
func (*ChartMuseum) Hub ¶
func (c *ChartMuseum) Hub()
func (*ChartMuseum) SetupWebhookWithManager ¶
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 ¶
func (in *ChartMuseumAuthBearerSpec) DeepCopy() *ChartMuseumAuthBearerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumAuthBearerSpec.
func (*ChartMuseumAuthBearerSpec) DeepCopyInto ¶
func (in *ChartMuseumAuthBearerSpec) DeepCopyInto(out *ChartMuseumAuthBearerSpec)
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 ¶
func (in *ChartMuseumCacheSpec) DeepCopy() *ChartMuseumCacheSpec
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 ¶
func (in *ChartMuseumChartIndexSpec) DeepCopy() *ChartMuseumChartIndexSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartIndexSpec.
func (*ChartMuseumChartIndexSpec) DeepCopyInto ¶
func (in *ChartMuseumChartIndexSpec) DeepCopyInto(out *ChartMuseumChartIndexSpec)
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 ¶
func (in *ChartMuseumChartRepoSpec) DeepCopy() *ChartMuseumChartRepoSpec
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 ¶
func (in *ChartMuseumChartSpec) DeepCopy() *ChartMuseumChartSpec
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 ¶
func (in *ChartMuseumChartStorageDriverAmazonSpec) DeepCopy() *ChartMuseumChartStorageDriverAmazonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverAmazonSpec.
func (*ChartMuseumChartStorageDriverAmazonSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverAmazonSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverAmazonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartMuseumChartStorageDriverAzureSpec ¶
type ChartMuseumChartStorageDriverAzureSpec struct {
// +kubebuilder:validation:Optional
AccountName string `json:"accountname,omitempty"`
// +kubebuilder:validation:Optional
AccountKeyRef string `json:"accountkeyRef,omitempty"`
// +kubebuilder:validation:Optional
Container string `json:"container,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=core.windows.net
BaseURL string `json:"baseURL,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=/azure/harbor/charts
PathPrefix string `json:"pathPrefix,omitempty"`
}
func (*ChartMuseumChartStorageDriverAzureSpec) DeepCopy ¶
func (in *ChartMuseumChartStorageDriverAzureSpec) DeepCopy() *ChartMuseumChartStorageDriverAzureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverAzureSpec.
func (*ChartMuseumChartStorageDriverAzureSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverAzureSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverAzureSpec)
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 ¶
func (in *ChartMuseumChartStorageDriverFilesystemSpec) DeepCopy() *ChartMuseumChartStorageDriverFilesystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverFilesystemSpec.
func (*ChartMuseumChartStorageDriverFilesystemSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverFilesystemSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverFilesystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartMuseumChartStorageDriverGcsSpec ¶
type ChartMuseumChartStorageDriverGcsSpec struct {
// +kubebuilder:validation:Required
// bucket to store charts for Gcs storage
Bucket string `json:"bucket"`
// +kubebuilder:validation:Required
// The base64 encoded json file which contains the key
KeyDataSecretRef string `json:"keyDataSecretRef"`
// +kubebuilder:validation:Optional
PathPrefix string `json:"pathPrefix,omitempty"`
// +kubebuilder:validation:Optional
ChunkSize string `json:"chunksize,omitempty"`
}
func (*ChartMuseumChartStorageDriverGcsSpec) DeepCopy ¶
func (in *ChartMuseumChartStorageDriverGcsSpec) DeepCopy() *ChartMuseumChartStorageDriverGcsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverGcsSpec.
func (*ChartMuseumChartStorageDriverGcsSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverGcsSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverGcsSpec)
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 ¶
func (in *ChartMuseumChartStorageDriverOpenStackSpec) DeepCopy() *ChartMuseumChartStorageDriverOpenStackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverOpenStackSpec.
func (*ChartMuseumChartStorageDriverOpenStackSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverOpenStackSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverOpenStackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartMuseumChartStorageDriverOssSpec ¶
type ChartMuseumChartStorageDriverOssSpec struct {
// +kubebuilder:validation:Required
Endpoint string `json:"endpoint"`
// +kubebuilder:validation:Required
AccessKeyID string `json:"accessKeyID"`
// +kubebuilder:validation:Required
AccessSecretRef string `json:"accessSecretRef"`
// +kubebuilder:validation:Required
Bucket string `json:"bucket"`
// +kubebuilder:validation:Optional
PathPrefix string `json:"pathPrefix,omitempty"`
}
func (*ChartMuseumChartStorageDriverOssSpec) DeepCopy ¶
func (in *ChartMuseumChartStorageDriverOssSpec) DeepCopy() *ChartMuseumChartStorageDriverOssSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverOssSpec.
func (*ChartMuseumChartStorageDriverOssSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverOssSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverOssSpec)
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"`
// +kubebuilder:validation:Optional
Azure *ChartMuseumChartStorageDriverAzureSpec `json:"azure,omitempty"`
// +kubebuilder:validation:Optional
Gcs *ChartMuseumChartStorageDriverGcsSpec `json:"gcs,omitempty"`
// +kubebuilder:validation:Optional
Oss *ChartMuseumChartStorageDriverOssSpec `json:"oss,omitempty"`
}
func (*ChartMuseumChartStorageDriverSpec) DeepCopy ¶
func (in *ChartMuseumChartStorageDriverSpec) DeepCopy() *ChartMuseumChartStorageDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageDriverSpec.
func (*ChartMuseumChartStorageDriverSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageDriverSpec) DeepCopyInto(out *ChartMuseumChartStorageDriverSpec)
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 ¶
func (in *ChartMuseumChartStorageSpec) DeepCopy() *ChartMuseumChartStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumChartStorageSpec.
func (*ChartMuseumChartStorageSpec) DeepCopyInto ¶
func (in *ChartMuseumChartStorageSpec) DeepCopyInto(out *ChartMuseumChartStorageSpec)
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 ¶
func (in *ChartMuseumComponentSpec) DeepCopy() *ChartMuseumComponentSpec
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 ¶
func (in *ChartMuseumDisableSpec) DeepCopy() *ChartMuseumDisableSpec
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 ¶
func (in *ChartMuseumPostFormFieldNameSpec) DeepCopy() *ChartMuseumPostFormFieldNameSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumPostFormFieldNameSpec.
func (*ChartMuseumPostFormFieldNameSpec) DeepCopyInto ¶
func (in *ChartMuseumPostFormFieldNameSpec) DeepCopyInto(out *ChartMuseumPostFormFieldNameSpec)
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 ¶
func (in *ChartMuseumServerSpec) DeepCopy() *ChartMuseumServerSpec
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
}
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 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 +kubebuilder:storageversion +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Core.
func (*Core) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Core) DeepCopyObject ¶
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 ¶
func (in *CoreComponentPortalSpec) DeepCopy() *CoreComponentPortalSpec
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"`
// +kubebuilder:validation:Optional
Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
// +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"`
}
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 ¶
func (in *CoreComponentsChartRepositorySpec) DeepCopy() *CoreComponentsChartRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsChartRepositorySpec.
func (*CoreComponentsChartRepositorySpec) DeepCopyInto ¶
func (in *CoreComponentsChartRepositorySpec) DeepCopyInto(out *CoreComponentsChartRepositorySpec)
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 ¶
func (in *CoreComponentsJobServiceSpec) DeepCopy() *CoreComponentsJobServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsJobServiceSpec.
func (*CoreComponentsJobServiceSpec) DeepCopyInto ¶
func (in *CoreComponentsJobServiceSpec) DeepCopyInto(out *CoreComponentsJobServiceSpec)
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 ¶
func (in *CoreComponentsNotaryServerSpec) DeepCopy() *CoreComponentsNotaryServerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsNotaryServerSpec.
func (*CoreComponentsNotaryServerSpec) DeepCopyInto ¶
func (in *CoreComponentsNotaryServerSpec) DeepCopyInto(out *CoreComponentsNotaryServerSpec)
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 ¶
func (in *CoreComponentsRegistryCredentialsSpec) DeepCopy() *CoreComponentsRegistryCredentialsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsRegistryCredentialsSpec.
func (*CoreComponentsRegistryCredentialsSpec) DeepCopyInto ¶
func (in *CoreComponentsRegistryCredentialsSpec) DeepCopyInto(out *CoreComponentsRegistryCredentialsSpec)
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 ¶
func (in *CoreComponentsRegistrySpec) DeepCopy() *CoreComponentsRegistrySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsRegistrySpec.
func (*CoreComponentsRegistrySpec) DeepCopyInto ¶
func (in *CoreComponentsRegistrySpec) DeepCopyInto(out *CoreComponentsRegistrySpec)
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 ¶
func (in *CoreComponentsTokenServiceSpec) DeepCopy() *CoreComponentsTokenServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreComponentsTokenServiceSpec.
func (*CoreComponentsTokenServiceSpec) DeepCopyInto ¶
func (in *CoreComponentsTokenServiceSpec) DeepCopyInto(out *CoreComponentsTokenServiceSpec)
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 ¶
func (in *CoreComponentsTrivySpec) DeepCopy() *CoreComponentsTrivySpec
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreList.
func (*CoreList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CoreList) DeepCopyObject ¶
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/main/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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`
}
CoreSpec defines the desired state of Core.
func (*CoreSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreSpec.
func (*CoreSpec) DeepCopyInto ¶
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 PostgreSQL now.
// +kubebuilder:validation:Enum={PostgreSQL,Zlando/PostgreSQL}
Kind string `json:"kind"`
// +kubebuilder:validation:Required
Spec DatabaseSpec `json:"spec"`
}
func (*Database) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Database.
func (*Database) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseSpec ¶
type DatabaseSpec struct {
// +kubebuilder:validation:Optional
PostgreSQL *PostgreSQLSpec `json:"postgresql,omitempty"`
// ZlandoPostgreSQL
ZlandoPostgreSQL *ZlandoPostgreSQLSpec `json:"zlandoPostgreSql,omitempty"`
}
func (*DatabaseSpec) DeepCopy ¶
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec.
func (*DatabaseSpec) DeepCopyInto ¶
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbeddedHarborComponentsSpec ¶
type EmbeddedHarborComponentsSpec 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"`
}
func (*EmbeddedHarborComponentsSpec) DeepCopy ¶
func (in *EmbeddedHarborComponentsSpec) DeepCopy() *EmbeddedHarborComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedHarborComponentsSpec.
func (*EmbeddedHarborComponentsSpec) DeepCopyInto ¶
func (in *EmbeddedHarborComponentsSpec) DeepCopyInto(out *EmbeddedHarborComponentsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbeddedHarborSpec ¶
type EmbeddedHarborSpec struct {
EmbeddedHarborComponentsSpec `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"`
// +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"`
}
func (*EmbeddedHarborSpec) DeepCopy ¶
func (in *EmbeddedHarborSpec) DeepCopy() *EmbeddedHarborSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedHarborSpec.
func (*EmbeddedHarborSpec) DeepCopyInto ¶
func (in *EmbeddedHarborSpec) DeepCopyInto(out *EmbeddedHarborSpec)
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 +kubebuilder:storageversion +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Exporter.
func (*Exporter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Exporter) DeepCopyObject ¶
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 ¶
func (in *ExporterComponentSpec) DeepCopy() *ExporterComponentSpec
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 ¶
func (in *ExporterDatabaseSpec) DeepCopy() *ExporterDatabaseSpec
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 ExporterJobServiceSpec ¶
type ExporterJobServiceSpec struct {
// +kubebuilder:validation:Optional
Redis *JobServicePoolRedisSpec `json:"redisPool,omitempty"`
}
func (*ExporterJobServiceSpec) DeepCopy ¶
func (in *ExporterJobServiceSpec) DeepCopy() *ExporterJobServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExporterJobServiceSpec.
func (*ExporterJobServiceSpec) DeepCopyInto ¶
func (in *ExporterJobServiceSpec) DeepCopyInto(out *ExporterJobServiceSpec)
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
JobService *ExporterJobServiceSpec `json:"jobservice,omitempty"`
// +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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,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 FileSystemSpec ¶
type FileSystemSpec struct {
HarborStorageImageChartStorageFileSystemSpec `json:",inline"`
}
func (*FileSystemSpec) DeepCopy ¶
func (in *FileSystemSpec) DeepCopy() *FileSystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemSpec.
func (*FileSystemSpec) DeepCopyInto ¶
func (in *FileSystemSpec) DeepCopyInto(out *FileSystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GcsSpec ¶
type GcsSpec struct {
HarborStorageImageChartStorageGcsSpec `json:",inline"`
}
func (*GcsSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsSpec.
func (*GcsSpec) DeepCopyInto ¶
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 +kubebuilder:storageversion +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Harbor.
func (*Harbor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Harbor) DeepCopyObject ¶
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
func (*Harbor) SetupWebhookWithManager ¶
func (*Harbor) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*Harbor) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
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 +kubebuilder:storageversion +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="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) 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.
func (*HarborCluster) Default ¶
func (harborcluster *HarborCluster) Default()
func (*HarborCluster) Hub ¶
func (harborcluster *HarborCluster) Hub()
func (*HarborCluster) SetupWebhookWithManager ¶
func (*HarborCluster) ValidateCreate ¶
func (harborcluster *HarborCluster) ValidateCreate() error
func (*HarborCluster) ValidateDelete ¶
func (harborcluster *HarborCluster) ValidateDelete() error
func (*HarborCluster) ValidateUpdate ¶
func (harborcluster *HarborCluster) ValidateUpdate(old runtime.Object) error
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 ¶
func (in *HarborClusterCondition) DeepCopy() *HarborClusterCondition
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 {
EmbeddedHarborSpec `json:",inline"`
// Cache configuration for in-cluster cache services
// +kubebuilder:validation:Required
Cache Cache `json:"cache"`
// Database configuration for in-cluster database service
// +kubebuilder:validation:Required
Database Database `json:"database"`
// Storage configuration for in-cluster storage service
// +kubebuilder:validation:Required
Storage Storage `json:"storage"`
// +kubebuilder:validation:Optional
// Network settings for the harbor
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
// Trace settings for the harbor
Trace *harbormetav1.TraceSpec `json:"trace,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"`
// +kubebuilder:validation:Required
Redis *ExternalRedisSpec `json:"redis"`
Database *HarborDatabaseSpec `json:"database"`
}
func (*HarborComponentsSpec) DeepCopy ¶
func (in *HarborComponentsSpec) DeepCopy() *HarborComponentsSpec
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 ¶
func (r *HarborComponentsSpec) RedisConnection(component harbormetav1.ComponentWithRedis) harbormetav1.RedisConnection
type HarborConfiguration ¶
type HarborConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HarborConfigurationSpec `json:"spec,omitempty"`
Status HarborConfigurationStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:storageversion +k8s:openapi-gen=true +resource:path=harborconfiguration +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor",shortName="hc" +kubebuilder:printcolumn:name="HarborCluster",type=string,JSONPath=`.spec.harborClusterRef`,description="HarborCluster name" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status`,description="HarborConfiguration status" +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." HarborConfiguration is the Schema for the harbors configuration.
func (*HarborConfiguration) DeepCopy ¶
func (in *HarborConfiguration) DeepCopy() *HarborConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfiguration.
func (*HarborConfiguration) DeepCopyInto ¶
func (in *HarborConfiguration) DeepCopyInto(out *HarborConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborConfiguration) DeepCopyObject ¶
func (in *HarborConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HarborConfigurationEmail ¶
type HarborConfigurationEmail struct {
// The sender name for Email notification.
// +kubebuilder:validation:Optional
EmailFrom string `json:"emailFrom,omitempty" yaml:"email_from,omitempty"`
// The hostname of SMTP server that sends Email notification.
// +kubebuilder:validation:Optional
EmailHost string `json:"emailHost,omitempty" yaml:"email_host,omitempty"`
// By default it's empty so the email_username is picked
// +kubebuilder:validation:Optional
EmailIdentity string `json:"emailIdentity,omitempty" yaml:"email_identity,omitempty"`
// Whether or not the certificate will be verified when Harbor tries to access the email server.
// +kubebuilder:validation:Optional
EmailInsecure *bool `json:"emailInsecure,omitempty" yaml:"email_insecure,omitempty"`
// The username for authenticate against SMTP server.
// +kubebuilder:validation:Optional
EmailUsername string `json:"emailUsername,omitempty" yaml:"email_username,omitempty"`
// Email password.
// +kubebuilder:validation:Optional
EmailPassword string `json:"emailPassword,omitempty" yaml:"email_password,omitempty"`
// The port of SMTP server.
// +kubebuilder:validation:Optional
EmailPort int `json:"emailPort,omitempty" yaml:"emailPort,omitempty"`
// When it”s set to true the system will access Email server via TLS by default. If it”s set to false, it still will handle "STARTTLS" from server side.
// +kubebuilder:validation:Optional
EmailSSL *bool `json:"emailSsl,omitempty" yaml:"email_ssl,omitempty"`
}
HarborConfigurationEmail defines the email related spec.
func (*HarborConfigurationEmail) DeepCopy ¶
func (in *HarborConfigurationEmail) DeepCopy() *HarborConfigurationEmail
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationEmail.
func (*HarborConfigurationEmail) DeepCopyInto ¶
func (in *HarborConfigurationEmail) DeepCopyInto(out *HarborConfigurationEmail)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationHTTPAuthProxy ¶
type HarborConfigurationHTTPAuthProxy struct {
// The endpoint of the HTTP auth.
// +kubebuilder:validation:Optional
HTTPAuthproxyEndpoint string `json:"httpAuthproxyEndpoint,omitempty" yaml:"http_authproxy_endpoint,omitempty"`
// The token review endpoint.
// +kubebuilder:validation:Optional
HTTPAuthproxyTokenreviewEndpoint string `json:"httpAuthproxyTokenreviewEndpoint,omitempty" yaml:"http_authproxy_tokenreview_endpoint,omitempty"`
// The group which has the harbor admin privileges.
// +kubebuilder:validation:Optional
HTTPAuthproxyAdminGroups string `json:"httpAuthproxyAdminGroups,omitempty" yaml:"http_authproxy_admin_groups,omitempty"`
// The username which has the harbor admin privileges.
// +kubebuilder:validation:Optional
HTTPAuthproxyAdminUsernames string `json:"httpAuthproxyAdminUsernames,omitempty" yaml:"http_authproxy_admin_usernames,omitempty"`
// Verify the HTTP auth provider's certificate.
// +kubebuilder:validation:Optional
HTTPAuthproxyVerifyCert *bool `json:"httpAuthproxyVerifyCert,omitempty" yaml:"http_authproxy_verify_cert,omitempty"`
// Search user before onboard.
// +kubebuilder:validation:Optional
HTTPAuthproxySkipSearch *bool `json:"httpAuthproxySkipSearch,omitempty" yaml:"http_authproxy_skip_search,omitempty"`
// The certificate of the HTTP auth provider.
// +kubebuilder:validation:Optional
HTTPAuthproxyServerCertificate *bool `json:"httpAuthproxyServerCertificate,omitempty" yaml:"http_authproxy_server_certificate,omitempty"`
}
HarborConfigurationHTTPAuthProxy defines the http_authproxy spec.
func (*HarborConfigurationHTTPAuthProxy) DeepCopy ¶
func (in *HarborConfigurationHTTPAuthProxy) DeepCopy() *HarborConfigurationHTTPAuthProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationHTTPAuthProxy.
func (*HarborConfigurationHTTPAuthProxy) DeepCopyInto ¶
func (in *HarborConfigurationHTTPAuthProxy) DeepCopyInto(out *HarborConfigurationHTTPAuthProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationLdap ¶
type HarborConfigurationLdap struct {
// The Base DN for LDAP binding.
// +kubebuilder:validation:Optional
LdapBaseDn string `json:"ldapBaseDn,omitempty" yaml:"ldap_base_dn,omitempty"`
// The filter for LDAP search.
// +kubebuilder:validation:Optional
LdapFilter string `json:"ldapFilter,omitempty" yaml:"ldap_filter,omitempty"`
// The base DN to search LDAP group.
// +kubebuilder:validation:Optional
LdapGroupBaseDn string `json:"ldapGroupBaseDn,omitempty" yaml:"ldap_group_base_dn,omitempty"`
// Specify the ldap group which have the same privilege with Harbor admin.
// +kubebuilder:validation:Optional
LdapGroupAdminDn string `json:"ldapGroupAdminDn,omitempty" yaml:"ldap_group_admin_dn,omitempty"`
// The attribute which is used as identity of the LDAP group, default is cn.
// +kubebuilder:validation:Optional
LdapGroupAttributeName string `json:"ldapGroupAttributeName,omitempty" yaml:"ldap_group_attribute_name,omitempty"`
// The filter to search the ldap group.
// +kubebuilder:validation:Optional
LdapGroupSearchFilter string `json:"ldapGroupSearchFilter,omitempty" yaml:"ldap_group_search_filter,omitempty"`
// The scope to search ldap group. ”0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE”.
// +kubebuilder:validation:Optional
LdapGroupSearchScope int `json:"ldapGroupSearchScope,omitempty" yaml:"ldap_group_search_scope,omitempty"`
// The scope to search ldap users,'0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE'.
// +kubebuilder:validation:Optional
LdapScope int `json:"ldapScope,omitempty" yaml:"ldap_scope,omitempty"`
// The DN of the user to do the search.
// +kubebuilder:validation:Optional
LdapSearchDn string `json:"ldapSearchDn,omitempty" yaml:"ldap_search_dn,omitempty"`
// The password ref of the ldap search dn.
// +kubebuilder:validation:Optional
LdapSearchPassword string `json:"ldapSearchPassword,omitempty" yaml:"ldap_search_password,omitempty"`
// Timeout in seconds for connection to LDAP server.
// +kubebuilder:validation:Optional
LdapTimeout int `json:"ldapTimeout,omitempty" yaml:"ldap_timeout,omitempty"`
// The attribute which is used as identity for the LDAP binding, such as "CN" or "SAMAccountname".
// +kubebuilder:validation:Optional
LdapUID string `json:"ldapUid,omitempty" yaml:"ldap_uid,omitempty"`
// The URL of LDAP server.
// +kubebuilder:validation:Optional
LdapURL string `json:"ldapUrl,omitempty" yaml:"ldap_url,omitempty"`
// Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
// +kubebuilder:validation:Optional
LdapVerifyCert *bool `json:"ldapVerifyCert,omitempty" yaml:"ldap_verify_cert,omitempty"`
// The user attribute to identify the group membership.
// +kubebuilder:validation:Optional
LdapGroupMembershipAttribute string `json:"ldapGroupMembershipAttribute,omitempty" yaml:"ldap_group_membership_attribute,omitempty"`
}
HarborConfigurationLDAP defines the ldap related spec.
func (*HarborConfigurationLdap) DeepCopy ¶
func (in *HarborConfigurationLdap) DeepCopy() *HarborConfigurationLdap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationLdap.
func (*HarborConfigurationLdap) DeepCopyInto ¶
func (in *HarborConfigurationLdap) DeepCopyInto(out *HarborConfigurationLdap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationList ¶
type HarborConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HarborConfiguration `json:"items"`
}
+kubebuilder:object:root=true HarborConfigurationList contains a list of HarborConfiguration.
func (*HarborConfigurationList) DeepCopy ¶
func (in *HarborConfigurationList) DeepCopy() *HarborConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationList.
func (*HarborConfigurationList) DeepCopyInto ¶
func (in *HarborConfigurationList) DeepCopyInto(out *HarborConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborConfigurationList) DeepCopyObject ¶
func (in *HarborConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HarborConfigurationModel ¶
type HarborConfigurationModel struct {
// The auth mode of current system, such as "db_auth", "ldap_auth", "oidc_auth".
// +kubebuilder:validation:Optional
AuthMode string `json:"authMode,omitempty" yaml:"auth_mode,omitempty"`
// Email related configurations.
// +kubebuilder:validation:Optional
HarborConfigurationEmail `json:",inline" yaml:",inline"`
// LDAP related configurations.
// +kubebuilder:validation:Optional
HarborConfigurationLdap `json:",inline" yaml:",inline"`
// Indicate who can create projects, it could be ”adminonly” or ”everyone”.
// +kubebuilder:validation:Optional
ProjectCreationRestriction string `json:"projectCreationRestriction,omitempty" yaml:"project_creation_restriction,omitempty"`
// The flag to indicate whether Harbor is in readonly mode.
// +kubebuilder:validation:Optional
ReadOnly *bool `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
// Whether the Harbor instance supports self-registration. If it”s set to false, admin need to add user to the instance.
// +kubebuilder:validation:Optional
SelfRegistration *bool `json:"selfRegistration,omitempty" yaml:"self_registration,omitempty"`
// The expiration time of the token for internal Registry, in minutes.
// +kubebuilder:validation:Optional
TokenExpiration int `json:"tokenExpiration,omitempty" yaml:"token_expiration,omitempty"`
// HttpAuthproxy related configurations.
// +kubebuilder:validation:Optional
HarborConfigurationHTTPAuthProxy `json:",inline" yaml:",inline"`
// Uaa related configurations.
// +kubebuilder:validation:Optional
HarborConfigurationUaa `json:",inline" yaml:",inline"`
// Oidc related configurations.
// +kubebuilder:validation:Optional
HarborConfigurationOidc `json:",inline" yaml:",inline"`
// The robot account token duration in days.
// +kubebuilder:validation:Optional
RobotTokenDuration int `json:"robotTokenDuration,omitempty" yaml:"robot_token_duration,omitempty"`
// The rebot account name prefix.
// +kubebuilder:validation:Optional
RobotNamePrefix string `json:"robotNamePrefix,omitempty" yaml:"robot_name_prefix,omitempty"`
// Enable notification.
// +kubebuilder:validation:Optional
NotificationEnable *bool `json:"notificationEnable,omitempty" yaml:"notification_enable,omitempty"`
// Enable quota per project.
// +kubebuilder:validation:Optional
QuotaPerProjectEnable *bool `json:"quotaPerProjectEnable,omitempty" yaml:"quota_per_project_enable,omitempty"`
// The storage quota per project.
// +kubebuilder:validation:Optional
StoragePerProject int `json:"storagePerProject,omitempty" yaml:"storage_per_project,omitempty"`
}
HarborConfigurationModel defines the spec of HarborConfiguration.
func (*HarborConfigurationModel) DeepCopy ¶
func (in *HarborConfigurationModel) DeepCopy() *HarborConfigurationModel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationModel.
func (*HarborConfigurationModel) DeepCopyInto ¶
func (in *HarborConfigurationModel) DeepCopyInto(out *HarborConfigurationModel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HarborConfigurationModel) ToJSON ¶
func (h HarborConfigurationModel) ToJSON() ([]byte, error)
ToJSON converts configuration spec to json payload.
type HarborConfigurationOidc ¶
type HarborConfigurationOidc struct {
// The OIDC provider name.
// +kubebuilder:validation:Optional
OidcName string `json:"oidcName,omitempty" yaml:"oidc_name,omitempty"`
// The endpoint of the OIDC provider.
// +kubebuilder:validation:Optional
OidcEndpoint string `json:"oidcEndpoint,omitempty" yaml:"oidc_endpoint,omitempty"`
// The client ID of the OIDC provider.
// +kubebuilder:validation:Optional
OidcClientID string `json:"oidcClientId,omitempty" yaml:"oidc_client_id,omitempty"`
// The OIDC provider secret.
// +kubebuilder:validation:Optional
OidcClientSecret string `json:"oidcClientSecret,omitempty" yaml:"oidc_client_secret,omitempty"`
// The attribute claims the group name.
// +kubebuilder:validation:Optional
OidcGroupsClaim string `json:"oidcGroupsClaim,omitempty" yaml:"oidc_groups_claim,omitempty"`
// The OIDC group which has the harbor admin privileges.
// +kubebuilder:validation:Optional
OidcAdminGroup string `json:"oidcAdminGroup,omitempty" yaml:"oidc_admin_group,omitempty"`
// The scope of the OIDC provider.
// +kubebuilder:validation:Optional
OidcScope string `json:"oidcScope,omitempty" yaml:"oidc_scope,omitempty"`
// The attribute claims the username.
// +kubebuilder:validation:Optional
OidcUserClaim string `json:"oidcUserClaim,omitempty" yaml:"oidc_user_claim,omitempty"`
// Verify the OIDC provider's certificate'.
// +kubebuilder:validation:Optional
OidcVerifyCert *bool `json:"oidcVerifyCert,omitempty" yaml:"oidc_verify_cert,omitempty"`
// Auto onboard the OIDC user.
// +kubebuilder:validation:Optional
OidcAutoOnboard *bool `json:"oidcAutoOnboard,omitempty" yaml:"oidc_auto_onboard,omitempty"`
// Extra parameters to add when redirect request to OIDC provider.
// +kubebuilder:validation:Optional
OidcExtraRedirectParms string `json:"oidcExtraRedirectParms,omitempty" yaml:"oidc_extra_redirect_parms,omitempty"`
}
HarborConfigurationOidc defines the oidc spec.
func (*HarborConfigurationOidc) DeepCopy ¶
func (in *HarborConfigurationOidc) DeepCopy() *HarborConfigurationOidc
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationOidc.
func (*HarborConfigurationOidc) DeepCopyInto ¶
func (in *HarborConfigurationOidc) DeepCopyInto(out *HarborConfigurationOidc)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationSpec ¶
type HarborConfigurationSpec struct {
// Configuration defines the harbor configuration types.
Configuration HarborConfigurationModel `json:"configuration,omitempty"`
// HarborClusterRef defines the reference of the harbor cluster name.
HarborClusterRef string `json:"harborClusterRef,omitempty"`
}
HarborConfigurationSpec defines the spec of HarborConfiguration.
func (*HarborConfigurationSpec) DeepCopy ¶
func (in *HarborConfigurationSpec) DeepCopy() *HarborConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationSpec.
func (*HarborConfigurationSpec) DeepCopyInto ¶
func (in *HarborConfigurationSpec) DeepCopyInto(out *HarborConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationStatus ¶
type HarborConfigurationStatus struct {
// Status represents harbor configuration status.
// +kubebuilder:validation:Optional
Status HarborConfigurationStatusType `json:"status,omitempty"`
// Reason represents status reason.
// +kubebuilder:validation:Optional
Reason string `json:"reason,omitempty"`
// Message provides human-readable message.
// +kubebuilder:validation:Optional
Message string `json:"message,omitempty"`
// LastApplyTime represents the last apply configuration time.
// +kubebuilder:validation:Optional
LastApplyTime *metav1.Time `json:"lastApplyTime,omitempty"`
// LastConfiguration represents the configuration of last time.
// +kubebuilder:validation:Optional
LastConfiguration *HarborConfigurationSpec `json:"lastConfiguration,omitempty"`
}
HarborConfigurationStatus defines the status of HarborConfiguration.
func (*HarborConfigurationStatus) DeepCopy ¶
func (in *HarborConfigurationStatus) DeepCopy() *HarborConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationStatus.
func (*HarborConfigurationStatus) DeepCopyInto ¶
func (in *HarborConfigurationStatus) DeepCopyInto(out *HarborConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborConfigurationStatusType ¶
type HarborConfigurationStatusType string
HarborConfigurationStatusType defines the status type of configuration.
const ( // HarborConfigurationPhaseReady represents ready status. HarborConfigurationStatusReady HarborConfigurationStatusType = "Success" // HarborConfigurationPhaseFail represents fail status. HarborConfigurationStatusFail HarborConfigurationStatusType = "Fail" // HarborConfigurationPhaseError represents unknown status. HarborConfigurationStatusUnknown HarborConfigurationStatusType = "Unknown" )
type HarborConfigurationUaa ¶
type HarborConfigurationUaa struct {
// The client id of UAA.
// +kubebuilder:validation:Optional
UaaClientID string `json:"uaaClientId,omitempty" yaml:"uaa_client_id,omitempty"`
// The client secret of the UAA.
// +kubebuilder:validation:Optional
UaaClientSecret string `json:"uaaClientSecret,omitempty" yaml:"uaa_client_secret,omitempty"`
// The endpoint of the UAA.
// +kubebuilder:validation:Optional
UaaEndpoint string `json:"uaaEndpoint,omitempty" yaml:"uaa_endpoint,omitempty"`
// Verify the certificate in UAA server.
// +kubebuilder:validation:Optional
UaaVerifyCert *bool `json:"uaaVerifyCert,omitempty" yaml:"uaa_verify_cert,omitempty"`
}
HarborConfigurationUaa defines the uaa related spec.
func (*HarborConfigurationUaa) DeepCopy ¶
func (in *HarborConfigurationUaa) DeepCopy() *HarborConfigurationUaa
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborConfigurationUaa.
func (*HarborConfigurationUaa) DeepCopyInto ¶
func (in *HarborConfigurationUaa) DeepCopyInto(out *HarborConfigurationUaa)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (r *HarborDatabaseSpec) GetPostgresqlConnection(component harbormetav1.Component) (*harbormetav1.PostgresConnectionWithParameters, error)
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 ¶
func (in *HarborExporterCacheSpec) DeepCopy() *HarborExporterCacheSpec
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 ¶
func (in *HarborExposeComponentSpec) DeepCopy() *HarborExposeComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborExposeComponentSpec.
func (*HarborExposeComponentSpec) DeepCopyInto ¶
func (in *HarborExposeComponentSpec) DeepCopyInto(out *HarborExposeComponentSpec)
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"`
// +kubebuilder:validation:Optional
IngressClassName *string `json:"ingressClassName,omitempty"`
}
func (*HarborExposeIngressSpec) DeepCopy ¶
func (in *HarborExposeIngressSpec) DeepCopy() *HarborExposeIngressSpec
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 ¶
func (in *HarborInternalTLSSpec) DeepCopy() *HarborInternalTLSSpec
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 HarborProject ¶ added in v1.5.3
type HarborProject struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HarborProjectSpec `json:"spec,omitempty"`
Status HarborProjectStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:storageversion +k8s:openapi-gen=true +resource:path=harborproject +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor",shortName="hp" +kubebuilder:printcolumn:name="ProjectName",type=string,JSONPath=`.spec.projectName`,description="Project name in Harbor" +kubebuilder:printcolumn:name="HarborServerConfig",type=string,JSONPath=`.spec.harborServerConfig`,description="HarborServerConfiguration name" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status`,description="HarborProject status" +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." HarborProject is the Schema for the harbors projects.
func (*HarborProject) DeepCopy ¶ added in v1.5.3
func (in *HarborProject) DeepCopy() *HarborProject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProject.
func (*HarborProject) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProject) DeepCopyInto(out *HarborProject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborProject) DeepCopyObject ¶ added in v1.5.3
func (in *HarborProject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HarborProject) SetupWebhookWithManager ¶ added in v1.5.3
func (*HarborProject) Validate ¶ added in v1.5.3
func (hp *HarborProject) Validate(old *HarborProject) error
func (*HarborProject) ValidateCreate ¶ added in v1.5.3
func (hp *HarborProject) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HarborProject) ValidateDelete ¶ added in v1.5.3
func (hp *HarborProject) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HarborProject) ValidateUpdate ¶ added in v1.5.3
func (hp *HarborProject) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HarborProjectList ¶ added in v1.5.3
type HarborProjectList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HarborProject `json:"items"`
}
+kubebuilder:object:root=true HarborProjectList contains a list of HarborProjects.
func (*HarborProjectList) DeepCopy ¶ added in v1.5.3
func (in *HarborProjectList) DeepCopy() *HarborProjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProjectList.
func (*HarborProjectList) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProjectList) DeepCopyInto(out *HarborProjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborProjectList) DeepCopyObject ¶ added in v1.5.3
func (in *HarborProjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HarborProjectMember ¶ added in v1.5.3
type HarborProjectMember struct {
// Type of the member, group or user
// +kubebuilder:validation:Enum="group";"user"
Type string `json:"type" yaml:"type"`
// Name of the member. Has to match with a existing user or group
Name string `json:"name" yaml:"name"`
// Role of the member in the Project. This controls the member's permissions on the project.
// +kubebuilder:validation:Enum="projectAdmin";"developer";"guest";"maintainer"
Role string `json:"role" yaml:"role"`
}
HarborProjectMember is a member of a HarborProject. Can be a user or group.
func (*HarborProjectMember) DeepCopy ¶ added in v1.5.3
func (in *HarborProjectMember) DeepCopy() *HarborProjectMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProjectMember.
func (*HarborProjectMember) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProjectMember) DeepCopyInto(out *HarborProjectMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborProjectMetadata ¶ added in v1.5.3
type HarborProjectMetadata struct {
// Whether content trust is enabled or not. If enabled, user can't pull unsigned images from this project.
// +kubebuilder:validation:Optional
EnableContentTrust *bool `json:"enableContentTrust,omitempty" yaml:"enable_content_trust,omitempty"`
// Whether cosign content trust is enabled or not. Similar to enableContentTrust, but using cosign.
// +kubebuilder:validation:Optional
EnableContentTrustCosign *bool `json:"enableContentTrustCosign,omitempty" yaml:"enable_content_trust_cosign,omitempty"`
// Whether to scan images automatically after pushing.
// +kubebuilder:validation:Optional
AutoScan *bool `json:"autoScan,omitempty" yaml:"auto_scan,omitempty"`
// If an image's vulnerablilities are higher than the severity defined here, the image can't be pulled. Can be either `none`, `low`, `medium`, `high` or `critical`.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=none;low;medium;high;critical
Severity string `json:"severity,omitempty" yaml:"severity,omitempty"`
// Whether to prevent vulnerable images from running.
// +kubebuilder:validation:Optional
PreventVulnerable *bool `json:"preventVulnerable,omitempty" yaml:"prevent_vulnerable,omitempty"`
// The flag to indicate whether the project should be public or not.
// +kubebuilder:validation:Optional
Public *bool `json:"public,omitempty" yaml:"public,omitempty"`
// Whether this project reuses the system level CVE allowlist for itself. If this is set to `true`, the actual allowlist associated with this project will be ignored.
// +kubebuilder:validation:Optional
ReuseSysCveAllowlist *bool `json:"reuseSysCveAllowlist,omitempty" yaml:"reuse_sys_cve_allowlist,omitempty"`
}
HarborProjectMetadata defines the project related metadata.
func (*HarborProjectMetadata) DeepCopy ¶ added in v1.5.3
func (in *HarborProjectMetadata) DeepCopy() *HarborProjectMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProjectMetadata.
func (*HarborProjectMetadata) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProjectMetadata) DeepCopyInto(out *HarborProjectMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborProjectSpec ¶ added in v1.5.3
type HarborProjectSpec struct {
// The name of the harbor project. Has to match harbor's naming rules.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern="^[a-z0-9]+(?:[._-][a-z0-9]+)*$"
// +kubebuilder:validation:MaxLength=255
// +kubebuilder:validation:MinLength=1
ProjectName string `json:"projectName" yaml:"project_name"`
// The CVE allowlist for the project.
// +kubebuilder:validation:Optional
CveAllowList []string `json:"cveAllowList" yaml:"cve_allow_list_items"`
// The project's storage quota in human-readable format, like in Kubernetes memory requests/limits (Ti, Gi, Mi, Ki). The Harbor's default value is used if empty.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Pattern="^[1-9][0-9]*(Ti|Gi|Mi|Ki)$"
StorageQuota string `json:"storageQuota" yaml:"storage_quota"`
// HarborProjectMetadata related configurations.
// +kubebuilder:validation:Optional
HarborProjectMetadata *HarborProjectMetadata `json:"metadata" yaml:"metadata"`
// Group or user memberships of the project.
// +kubebuilder:validation:Optional
HarborProjectMemberships []*HarborProjectMember `json:"memberships" yaml:"memberships"`
// HarborServerConfig contains the name of a HarborServerConfig resource describing the harbor instance to manage.
// +kubebuilder:validation:Required
HarborServerConfig string `json:"harborServerConfig"`
}
HarborProjectSpec defines the spec of HarborProject.
func (*HarborProjectSpec) DeepCopy ¶ added in v1.5.3
func (in *HarborProjectSpec) DeepCopy() *HarborProjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProjectSpec.
func (*HarborProjectSpec) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProjectSpec) DeepCopyInto(out *HarborProjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (HarborProjectSpec) ToJSON ¶ added in v1.5.3
func (h HarborProjectSpec) ToJSON() ([]byte, error)
ToJSON converts project spec to json payload.
type HarborProjectStatus ¶ added in v1.5.3
type HarborProjectStatus struct {
// Status represents harbor project status.
// +kubebuilder:validation:Optional
Status HarborProjectStatusType `json:"status,omitempty"`
// ProjectID represents ID of the managed project.
// +kubebuilder:validation:Optional
ProjectID int32 `json:"projectID,omitempty"`
// QuotaID is the ID of the project's quota. Used to be able to update it.
// +kubebuilder:validation:Optional
QuotaID int64 `json:"quotaID,omitempty"`
// MembershipHash provides a way to quickly notice changes in project membership.
// +kubebuilder:validation:Optional
MembershipHash string `json:"membershipHash,omitempty"`
// Reason represents status reason.
// +kubebuilder:validation:Optional
Reason string `json:"reason,omitempty"`
// Message provides human-readable message.
// +kubebuilder:validation:Optional
Message string `json:"message,omitempty"`
// LastApplyTime represents the last apply configuration time.
// +kubebuilder:validation:Optional
LastApplyTime *metav1.Time `json:"lastApplyTime,omitempty"`
}
HarborProjectStatus defines the status of HarborProject.
func (*HarborProjectStatus) DeepCopy ¶ added in v1.5.3
func (in *HarborProjectStatus) DeepCopy() *HarborProjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborProjectStatus.
func (*HarborProjectStatus) DeepCopyInto ¶ added in v1.5.3
func (in *HarborProjectStatus) DeepCopyInto(out *HarborProjectStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborProjectStatusType ¶ added in v1.5.3
type HarborProjectStatusType string
HarborProjectStatusType defines the status type of project.
const ( // HarborProjectPhaseReady represents ready status. HarborProjectStatusReady HarborProjectStatusType = "Success" // HarborProjectPhaseFail represents fail status. HarborProjectStatusFail HarborProjectStatusType = "Fail" // HarborProjectPhaseError represents unknown status. HarborProjectStatusUnknown HarborProjectStatusType = "Unknown" )
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 HarborServerConfiguration ¶
type HarborServerConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HarborServerConfigurationSpec `json:"spec,omitempty"`
Status HarborServerConfigurationStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:storageversion +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:categories="goharbor",shortName="hsc",scope="Cluster" +kubebuilder:printcolumn:name="Harbor Server",type=string,JSONPath=`.spec.serverURL`,description="The public URL to the Harbor server",priority=0 +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status`,description="The status of the Harbor server",priority=0 +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version`,description="The version of the Harbor server",priority=5 HarborServerConfiguration is the Schema for the harborserverconfigurations API.
func (*HarborServerConfiguration) DeepCopy ¶
func (in *HarborServerConfiguration) DeepCopy() *HarborServerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborServerConfiguration.
func (*HarborServerConfiguration) DeepCopyInto ¶
func (in *HarborServerConfiguration) DeepCopyInto(out *HarborServerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborServerConfiguration) DeepCopyObject ¶
func (in *HarborServerConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HarborServerConfigurationList ¶
type HarborServerConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HarborServerConfiguration `json:"items"`
}
HarborServerConfigurationList contains a list of HarborServerConfiguration.
func (*HarborServerConfigurationList) DeepCopy ¶
func (in *HarborServerConfigurationList) DeepCopy() *HarborServerConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborServerConfigurationList.
func (*HarborServerConfigurationList) DeepCopyInto ¶
func (in *HarborServerConfigurationList) DeepCopyInto(out *HarborServerConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborServerConfigurationList) DeepCopyObject ¶
func (in *HarborServerConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HarborServerConfigurationSpec ¶
type HarborServerConfigurationSpec struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern="(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^https?://(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)+([A-Za-z]|[A-Za-z][A-Za-z0-9\\-]*[A-Za-z0-9])"
ServerURL string `json:"serverURL"`
// Indicate if the Harbor server is an insecure registry
// +kubebuilder:validation:Optional
Insecure bool `json:"insecure,omitempty"`
// Default indicates the harbor configuration manages namespaces.
// Value in goharbor.io/harbor annotation will be considered with high priority.
// At most, one HarborServerConfiguration can be the default, multiple defaults will be rejected.
// +kubebuilder:validation:Required
Default bool `json:"default,omitempty"`
// +kubebuilder:validation:Required
AccessCredential *AccessCredential `json:"accessCredential"`
// The version of the Harbor server
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern="(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?"
Version string `json:"version"`
// Rules configures the container image rewrite rules for transparent proxy caching with Harbor.
// +kubebuilder:validation:Optional
Rules []string `json:"rules,omitempty"`
// NamespaceSelector decides whether to apply the HSC on a namespace based
// on whether the namespace matches the selector.
// See
// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
// for more examples of label selectors.
//
// Default to the empty LabelSelector, which matches everything.
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}
HarborServerConfigurationSpec defines the desired state of HarborServerConfiguration.
func (*HarborServerConfigurationSpec) DeepCopy ¶
func (in *HarborServerConfigurationSpec) DeepCopy() *HarborServerConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborServerConfigurationSpec.
func (*HarborServerConfigurationSpec) DeepCopyInto ¶
func (in *HarborServerConfigurationSpec) DeepCopyInto(out *HarborServerConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborServerConfigurationStatus ¶
type HarborServerConfigurationStatus struct {
// Status represents harbor configuration status.
// +kubebuilder:validation:Optional
Status HarborServerConfigurationStatusType `json:"status,omitempty"`
// Reason represents status reason.
// +kubebuilder:validation:Optional
Reason string `json:"reason,omitempty"`
// Message provides human-readable message.
// +kubebuilder:validation:Optional
Message string `json:"message,omitempty"`
}
HarborConfigurationStatus defines the status of HarborServerConfiguration.
func (*HarborServerConfigurationStatus) DeepCopy ¶
func (in *HarborServerConfigurationStatus) DeepCopy() *HarborServerConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborServerConfigurationStatus.
func (*HarborServerConfigurationStatus) DeepCopyInto ¶
func (in *HarborServerConfigurationStatus) DeepCopyInto(out *HarborServerConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborServerConfigurationStatusType ¶
type HarborServerConfigurationStatusType string
HarborServerConfigurationStatusType defines the status type of configuration.
const ( // HarborServerConfigurationStatusReady represents ready status. HarborServerConfigurationStatusReady HarborServerConfigurationStatusType = "Success" // HarborServerConfigurationStatusFail represents fail status. HarborServerConfigurationStatusFail HarborServerConfigurationStatusType = "Fail" // HarborServerConfigurationStatusUnknown represents unknown status. HarborServerConfigurationStatusUnknown HarborServerConfigurationStatusType = "Unknown" )
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"`
// +kubebuilder:validation:Required
ImageChartStorage *HarborStorageImageChartStorageSpec `json:"imageChartStorage"`
// +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"`
// +kubebuilder:validation:Optional
// Network settings for the harbor
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
// Trace settings for the harbor
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`
}
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 HarborStorageImageChartStorageAzureSpec ¶
type HarborStorageImageChartStorageAzureSpec struct {
RegistryStorageDriverAzureSpec `json:",inline"`
}
func (*HarborStorageImageChartStorageAzureSpec) ChartMuseum ¶
func (r *HarborStorageImageChartStorageAzureSpec) ChartMuseum() *ChartMuseumChartStorageDriverAzureSpec
func (*HarborStorageImageChartStorageAzureSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageAzureSpec) DeepCopy() *HarborStorageImageChartStorageAzureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageAzureSpec.
func (*HarborStorageImageChartStorageAzureSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageAzureSpec) DeepCopyInto(out *HarborStorageImageChartStorageAzureSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborStorageImageChartStorageAzureSpec) Registry ¶
func (r *HarborStorageImageChartStorageAzureSpec) Registry() *RegistryStorageDriverAzureSpec
type HarborStorageImageChartStorageFileSystemSpec ¶
type HarborStorageImageChartStorageFileSystemSpec struct {
// +kubebuilder:validation:Optional
ChartPersistentVolume *HarborStoragePersistentVolumeSpec `json:"chartPersistentVolume,omitempty"`
// +kubebuilder:validation:Required
RegistryPersistentVolume HarborStorageRegistryPersistentVolumeSpec `json:"registryPersistentVolume"`
}
func (*HarborStorageImageChartStorageFileSystemSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageFileSystemSpec) DeepCopy() *HarborStorageImageChartStorageFileSystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageFileSystemSpec.
func (*HarborStorageImageChartStorageFileSystemSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageFileSystemSpec) DeepCopyInto(out *HarborStorageImageChartStorageFileSystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborStorageImageChartStorageGcsSpec ¶
type HarborStorageImageChartStorageGcsSpec struct {
RegistryStorageDriverGcsSpec `json:",inline"`
}
func (*HarborStorageImageChartStorageGcsSpec) ChartMuseum ¶
func (r *HarborStorageImageChartStorageGcsSpec) ChartMuseum() *ChartMuseumChartStorageDriverGcsSpec
func (*HarborStorageImageChartStorageGcsSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageGcsSpec) DeepCopy() *HarborStorageImageChartStorageGcsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageGcsSpec.
func (*HarborStorageImageChartStorageGcsSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageGcsSpec) DeepCopyInto(out *HarborStorageImageChartStorageGcsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborStorageImageChartStorageGcsSpec) Registry ¶
func (r *HarborStorageImageChartStorageGcsSpec) Registry() *RegistryStorageDriverGcsSpec
type HarborStorageImageChartStorageOssSpec ¶
type HarborStorageImageChartStorageOssSpec struct {
RegistryStorageDriverOssSpec `json:",inline"`
}
func (*HarborStorageImageChartStorageOssSpec) ChartMuseum ¶
func (r *HarborStorageImageChartStorageOssSpec) ChartMuseum() *ChartMuseumChartStorageDriverOssSpec
func (*HarborStorageImageChartStorageOssSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageOssSpec) DeepCopy() *HarborStorageImageChartStorageOssSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageOssSpec.
func (*HarborStorageImageChartStorageOssSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageOssSpec) DeepCopyInto(out *HarborStorageImageChartStorageOssSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborStorageImageChartStorageOssSpec) Registry ¶
func (r *HarborStorageImageChartStorageOssSpec) Registry() *RegistryStorageDriverOssSpec
type HarborStorageImageChartStorageS3Spec ¶
type HarborStorageImageChartStorageS3Spec struct {
RegistryStorageDriverS3Spec `json:",inline"`
}
func (*HarborStorageImageChartStorageS3Spec) ChartMuseum ¶
func (r *HarborStorageImageChartStorageS3Spec) ChartMuseum() *ChartMuseumChartStorageDriverAmazonSpec
func (*HarborStorageImageChartStorageS3Spec) DeepCopy ¶
func (in *HarborStorageImageChartStorageS3Spec) DeepCopy() *HarborStorageImageChartStorageS3Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageS3Spec.
func (*HarborStorageImageChartStorageS3Spec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageS3Spec) DeepCopyInto(out *HarborStorageImageChartStorageS3Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborStorageImageChartStorageS3Spec) Registry ¶
func (r *HarborStorageImageChartStorageS3Spec) Registry() *RegistryStorageDriverS3Spec
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"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Microsoft Azure Blob Storage for object storage.
// See https://docs.docker.com/registry/storage-drivers/azure/
Azure *HarborStorageImageChartStorageAzureSpec `json:"azure,omitempty"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Google Cloud for object storage.
// See https://docs.docker.com/registry/storage-drivers/gcs/
Gcs *HarborStorageImageChartStorageGcsSpec `json:"gcs,omitempty"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Alibaba Cloud for object storage.
// See https://docs.docker.com/registry/storage-drivers/oss/
Oss *HarborStorageImageChartStorageOssSpec `json:"oss,omitempty"`
}
func (*HarborStorageImageChartStorageSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageSpec) DeepCopy() *HarborStorageImageChartStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageSpec.
func (*HarborStorageImageChartStorageSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageSpec) DeepCopyInto(out *HarborStorageImageChartStorageSpec)
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 ¶
func (r *HarborStorageImageChartStorageSpec) Validate() error
type HarborStorageImageChartStorageSwiftSpec ¶
type HarborStorageImageChartStorageSwiftSpec struct {
RegistryStorageDriverSwiftSpec `json:",inline"`
}
func (*HarborStorageImageChartStorageSwiftSpec) ChartMuseum ¶
func (r *HarborStorageImageChartStorageSwiftSpec) ChartMuseum() *ChartMuseumChartStorageDriverOpenStackSpec
func (*HarborStorageImageChartStorageSwiftSpec) DeepCopy ¶
func (in *HarborStorageImageChartStorageSwiftSpec) DeepCopy() *HarborStorageImageChartStorageSwiftSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageImageChartStorageSwiftSpec.
func (*HarborStorageImageChartStorageSwiftSpec) DeepCopyInto ¶
func (in *HarborStorageImageChartStorageSwiftSpec) DeepCopyInto(out *HarborStorageImageChartStorageSwiftSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HarborStorageImageChartStorageSwiftSpec) Registry ¶
func (r *HarborStorageImageChartStorageSwiftSpec) Registry() *RegistryStorageDriverSwiftSpec
type HarborStorageJobServiceStorageSpec ¶
type HarborStorageJobServiceStorageSpec struct {
// +kubebuilder:validation:Optional
// ScanDataExportsPersistentVolume specify the persistent volume used to store data exports.
// If empty, empty dir will be used.
ScanDataExportsPersistentVolume *HarborStoragePersistentVolumeSpec `json:"scanDataExportsPersistentVolume,omitempty"`
}
func (*HarborStorageJobServiceStorageSpec) DeepCopy ¶
func (in *HarborStorageJobServiceStorageSpec) DeepCopy() *HarborStorageJobServiceStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageJobServiceStorageSpec.
func (*HarborStorageJobServiceStorageSpec) DeepCopyInto ¶
func (in *HarborStorageJobServiceStorageSpec) DeepCopyInto(out *HarborStorageJobServiceStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HarborStoragePersistentVolumeSpec ¶
type HarborStoragePersistentVolumeSpec struct {
corev1.PersistentVolumeClaimVolumeSource `json:",inline"`
// +kubebuilder:validation:Optional
Prefix string `json:"prefix,omitempty"`
}
func (*HarborStoragePersistentVolumeSpec) DeepCopy ¶
func (in *HarborStoragePersistentVolumeSpec) DeepCopy() *HarborStoragePersistentVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStoragePersistentVolumeSpec.
func (*HarborStoragePersistentVolumeSpec) DeepCopyInto ¶
func (in *HarborStoragePersistentVolumeSpec) DeepCopyInto(out *HarborStoragePersistentVolumeSpec)
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 ¶
func (in *HarborStorageRegistryPersistentVolumeSpec) DeepCopy() *HarborStorageRegistryPersistentVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageRegistryPersistentVolumeSpec.
func (*HarborStorageRegistryPersistentVolumeSpec) DeepCopyInto ¶
func (in *HarborStorageRegistryPersistentVolumeSpec) DeepCopyInto(out *HarborStorageRegistryPersistentVolumeSpec)
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 ¶
func (in *HarborStorageTrivyStorageSpec) DeepCopy() *HarborStorageTrivyStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HarborStorageTrivyStorageSpec.
func (*HarborStorageTrivyStorageSpec) DeepCopyInto ¶
func (in *HarborStorageTrivyStorageSpec) DeepCopyInto(out *HarborStorageTrivyStorageSpec)
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 +kubebuilder:storageversion +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) 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.
func (*JobService) Hub ¶
func (*JobService) Hub()
func (*JobService) SetupWebhookWithManager ¶
func (*JobService) Validate ¶
func (jobservice *JobService) Validate() error
func (*JobService) ValidateCreate ¶
func (jobservice *JobService) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*JobService) ValidateDelete ¶
func (jobservice *JobService) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*JobService) ValidateUpdate ¶
func (jobservice *JobService) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
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"`
// +kubebuilder:validation:Optional
Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
// +kubebuilder:validation:Optional
Storage *HarborStorageJobServiceStorageSpec `json:"storage,omitempty"`
}
func (*JobServiceComponentSpec) DeepCopy ¶
func (in *JobServiceComponentSpec) DeepCopy() *JobServiceComponentSpec
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 ¶
func (in *JobServiceLoggerConfigDatabaseSpec) DeepCopy() *JobServiceLoggerConfigDatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceLoggerConfigDatabaseSpec.
func (*JobServiceLoggerConfigDatabaseSpec) DeepCopyInto ¶
func (in *JobServiceLoggerConfigDatabaseSpec) DeepCopyInto(out *JobServiceLoggerConfigDatabaseSpec)
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 ¶
func (in *JobServiceLoggerConfigFileSpec) DeepCopy() *JobServiceLoggerConfigFileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceLoggerConfigFileSpec.
func (*JobServiceLoggerConfigFileSpec) DeepCopyInto ¶
func (in *JobServiceLoggerConfigFileSpec) DeepCopyInto(out *JobServiceLoggerConfigFileSpec)
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 ¶
func (in *JobServiceLoggerConfigSTDOUTSpec) DeepCopy() *JobServiceLoggerConfigSTDOUTSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceLoggerConfigSTDOUTSpec.
func (*JobServiceLoggerConfigSTDOUTSpec) DeepCopyInto ¶
func (in *JobServiceLoggerConfigSTDOUTSpec) DeepCopyInto(out *JobServiceLoggerConfigSTDOUTSpec)
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 ¶
func (in *JobServiceLoggerConfigSpec) DeepCopy() *JobServiceLoggerConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceLoggerConfigSpec.
func (*JobServiceLoggerConfigSpec) DeepCopyInto ¶
func (in *JobServiceLoggerConfigSpec) DeepCopyInto(out *JobServiceLoggerConfigSpec)
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 ¶
func (in *JobServiceLoggerConfigSweeperSpec) DeepCopy() *JobServiceLoggerConfigSweeperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceLoggerConfigSweeperSpec.
func (*JobServiceLoggerConfigSweeperSpec) DeepCopyInto ¶
func (in *JobServiceLoggerConfigSweeperSpec) DeepCopyInto(out *JobServiceLoggerConfigSweeperSpec)
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 ¶
func (in *JobServicePoolRedisSpec) DeepCopy() *JobServicePoolRedisSpec
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"`
// +kubebuilder:validation:Optional
Metrics *harbormetav1.MetricsSpec `json:"metrics,omitempty"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`
// +kubebuilder:validation:Optional
Storage *JobServiceStorageSpec `json:"storage,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default="RollingUpdate"
UpdateStrategyType appsv1.DeploymentStrategyType `json:"updateStrategyType,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 JobServiceStorageSpec ¶
type JobServiceStorageSpec struct {
// +kubebuilder:validation:Required
ScanDataExports JobServiceStorageVolumeSpec `json:"scanDataExports"`
}
func (*JobServiceStorageSpec) DeepCopy ¶
func (in *JobServiceStorageSpec) DeepCopy() *JobServiceStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceStorageSpec.
func (*JobServiceStorageSpec) DeepCopyInto ¶
func (in *JobServiceStorageSpec) DeepCopyInto(out *JobServiceStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JobServiceStorageVolumeSpec ¶
type JobServiceStorageVolumeSpec struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default={"emptyDir":{"sizeLimit":"1Gi"}}
VolumeSource corev1.VolumeSource `json:"volumeSource,omitempty"`
// +kubebuilder:validation:Optional
Prefix string `json:"prefix,omitempty"`
}
func (*JobServiceStorageVolumeSpec) DeepCopy ¶
func (in *JobServiceStorageVolumeSpec) DeepCopy() *JobServiceStorageVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobServiceStorageVolumeSpec.
func (*JobServiceStorageVolumeSpec) DeepCopyInto ¶
func (in *JobServiceStorageVolumeSpec) DeepCopyInto(out *JobServiceStorageVolumeSpec)
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"`
// the version of minIO operator
// +kubebuilder:default:="4.0.6"
OperatorVersion string `json:"operatorVersion"`
// deprecated Determine if the redirection of minio storage is disabled.
// +kubebuilder:validation:Optional
Redirect *StorageRedirectSpec `json:"redirect,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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MinIOSpec.
func (*MinIOSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MinIOSpec) GetMinIOClientImage ¶
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 +kubebuilder:storageversion +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) 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.
func (*NotaryServer) Hub ¶
func (*NotaryServer) Hub()
func (*NotaryServer) SetupWebhookWithManager ¶
type NotaryServerAuthSpec ¶
type NotaryServerAuthSpec struct {
// +kubebuilder:validation:Required
Token NotaryServerAuthTokenSpec `json:"token"`
}
func (*NotaryServerAuthSpec) DeepCopy ¶
func (in *NotaryServerAuthSpec) DeepCopy() *NotaryServerAuthSpec
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 ¶
func (in *NotaryServerAuthTokenSpec) DeepCopy() *NotaryServerAuthTokenSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotaryServerAuthTokenSpec.
func (*NotaryServerAuthTokenSpec) DeepCopyInto ¶
func (in *NotaryServerAuthTokenSpec) DeepCopyInto(out *NotaryServerAuthTokenSpec)
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,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 ¶
func (in *NotaryServerTrustServiceRemoteSpec) DeepCopy() *NotaryServerTrustServiceRemoteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotaryServerTrustServiceRemoteSpec.
func (*NotaryServerTrustServiceRemoteSpec) DeepCopyInto ¶
func (in *NotaryServerTrustServiceRemoteSpec) DeepCopyInto(out *NotaryServerTrustServiceRemoteSpec)
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 ¶
func (in *NotaryServerTrustServiceSpec) DeepCopy() *NotaryServerTrustServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotaryServerTrustServiceSpec.
func (*NotaryServerTrustServiceSpec) DeepCopyInto ¶
func (in *NotaryServerTrustServiceSpec) DeepCopyInto(out *NotaryServerTrustServiceSpec)
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 +kubebuilder:storageversion +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) 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.
func (*NotarySigner) Hub ¶
func (*NotarySigner) Hub()
func (*NotarySigner) SetupWebhookWithManager ¶
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 ¶
func (in *NotarySignerAuthenticationSpec) DeepCopy() *NotarySignerAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotarySignerAuthenticationSpec.
func (*NotarySignerAuthenticationSpec) DeepCopyInto ¶
func (in *NotarySignerAuthenticationSpec) DeepCopyInto(out *NotarySignerAuthenticationSpec)
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,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 ¶
func (in *NotarySignerStorageSpec) DeepCopy() *NotarySignerStorageSpec
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 OssSpec ¶
type OssSpec struct {
HarborStorageImageChartStorageOssSpec `json:",inline"`
}
func (*OssSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OssSpec.
func (*OssSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 +kubebuilder:storageversion +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Portal.
func (*Portal) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Portal) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PortalComponentSpec ¶
type PortalComponentSpec struct {
harbormetav1.ComponentSpec `json:",inline"`
}
func (*PortalComponentSpec) DeepCopy ¶
func (in *PortalComponentSpec) DeepCopy() *PortalComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortalComponentSpec.
func (*PortalComponentSpec) DeepCopyInto ¶
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"`
// +kubebuilder:validation:Optional
// Network settings for the portal
Network *harbormetav1.Network `json:"network,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 PostgreSQLSpec ¶
type PostgreSQLSpec struct {
HarborDatabaseSpec `json:",inline"`
}
func (*PostgreSQLSpec) DeepCopy ¶
func (in *PostgreSQLSpec) DeepCopy() *PostgreSQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLSpec.
func (*PostgreSQLSpec) DeepCopyInto ¶
func (in *PostgreSQLSpec) DeepCopyInto(out *PostgreSQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullSecretBinding ¶
type PullSecretBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PullSecretBindingSpec `json:"spec,omitempty"`
Status PullSecretBindingStatus `json:"status,omitempty"`
}
PullSecretBinding is the Schema for the pullsecretbindings API.
func (*PullSecretBinding) DeepCopy ¶
func (in *PullSecretBinding) DeepCopy() *PullSecretBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSecretBinding.
func (*PullSecretBinding) DeepCopyInto ¶
func (in *PullSecretBinding) DeepCopyInto(out *PullSecretBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PullSecretBinding) DeepCopyObject ¶
func (in *PullSecretBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PullSecretBindingList ¶
type PullSecretBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PullSecretBinding `json:"items"`
}
PullSecretBindingList contains a list of PullSecretBinding.
func (*PullSecretBindingList) DeepCopy ¶
func (in *PullSecretBindingList) DeepCopy() *PullSecretBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSecretBindingList.
func (*PullSecretBindingList) DeepCopyInto ¶
func (in *PullSecretBindingList) DeepCopyInto(out *PullSecretBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PullSecretBindingList) DeepCopyObject ¶
func (in *PullSecretBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PullSecretBindingSpec ¶
type PullSecretBindingSpec struct {
// RobotID points to the robot account id used for secret binding
// +kubebuilder:validation:Required
RobotID string `json:"robotId"`
// ProjectID points to the project associated with the secret binding
// +kubebuilder:validation:Required
ProjectID string `json:"projectId"`
// Indicate which harbor server configuration is referred
HarborServerConfig string `json:"harborServerConfig"`
// Indicate which service account binds the pull secret
ServiceAccount string `json:"serviceAccount"`
}
PullSecretBindingSpec defines the desired state of PullSecretBinding.
func (*PullSecretBindingSpec) DeepCopy ¶
func (in *PullSecretBindingSpec) DeepCopy() *PullSecretBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSecretBindingSpec.
func (*PullSecretBindingSpec) DeepCopyInto ¶
func (in *PullSecretBindingSpec) DeepCopyInto(out *PullSecretBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullSecretBindingStatus ¶
type PullSecretBindingStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
// Indicate the status of binding: `binding`, `bound` and `unknown`
Status PullSecretBindingStatusType `json:"status"`
// Reason represents status reason.
// +kubebuilder:validation:Optional
Reason string `json:"reason,omitempty"`
// Message provides human-readable message.
// +kubebuilder:validation:Optional
Message string `json:"message,omitempty"`
}
PullSecretBindingStatus defines the observed state of PullSecretBinding.
func (*PullSecretBindingStatus) DeepCopy ¶
func (in *PullSecretBindingStatus) DeepCopy() *PullSecretBindingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSecretBindingStatus.
func (*PullSecretBindingStatus) DeepCopyInto ¶
func (in *PullSecretBindingStatus) DeepCopyInto(out *PullSecretBindingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullSecretBindingStatusType ¶
type PullSecretBindingStatusType string
PullSecretBindingStatusType defines the status type of configuration.
const ( // PullSecretBindingStatusBinding represents ready status. PullSecretBindingStatusBinding PullSecretBindingStatusType = "Binding" // PullSecretBindingStatusBound represents fail status. PullSecretBindingStatusBound PullSecretBindingStatusType = "Bound" // PullSecretBindingStatusUnknown represents unknown status. PullSecretBindingStatusUnknown PullSecretBindingStatusType = "Unknown" )
type RedisFailoverSpec ¶
type RedisFailoverSpec struct {
harbormetav1.ImageSpec `json:",inline"`
OperatorVersion string `json:"operatorVersion"`
// +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 (*RedisFailoverSpec) DeepCopy ¶
func (in *RedisFailoverSpec) DeepCopy() *RedisFailoverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisFailoverSpec.
func (*RedisFailoverSpec) DeepCopyInto ¶
func (in *RedisFailoverSpec) DeepCopyInto(out *RedisFailoverSpec)
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"`
// +kubebuilder:validation:Optional
// ServiceAccountName is the service account name of the redis server.
ServiceAccountName string `json:"serviceAccountName,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 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 +kubebuilder:storageversion +k8s:openapi-gen=true +resource:path=registry +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registry.
func (*Registry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Registry) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Registry) SetupWebhookWithManager ¶
func (*Registry) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*Registry) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
type RegistryAccessLogSpec ¶
type RegistryAccessLogSpec struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
Disabled bool `json:"disabled"`
}
func (*RegistryAccessLogSpec) DeepCopy ¶
func (in *RegistryAccessLogSpec) DeepCopy() *RegistryAccessLogSpec
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 ¶
func (in *RegistryAuthenticationHTPasswdSpec) DeepCopy() *RegistryAuthenticationHTPasswdSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthenticationHTPasswdSpec.
func (*RegistryAuthenticationHTPasswdSpec) DeepCopyInto ¶
func (in *RegistryAuthenticationHTPasswdSpec) DeepCopyInto(out *RegistryAuthenticationHTPasswdSpec)
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 ¶
func (in *RegistryAuthenticationSillySpec) DeepCopy() *RegistryAuthenticationSillySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthenticationSillySpec.
func (*RegistryAuthenticationSillySpec) DeepCopyInto ¶
func (in *RegistryAuthenticationSillySpec) DeepCopyInto(out *RegistryAuthenticationSillySpec)
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 ¶
func (in *RegistryAuthenticationSpec) DeepCopy() *RegistryAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthenticationSpec.
func (*RegistryAuthenticationSpec) DeepCopyInto ¶
func (in *RegistryAuthenticationSpec) DeepCopyInto(out *RegistryAuthenticationSpec)
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 ¶
func (in *RegistryAuthenticationTokenSpec) DeepCopy() *RegistryAuthenticationTokenSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAuthenticationTokenSpec.
func (*RegistryAuthenticationTokenSpec) DeepCopyInto ¶
func (in *RegistryAuthenticationTokenSpec) DeepCopyInto(out *RegistryAuthenticationTokenSpec)
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 ¶
func (in *RegistryCompatibilitySchemaSpec) DeepCopy() *RegistryCompatibilitySchemaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCompatibilitySchemaSpec.
func (*RegistryCompatibilitySchemaSpec) DeepCopyInto ¶
func (in *RegistryCompatibilitySchemaSpec) DeepCopyInto(out *RegistryCompatibilitySchemaSpec)
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 ¶
func (in *RegistryCompatibilitySpec) DeepCopy() *RegistryCompatibilitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCompatibilitySpec.
func (*RegistryCompatibilitySpec) DeepCopyInto ¶
func (in *RegistryCompatibilitySpec) DeepCopyInto(out *RegistryCompatibilitySpec)
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 ¶
func (in *RegistryComponentSpec) DeepCopy() *RegistryComponentSpec
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 +kubebuilder:storageversion +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) 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.
func (*RegistryController) Hub ¶
func (*RegistryController) Hub()
func (*RegistryController) SetupWebhookWithManager ¶
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 ¶
func (in *RegistryControllerAuthenticationSpec) DeepCopy() *RegistryControllerAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryControllerAuthenticationSpec.
func (*RegistryControllerAuthenticationSpec) DeepCopyInto ¶
func (in *RegistryControllerAuthenticationSpec) DeepCopyInto(out *RegistryControllerAuthenticationSpec)
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 ¶
func (in *RegistryControllerConnectionSpec) DeepCopy() *RegistryControllerConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryControllerConnectionSpec.
func (*RegistryControllerConnectionSpec) DeepCopyInto ¶
func (in *RegistryControllerConnectionSpec) DeepCopyInto(out *RegistryControllerConnectionSpec)
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 ¶
func (in *RegistryControllerHTTPSSpec) DeepCopy() *RegistryControllerHTTPSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryControllerHTTPSSpec.
func (*RegistryControllerHTTPSSpec) DeepCopyInto ¶
func (in *RegistryControllerHTTPSSpec) DeepCopyInto(out *RegistryControllerHTTPSSpec)
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 ¶
func (in *RegistryControllerList) DeepCopy() *RegistryControllerList
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 ¶
func (in *RegistryControllerLogSpec) DeepCopy() *RegistryControllerLogSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryControllerLogSpec.
func (*RegistryControllerLogSpec) DeepCopyInto ¶
func (in *RegistryControllerLogSpec) DeepCopyInto(out *RegistryControllerLogSpec)
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
}
RegistryControllerSpec defines the desired state of RegistryController.
func (*RegistryControllerSpec) DeepCopy ¶
func (in *RegistryControllerSpec) DeepCopy() *RegistryControllerSpec
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 ¶
func (in *RegistryHTTPDebugPrometheusSpec) DeepCopy() *RegistryHTTPDebugPrometheusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryHTTPDebugPrometheusSpec.
func (*RegistryHTTPDebugPrometheusSpec) DeepCopyInto ¶
func (in *RegistryHTTPDebugPrometheusSpec) DeepCopyInto(out *RegistryHTTPDebugPrometheusSpec)
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 ¶
func (in *RegistryHTTPDebugSpec) DeepCopy() *RegistryHTTPDebugSpec
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 ¶
func (in *RegistryHTTPHTTP2Spec) DeepCopy() *RegistryHTTPHTTP2Spec
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 ¶
func (in *RegistryHealthFileSpec) DeepCopy() *RegistryHealthFileSpec
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 ¶
func (in *RegistryHealthHTTPSpec) DeepCopy() *RegistryHealthHTTPSpec
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 ¶
func (in *RegistryHealthStorageDriverSpec) DeepCopy() *RegistryHealthStorageDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryHealthStorageDriverSpec.
func (*RegistryHealthStorageDriverSpec) DeepCopyInto ¶
func (in *RegistryHealthStorageDriverSpec) DeepCopyInto(out *RegistryHealthStorageDriverSpec)
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 ¶
func (in *RegistryHealthTCPSpec) DeepCopy() *RegistryHealthTCPSpec
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 ¶
func (in *RegistryMiddlewareSpec) DeepCopy() *RegistryMiddlewareSpec
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 ¶
func (in *RegistryMiddlewaresSpec) DeepCopy() *RegistryMiddlewaresSpec
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 ¶
func (in *RegistryNotificationEndpointIgnoreSpec) DeepCopy() *RegistryNotificationEndpointIgnoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryNotificationEndpointIgnoreSpec.
func (*RegistryNotificationEndpointIgnoreSpec) DeepCopyInto ¶
func (in *RegistryNotificationEndpointIgnoreSpec) DeepCopyInto(out *RegistryNotificationEndpointIgnoreSpec)
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 ¶
func (in *RegistryNotificationEndpointSpec) DeepCopy() *RegistryNotificationEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryNotificationEndpointSpec.
func (*RegistryNotificationEndpointSpec) DeepCopyInto ¶
func (in *RegistryNotificationEndpointSpec) DeepCopyInto(out *RegistryNotificationEndpointSpec)
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 ¶
func (in *RegistryNotificationEventsSpec) DeepCopy() *RegistryNotificationEventsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryNotificationEventsSpec.
func (*RegistryNotificationEventsSpec) DeepCopyInto ¶
func (in *RegistryNotificationEventsSpec) DeepCopyInto(out *RegistryNotificationEventsSpec)
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 ¶
func (in *RegistryNotificationsSpec) DeepCopy() *RegistryNotificationsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryNotificationsSpec.
func (*RegistryNotificationsSpec) DeepCopyInto ¶
func (in *RegistryNotificationsSpec) DeepCopyInto(out *RegistryNotificationsSpec)
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 ¶
func (in *RegistryRedisPoolSpec) DeepCopy() *RegistryRedisPoolSpec
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
Trace *harbormetav1.TraceSpec `json:"trace,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default="RollingUpdate"
UpdateStrategyType appsv1.DeploymentStrategyType `json:"updateStrategyType,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 ¶
func (in *RegistryStorageCacheSpec) DeepCopy() *RegistryStorageCacheSpec
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 ¶
func (in *RegistryStorageDeleteSpec) DeepCopy() *RegistryStorageDeleteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDeleteSpec.
func (*RegistryStorageDeleteSpec) DeepCopyInto ¶
func (in *RegistryStorageDeleteSpec) DeepCopyInto(out *RegistryStorageDeleteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryStorageDriverAzureSpec ¶
type RegistryStorageDriverAzureSpec struct {
// +kubebuilder:validation:Optional
AccountName string `json:"accountname,omitempty"`
// +kubebuilder:validation:Optional
AccountKeyRef string `json:"accountkeyRef,omitempty"`
// +kubebuilder:validation:Optional
Container string `json:"container,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=core.windows.net
BaseURL string `json:"baseURL,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=/azure/harbor/charts
PathPrefix string `json:"pathPrefix,omitempty"`
}
func (*RegistryStorageDriverAzureSpec) DeepCopy ¶
func (in *RegistryStorageDriverAzureSpec) DeepCopy() *RegistryStorageDriverAzureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverAzureSpec.
func (*RegistryStorageDriverAzureSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverAzureSpec) DeepCopyInto(out *RegistryStorageDriverAzureSpec)
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 ¶
func (in *RegistryStorageDriverFilesystemSpec) DeepCopy() *RegistryStorageDriverFilesystemSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverFilesystemSpec.
func (*RegistryStorageDriverFilesystemSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverFilesystemSpec) DeepCopyInto(out *RegistryStorageDriverFilesystemSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryStorageDriverGcsSpec ¶
type RegistryStorageDriverGcsSpec struct {
// +kubebuilder:validation:Required
// The base64 encoded json file which contains the key
KeyDataRef string `json:"keyDataRef,omitempty"`
// +kubebuilder:validation:Required
// bucket to store charts for Gcs storage
Bucket string `json:"bucket,omitempty"`
// +kubebuilder:validation:Optional
PathPrefix string `json:"pathPrefix,omitempty"`
// +kubebuilder:validation:Optional
ChunkSize string `json:"chunkSize,omitempty"`
}
func (*RegistryStorageDriverGcsSpec) DeepCopy ¶
func (in *RegistryStorageDriverGcsSpec) DeepCopy() *RegistryStorageDriverGcsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverGcsSpec.
func (*RegistryStorageDriverGcsSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverGcsSpec) DeepCopyInto(out *RegistryStorageDriverGcsSpec)
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 ¶
func (in *RegistryStorageDriverInmemorySpec) DeepCopy() *RegistryStorageDriverInmemorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverInmemorySpec.
func (*RegistryStorageDriverInmemorySpec) DeepCopyInto ¶
func (in *RegistryStorageDriverInmemorySpec) DeepCopyInto(out *RegistryStorageDriverInmemorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryStorageDriverOssSpec ¶
type RegistryStorageDriverOssSpec struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern="oss-.*"
Region string `json:"region"`
// +kubebuilder:validation:Required
AccessKeyID string `json:"accessKeyID"`
// +kubebuilder:validation:Required
AccessSecretRef string `json:"accessSecretRef"`
// +kubebuilder:validation:Required
Bucket string `json:"bucket"`
// +kubebuilder:validation:Optional
PathPrefix string `json:"pathPrefix,omitempty"`
// +kubebuilder:validation:Optional
Endpoint string `json:"endpoint,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
Internal bool `json:"internal,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,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=true
Secure *bool `json:"secure,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Minimum=5242880
// The Oss API requires multipart upload chunks to be at least 5MB.
ChunkSize int64 `json:"chunksize,omitempty"`
}
func (*RegistryStorageDriverOssSpec) DeepCopy ¶
func (in *RegistryStorageDriverOssSpec) DeepCopy() *RegistryStorageDriverOssSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverOssSpec.
func (*RegistryStorageDriverOssSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverOssSpec) DeepCopyInto(out *RegistryStorageDriverOssSpec)
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"`
// +kubebuilder:validation:Optional
MultipartCopyChunkSize int64 `json:"multipartcopychunksize,omitempty"`
// +kubebuilder:validation:Optional
MultipartCopyMaxConcurrency int64 `json:"multipartcopymaxconcurrency,omitempty"`
// +kubebuilder:validation:Optional
MultipartCopyThresholdSize int64 `json:"multipartcopythresholdsize,omitempty"`
}
func (*RegistryStorageDriverS3Spec) DeepCopy ¶
func (in *RegistryStorageDriverS3Spec) DeepCopy() *RegistryStorageDriverS3Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverS3Spec.
func (*RegistryStorageDriverS3Spec) DeepCopyInto ¶
func (in *RegistryStorageDriverS3Spec) DeepCopyInto(out *RegistryStorageDriverS3Spec)
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"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Microsoft Azure Blob Storage for object storage.
// See: https://docs.docker.com/registry/storage-drivers/azure/
Azure *RegistryStorageDriverAzureSpec `json:"azure,omitempty"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Google Cloud for object storage.
// https://docs.docker.com/registry/storage-drivers/gcs/
Gcs *RegistryStorageDriverGcsSpec `json:"gcs,omitempty"`
// +kubebuilder:validation:Optional
// An implementation of the storagedriver.StorageDriver interface which uses Alibaba Cloud for object storage.
// https://docs.docker.com/registry/storage-drivers/oss/
Oss *RegistryStorageDriverOssSpec `json:"oss,omitempty"`
}
func (*RegistryStorageDriverSpec) DeepCopy ¶
func (in *RegistryStorageDriverSpec) DeepCopy() *RegistryStorageDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverSpec.
func (*RegistryStorageDriverSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverSpec) DeepCopyInto(out *RegistryStorageDriverSpec)
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 ¶
func (in *RegistryStorageDriverSwiftSpec) DeepCopy() *RegistryStorageDriverSwiftSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageDriverSwiftSpec.
func (*RegistryStorageDriverSwiftSpec) DeepCopyInto ¶
func (in *RegistryStorageDriverSwiftSpec) DeepCopyInto(out *RegistryStorageDriverSwiftSpec)
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 ¶
func (in *RegistryStorageMaintenanceReadOnlySpec) DeepCopy() *RegistryStorageMaintenanceReadOnlySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageMaintenanceReadOnlySpec.
func (*RegistryStorageMaintenanceReadOnlySpec) DeepCopyInto ¶
func (in *RegistryStorageMaintenanceReadOnlySpec) DeepCopyInto(out *RegistryStorageMaintenanceReadOnlySpec)
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 ¶
func (in *RegistryStorageMaintenanceSpec) DeepCopy() *RegistryStorageMaintenanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageMaintenanceSpec.
func (*RegistryStorageMaintenanceSpec) DeepCopyInto ¶
func (in *RegistryStorageMaintenanceSpec) DeepCopyInto(out *RegistryStorageMaintenanceSpec)
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 ¶
func (in *RegistryStorageMaintenanceUploadPurgingSpec) DeepCopy() *RegistryStorageMaintenanceUploadPurgingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageMaintenanceUploadPurgingSpec.
func (*RegistryStorageMaintenanceUploadPurgingSpec) DeepCopyInto ¶
func (in *RegistryStorageMaintenanceUploadPurgingSpec) DeepCopyInto(out *RegistryStorageMaintenanceUploadPurgingSpec)
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 ¶
func (in *RegistryStorageRedirectSpec) DeepCopy() *RegistryStorageRedirectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStorageRedirectSpec.
func (*RegistryStorageRedirectSpec) DeepCopyInto ¶
func (in *RegistryStorageRedirectSpec) DeepCopyInto(out *RegistryStorageRedirectSpec)
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 ¶
func (in *RegistryValidationManifestSpec) DeepCopy() *RegistryValidationManifestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryValidationManifestSpec.
func (*RegistryValidationManifestSpec) DeepCopyInto ¶
func (in *RegistryValidationManifestSpec) DeepCopyInto(out *RegistryValidationManifestSpec)
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 ¶
func (in *RegistryValidationManifestURLsSpec) DeepCopy() *RegistryValidationManifestURLsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryValidationManifestURLsSpec.
func (*RegistryValidationManifestURLsSpec) DeepCopyInto ¶
func (in *RegistryValidationManifestURLsSpec) DeepCopyInto(out *RegistryValidationManifestURLsSpec)
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 ¶
func (in *RegistryValidationSpec) DeepCopy() *RegistryValidationSpec
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 S3Spec ¶
type S3Spec struct {
HarborStorageImageChartStorageS3Spec `json:",inline"`
}
func (*S3Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Spec.
func (*S3Spec) DeepCopyInto ¶
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,S3,Swift,FileSystem,Azure,Gcs,Oss}
Kind string `json:"kind"`
Spec StorageSpec `json:"spec"`
}
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
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 StorageSpec ¶
type StorageSpec struct {
// inCluster options.
// +kubebuilder:validation:Optional
MinIO *MinIOSpec `json:"minIO,omitempty"`
// +kubebuilder:validation:Optional
FileSystem *FileSystemSpec `json:"fileSystem,omitempty"`
// +kubebuilder:validation:Optional
S3 *S3Spec `json:"s3,omitempty"`
// +kubebuilder:validation:Optional
Swift *SwiftSpec `json:"swift,omitempty"`
// +kubebuilder:validation:Optional
Azure *AzureSpec `json:"azure,omitempty"`
// +kubebuilder:validation:Optional
Gcs *GcsSpec `json:"gcs,omitempty"`
// +kubebuilder:validation:Optional
Oss *OssSpec `json:"oss,omitempty"`
// Determine if the redirection of minio storage is disabled.
// +kubebuilder:validation:Optional
Redirect *StorageRedirectSpec `json:"redirect,omitempty"`
}
the spec of Storage.
func (*StorageSpec) DeepCopy ¶
func (in *StorageSpec) DeepCopy() *StorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.
func (*StorageSpec) DeepCopyInto ¶
func (in *StorageSpec) DeepCopyInto(out *StorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SwiftSpec ¶
type SwiftSpec struct {
HarborStorageImageChartStorageSwiftSpec `json:",inline"`
}
func (*SwiftSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwiftSpec.
func (*SwiftSpec) DeepCopyInto ¶
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 +kubebuilder:storageversion +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) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Trivy.
func (*Trivy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Trivy) DeepCopyObject ¶
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:Optional
// +kubebuilder:default=false
// Option prevents Trivy from sending API requests to identify dependencies.
// This option doesn’t affect DB download. You need to specify "skip-update" as well as "offline-scan" in an air-gapped environment.
OfflineScan bool `json:"offlineScan"`
// +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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrivyList.
func (*TrivyList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrivyList) DeepCopyObject ¶
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 ¶
func (in *TrivyServerProxySpec) DeepCopy() *TrivyServerProxySpec
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"`
// +kubebuilder:validation:Optional
Network *harbormetav1.Network `json:"network,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default="5m0s"
Timeout *metav1.Duration `json:"timeout,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=false
OfflineScan bool `json:"offlineScan"`
}
TrivySpec defines the desired state of Trivy.
func (*TrivySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrivySpec.
func (*TrivySpec) DeepCopyInto ¶
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 ¶
func (in *TrivyStorageVolumeSpec) DeepCopy() *TrivyStorageVolumeSpec
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.
type ZlandoPostgreSQLSpec ¶
type ZlandoPostgreSQLSpec struct {
harbormetav1.ImageSpec `json:",inline"`
OperatorVersion string `json:"operatorVersion"`
Storage string `json:"storage,omitempty"`
Replicas int `json:"replicas,omitempty"`
StorageClassName string `json:"storageClassName,omitempty"`
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
SslConfig string `json:"sslConfig,omitempty"`
ConnectTimeout int `json:"connectTimeout,omitempty"`
}
func (*ZlandoPostgreSQLSpec) DeepCopy ¶
func (in *ZlandoPostgreSQLSpec) DeepCopy() *ZlandoPostgreSQLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZlandoPostgreSQLSpec.
func (*ZlandoPostgreSQLSpec) DeepCopyInto ¶
func (in *ZlandoPostgreSQLSpec) DeepCopyInto(out *ZlandoPostgreSQLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- chartmuseum_conversion.go
- chartmuseum_types.go
- chartmuseum_webhook.go
- core_conversion.go
- core_types.go
- core_webhook.go
- errors.go
- exporter_conversion.go
- exporter_types.go
- exporter_webhook.go
- groupversion_info.go
- harbor_configuration.go
- harbor_conversion.go
- harbor_types.go
- harbor_webhook.go
- harborcluster_conversion.go
- harborcluster_types.go
- harborcluster_webhook.go
- harborproject_types.go
- harborproject_webhook.go
- harborserverconfiguration_types.go
- jobservice_conversion.go
- jobservice_types.go
- jobservice_webhook.go
- metadata.go
- notary_types.go
- notaryserver_conversion.go
- notaryserver_types.go
- notaryserver_webhook.go
- notarysigner_conversion.go
- notarysigner_types.go
- notarysigner_webhook.go
- portal_conversion.go
- portal_types.go
- portal_webhook.go
- pullsecretbinding_types.go
- registry_conversion.go
- registry_types.go
- registry_webhook.go
- registrycontroller_webhook.go
- registryctl_conversion.go
- registryctl_types.go
- trivy_conversion.go
- trivy_types.go
- trivy_webhook.go
- zz_generated.deepcopy.go