Documentation ¶
Overview ¶
Package v1beta1 contains API types for the image API group, version v1beta1. These types are concerned with reflecting metadata from OCI image repositories into a cluster, so they can be consulted for e.g., automation.
+kubebuilder:object:generate=true +groupName=image.toolkit.fluxcd.io
Package v1beta1 contains API Schema definitions for the image v1beta1 API group +kubebuilder:object:generate=true +groupName=image.toolkit.fluxcd.io
Index ¶
- Constants
- Variables
- func SetImagePolicyReadiness(p *ImagePolicy, status metav1.ConditionStatus, reason, message string)
- func SetImageRepositoryReadiness(ir *ImageRepository, status metav1.ConditionStatus, reason, message string)
- type AlphabeticalPolicy
- type ImagePolicy
- type ImagePolicyChoice
- type ImagePolicyList
- type ImagePolicySpec
- type ImagePolicyStatus
- type ImageRepository
- type ImageRepositoryList
- type ImageRepositorySpec
- type ImageRepositoryStatus
- type NumericalPolicy
- type ScanResult
- type SemVerPolicy
- type TagFilter
Constants ¶
const ( // ImageURLInvalidReason represents the fact that a given repository has an invalid image URL. ImageURLInvalidReason string = "ImageURLInvalid" // DependencyNotReadyReason represents the fact that // one of the dependencies is not ready. DependencyNotReadyReason string = "DependencyNotReady" // ReconciliationSucceededReason represents the fact that // the reconciliation succeeded. ReconciliationSucceededReason string = "ReconciliationSucceeded" // ReconciliationFailedReason represents the fact that // the reconciliation failed. ReconciliationFailedReason string = "ReconciliationFailed" )
const ImagePolicyFinalizer = "finalizers.fluxcd.io"
const ImagePolicyKind = "ImagePolicy"
const ImageRepositoryFinalizer = "finalizers.fluxcd.io"
const ImageRepositoryKind = "ImageRepository"
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "image.toolkit.fluxcd.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 )
Functions ¶
func SetImagePolicyReadiness ¶
func SetImagePolicyReadiness(p *ImagePolicy, status metav1.ConditionStatus, reason, message string)
SetImageRepositoryReadiness sets the ready condition with the given status, reason and message.
func SetImageRepositoryReadiness ¶
func SetImageRepositoryReadiness(ir *ImageRepository, status metav1.ConditionStatus, reason, message string)
SetImageRepositoryReadiness sets the ready condition with the given status, reason and message.
Types ¶
type AlphabeticalPolicy ¶
type AlphabeticalPolicy struct { // Order specifies the sorting order of the tags. Given the letters of the // alphabet as tags, ascending order would select Z, and descending order // would select A. // +kubebuilder:default:="asc" // +kubebuilder:validation:Enum=asc;desc // +optional Order string `json:"order,omitempty"` }
AlphabeticalPolicy specifies a alphabetical ordering policy.
func (*AlphabeticalPolicy) DeepCopy ¶
func (in *AlphabeticalPolicy) DeepCopy() *AlphabeticalPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlphabeticalPolicy.
func (*AlphabeticalPolicy) DeepCopyInto ¶
func (in *AlphabeticalPolicy) DeepCopyInto(out *AlphabeticalPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicy ¶
type ImagePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ImagePolicySpec `json:"spec,omitempty"` // +kubebuilder:default={"observedGeneration":-1} Status ImagePolicyStatus `json:"status,omitempty"` }
ImagePolicy is the Schema for the imagepolicies API
func (*ImagePolicy) DeepCopy ¶
func (in *ImagePolicy) DeepCopy() *ImagePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicy.
func (*ImagePolicy) DeepCopyInto ¶
func (in *ImagePolicy) DeepCopyInto(out *ImagePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePolicy) DeepCopyObject ¶
func (in *ImagePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ImagePolicy) GetStatusConditions ¶
func (p *ImagePolicy) GetStatusConditions() *[]metav1.Condition
type ImagePolicyChoice ¶
type ImagePolicyChoice struct { // SemVer gives a semantic version range to check against the tags // available. // +optional SemVer *SemVerPolicy `json:"semver,omitempty"` // Alphabetical set of rules to use for alphabetical ordering of the tags. // +optional Alphabetical *AlphabeticalPolicy `json:"alphabetical,omitempty"` // Numerical set of rules to use for numerical ordering of the tags. // +optional Numerical *NumericalPolicy `json:"numerical,omitempty"` }
ImagePolicyChoice is a union of all the types of policy that can be supplied.
func (*ImagePolicyChoice) DeepCopy ¶
func (in *ImagePolicyChoice) DeepCopy() *ImagePolicyChoice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyChoice.
func (*ImagePolicyChoice) DeepCopyInto ¶
func (in *ImagePolicyChoice) DeepCopyInto(out *ImagePolicyChoice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicyList ¶
type ImagePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ImagePolicy `json:"items"` }
ImagePolicyList contains a list of ImagePolicy
func (*ImagePolicyList) DeepCopy ¶
func (in *ImagePolicyList) DeepCopy() *ImagePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyList.
func (*ImagePolicyList) DeepCopyInto ¶
func (in *ImagePolicyList) DeepCopyInto(out *ImagePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePolicyList) DeepCopyObject ¶
func (in *ImagePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImagePolicySpec ¶
type ImagePolicySpec struct { // ImageRepositoryRef points at the object specifying the image // being scanned // +required ImageRepositoryRef meta.NamespacedObjectReference `json:"imageRepositoryRef"` // Policy gives the particulars of the policy to be followed in // selecting the most recent image // +required Policy ImagePolicyChoice `json:"policy"` // FilterTags enables filtering for only a subset of tags based on a set of // rules. If no rules are provided, all the tags from the repository will be // ordered and compared. // +optional FilterTags *TagFilter `json:"filterTags,omitempty"` }
ImagePolicySpec defines the parameters for calculating the ImagePolicy
func (*ImagePolicySpec) DeepCopy ¶
func (in *ImagePolicySpec) DeepCopy() *ImagePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicySpec.
func (*ImagePolicySpec) DeepCopyInto ¶
func (in *ImagePolicySpec) DeepCopyInto(out *ImagePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicyStatus ¶
type ImagePolicyStatus struct { // LatestImage gives the first in the list of images scanned by // the image repository, when filtered and ordered according to // the policy. LatestImage string `json:"latestImage,omitempty"` // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
ImagePolicyStatus defines the observed state of ImagePolicy
func (*ImagePolicyStatus) DeepCopy ¶
func (in *ImagePolicyStatus) DeepCopy() *ImagePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyStatus.
func (*ImagePolicyStatus) DeepCopyInto ¶
func (in *ImagePolicyStatus) DeepCopyInto(out *ImagePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageRepository ¶
type ImageRepository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ImageRepositorySpec `json:"spec,omitempty"` // +kubebuilder:default={"observedGeneration":-1} Status ImageRepositoryStatus `json:"status,omitempty"` }
ImageRepository is the Schema for the imagerepositories API
func (*ImageRepository) DeepCopy ¶
func (in *ImageRepository) DeepCopy() *ImageRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRepository.
func (*ImageRepository) DeepCopyInto ¶
func (in *ImageRepository) DeepCopyInto(out *ImageRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageRepository) DeepCopyObject ¶
func (in *ImageRepository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ImageRepository) GetStatusConditions ¶
func (in *ImageRepository) GetStatusConditions() *[]metav1.Condition
GetStatusConditions returns a pointer to the Status.Conditions slice
func (ImageRepository) GetTimeout ¶
func (in ImageRepository) GetTimeout() time.Duration
GetTimeout returns the timeout with default.
type ImageRepositoryList ¶
type ImageRepositoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ImageRepository `json:"items"` }
ImageRepositoryList contains a list of ImageRepository
func (*ImageRepositoryList) DeepCopy ¶
func (in *ImageRepositoryList) DeepCopy() *ImageRepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRepositoryList.
func (*ImageRepositoryList) DeepCopyInto ¶
func (in *ImageRepositoryList) DeepCopyInto(out *ImageRepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageRepositoryList) DeepCopyObject ¶
func (in *ImageRepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImageRepositorySpec ¶
type ImageRepositorySpec struct { // Image is the name of the image repository // +required Image string `json:"image,omitempty"` // Interval is the length of time to wait between // scans of the image repository. // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$" // +required Interval metav1.Duration `json:"interval,omitempty"` // Timeout for image scanning. // Defaults to 'Interval' duration. // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$" // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // SecretRef can be given the name of a secret containing // credentials to use for the image registry. The secret should be // created with `kubectl create secret docker-registry`, or the // equivalent. // +optional SecretRef *meta.LocalObjectReference `json:"secretRef,omitempty"` // ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate // the image pull if the service account has attached pull secrets. // +kubebuilder:validation:MaxLength=253 // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // CertSecretRef can be given the name of a secret containing // either or both of // // - a PEM-encoded client certificate (`certFile`) and private // key (`keyFile`); // - a PEM-encoded CA certificate (`caFile`) // // and whichever are supplied, will be used for connecting to the // registry. The client cert and key are useful if you are // authenticating with a certificate; the CA cert is useful if // you are using a self-signed server certificate. // +optional CertSecretRef *meta.LocalObjectReference `json:"certSecretRef,omitempty"` // This flag tells the controller to suspend subsequent image scans. // It does not apply to already started scans. Defaults to false. // +optional Suspend bool `json:"suspend,omitempty"` // AccessFrom defines an ACL for allowing cross-namespace references // to the ImageRepository object based on the caller's namespace labels. // +optional AccessFrom *acl.AccessFrom `json:"accessFrom,omitempty"` // ExclusionList is a list of regex strings used to exclude certain tags // from being stored in the database. // +optional ExclusionList []string `json:"exclusionList,omitempty"` }
ImageRepositorySpec defines the parameters for scanning an image repository, e.g., `fluxcd/flux`.
func (*ImageRepositorySpec) DeepCopy ¶
func (in *ImageRepositorySpec) DeepCopy() *ImageRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRepositorySpec.
func (*ImageRepositorySpec) DeepCopyInto ¶
func (in *ImageRepositorySpec) DeepCopyInto(out *ImageRepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageRepositoryStatus ¶
type ImageRepositoryStatus struct { // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` // ObservedGeneration is the last reconciled generation. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // CanonicalName is the name of the image repository with all the // implied bits made explicit; e.g., `docker.io/library/alpine` // rather than `alpine`. // +optional CanonicalImageName string `json:"canonicalImageName,omitempty"` // LastScanResult contains the number of fetched tags. // +optional LastScanResult *ScanResult `json:"lastScanResult,omitempty"` meta.ReconcileRequestStatus `json:",inline"` }
ImageRepositoryStatus defines the observed state of ImageRepository
func (*ImageRepositoryStatus) DeepCopy ¶
func (in *ImageRepositoryStatus) DeepCopy() *ImageRepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRepositoryStatus.
func (*ImageRepositoryStatus) DeepCopyInto ¶
func (in *ImageRepositoryStatus) DeepCopyInto(out *ImageRepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NumericalPolicy ¶
type NumericalPolicy struct { // Order specifies the sorting order of the tags. Given the integer values // from 0 to 9 as tags, ascending order would select 9, and descending order // would select 0. // +kubebuilder:default:="asc" // +kubebuilder:validation:Enum=asc;desc // +optional Order string `json:"order,omitempty"` }
NumericalPolicy specifies a numerical ordering policy.
func (*NumericalPolicy) DeepCopy ¶
func (in *NumericalPolicy) DeepCopy() *NumericalPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NumericalPolicy.
func (*NumericalPolicy) DeepCopyInto ¶
func (in *NumericalPolicy) DeepCopyInto(out *NumericalPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScanResult ¶
type ScanResult struct { TagCount int `json:"tagCount"` ScanTime metav1.Time `json:"scanTime,omitempty"` }
func (*ScanResult) DeepCopy ¶
func (in *ScanResult) DeepCopy() *ScanResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanResult.
func (*ScanResult) DeepCopyInto ¶
func (in *ScanResult) DeepCopyInto(out *ScanResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemVerPolicy ¶
type SemVerPolicy struct { // Range gives a semver range for the image tag; the highest // version within the range that's a tag yields the latest image. // +required Range string `json:"range"` }
SemVerPolicy specifies a semantic version policy.
func (*SemVerPolicy) DeepCopy ¶
func (in *SemVerPolicy) DeepCopy() *SemVerPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemVerPolicy.
func (*SemVerPolicy) DeepCopyInto ¶
func (in *SemVerPolicy) DeepCopyInto(out *SemVerPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TagFilter ¶
type TagFilter struct { // Pattern specifies a regular expression pattern used to filter for image // tags. // +optional Pattern string `json:"pattern"` // Extract allows a capture group to be extracted from the specified regular // expression pattern, useful before tag evaluation. // +optional Extract string `json:"extract"` }
TagFilter enables filtering tags based on a set of defined rules
func (*TagFilter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagFilter.
func (*TagFilter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.