Documentation
¶
Overview ¶
Package v1beta1 contains API types for the image v1beta1 API group
Deprecated: v1beta1 is no longer supported, use v1 instead.
+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.