Documentation
¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the core v1alpha2 API group +kubebuilder:object:generate=true +groupName=core.rukpak.io
Index ¶
Constants ¶
const ( SourceTypeImage SourceType = "image" SourceTypeGit SourceType = "git" SourceTypeConfigMaps SourceType = "configMaps" SourceTypeHTTP SourceType = "http" TypeUnpacked = "Unpacked" ReasonUnpackPending = "UnpackPending" ReasonUnpacking = "Unpacking" ReasonUnpackSuccessful = "UnpackSuccessful" ReasonUnpackFailed = "UnpackFailed" ReasonProcessingFinalizerFailed = "ProcessingFinalizerFailed" PhasePending = "Pending" PhaseUnpacking = "Unpacking" PhaseFailing = "Failing" PhaseUnpacked = "Unpacked" )
const ( TypeHasValidBundle = "HasValidBundle" TypeHealthy = "Healthy" TypeInstalled = "Installed" ReasonBundleLoadFailed = "BundleLoadFailed" ReasonCreateDynamicWatchFailed = "CreateDynamicWatchFailed" ReasonErrorGettingClient = "ErrorGettingClient" ReasonErrorGettingReleaseState = "ErrorGettingReleaseState" ReasonHealthy = "Healthy" ReasonInstallationStatusFalse = "InstallationStatusFalse" ReasonInstallationStatusUnknown = "InstallationStatusUnknown" ReasonInstallationSucceeded = "InstallationSucceeded" ReasonInstallFailed = "InstallFailed" ReasonObjectLookupFailure = "ObjectLookupFailure" ReasonReadingContentFailed = "ReadingContentFailed" ReasonReconcileFailed = "ReconcileFailed" ReasonUnhealthy = "Unhealthy" ReasonUpgradeFailed = "UpgradeFailed" )
Variables ¶
var ( BundleDeploymentGVK = SchemeBuilder.GroupVersion.WithKind("BundleDeployment") BundleDeploymentKind = BundleDeploymentGVK.Kind )
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "core.rukpak.io", Version: "v1alpha2"} // 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 Authorization ¶
type Authorization struct {
// Secret contains reference to the secret that has authorization information and is in the namespace that the provisioner is deployed.
// The secret is expected to contain `data.username` and `data.password` for the username and password, respectively for http(s) scheme.
// Refer to https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret
// For the ssh authorization of the GitSource, the secret is expected to contain `data.ssh-privatekey` and `data.ssh-knownhosts` for the ssh privatekey and the host entry in the known_hosts file respectively.
// Refer to https://kubernetes.io/docs/concepts/configuration/secret/#ssh-authentication-secrets
Secret corev1.LocalObjectReference `json:"secret,omitempty"`
// InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name. If InsecureSkipVerify
// is true, the clone operation will accept any certificate presented by the server and any host name in that
// certificate. In this mode, TLS is susceptible to machine-in-the-middle attacks unless custom verification is
// used. This should be used only for testing.
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}
func (*Authorization) DeepCopy ¶
func (in *Authorization) DeepCopy() *Authorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authorization.
func (*Authorization) DeepCopyInto ¶
func (in *Authorization) DeepCopyInto(out *Authorization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleDeployment ¶
type BundleDeployment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BundleDeploymentSpec `json:"spec"`
Status BundleDeploymentStatus `json:"status,omitempty"`
}
BundleDeployment is the Schema for the bundledeployments API
func (*BundleDeployment) DeepCopy ¶
func (in *BundleDeployment) DeepCopy() *BundleDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleDeployment.
func (*BundleDeployment) DeepCopyInto ¶
func (in *BundleDeployment) DeepCopyInto(out *BundleDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BundleDeployment) DeepCopyObject ¶
func (in *BundleDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BundleDeployment) ProvisionerClassName ¶
func (b *BundleDeployment) ProvisionerClassName() string
type BundleDeploymentList ¶
type BundleDeploymentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BundleDeployment `json:"items"`
}
BundleDeploymentList contains a list of BundleDeployment
func (*BundleDeploymentList) DeepCopy ¶
func (in *BundleDeploymentList) DeepCopy() *BundleDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleDeploymentList.
func (*BundleDeploymentList) DeepCopyInto ¶
func (in *BundleDeploymentList) DeepCopyInto(out *BundleDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BundleDeploymentList) DeepCopyObject ¶
func (in *BundleDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BundleDeploymentSpec ¶
type BundleDeploymentSpec struct {
//+kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
//+kubebuilder:validation:MaxLength:=63
//
// installNamespace is the namespace where the bundle should be installed. However, note that
// the bundle may contain resources that are cluster-scoped or that are
// installed in a different namespace. This namespace is expected to exist.
InstallNamespace string `json:"installNamespace"`
//+kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
//
// provisionerClassName sets the name of the provisioner that should reconcile this BundleDeployment.
ProvisionerClassName string `json:"provisionerClassName"`
// source defines the configuration for the underlying Bundle content.
Source BundleSource `json:"source"`
//+kubebuilder:pruning:PreserveUnknownFields
//
// config is provisioner specific configurations
Config runtime.RawExtension `json:"config,omitempty"`
}
BundleDeploymentSpec defines the desired state of BundleDeployment
func (*BundleDeploymentSpec) DeepCopy ¶
func (in *BundleDeploymentSpec) DeepCopy() *BundleDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleDeploymentSpec.
func (*BundleDeploymentSpec) DeepCopyInto ¶
func (in *BundleDeploymentSpec) DeepCopyInto(out *BundleDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleDeploymentStatus ¶
type BundleDeploymentStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
ResolvedSource *BundleSource `json:"resolvedSource,omitempty"`
ContentURL string `json:"contentURL,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
BundleDeploymentStatus defines the observed state of BundleDeployment
func (*BundleDeploymentStatus) DeepCopy ¶
func (in *BundleDeploymentStatus) DeepCopy() *BundleDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleDeploymentStatus.
func (*BundleDeploymentStatus) DeepCopyInto ¶
func (in *BundleDeploymentStatus) DeepCopyInto(out *BundleDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleSource ¶
type BundleSource struct {
// Type defines the kind of Bundle content being sourced.
Type SourceType `json:"type"`
// Image is the bundle image that backs the content of this bundle.
Image *ImageSource `json:"image,omitempty"`
// Git is the git repository that backs the content of this Bundle.
Git *GitSource `json:"git,omitempty"`
// ConfigMaps is a list of config map references and their relative
// directory paths that represent a bundle filesystem.
ConfigMaps []ConfigMapSource `json:"configMaps,omitempty"`
// HTTP is the remote location that backs the content of this Bundle.
HTTP *HTTPSource `json:"http,omitempty"`
}
func (*BundleSource) DeepCopy ¶
func (in *BundleSource) DeepCopy() *BundleSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleSource.
func (*BundleSource) DeepCopyInto ¶
func (in *BundleSource) DeepCopyInto(out *BundleSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapSource ¶
type ConfigMapSource struct {
// ConfigMap is a reference to a configmap in the rukpak system namespace
ConfigMap corev1.LocalObjectReference `json:"configMap"`
// Path is the relative directory path within the bundle where the files
// from the configmap will be present when the bundle is unpacked.
Path string `json:"path,omitempty"`
}
func (*ConfigMapSource) DeepCopy ¶
func (in *ConfigMapSource) DeepCopy() *ConfigMapSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapSource.
func (*ConfigMapSource) DeepCopyInto ¶
func (in *ConfigMapSource) DeepCopyInto(out *ConfigMapSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRef ¶
type GitRef struct {
// Branch refers to the branch to checkout from the repository.
// The Branch should contain the bundle manifests in the specified directory.
Branch string `json:"branch,omitempty"`
// Tag refers to the tag to checkout from the repository.
// The Tag should contain the bundle manifests in the specified directory.
Tag string `json:"tag,omitempty"`
// Commit refers to the commit to checkout from the repository.
// The Commit should contain the bundle manifests in the specified directory.
Commit string `json:"commit,omitempty"`
}
func (*GitRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRef.
func (*GitRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitSource ¶
type GitSource struct {
// Repository is a URL link to the git repository containing the bundle.
// Repository is required and the URL should be parsable by a standard git tool.
Repository string `json:"repository"`
// Directory refers to the location of the bundle within the git repository.
// Directory is optional and if not set defaults to ./manifests.
Directory string `json:"directory,omitempty"`
// Ref configures the git source to clone a specific branch, tag, or commit
// from the specified repo. Ref is required, and exactly one field within Ref
// is required. Setting more than one field or zero fields will result in an
// error.
Ref GitRef `json:"ref"`
// Auth configures the authorization method if necessary.
Auth Authorization `json:"auth,omitempty"`
}
func (*GitSource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSource.
func (*GitSource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPSource ¶
type HTTPSource struct {
// URL is where the bundle contents is.
URL string `json:"url"`
// Auth configures the authorization method if necessary.
Auth Authorization `json:"auth,omitempty"`
}
func (*HTTPSource) DeepCopy ¶
func (in *HTTPSource) DeepCopy() *HTTPSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSource.
func (*HTTPSource) DeepCopyInto ¶
func (in *HTTPSource) DeepCopyInto(out *HTTPSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSource ¶
type ImageSource struct {
// Ref contains the reference to a container image containing Bundle contents.
Ref string `json:"ref"`
// ImagePullSecretName contains the name of the image pull secret in the namespace that the provisioner is deployed.
ImagePullSecretName string `json:"pullSecret,omitempty"`
// InsecureSkipTLSVerify indicates that TLS certificate validation should be skipped.
// If this option is specified, the HTTPS protocol will still be used to
// fetch the specified image reference.
// This should not be used in a production environment.
// +optional
InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty"`
}
func (*ImageSource) DeepCopy ¶
func (in *ImageSource) DeepCopy() *ImageSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSource.
func (*ImageSource) DeepCopyInto ¶
func (in *ImageSource) DeepCopyInto(out *ImageSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisionerID ¶
type ProvisionerID string
type SourceType ¶
type SourceType string