v1alpha1

package
v0.9.8 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the delivery v1alpha1 API group +kubebuilder:object:generate=true +groupName=delivery.crd-bootstrap

Index

Constants

View Source
const (
	// Helm security access keys.
	UsernameKey         = "username"
	PasswordKey         = "password"
	DockerJSONConfigKey = ".dockerconfigjson"
)
View Source
const (
	BootstrapOwnerLabelKey = "delivery.crd-bootstrap.owned"
)
View Source
const (
	LogLevelDebug = 4
)

Variables

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

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

	Spec   BootstrapSpec   `json:"spec,omitempty"`
	Status BootstrapStatus `json:"status,omitempty"`
}

Bootstrap is the Schema for the bootstraps API.

func (*Bootstrap) DeepCopy

func (in *Bootstrap) DeepCopy() *Bootstrap

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

func (*Bootstrap) DeepCopyInto

func (in *Bootstrap) DeepCopyInto(out *Bootstrap)

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

func (*Bootstrap) DeepCopyObject

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

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

func (*Bootstrap) GetConditions

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

GetConditions returns the conditions of the ComponentVersion.

func (*Bootstrap) GetRequeueAfter

func (in *Bootstrap) GetRequeueAfter() time.Duration

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

func (*Bootstrap) SetConditions

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

SetConditions sets the conditions of the ComponentVersion.

type BootstrapList

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

BootstrapList contains a list of Bootstrap.

func (*BootstrapList) DeepCopy

func (in *BootstrapList) DeepCopy() *BootstrapList

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

func (*BootstrapList) DeepCopyInto

func (in *BootstrapList) DeepCopyInto(out *BootstrapList)

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

func (*BootstrapList) DeepCopyObject

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

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

type BootstrapSpec

type BootstrapSpec struct {
	// Interval defines the regular interval at which a poll for new version should happen.
	// +optional
	Interval metav1.Duration `json:"interval,omitempty"`

	// Source defines a reference to a source which will provide a CRD based on some contract.
	// +required
	Source *Source `json:"source"`

	// Version defines constraints for sources to check against. It can either be a semver constraint or a Digest
	// in case of URLs. If a digest is defined, URL sync will ONLY SYNC that digest. If the digest
	// differs, it will NOT install it.
	// +optional
	Version Version `json:"version,omitempty"`

	// Template defines a set of values to test a new version against.
	// +optional
	Template map[string]*apiextensionsv1.JSON `json:"template,omitempty"`

	// ContinueOnValidationError will still apply a CRD even if the validation failed for it.
	// +optional
	ContinueOnValidationError bool `json:"continueOnValidationError,omitempty"`

	// Prune will clean up all applied objects once the Bootstrap object is removed.
	// +optional
	Prune bool `json:"prune,omitempty"`

	// KubeConfig defines a kubeconfig that could be used to access another cluster and apply a CRD there.
	// +optional
	KubeConfig *KubeConfig `json:"kubeConfig,omitempty"`
}

BootstrapSpec defines the desired state of Bootstrap.

func (*BootstrapSpec) DeepCopy

func (in *BootstrapSpec) DeepCopy() *BootstrapSpec

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

func (*BootstrapSpec) DeepCopyInto

func (in *BootstrapSpec) DeepCopyInto(out *BootstrapSpec)

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

type BootstrapStatus

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

	// Conditions contains the conditions of this object.
	// +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"`

	// LastAppliedCRDNames contains the names of the last applied CRDs and the number of times they were applied.
	// +optional
	LastAppliedCRDNames map[string]int `json:"lastAppliedCRDNames,omitempty"`

	// LastAttemptedRevision contains the version or the digest that was tried to be applied and was either successful or failed.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// LastAppliedRevision version is the version or the digest that was successfully applied.
	// +optional
	LastAppliedRevision string `json:"lastAppliedRevision,omitempty"`
}

BootstrapStatus defines the observed state of Bootstrap.

func (*BootstrapStatus) DeepCopy

func (in *BootstrapStatus) DeepCopy() *BootstrapStatus

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

func (*BootstrapStatus) DeepCopyInto

func (in *BootstrapStatus) DeepCopyInto(out *BootstrapStatus)

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

type ConfigMap

type ConfigMap struct {
	// Name of the config map.
	// +required
	Name string `json:"name"`
	// Namespace of the config map.
	// +required
	Namespace string `json:"namespace"`
}

ConfigMap defines a reference to a configmap which hold the CRD information. Version is taken from a version field.

func (*ConfigMap) DeepCopy

func (in *ConfigMap) DeepCopy() *ConfigMap

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

func (*ConfigMap) DeepCopyInto

func (in *ConfigMap) DeepCopyInto(out *ConfigMap)

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

type GitHub

type GitHub struct {
	// BaseURL is used for the GitHub url. Defaults to github.com if not defined.
	// +optional
	BaseURL string `json:"baseURL,omitempty"`
	// BaseAPIURL is used for the GitHub API url. Defaults to api.github.com if not defined.
	// +optional
	BaseAPIURL string `json:"baseAPIURL,omitempty"`

	// Owner defines the owner of the repository.
	// +required
	Owner string `json:"owner"`

	// Repo defines the name of the repository.
	// +required
	Repo string `json:"repo"`

	// SecretRef contains a pointed to a Token in case the repository is private.
	// +optional
	SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"`
	// Manifest defines the name of the manifest that contains the CRD definitions on the GitHub release page.
	// +required
	Manifest string `json:"manifest"`
}

GitHub defines a GitHub type source where the CRD is coming from `release` section of a GitHub repository.

func (*GitHub) DeepCopy

func (in *GitHub) DeepCopy() *GitHub

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

func (*GitHub) DeepCopyInto

func (in *GitHub) DeepCopyInto(out *GitHub)

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

type GitLab added in v0.6.0

type GitLab struct {
	// BaseAPIURL is used for the GitLab API url. Defaults to api.github.com if not defined.
	// +optional
	BaseAPIURL string `json:"baseAPIURL,omitempty"`

	// Owner defines the owner of the repository. Otherwise, known as Namespace.
	// +required
	Owner string `json:"owner"`

	// Repo defines the name of the repository.
	// +required
	Repo string `json:"repo"`

	// SecretRef contains a pointed to a Token in case the repository is private.
	// +optional
	SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"`
	// Manifest defines the name of the manifest that contains the CRD definitions on the GitLab release page.
	// +required
	Manifest string `json:"manifest"`
}

GitLab defines a GitLab type source where the CRD is coming from `release` section of a GitLab repository. https://docs.gitlab.com/ee/api/releases/index.html

func (*GitLab) DeepCopy added in v0.6.0

func (in *GitLab) DeepCopy() *GitLab

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

func (*GitLab) DeepCopyInto added in v0.6.0

func (in *GitLab) DeepCopyInto(out *GitLab)

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

type Helm added in v0.5.0

type Helm struct {
	// ChartReference is the location of the helm chart.
	// The scheme must be either HTTP or OCI.
	// [chart URL | repo/chartname]
	// +required
	ChartReference string `json:"chartReference"`
	// ChartName defines the name of the chart to fetch from the reference URL.
	// +required
	ChartName string `json:"chartName"`
	// Insecure defines
	// SecretRef contains a pointer to a secret that contains any needed credentials to access the helm repository.
	// +optional
	SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"`
}

Helm defines a Helm type source where the CRD is coming from a helm release with a version.

func (*Helm) DeepCopy added in v0.5.0

func (in *Helm) DeepCopy() *Helm

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

func (*Helm) DeepCopyInto added in v0.5.0

func (in *Helm) DeepCopyInto(out *Helm)

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

type KubeConfig added in v0.9.0

type KubeConfig struct {
	// ServiceAccount defines any custom service accounts to use in order to
	// apply crds in a remote cluster.
	ServiceAccount string `json:"serviceAccount,omitempty"`
	// SecretRef defines a secret with the key in which the kubeconfig is in.
	// +optional
	SecretRef *meta.KubeConfigReference `json:"secretRef,omitempty"`
}

KubeConfig defines as way to access a remote cluster.

func (*KubeConfig) DeepCopy added in v0.9.0

func (in *KubeConfig) DeepCopy() *KubeConfig

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

func (*KubeConfig) DeepCopyInto added in v0.9.0

func (in *KubeConfig) DeepCopyInto(out *KubeConfig)

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

type Source

type Source struct {
	// GitHub type source.
	// +optional
	GitHub *GitHub `json:"github,omitempty"`
	// GitLab type source.
	// +optional
	GitLab *GitLab `json:"gitlab,omitempty"`
	// Helm type source.
	// +optional
	Helm *Helm `json:"helm,omitempty"`
	// ConfigMap type source.
	// +optional
	ConfigMap *ConfigMap `json:"configMap,omitempty"`
	// URL type source.
	// +optional
	URL *URL `json:"url,omitempty"`
}

Source defines options from where to fetch CRD content.

func (*Source) DeepCopy

func (in *Source) DeepCopy() *Source

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

func (*Source) DeepCopyInto

func (in *Source) DeepCopyInto(out *Source)

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

type URL

type URL struct {
	// URL defines the URL from which do download the YAML content from.
	// +required
	URL string `json:"url"`
	// SecretRef contains a pointed to a Token in case the URL isn't public.
	// +optional
	SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"`
}

URL holds a URL from which to fetch the CRD. Version is defined through the digest of the content.

func (*URL) DeepCopy

func (in *URL) DeepCopy() *URL

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

func (*URL) DeepCopyInto

func (in *URL) DeepCopyInto(out *URL)

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

type Version

type Version struct {
	// Semver defines a possible constraint like `>=v1`.
	// +optional
	Semver string `json:"semver,omitempty"`

	// Digest defines the digest of the content pointing to a URL.
	// +optional
	Digest string `json:"digest,omitempty"`
}

Version defines options to look at when trying to determine what version is allowed to be fetched / applied.

func (*Version) DeepCopy

func (in *Version) DeepCopy() *Version

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

func (*Version) DeepCopyInto

func (in *Version) DeepCopyInto(out *Version)

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