v1beta1

package
v0.31.2 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 8 Imported by: 5

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

View Source
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"
)
View Source
const ImagePolicyFinalizer = "finalizers.fluxcd.io"
View Source
const ImagePolicyKind = "ImagePolicy"
View Source
const ImageRepositoryFinalizer = "finalizers.fluxcd.io"
View Source
const ImageRepositoryKind = "ImageRepository"

Variables

View Source
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

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

func (in *TagFilter) DeepCopy() *TagFilter

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

func (*TagFilter) DeepCopyInto

func (in *TagFilter) DeepCopyInto(out *TagFilter)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL