v1alpha1

package
v0.0.0-...-911a6cd Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2022 License: Apache-2.0 Imports: 14 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the component v1alpha1 API group +kubebuilder:object:generate=true +groupName=component.kyma-project.io

Index

Constants

View Source
const ManifestKind = "Manifest"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "component.kyma-project.io", Version: "v1alpha1"}

	// GroupVersionResource is group version resource
	GroupVersionResource = GroupVersion.WithResource("manifests")

	// GroupVersionKind is group version kind
	GroupVersionKind = GroupVersion.WithKind("Manifest")

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

type Codec struct {
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=false

func NewCodec

func NewCodec() (*Codec, error)

func (*Codec) Decode

func (c *Codec) Decode(data []byte, obj interface{}, refType RefTypeMetadata) error

func (*Codec) Validate

func (c *Codec) Validate(data []byte, refType RefTypeMetadata) error

type CustomState

type CustomState struct {
	// APIVersion defines api version of the custom resource
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind defines the kind of the custom resource
	Kind string `json:"kind,omitempty"`

	// Name defines the name of the custom resource
	Name string `json:"name,omitempty"`

	// Namespace defines the namespace of the custom resource
	Namespace string `json:"namespace,omitempty"`

	// Namespace defines the desired state of the custom resource
	State string `json:"state,omitempty"`
}

func (*CustomState) DeepCopy

func (in *CustomState) DeepCopy() *CustomState

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

func (*CustomState) DeepCopyInto

func (in *CustomState) DeepCopyInto(out *CustomState)

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

type HelmChartSpec

type HelmChartSpec struct {
	// Url defines the helm repo URL
	Url string `json:"url,omitempty"`

	// ChartName defines the helm chart name
	ChartName string `json:"chartName,omitempty"`

	// Type defines the chart as "oci-ref"
	// +kubebuilder:validation:Enum=helm-chart;oci-ref
	Type RefTypeMetadata `json:"type"`
}

HelmChartSpec defines the specification for a helm chart

func (*HelmChartSpec) DeepCopy

func (in *HelmChartSpec) DeepCopy() *HelmChartSpec

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

func (*HelmChartSpec) DeepCopyInto

func (in *HelmChartSpec) DeepCopyInto(out *HelmChartSpec)

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

type ImageSpec

type ImageSpec struct {
	// Repo defines the Image repo
	Repo string `json:"repo,omitempty"`

	// Name defines the Image name
	Name string `json:"name,omitempty"`

	// Ref is either a sha value, tag or version
	Ref string `json:"ref,omitempty"`

	// Type defines the chart as "oci-ref"
	// +kubebuilder:validation:Enum=helm-chart;oci-ref
	Type RefTypeMetadata `json:"type"`
}

ImageSpec defines installation

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type InstallInfo

type InstallInfo struct {
	// Source can either be described as ImageSpec or HelmChartSpec
	//+kubebuilder:pruning:PreserveUnknownFields
	Source runtime.RawExtension `json:"source"`

	// Name specifies a unique install name for Manifest
	Name string `json:"name"`

	// OverrideSelector defines a label selector for external overrides
	OverrideSelector metav1.LabelSelector `json:"overrideSelector,omitempty"`
}

InstallInfo defines installation information

func (*InstallInfo) DeepCopy

func (in *InstallInfo) DeepCopy() *InstallInfo

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

func (*InstallInfo) DeepCopyInto

func (in *InstallInfo) DeepCopyInto(out *InstallInfo)

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

type InstallItem

type InstallItem struct {
	// ChartName defines the name for InstallItem
	ChartName string `json:"chartName,omitempty"`

	// ClientConfig defines the client config for InstallItem
	ClientConfig string `json:"clientConfig,omitempty"`

	// Overrides defines the overrides for InstallItem
	Overrides string `json:"overrides,omitempty"`
}

InstallItem describes install information

func (*InstallItem) DeepCopy

func (in *InstallItem) DeepCopy() *InstallItem

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

func (*InstallItem) DeepCopyInto

func (in *InstallItem) DeepCopyInto(out *InstallItem)

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

type Manifest

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

	Spec   ManifestSpec   `json:"spec,omitempty"`
	Status ManifestStatus `json:"status,omitempty"`
}

Manifest is the Schema for the manifests API

func (*Manifest) DeepCopy

func (in *Manifest) DeepCopy() *Manifest

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

func (*Manifest) DeepCopyInto

func (in *Manifest) DeepCopyInto(out *Manifest)

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

func (*Manifest) DeepCopyObject

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

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

func (*Manifest) Default

func (m *Manifest) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Manifest) SetObservedGeneration

func (m *Manifest) SetObservedGeneration() *Manifest

func (*Manifest) SetupWebhookWithManager

func (m *Manifest) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Manifest) ValidateCreate

func (m *Manifest) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Manifest) ValidateDelete

func (m *Manifest) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Manifest) ValidateUpdate

func (m *Manifest) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ManifestCondition

type ManifestCondition struct {
	//Type of ManifestCondition
	Type ManifestConditionType `json:"type"`

	// Status of the ManifestCondition.
	// Value can be one of ("True", "False", "Unknown").
	Status ManifestConditionStatus `json:"status"`

	// Human-readable message indicating details about the last status transition.
	// +optional
	Message string `json:"message,omitempty"`

	// Machine-readable text indicating the reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`

	// Timestamp for when Manifest last transitioned from one status to another.
	// +optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`

	// InstallInfo contains a list of installations for Manifest
	// +optional
	InstallInfo InstallItem `json:"installInfo,omitempty"`
}

ManifestCondition describes condition information for Manifest.

func (*ManifestCondition) DeepCopy

func (in *ManifestCondition) DeepCopy() *ManifestCondition

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

func (*ManifestCondition) DeepCopyInto

func (in *ManifestCondition) DeepCopyInto(out *ManifestCondition)

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

type ManifestConditionStatus

type ManifestConditionStatus string
const (
	// ConditionStatusTrue signifies ManifestConditionStatus true
	ConditionStatusTrue ManifestConditionStatus = "True"

	// ConditionStatusFalse signifies ManifestConditionStatus false
	ConditionStatusFalse ManifestConditionStatus = "False"

	// ConditionStatusUnknown signifies ManifestConditionStatus unknown
	ConditionStatusUnknown ManifestConditionStatus = "Unknown"
)

Valid ManifestCondition Status

type ManifestConditionType

type ManifestConditionType string
const (
	// ConditionTypeReady represents ManifestConditionType Ready
	ConditionTypeReady ManifestConditionType = "Ready"
)

type ManifestList

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

ManifestList contains a list of Manifest

func (*ManifestList) DeepCopy

func (in *ManifestList) DeepCopy() *ManifestList

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

func (*ManifestList) DeepCopyInto

func (in *ManifestList) DeepCopyInto(out *ManifestList)

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

func (*ManifestList) DeepCopyObject

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

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

type ManifestSpec

type ManifestSpec struct {
	// DefaultConfig specifies OCI image configuration for Manifest
	// +optional
	DefaultConfig ImageSpec `json:"defaultConfig,omitempty"`

	// Installs specifies a list of installations for Manifest
	Installs []InstallInfo `json:"installs,omitempty"`

	// CustomStates specifies a list of resources with their desires states for Manifest
	// +optional
	CustomStates []CustomState `json:"customStates,omitempty"`

	// Sync specifies the sync strategy for Manifest
	// +optional
	Sync Sync `json:"sync,omitempty"`
}

ManifestSpec defines the specification of Manifest

func (*ManifestSpec) DeepCopy

func (in *ManifestSpec) DeepCopy() *ManifestSpec

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

func (*ManifestSpec) DeepCopyInto

func (in *ManifestSpec) DeepCopyInto(out *ManifestSpec)

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

type ManifestState

type ManifestState string

+kubebuilder:validation:Enum=Processing;Deleting;Ready;Error

const (
	// ManifestStateReady signifies Manifest is ready
	ManifestStateReady ManifestState = "Ready"

	// ManifestStateProcessing signifies Manifest is reconciling
	ManifestStateProcessing ManifestState = "Processing"

	// ManifestStateError signifies an error for Manifest
	ManifestStateError ManifestState = "Error"

	// ManifestStateDeleting signifies Manifest is being deleted
	ManifestStateDeleting ManifestState = "Deleting"
)

Valid Helm States

type ManifestStatus

type ManifestStatus struct {
	State ManifestState `json:"state,omitempty"`

	// List of status conditions to indicate the status of Manifest.
	// +optional
	Conditions []ManifestCondition `json:"conditions,omitempty"`

	// Observed generation
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

ManifestStatus defines the observed state of Manifest

func (*ManifestStatus) DeepCopy

func (in *ManifestStatus) DeepCopy() *ManifestStatus

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

func (*ManifestStatus) DeepCopyInto

func (in *ManifestStatus) DeepCopyInto(out *ManifestStatus)

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

type RefTypeMetadata

type RefTypeMetadata string
const (
	HelmChartType RefTypeMetadata = "helm-chart"
	OciRefType    RefTypeMetadata = "oci-ref"
)

func GetSpecType

func GetSpecType(data []byte) (RefTypeMetadata, error)

type Sync

type Sync struct {
	// +kubebuilder:default:=false
	// Enabled set to true will look up a kubeconfig for the remote cluster based on the strategy
	// and synchronize its state there.
	Enabled bool `json:"enabled,omitempty"`

	// Strategy determines the way to lookup the remotely synced kubeconfig, by default it is fetched from a secret
	Strategy SyncStrategy `json:"strategy,omitempty"`

	// The target namespace, if empty the namespace is reflected from the control plane
	// Note that cleanup is currently not supported if you are switching the namespace, so you will
	// manually need to cleanup old synchronized Manifests
	Namespace string `json:"namespace,omitempty"`
}

Sync defines settings used to apply the manifest synchronization to other clusters

func (*Sync) DeepCopy

func (in *Sync) DeepCopy() *Sync

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

func (*Sync) DeepCopyInto

func (in *Sync) DeepCopyInto(out *Sync)

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

type SyncStrategy

type SyncStrategy string
const (
	SyncStrategyRemoteSecret SyncStrategy = "remote-secret"
	SyncStrategyLocalSecret  SyncStrategy = "local-secret"
)

Jump to

Keyboard shortcuts

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