Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=imageregistry.operator.openshift.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AlibabaEncryptionMethod
- type Config
- type ConfigList
- type EncryptionAlibaba
- type EndpointAccessibility
- type ImagePruner
- type ImagePrunerList
- type ImagePrunerSpec
- type ImagePrunerStatus
- type ImageRegistryConfigProxy
- type ImageRegistryConfigRequests
- type ImageRegistryConfigRequestsLimits
- type ImageRegistryConfigRoute
- type ImageRegistryConfigStorage
- type ImageRegistryConfigStorageAlibabaOSS
- type ImageRegistryConfigStorageAzure
- type ImageRegistryConfigStorageEmptyDir
- type ImageRegistryConfigStorageGCS
- type ImageRegistryConfigStorageIBMCOS
- type ImageRegistryConfigStoragePVC
- type ImageRegistryConfigStorageS3
- type ImageRegistryConfigStorageS3CloudFront
- type ImageRegistryConfigStorageSwift
- type ImageRegistrySpec
- type ImageRegistryStatus
- type KMSEncryptionAlibaba
- type S3TrustedCASource
Constants ¶
const ( // StorageManagementStateManaged indicates the operator is managing the underlying storage. StorageManagementStateManaged = "Managed" // StorageManagementStateUnmanaged indicates the operator is not managing the underlying // storage. StorageManagementStateUnmanaged = "Unmanaged" )
const ( // InternalEndpoint sets the VPC endpoint to internal InternalEndpoint EndpointAccessibility = "Internal" // PublicEndpoint sets the VPC endpoint to public PublicEndpoint EndpointAccessibility = "Public" // AES256 is an AlibabaEncryptionMethod. This means AES256 encryption AES256 AlibabaEncryptionMethod = "AES256" // KMS is an AlibabaEncryptionMethod. This means KMS encryption KMS AlibabaEncryptionMethod = "KMS" )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) GroupVersion = schema.GroupVersion{Group: groupName, Version: version} // Install is a function which adds this version to a scheme Install = SchemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AlibabaEncryptionMethod ¶
type AlibabaEncryptionMethod string
AlibabaEncryptionMethod defines an enumerable type for the encryption mode
type Config ¶
type Config struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata"`
Spec ImageRegistrySpec `json:"spec"`
// +optional
Status ImageRegistryStatus `json:"status,omitempty"`
}
Config is the configuration object for a registry instance managed by the registry operator
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Config) SwaggerDoc ¶
type ConfigList ¶
type ConfigList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata"`
Items []Config `json:"items"`
}
ConfigList is a slice of Config objects.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ConfigList) DeepCopy ¶
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ConfigList) SwaggerDoc ¶
func (ConfigList) SwaggerDoc() map[string]string
type EncryptionAlibaba ¶
type EncryptionAlibaba struct {
// Method defines the different encrytion modes available
// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
// Currently the default is `AES256`.
// +kubebuilder:validation:Enum="KMS";"AES256"
// +kubebuilder:default="AES256"
// +optional
Method AlibabaEncryptionMethod `json:"method"`
// KMS (key management service) is an encryption type that holds the struct for KMS KeyID
// +optional
KMS *KMSEncryptionAlibaba `json:"kms,omitempty"`
}
EncryptionAlibaba this a union type in kube parlance. Depending on the value for the AlibabaEncryptionMethod, different pointers may be used
func (*EncryptionAlibaba) DeepCopy ¶
func (in *EncryptionAlibaba) DeepCopy() *EncryptionAlibaba
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionAlibaba.
func (*EncryptionAlibaba) DeepCopyInto ¶
func (in *EncryptionAlibaba) DeepCopyInto(out *EncryptionAlibaba)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EncryptionAlibaba) SwaggerDoc ¶
func (EncryptionAlibaba) SwaggerDoc() map[string]string
type EndpointAccessibility ¶
type EndpointAccessibility string
EndpointAccessibility defines the Alibaba VPC endpoint for storage
type ImagePruner ¶
type ImagePruner struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata"`
Spec ImagePrunerSpec `json:"spec"`
// +optional
Status ImagePrunerStatus `json:"status"`
}
ImagePruner is the configuration object for an image registry pruner managed by the registry operator.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ImagePruner) DeepCopy ¶
func (in *ImagePruner) DeepCopy() *ImagePruner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePruner.
func (*ImagePruner) DeepCopyInto ¶
func (in *ImagePruner) DeepCopyInto(out *ImagePruner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePruner) DeepCopyObject ¶
func (in *ImagePruner) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ImagePruner) SwaggerDoc ¶
func (ImagePruner) SwaggerDoc() map[string]string
type ImagePrunerList ¶
type ImagePrunerList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata"`
Items []ImagePruner `json:"items"`
}
ImagePrunerList is a slice of ImagePruner objects.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ImagePrunerList) DeepCopy ¶
func (in *ImagePrunerList) DeepCopy() *ImagePrunerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePrunerList.
func (*ImagePrunerList) DeepCopyInto ¶
func (in *ImagePrunerList) DeepCopyInto(out *ImagePrunerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePrunerList) DeepCopyObject ¶
func (in *ImagePrunerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ImagePrunerList) SwaggerDoc ¶
func (ImagePrunerList) SwaggerDoc() map[string]string
type ImagePrunerSpec ¶
type ImagePrunerSpec struct {
// schedule specifies when to execute the job using standard cronjob syntax: https://wikipedia.org/wiki/Cron.
// Defaults to `0 0 * * *`.
// +optional
Schedule string `json:"schedule"`
// suspend specifies whether or not to suspend subsequent executions of this cronjob.
// Defaults to false.
// +optional
Suspend *bool `json:"suspend,omitempty"`
// keepTagRevisions specifies the number of image revisions for a tag in an image stream that will be preserved.
// Defaults to 3.
// +optional
KeepTagRevisions *int `json:"keepTagRevisions,omitempty"`
// keepYoungerThan specifies the minimum age in nanoseconds of an image and its referrers for it to be considered a candidate for pruning.
// DEPRECATED: This field is deprecated in favor of keepYoungerThanDuration. If both are set, this field is ignored and keepYoungerThanDuration takes precedence.
// +optional
KeepYoungerThan *time.Duration `json:"keepYoungerThan,omitempty"`
// keepYoungerThanDuration specifies the minimum age of an image and its referrers for it to be considered a candidate for pruning.
// Defaults to 60m (60 minutes).
// +optional
// +kubebuilder:validation:Format=duration
KeepYoungerThanDuration *metav1.Duration `json:"keepYoungerThanDuration,omitempty"`
// resources defines the resource requests and limits for the image pruner pod.
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// affinity is a group of node affinity scheduling rules for the image pruner pod.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// nodeSelector defines the node selection constraints for the image pruner pod.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// tolerations defines the node tolerations for the image pruner pod.
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// successfulJobsHistoryLimit specifies how many successful image pruner jobs to retain.
// Defaults to 3 if not set.
// +optional
SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"`
// failedJobsHistoryLimit specifies how many failed image pruner jobs to retain.
// Defaults to 3 if not set.
// +optional
FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"`
// ignoreInvalidImageReferences indicates whether the pruner can ignore
// errors while parsing image references.
// +optional
IgnoreInvalidImageReferences bool `json:"ignoreInvalidImageReferences,omitempty"`
// logLevel sets the level of log output for the pruner job.
//
// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
// Defaults to "Normal".
// +optional
// +kubebuilder:default=Normal
LogLevel operatorv1.LogLevel `json:"logLevel,omitempty"`
}
ImagePrunerSpec defines the specs for the running image pruner.
func (*ImagePrunerSpec) DeepCopy ¶
func (in *ImagePrunerSpec) DeepCopy() *ImagePrunerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePrunerSpec.
func (*ImagePrunerSpec) DeepCopyInto ¶
func (in *ImagePrunerSpec) DeepCopyInto(out *ImagePrunerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImagePrunerSpec) SwaggerDoc ¶
func (ImagePrunerSpec) SwaggerDoc() map[string]string
type ImagePrunerStatus ¶
type ImagePrunerStatus struct {
// observedGeneration is the last generation change that has been applied.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// conditions is a list of conditions and their status.
// +optional
Conditions []operatorv1.OperatorCondition `json:"conditions,omitempty"`
}
ImagePrunerStatus reports image pruner operational status.
func (*ImagePrunerStatus) DeepCopy ¶
func (in *ImagePrunerStatus) DeepCopy() *ImagePrunerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePrunerStatus.
func (*ImagePrunerStatus) DeepCopyInto ¶
func (in *ImagePrunerStatus) DeepCopyInto(out *ImagePrunerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImagePrunerStatus) SwaggerDoc ¶
func (ImagePrunerStatus) SwaggerDoc() map[string]string
type ImageRegistryConfigProxy ¶
type ImageRegistryConfigProxy struct {
// http defines the proxy to be used by the image registry when
// accessing HTTP endpoints.
// +optional
HTTP string `json:"http,omitempty"`
// https defines the proxy to be used by the image registry when
// accessing HTTPS endpoints.
// +optional
HTTPS string `json:"https,omitempty"`
// noProxy defines a comma-separated list of host names that shouldn't
// go through any proxy.
// +optional
NoProxy string `json:"noProxy,omitempty"`
}
ImageRegistryConfigProxy defines proxy configuration to be used by registry.
func (*ImageRegistryConfigProxy) DeepCopy ¶
func (in *ImageRegistryConfigProxy) DeepCopy() *ImageRegistryConfigProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigProxy.
func (*ImageRegistryConfigProxy) DeepCopyInto ¶
func (in *ImageRegistryConfigProxy) DeepCopyInto(out *ImageRegistryConfigProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigProxy) SwaggerDoc ¶
func (ImageRegistryConfigProxy) SwaggerDoc() map[string]string
type ImageRegistryConfigRequests ¶
type ImageRegistryConfigRequests struct {
// read defines limits for image registry's reads.
// +optional
Read ImageRegistryConfigRequestsLimits `json:"read,omitempty"`
// write defines limits for image registry's writes.
// +optional
Write ImageRegistryConfigRequestsLimits `json:"write,omitempty"`
}
ImageRegistryConfigRequests defines registry limits on requests read and write.
func (*ImageRegistryConfigRequests) DeepCopy ¶
func (in *ImageRegistryConfigRequests) DeepCopy() *ImageRegistryConfigRequests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigRequests.
func (*ImageRegistryConfigRequests) DeepCopyInto ¶
func (in *ImageRegistryConfigRequests) DeepCopyInto(out *ImageRegistryConfigRequests)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigRequests) SwaggerDoc ¶
func (ImageRegistryConfigRequests) SwaggerDoc() map[string]string
type ImageRegistryConfigRequestsLimits ¶
type ImageRegistryConfigRequestsLimits struct {
// maxRunning sets the maximum in flight api requests to the registry.
// +optional
MaxRunning int `json:"maxRunning,omitempty"`
// maxInQueue sets the maximum queued api requests to the registry.
// +optional
MaxInQueue int `json:"maxInQueue,omitempty"`
// maxWaitInQueue sets the maximum time a request can wait in the queue
// before being rejected.
// +optional
// +kubebuilder:validation:Format=duration
MaxWaitInQueue metav1.Duration `json:"maxWaitInQueue,omitempty"`
}
ImageRegistryConfigRequestsLimits holds configuration on the max, enqueued and waiting registry's API requests.
func (*ImageRegistryConfigRequestsLimits) DeepCopy ¶
func (in *ImageRegistryConfigRequestsLimits) DeepCopy() *ImageRegistryConfigRequestsLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigRequestsLimits.
func (*ImageRegistryConfigRequestsLimits) DeepCopyInto ¶
func (in *ImageRegistryConfigRequestsLimits) DeepCopyInto(out *ImageRegistryConfigRequestsLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigRequestsLimits) SwaggerDoc ¶
func (ImageRegistryConfigRequestsLimits) SwaggerDoc() map[string]string
type ImageRegistryConfigRoute ¶
type ImageRegistryConfigRoute struct {
// name of the route to be created.
Name string `json:"name"`
// hostname for the route.
// +optional
Hostname string `json:"hostname,omitempty"`
// secretName points to secret containing the certificates to be used
// by the route.
// +optional
SecretName string `json:"secretName,omitempty"`
}
ImageRegistryConfigRoute holds information on external route access to image registry.
func (*ImageRegistryConfigRoute) DeepCopy ¶
func (in *ImageRegistryConfigRoute) DeepCopy() *ImageRegistryConfigRoute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigRoute.
func (*ImageRegistryConfigRoute) DeepCopyInto ¶
func (in *ImageRegistryConfigRoute) DeepCopyInto(out *ImageRegistryConfigRoute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigRoute) SwaggerDoc ¶
func (ImageRegistryConfigRoute) SwaggerDoc() map[string]string
type ImageRegistryConfigStorage ¶
type ImageRegistryConfigStorage struct {
// emptyDir represents ephemeral storage on the pod's host node.
// WARNING: this storage cannot be used with more than 1 replica and
// is not suitable for production use. When the pod is removed from a
// node for any reason, the data in the emptyDir is deleted forever.
// +optional
EmptyDir *ImageRegistryConfigStorageEmptyDir `json:"emptyDir,omitempty"`
// s3 represents configuration that uses Amazon Simple Storage Service.
// +optional
S3 *ImageRegistryConfigStorageS3 `json:"s3,omitempty"`
// gcs represents configuration that uses Google Cloud Storage.
// +optional
GCS *ImageRegistryConfigStorageGCS `json:"gcs,omitempty"`
// swift represents configuration that uses OpenStack Object Storage.
// +optional
Swift *ImageRegistryConfigStorageSwift `json:"swift,omitempty"`
// pvc represents configuration that uses a PersistentVolumeClaim.
// +optional
PVC *ImageRegistryConfigStoragePVC `json:"pvc,omitempty"`
// azure represents configuration that uses Azure Blob Storage.
// +optional
Azure *ImageRegistryConfigStorageAzure `json:"azure,omitempty"`
// ibmcos represents configuration that uses IBM Cloud Object Storage.
// +optional
IBMCOS *ImageRegistryConfigStorageIBMCOS `json:"ibmcos,omitempty"`
// Oss represents configuration that uses Alibaba Cloud Object Storage Service.
// +optional
OSS *ImageRegistryConfigStorageAlibabaOSS `json:"oss,omitempty"`
// managementState indicates if the operator manages the underlying
// storage unit. If Managed the operator will remove the storage when
// this operator gets Removed.
// +optional
// +kubebuilder:validation:Pattern=`^(Managed|Unmanaged)$`
ManagementState string `json:"managementState,omitempty"`
}
ImageRegistryConfigStorage describes how the storage should be configured for the image registry.
func (*ImageRegistryConfigStorage) DeepCopy ¶
func (in *ImageRegistryConfigStorage) DeepCopy() *ImageRegistryConfigStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorage.
func (*ImageRegistryConfigStorage) DeepCopyInto ¶
func (in *ImageRegistryConfigStorage) DeepCopyInto(out *ImageRegistryConfigStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorage) SwaggerDoc ¶
func (ImageRegistryConfigStorage) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageAlibabaOSS ¶
type ImageRegistryConfigStorageAlibabaOSS struct {
// Bucket is the bucket name in which you want to store the registry's data.
// About Bucket naming, more details you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/257087.htm)
// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
// Currently the default will be autogenerated in the form of <clusterid>-image-registry-<region>-<random string 27 chars>
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:MinLength=3
// +kubebuilder:validation:Pattern=`^[0-9a-z]+(-[0-9a-z]+)*$`
// +optional
Bucket string `json:"bucket,omitempty"`
// Region is the Alibaba Cloud Region in which your bucket exists.
// For a list of regions, you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/31837.html).
// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
// Currently the default will be based on the installed Alibaba Cloud Region.
// +optional
Region string `json:"region,omitempty"`
// EndpointAccessibility specifies whether the registry use the OSS VPC internal endpoint
// Empty value means no opinion and the platform chooses the a default, which is subject to change over time.
// Currently the default is `Internal`.
// +kubebuilder:validation:Enum="Internal";"Public";""
// +kubebuilder:default="Internal"
// +optional
EndpointAccessibility EndpointAccessibility `json:"endpointAccessibility,omitempty"`
// Encryption specifies whether you would like your data encrypted on the server side.
// More details, you can look cat the [official documentation](https://www.alibabacloud.com/help/doc-detail/117914.htm)
// +optional
Encryption *EncryptionAlibaba `json:"encryption,omitempty"`
}
ImageRegistryConfigStorageAlibabaOSS holds Alibaba Cloud OSS configuration. Configures the registry to use Alibaba Cloud Object Storage Service for backend storage. More about oss, you can look at the [official documentation](https://www.alibabacloud.com/help/product/31815.htm)
func (*ImageRegistryConfigStorageAlibabaOSS) DeepCopy ¶
func (in *ImageRegistryConfigStorageAlibabaOSS) DeepCopy() *ImageRegistryConfigStorageAlibabaOSS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageAlibabaOSS.
func (*ImageRegistryConfigStorageAlibabaOSS) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageAlibabaOSS) DeepCopyInto(out *ImageRegistryConfigStorageAlibabaOSS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageAlibabaOSS) SwaggerDoc ¶
func (ImageRegistryConfigStorageAlibabaOSS) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageAzure ¶
type ImageRegistryConfigStorageAzure struct {
// accountName defines the account to be used by the registry.
// +optional
AccountName string `json:"accountName,omitempty"`
// container defines Azure's container to be used by registry.
// +optional
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:MinLength=3
// +kubebuilder:validation:Pattern=`^[0-9a-z]+(-[0-9a-z]+)*$`
Container string `json:"container,omitempty"`
// cloudName is the name of the Azure cloud environment to be used by the
// registry. If empty, the operator will set it based on the infrastructure
// object.
// +optional
CloudName string `json:"cloudName,omitempty"`
}
ImageRegistryConfigStorageAzure holds the information to configure the registry to use Azure Blob Storage for backend storage.
func (*ImageRegistryConfigStorageAzure) DeepCopy ¶
func (in *ImageRegistryConfigStorageAzure) DeepCopy() *ImageRegistryConfigStorageAzure
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageAzure.
func (*ImageRegistryConfigStorageAzure) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageAzure) DeepCopyInto(out *ImageRegistryConfigStorageAzure)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageAzure) SwaggerDoc ¶
func (ImageRegistryConfigStorageAzure) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageEmptyDir ¶
type ImageRegistryConfigStorageEmptyDir struct {
}
ImageRegistryConfigStorageEmptyDir is an place holder to be used when when registry is leveraging ephemeral storage.
func (*ImageRegistryConfigStorageEmptyDir) DeepCopy ¶
func (in *ImageRegistryConfigStorageEmptyDir) DeepCopy() *ImageRegistryConfigStorageEmptyDir
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageEmptyDir.
func (*ImageRegistryConfigStorageEmptyDir) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageEmptyDir) DeepCopyInto(out *ImageRegistryConfigStorageEmptyDir)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageEmptyDir) SwaggerDoc ¶
func (ImageRegistryConfigStorageEmptyDir) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageGCS ¶
type ImageRegistryConfigStorageGCS struct {
// bucket is the bucket name in which you want to store the registry's
// data.
// Optional, will be generated if not provided.
// +optional
Bucket string `json:"bucket,omitempty"`
// region is the GCS location in which your bucket exists.
// Optional, will be set based on the installed GCS Region.
// +optional
Region string `json:"region,omitempty"`
// projectID is the Project ID of the GCP project that this bucket should
// be associated with.
// +optional
ProjectID string `json:"projectID,omitempty"`
// keyID is the KMS key ID to use for encryption.
// Optional, buckets are encrypted by default on GCP.
// This allows for the use of a custom encryption key.
// +optional
KeyID string `json:"keyID,omitempty"`
}
ImageRegistryConfigStorageGCS holds GCS configuration.
func (*ImageRegistryConfigStorageGCS) DeepCopy ¶
func (in *ImageRegistryConfigStorageGCS) DeepCopy() *ImageRegistryConfigStorageGCS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageGCS.
func (*ImageRegistryConfigStorageGCS) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageGCS) DeepCopyInto(out *ImageRegistryConfigStorageGCS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageGCS) SwaggerDoc ¶
func (ImageRegistryConfigStorageGCS) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageIBMCOS ¶
type ImageRegistryConfigStorageIBMCOS struct {
// bucket is the bucket name in which you want to store the registry's
// data.
// Optional, will be generated if not provided.
// +optional
Bucket string `json:"bucket,omitempty"`
// location is the IBM Cloud location in which your bucket exists.
// Optional, will be set based on the installed IBM Cloud location.
// +optional
Location string `json:"location,omitempty"`
// resourceGroupName is the name of the IBM Cloud resource group that this
// bucket and its service instance is associated with.
// Optional, will be set based on the installed IBM Cloud resource group.
// +optional
ResourceGroupName string `json:"resourceGroupName,omitempty"`
// resourceKeyCRN is the CRN of the IBM Cloud resource key that is created
// for the service instance. Commonly referred as a service credential and
// must contain HMAC type credentials.
// Optional, will be computed if not provided.
// +optional
// +kubebuilder:validation:Pattern=`^crn:.+:.+:.+:cloud-object-storage:.+:.+:.+:resource-key:.+$`
ResourceKeyCRN string `json:"resourceKeyCRN,omitempty"`
// serviceInstanceCRN is the CRN of the IBM Cloud Object Storage service
// instance that this bucket is associated with.
// Optional, will be computed if not provided.
// +optional
// +kubebuilder:validation:Pattern=`^crn:.+:.+:.+:cloud-object-storage:.+:.+:.+::$`
ServiceInstanceCRN string `json:"serviceInstanceCRN,omitempty"`
}
ImageRegistryConfigStorageIBMCOS holds the information to configure the registry to use IBM Cloud Object Storage for backend storage.
func (*ImageRegistryConfigStorageIBMCOS) DeepCopy ¶
func (in *ImageRegistryConfigStorageIBMCOS) DeepCopy() *ImageRegistryConfigStorageIBMCOS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageIBMCOS.
func (*ImageRegistryConfigStorageIBMCOS) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageIBMCOS) DeepCopyInto(out *ImageRegistryConfigStorageIBMCOS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageIBMCOS) SwaggerDoc ¶
func (ImageRegistryConfigStorageIBMCOS) SwaggerDoc() map[string]string
type ImageRegistryConfigStoragePVC ¶
type ImageRegistryConfigStoragePVC struct {
// claim defines the Persisent Volume Claim's name to be used.
// +optional
Claim string `json:"claim,omitempty"`
}
ImageRegistryConfigStoragePVC holds Persistent Volume Claims data to be used by the registry.
func (*ImageRegistryConfigStoragePVC) DeepCopy ¶
func (in *ImageRegistryConfigStoragePVC) DeepCopy() *ImageRegistryConfigStoragePVC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStoragePVC.
func (*ImageRegistryConfigStoragePVC) DeepCopyInto ¶
func (in *ImageRegistryConfigStoragePVC) DeepCopyInto(out *ImageRegistryConfigStoragePVC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStoragePVC) SwaggerDoc ¶
func (ImageRegistryConfigStoragePVC) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageS3 ¶
type ImageRegistryConfigStorageS3 struct {
// bucket is the bucket name in which you want to store the registry's
// data.
// Optional, will be generated if not provided.
// +optional
Bucket string `json:"bucket,omitempty"`
// region is the AWS region in which your bucket exists.
// Optional, will be set based on the installed AWS Region.
// +optional
Region string `json:"region,omitempty"`
// regionEndpoint is the endpoint for S3 compatible storage services.
// It should be a valid URL with scheme, e.g. https://s3.example.com.
// Optional, defaults based on the Region that is provided.
// +optional
RegionEndpoint string `json:"regionEndpoint,omitempty"`
// encrypt specifies whether the registry stores the image in encrypted
// format or not.
// Optional, defaults to false.
// +optional
Encrypt bool `json:"encrypt,omitempty"`
// keyID is the KMS key ID to use for encryption.
// Optional, Encrypt must be true, or this parameter is ignored.
// +optional
KeyID string `json:"keyID,omitempty"`
// cloudFront configures Amazon Cloudfront as the storage middleware in a
// registry.
// +optional
CloudFront *ImageRegistryConfigStorageS3CloudFront `json:"cloudFront,omitempty"`
// virtualHostedStyle enables using S3 virtual hosted style bucket paths with
// a custom RegionEndpoint
// Optional, defaults to false.
// +optional
VirtualHostedStyle bool `json:"virtualHostedStyle"`
// trustedCA is a reference to a config map containing a CA bundle. The
// image registry and its operator use certificates from this bundle to
// verify S3 server certificates.
//
// The namespace for the config map referenced by trustedCA is
// "openshift-config". The key for the bundle in the config map is
// "ca-bundle.crt".
// +optional
TrustedCA S3TrustedCASource `json:"trustedCA"`
}
ImageRegistryConfigStorageS3 holds the information to configure the registry to use the AWS S3 service for backend storage https://docs.docker.com/registry/storage-drivers/s3/
func (*ImageRegistryConfigStorageS3) DeepCopy ¶
func (in *ImageRegistryConfigStorageS3) DeepCopy() *ImageRegistryConfigStorageS3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageS3.
func (*ImageRegistryConfigStorageS3) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageS3) DeepCopyInto(out *ImageRegistryConfigStorageS3)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageS3) SwaggerDoc ¶
func (ImageRegistryConfigStorageS3) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageS3CloudFront ¶
type ImageRegistryConfigStorageS3CloudFront struct {
// baseURL contains the SCHEME://HOST[/PATH] at which Cloudfront is served.
BaseURL string `json:"baseURL"`
// privateKey points to secret containing the private key, provided by AWS.
PrivateKey corev1.SecretKeySelector `json:"privateKey"`
// keypairID is key pair ID provided by AWS.
KeypairID string `json:"keypairID"`
// duration is the duration of the Cloudfront session.
// +optional
// +kubebuilder:validation:Format=duration
Duration metav1.Duration `json:"duration,omitempty"`
}
ImageRegistryConfigStorageS3CloudFront holds the configuration to use Amazon Cloudfront as the storage middleware in a registry. https://docs.docker.com/registry/configuration/#cloudfront
func (*ImageRegistryConfigStorageS3CloudFront) DeepCopy ¶
func (in *ImageRegistryConfigStorageS3CloudFront) DeepCopy() *ImageRegistryConfigStorageS3CloudFront
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageS3CloudFront.
func (*ImageRegistryConfigStorageS3CloudFront) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageS3CloudFront) DeepCopyInto(out *ImageRegistryConfigStorageS3CloudFront)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageS3CloudFront) SwaggerDoc ¶
func (ImageRegistryConfigStorageS3CloudFront) SwaggerDoc() map[string]string
type ImageRegistryConfigStorageSwift ¶
type ImageRegistryConfigStorageSwift struct {
// authURL defines the URL for obtaining an authentication token.
// +optional
AuthURL string `json:"authURL,omitempty"`
// authVersion specifies the OpenStack Auth's version.
// +optional
AuthVersion string `json:"authVersion,omitempty"`
// container defines the name of Swift container where to store the
// registry's data.
// +optional
Container string `json:"container,omitempty"`
// domain specifies Openstack's domain name for Identity v3 API.
// +optional
Domain string `json:"domain,omitempty"`
// domainID specifies Openstack's domain id for Identity v3 API.
// +optional
DomainID string `json:"domainID,omitempty"`
// tenant defines Openstack tenant name to be used by registry.
// +optional
Tenant string `json:"tenant,omitempty"`
// tenant defines Openstack tenant id to be used by registry.
// +optional
TenantID string `json:"tenantID,omitempty"`
// regionName defines Openstack's region in which container exists.
// +optional
RegionName string `json:"regionName,omitempty"`
}
ImageRegistryConfigStorageSwift holds the information to configure the registry to use the OpenStack Swift service for backend storage https://docs.docker.com/registry/storage-drivers/swift/
func (*ImageRegistryConfigStorageSwift) DeepCopy ¶
func (in *ImageRegistryConfigStorageSwift) DeepCopy() *ImageRegistryConfigStorageSwift
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryConfigStorageSwift.
func (*ImageRegistryConfigStorageSwift) DeepCopyInto ¶
func (in *ImageRegistryConfigStorageSwift) DeepCopyInto(out *ImageRegistryConfigStorageSwift)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryConfigStorageSwift) SwaggerDoc ¶
func (ImageRegistryConfigStorageSwift) SwaggerDoc() map[string]string
type ImageRegistrySpec ¶
type ImageRegistrySpec struct {
// operatorSpec allows operator specific configuration to be made.
operatorv1.OperatorSpec `json:",inline"`
// httpSecret is the value needed by the registry to secure uploads, generated by default.
// +optional
HTTPSecret string `json:"httpSecret,omitempty"`
// proxy defines the proxy to be used when calling master api, upstream
// registries, etc.
// +optional
Proxy ImageRegistryConfigProxy `json:"proxy,omitempty"`
// storage details for configuring registry storage, e.g. S3 bucket
// coordinates.
// +optional
Storage ImageRegistryConfigStorage `json:"storage,omitempty"`
// readOnly indicates whether the registry instance should reject attempts
// to push new images or delete existing ones.
// +optional
ReadOnly bool `json:"readOnly,omitempty"`
// disableRedirect controls whether to route all data through the Registry,
// rather than redirecting to the backend.
// +optional
DisableRedirect bool `json:"disableRedirect,omitempty"`
// requests controls how many parallel requests a given registry instance
// will handle before queuing additional requests.
// +optional
Requests ImageRegistryConfigRequests `json:"requests,omitempty"`
// defaultRoute indicates whether an external facing route for the registry
// should be created using the default generated hostname.
// +optional
DefaultRoute bool `json:"defaultRoute,omitempty"`
// routes defines additional external facing routes which should be
// created for the registry.
// +optional
Routes []ImageRegistryConfigRoute `json:"routes,omitempty"`
// replicas determines the number of registry instances to run.
Replicas int32 `json:"replicas"`
// logging is deprecated, use logLevel instead.
// +optional
Logging int64 `json:"logging,omitempty"`
// resources defines the resource requests+limits for the registry pod.
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// nodeSelector defines the node selection constraints for the registry
// pod.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// tolerations defines the tolerations for the registry pod.
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// rolloutStrategy defines rollout strategy for the image registry
// deployment.
// +optional
// +kubebuilder:validation:Pattern=`^(RollingUpdate|Recreate)$`
RolloutStrategy string `json:"rolloutStrategy,omitempty"`
// affinity is a group of node affinity scheduling rules for the image registry pod(s).
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// topologySpreadConstraints specify how to spread matching pods among the given topology.
// +optional
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
ImageRegistrySpec defines the specs for the running registry.
func (*ImageRegistrySpec) DeepCopy ¶
func (in *ImageRegistrySpec) DeepCopy() *ImageRegistrySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistrySpec.
func (*ImageRegistrySpec) DeepCopyInto ¶
func (in *ImageRegistrySpec) DeepCopyInto(out *ImageRegistrySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistrySpec) SwaggerDoc ¶
func (ImageRegistrySpec) SwaggerDoc() map[string]string
type ImageRegistryStatus ¶
type ImageRegistryStatus struct {
operatorv1.OperatorStatus `json:",inline"`
// storageManaged is deprecated, please refer to Storage.managementState
StorageManaged bool `json:"storageManaged"`
// storage indicates the current applied storage configuration of the
// registry.
Storage ImageRegistryConfigStorage `json:"storage"`
}
ImageRegistryStatus reports image registry operational status.
func (*ImageRegistryStatus) DeepCopy ¶
func (in *ImageRegistryStatus) DeepCopy() *ImageRegistryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryStatus.
func (*ImageRegistryStatus) DeepCopyInto ¶
func (in *ImageRegistryStatus) DeepCopyInto(out *ImageRegistryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryStatus) SwaggerDoc ¶
func (ImageRegistryStatus) SwaggerDoc() map[string]string
type KMSEncryptionAlibaba ¶
type KMSEncryptionAlibaba struct {
// KeyID holds the KMS encryption key ID
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
KeyID string `json:"keyID"`
}
func (*KMSEncryptionAlibaba) DeepCopy ¶
func (in *KMSEncryptionAlibaba) DeepCopy() *KMSEncryptionAlibaba
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSEncryptionAlibaba.
func (*KMSEncryptionAlibaba) DeepCopyInto ¶
func (in *KMSEncryptionAlibaba) DeepCopyInto(out *KMSEncryptionAlibaba)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KMSEncryptionAlibaba) SwaggerDoc ¶
func (KMSEncryptionAlibaba) SwaggerDoc() map[string]string
type S3TrustedCASource ¶
type S3TrustedCASource struct {
// name is the metadata.name of the referenced config map.
// This field must adhere to standard config map naming restrictions.
// The name must consist solely of alphanumeric characters, hyphens (-)
// and periods (.). It has a maximum length of 253 characters.
// If this field is not specified or is empty string, the default trust
// bundle will be used.
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:Pattern=`^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
// +optional
Name string `json:"name"`
}
S3TrustedCASource references a config map with a CA certificate bundle in the "openshift-config" namespace. The key for the bundle in the config map is "ca-bundle.crt".
func (*S3TrustedCASource) DeepCopy ¶
func (in *S3TrustedCASource) DeepCopy() *S3TrustedCASource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3TrustedCASource.
func (*S3TrustedCASource) DeepCopyInto ¶
func (in *S3TrustedCASource) DeepCopyInto(out *S3TrustedCASource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (S3TrustedCASource) SwaggerDoc ¶
func (S3TrustedCASource) SwaggerDoc() map[string]string