v1alpha1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2023 License: Apache-2.0 Imports: 6 Imported by: 4

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the delivery v1alpha1 API group +kubebuilder:object:generate=true +groupName=delivery.ocm.software

Index

Constants

View Source
const (
	// ConfiguringCredentialsFailedReason is used when we fail to configure credentials.
	ConfiguringCredentialsFailedReason = "ConfiguringCredentialsFailed"

	// PatchFailedReason is used when we couldn't patch an object.
	PatchFailedReason = "PatchFailed"

	// PullingLatestVersionFailedReason is used when we couldn't pull the latest version for a controller.
	PullingLatestVersionFailedReason = "PullingLatestVersionFailed"

	// SemverConversionFailedReason is used when we couldn't convert a version to semver.
	SemverConversionFailedReason = "SemverConversionFailed"

	// GetComponentDescriptorFailedReason is used when the component descriptor cannot be retrieved.
	GetComponentDescriptorFailedReason = "GetComponentDescriptorFailed"

	// RepositoryForSpecFailedReason is used when we fail to create a repository for a spec.
	RepositoryForSpecFailedReason = "RepositoryForSpecFailed"

	// VerificationProcessFailedReason is used when the verification process fails to verify a component.
	VerificationProcessFailedReason = "VerificationProcessFailed"

	// ConstructingHandlerFailedReason is used when we fail to create a transfer handler.
	ConstructingHandlerFailedReason = "ConstructingHandlerFailed"

	// TransferFailedReason is used when we fail to transfer a component.
	TransferFailedReason = "TransferFailed"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "delivery.ocm.software", 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

This section is empty.

Types

type Component added in v0.2.1

type Component struct {
	Name     string   `json:"name"`
	Version  string   `json:"version"`
	Registry Registry `json:"registry"`
}

Component gathers together reconciled information about a component.

func (*Component) DeepCopy added in v0.2.1

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto added in v0.2.1

func (in *Component) DeepCopyInto(out *Component)

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

type ComponentSubscription

type ComponentSubscription struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ComponentSubscriptionSpec   `json:"spec,omitempty"`
	Status ComponentSubscriptionStatus `json:"status,omitempty"`
}

ComponentSubscription is the Schema for the componentsubscriptions API

func (*ComponentSubscription) DeepCopy

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

func (*ComponentSubscription) DeepCopyInto

func (in *ComponentSubscription) DeepCopyInto(out *ComponentSubscription)

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

func (*ComponentSubscription) DeepCopyObject

func (in *ComponentSubscription) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ComponentSubscription) GetComponentVersion added in v0.2.1

func (in ComponentSubscription) GetComponentVersion() Component

GetComponentVersion returns a constructed component version with name, version and reconciled location.

func (*ComponentSubscription) GetConditions

func (in *ComponentSubscription) GetConditions() []metav1.Condition

GetConditions returns the conditions of the ComponentVersion.

func (ComponentSubscription) GetRequeueAfter

func (in ComponentSubscription) GetRequeueAfter() time.Duration

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

func (*ComponentSubscription) SetConditions

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

SetConditions sets the conditions of the ComponentVersion.

type ComponentSubscriptionList

type ComponentSubscriptionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ComponentSubscription `json:"items"`
}

ComponentSubscriptionList contains a list of ComponentSubscription

func (*ComponentSubscriptionList) DeepCopy

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

func (*ComponentSubscriptionList) DeepCopyInto

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

func (*ComponentSubscriptionList) DeepCopyObject

func (in *ComponentSubscriptionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComponentSubscriptionSpec

type ComponentSubscriptionSpec struct {
	// Interval is the reconciliation interval, i.e. at what interval shall a reconciliation happen.
	// This is used to requeue objects for reconciliation in case of success as well as already reconciling objects.
	// +required
	Interval metav1.Duration `json:"interval"`

	Source      OCMRepository  `json:"source"`
	Destination *OCMRepository `json:"destination,omitempty"`
	Component   string         `json:"component"`

	// ServiceAccountName can be used to configure access to both destination and source repositories.
	// If service account is defined, it's usually redundant to define access to either source or destination, but
	// it is still allowed to do so.
	// https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	//+optional
	Semver string      `json:"semver,omitempty"`
	Verify []Signature `json:"verify,omitempty"`
}

ComponentSubscriptionSpec defines the desired state of ComponentSubscription

func (*ComponentSubscriptionSpec) DeepCopy

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

func (*ComponentSubscriptionSpec) DeepCopyInto

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

type ComponentSubscriptionStatus

type ComponentSubscriptionStatus struct {
	// LastAttemptedVersion defines the latest version encountered while checking component versions.
	// This might be different from last applied version which should be the latest applied/replicated version.
	// The difference might be caused because of semver constraint or failures during replication.
	//+optional
	LastAttemptedVersion string `json:"lastAttemptedVersion,omitempty"`

	// ObservedGeneration is the last reconciled generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LastAppliedVersion defines the final version that has been applied to the destination component version.
	//+optional
	LastAppliedVersion string `json:"lastAppliedVersion,omitempty"`

	// ReplicatedRepositoryURL defines the final location of the reconciled Component.
	//+optional
	ReplicatedRepositoryURL string `json:"replicatedRepositoryURL,omitempty"`

	// +optional
	// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description=""
	// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].message",description=""
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ComponentSubscriptionStatus defines the observed state of ComponentSubscription

func (*ComponentSubscriptionStatus) DeepCopy

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

func (*ComponentSubscriptionStatus) DeepCopyInto

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

type OCMRepository

type OCMRepository struct {
	// +required
	URL string `json:"url"`

	// +optional
	SecretRef *meta.LocalObjectReference `json:"secretRef,omitempty"`
}

OCMRepository defines details for a repository, such as access keys and the url.

func (*OCMRepository) DeepCopy

func (in *OCMRepository) DeepCopy() *OCMRepository

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

func (*OCMRepository) DeepCopyInto

func (in *OCMRepository) DeepCopyInto(out *OCMRepository)

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

type Registry added in v0.2.1

type Registry struct {
	URL string `json:"url"`
}

Registry defines information about the location of a component.

func (*Registry) DeepCopy added in v0.2.1

func (in *Registry) DeepCopy() *Registry

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

func (*Registry) DeepCopyInto added in v0.2.1

func (in *Registry) DeepCopyInto(out *Registry)

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

type SecretRef

type SecretRef struct {
	SecretRef meta.LocalObjectReference `json:"secretRef"`
}

SecretRef clearly denotes that the requested option is a Secret.

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type Signature

type Signature struct {
	// Name of the signature.
	// +required
	Name string `json:"name"`

	// Key which is used for verification.
	// +required
	PublicKey SecretRef `json:"publicKey"`
}

Signature defines the details of a signature to use for verification.

func (*Signature) DeepCopy

func (in *Signature) DeepCopy() *Signature

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

func (*Signature) DeepCopyInto

func (in *Signature) DeepCopyInto(out *Signature)

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