v1alpha1

package
v0.22.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API types for the image v1alpha1 API group. 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 v1alpha1 contains API Schema definitions for the image v1alpha1 API group +kubebuilder:object:generate=true +groupName=image.toolkit.fluxcd.io

Index

Constants

View Source
const ImagePolicyKind = "ImagePolicy"
View Source
const ImageRepositoryKind = "ImageRepository"
View Source
const (
	// ImageURLInvalidReason represents the fact that a given repository has an invalid image URL.
	ImageURLInvalidReason string = "ImageURLInvalid"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "image.toolkit.fluxcd.io", Version: "v1alpha1"}

	// 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)

SetImagePolicyReadiness 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"`
	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) GetConditions added in v0.17.1

func (p ImagePolicy) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*ImagePolicy) GetStatusConditions

func (p *ImagePolicy) GetStatusConditions() *[]metav1.Condition

GetStatusConditions returns a pointer to the Status.Conditions slice. Deprecated: use GetConditions instead.

func (*ImagePolicy) SetConditions added in v0.17.1

func (p *ImagePolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

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.LocalObjectReference `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"`
	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) GetConditions added in v0.17.1

func (in ImageRepository) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (ImageRepository) GetRequeueAfter added in v0.17.1

func (in ImageRepository) GetRequeueAfter() time.Duration

GetRequeueAfter returns the duration after which the ImageRepository must be reconciled again.

func (*ImageRepository) GetStatusConditions

func (in *ImageRepository) GetStatusConditions() *[]metav1.Condition

GetStatusConditions returns a pointer to the Status.Conditions slice. Deprecated: use GetConditions instead.

func (ImageRepository) GetTimeout

func (in ImageRepository) GetTimeout() time.Duration

GetTimeout returns the timeout with default.

func (*ImageRepository) SetConditions added in v0.17.1

func (in *ImageRepository) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

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.
	// +required
	Interval metav1.Duration `json:"interval,omitempty"`

	// Timeout for image scanning.
	// Defaults to 'Interval' duration.
	// +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"`

	// 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"`
}

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 added in v0.6.0

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 added in v0.6.0

func (in *NumericalPolicy) DeepCopy() *NumericalPolicy

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

func (*NumericalPolicy) DeepCopyInto added in v0.6.0

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 added in v0.2.0

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 added in v0.2.0

func (in *TagFilter) DeepCopy() *TagFilter

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

func (*TagFilter) DeepCopyInto added in v0.2.0

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