v1alpha1

package
v0.1.32 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group.

Index

Constants

This section is empty.

Variables

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

	// Needed by kubernetes/code-generator.
	SchemeGroupVersion = GroupVersion
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Needed by kubernetes/code-generator.

Types

type Artifact added in v0.1.25

type Artifact struct {
	Url      string `json:"url"`
	Digest   string `json:"digest"`
	Revision string `json:"revision"`
}

Artifact describes the underlying source artifact.

func (*Artifact) DeepCopy added in v0.1.25

func (in *Artifact) DeepCopy() *Artifact

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

func (*Artifact) DeepCopyInto added in v0.1.25

func (in *Artifact) DeepCopyInto(out *Artifact)

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

type Component

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

	Spec ComponentSpec `json:"spec,omitempty"`
	// +kubebuilder:default={"observedGeneration":-1}
	Status ComponentStatus `json:"status,omitempty"`
}

Component is the Schema for the components API.

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

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

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

func (*Component) DeepCopyObject

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

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

func (*Component) GetEventAnnotations added in v0.1.22

func (c *Component) GetEventAnnotations(componentDigest string) map[string]string

Provide event metadata note: by implementing this method, component-operator-runtime will attach the returned annotations when calling EventRecorder.AnnotatedEventf(); also note that this controller wraps the standard event recorder with the flux notification recorder; this one expects annotation keys to be prefixed with the API group of the involved object ...

func (*Component) GetSpec

Implement the component-operator-runtime Component interface.

func (*Component) GetStatus

func (c *Component) GetStatus() *component.Status

Implement the component-operator-runtime Component interface.

func (*Component) IsReady

func (c *Component) IsReady() bool

Reports the readiness of the component.

func (*Component) NamespacedName

func (c *Component) NamespacedName() apitypes.NamespacedName

Get the object key (namespace and name) of the component.

type ComponentList

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

ComponentList contains a list of Component.

func (*ComponentList) DeepCopy

func (in *ComponentList) DeepCopy() *ComponentList

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

func (*ComponentList) DeepCopyInto

func (in *ComponentList) DeepCopyInto(out *ComponentList)

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

func (*ComponentList) DeepCopyObject

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

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

type ComponentSpec

type ComponentSpec struct {
	component.PlacementSpec     `json:",inline"`
	component.ClientSpec        `json:",inline"`
	component.ImpersonationSpec `json:",inline"`
	component.RequeueSpec       `json:",inline"`
	component.RetrySpec         `json:",inline"`
	component.TimeoutSpec       `json:",inline"`
	component.PolicySpec        `json:",inline"`
	component.TypeSpec          `json:",inline"`
	component.ReapplySpec       `json:",inline"`
	// +required
	SourceRef    SourceReference                `json:"sourceRef"`
	Digest       string                         `json:"digest,omitempty"`
	Revision     string                         `json:"revision,omitempty"`
	Sticky       bool                           `json:"sticky,omitempty"`
	Path         string                         `json:"path,omitempty"`
	Values       *apiextensionsv1.JSON          `json:"values,omitempty"`
	ValuesFrom   []component.SecretKeyReference `json:"valuesFrom,omitempty" fallbackKeys:"values,values.yaml,values.yml" notFoundPolicy:"ignoreOnDeletion"`
	Decryption   *Decryption                    `json:"decryption,omitempty"`
	PostBuild    *PostBuild                     `json:"postBuild,omitempty"`
	Dependencies []Dependency                   `json:"dependencies,omitempty"`
}

ComponentSpec defines the desired state of Component.

func (*ComponentSpec) DeepCopy

func (in *ComponentSpec) DeepCopy() *ComponentSpec

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

func (*ComponentSpec) DeepCopyInto

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

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

func (*ComponentSpec) ToUnstructured

func (s *ComponentSpec) ToUnstructured() map[string]any

Implement the component-operator-runtime Component interface.

type ComponentStatus

type ComponentStatus struct {
	component.Status      `json:",inline"`
	SourceRef             *SourceReferenceStatus `json:"sourceRef,omitempty"`
	LastAttemptedDigest   string                 `json:"lastAttemptedDigest,omitempty"`
	LastAttemptedRevision string                 `json:"lastAttemptedRevision,omitempty"`
	LastAppliedDigest     string                 `json:"lastAppliedDigest,omitempty"`
	LastAppliedRevision   string                 `json:"lastAppliedRevision,omitempty"`
}

ComponentStatus defines the observed state of Component.

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type Decryption

type Decryption struct {
	// Decryption provider. Currently, the only supported value is 'sops', which is the default if the
	// field is omitted.
	Provider string `json:"provider,omitempty"`
	// Reference to a secret containing the provider configuration. The structure of the secret is the same
	// as the one used in flux Kustomization.
	SecretRef component.SecretReference `json:"secretRef" notFoundPolicy:"ignoreOnDeletion"`
}

Decryption settings.

func (*Decryption) DeepCopy

func (in *Decryption) DeepCopy() *Decryption

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

func (*Decryption) DeepCopyInto

func (in *Decryption) DeepCopyInto(out *Decryption)

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

type Dependency

type Dependency struct {
	NamespacedName `json:",inline"`
}

Dependency models a dependency of the containing component to another Component (referenced by namespace and name).

func (*Dependency) DeepCopy

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto

func (in *Dependency) DeepCopyInto(out *Dependency)

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

type FluxBucket

type FluxBucket struct {
	NamespacedName `json:",inline"`
}

Reference to a flux Bucket.

func (*FluxBucket) DeepCopy

func (in *FluxBucket) DeepCopy() *FluxBucket

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

func (*FluxBucket) DeepCopyInto

func (in *FluxBucket) DeepCopyInto(out *FluxBucket)

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

type FluxGitRepository

type FluxGitRepository struct {
	NamespacedName `json:",inline"`
}

Reference to a flux GitRepository.

func (*FluxGitRepository) DeepCopy

func (in *FluxGitRepository) DeepCopy() *FluxGitRepository

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

func (*FluxGitRepository) DeepCopyInto

func (in *FluxGitRepository) DeepCopyInto(out *FluxGitRepository)

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

type FluxHelmChart

type FluxHelmChart struct {
	NamespacedName `json:",inline"`
}

Reference to a flux HelmChart.

func (*FluxHelmChart) DeepCopy

func (in *FluxHelmChart) DeepCopy() *FluxHelmChart

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

func (*FluxHelmChart) DeepCopyInto

func (in *FluxHelmChart) DeepCopyInto(out *FluxHelmChart)

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

type FluxOciRepository

type FluxOciRepository struct {
	NamespacedName `json:",inline"`
}

Reference to a flux OCIRepository.

func (*FluxOciRepository) DeepCopy

func (in *FluxOciRepository) DeepCopy() *FluxOciRepository

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

func (*FluxOciRepository) DeepCopyInto

func (in *FluxOciRepository) DeepCopyInto(out *FluxOciRepository)

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

type HttpRepository added in v0.1.10

type HttpRepository struct {
	// URL of the source. Authentication is currently not supported. The operator will make HEAD requests to retrieve the digest/revision
	// and a potentially redirected actual location of the source artifact. Redirects will be followed as long as the response does not
	// contain the specified digest header.
	Url string `json:"url,omitempty"`
	// Name of the header containing the digest of the source artifact. The returned header value can be any format, but must uniquely identify the
	// content of the source artifact. Defaults to the ETag header.
	DigestHeader string `json:"digestHeader,omitempty"`
	// Name of the header containing the revision of the source artifact. The returned header value can be any format.
	// Defaults to the header specified in DigestHeader.
	RevisionHeader string `json:"revisionHeader,omitempty"`
}

Reference to a generic http repository.

func (*HttpRepository) DeepCopy added in v0.1.10

func (in *HttpRepository) DeepCopy() *HttpRepository

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

func (*HttpRepository) DeepCopyInto added in v0.1.10

func (in *HttpRepository) DeepCopyInto(out *HttpRepository)

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

type NamespacedName

type NamespacedName struct {
	Namespace string `json:"namespace,omitempty"`
	// +required
	Name string `json:"name"`
}

A tuple of namespace and name.

func (*NamespacedName) DeepCopy

func (in *NamespacedName) DeepCopy() *NamespacedName

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

func (*NamespacedName) DeepCopyInto

func (in *NamespacedName) DeepCopyInto(out *NamespacedName)

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

func (NamespacedName) String

func (n NamespacedName) String() string

Return a beautified string representation of the NamespacedName.

func (NamespacedName) WithDefaultNamespace

func (n NamespacedName) WithDefaultNamespace(namespace string) NamespacedName

Return a copy of the given NamespacedName, using the specified namespace if none is set. The retrieving NamespaceName remains unchanged.

type PostBuild

type PostBuild struct {
	// Variables to be substituted in the renderered manifests.
	Substitute map[string]string `json:"substitute,omitempty"`
	// Secrets containing variables to be used for substitution.
	SubstituteFrom []component.SecretReference `json:"substituteFrom,omitempty" notFoundPolicy:"ignoreOnDeletion"`
}

Post-build settings. The rendered manifests may contain patterns as defined by https://github.com/drone/envsubst. The according variables can provided inline by Substitute or as secrets by SubstituteFrom. If a variable name appears in more than one secret, then later values have precedence, and inline values have precedence over those defined through secrets.

func (*PostBuild) DeepCopy

func (in *PostBuild) DeepCopy() *PostBuild

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

func (*PostBuild) DeepCopyInto

func (in *PostBuild) DeepCopyInto(out *PostBuild)

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

type SourceReference

type SourceReference struct {
	HttpRepository    *HttpRepository    `json:"httpRepository,omitempty"`
	FluxGitRepository *FluxGitRepository `json:"fluxGitRepository,omitempty"`
	FluxOciRepository *FluxOciRepository `json:"fluxOciRepository,omitempty"`
	FluxBucket        *FluxBucket        `json:"fluxBucket,omitempty"`
	FluxHelmChart     *FluxHelmChart     `json:"fluxHelmChart,omitempty"`
	// contains filtered or unexported fields
}

SourceReference models the source of the templates used to render the dependent resources. Exactly one of the options must be provided. Before accessing the Artifact() method, the SourceReference must be loaded by calling Load().

func (*SourceReference) Artifact added in v0.1.25

func (r *SourceReference) Artifact() Artifact

Get the artifact of a loaded source reference. Calling Artifact() on a not-loaded source reference will panic.

func (*SourceReference) DeepCopy

func (in *SourceReference) DeepCopy() *SourceReference

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

func (*SourceReference) DeepCopyInto

func (in *SourceReference) DeepCopyInto(out *SourceReference)

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

func (*SourceReference) Digest added in v0.1.12

func (r *SourceReference) Digest() string

Implement the component.Reference interface.

func (*SourceReference) Equals

func (r *SourceReference) Equals(s *SourceReference) bool

Check if source reference equals other given source reference.

func (*SourceReference) Load added in v0.1.25

func (r *SourceReference) Load(ctx context.Context, clnt client.Client, component *Component) error

Implement the component.Reference interface.

type SourceReferenceStatus added in v0.1.25

type SourceReferenceStatus struct {
	Artifact Artifact `json:"artifact,omitempty"`
	Digest   string   `json:"digest,omitempty"`
}

func (*SourceReferenceStatus) DeepCopy added in v0.1.25

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

func (*SourceReferenceStatus) DeepCopyInto added in v0.1.25

func (in *SourceReferenceStatus) DeepCopyInto(out *SourceReferenceStatus)

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