Documentation ¶
Overview ¶
+groupName=apps.kubermatic.k8c.io +versionName=v1 +kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type ApplicationConstraints
- type ApplicationDefinition
- type ApplicationDefinitionList
- type ApplicationDefinitionSpec
- type ApplicationInstallation
- type ApplicationInstallationCondition
- type ApplicationInstallationConditionType
- type ApplicationInstallationList
- type ApplicationInstallationSpec
- type ApplicationInstallationStatus
- type ApplicationRef
- type ApplicationSource
- type ApplicationTemplate
- type ApplicationVersion
- type FormField
- type FormFieldType
- type GitAuthMethod
- type GitCredentials
- type GitSource
- type GlobalSecretKeySelector
- type HelmCredentials
- type HelmSource
- type TemplateMethod
- type Version
- type VersionConstraints
Constants ¶
const GroupName = "apps.kubermatic.k8c.io"
GroupName is the group name use in this package.
const GroupVersion = "v1"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type ApplicationConstraints ¶
type ApplicationConstraints struct { // Version of K8s version that a user cluster must satisfy for the application to be installed. // Wildcards are allowed e.g. "1.18.*" // Range are allowed e.g." >= 1.19.0, < 1.19.15" K8sVersion VersionConstraints `json:"k8sVersion,omitempty"` // Version of KKP version that a user cluster must satisfy for the application to be installed. // Wildcards are allowed e.g. "2.18.*" // Range are allowed e.g.">= 2.16, < 2.18.0" KKPVersion VersionConstraints `json:"kkpVersion,omitempty"` }
func (*ApplicationConstraints) DeepCopy ¶
func (in *ApplicationConstraints) DeepCopy() *ApplicationConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConstraints.
func (*ApplicationConstraints) DeepCopyInto ¶
func (in *ApplicationConstraints) DeepCopyInto(out *ApplicationConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationDefinition ¶
type ApplicationDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationDefinitionSpec `json:"spec,omitempty"` }
ApplicationDefinition is the Schema for the applicationdefinitions API.
func (*ApplicationDefinition) DeepCopy ¶
func (in *ApplicationDefinition) DeepCopy() *ApplicationDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationDefinition.
func (*ApplicationDefinition) DeepCopyInto ¶
func (in *ApplicationDefinition) DeepCopyInto(out *ApplicationDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationDefinition) DeepCopyObject ¶
func (in *ApplicationDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationDefinitionList ¶
type ApplicationDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationDefinition `json:"items"` }
ApplicationDefinitionList contains a list of ApplicationDefinition.
func (*ApplicationDefinitionList) DeepCopy ¶
func (in *ApplicationDefinitionList) DeepCopy() *ApplicationDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationDefinitionList.
func (*ApplicationDefinitionList) DeepCopyInto ¶
func (in *ApplicationDefinitionList) DeepCopyInto(out *ApplicationDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationDefinitionList) DeepCopyObject ¶
func (in *ApplicationDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationDefinitionSpec ¶
type ApplicationDefinitionSpec struct { // Description of the application. what is its purpose Description string `json:"description"` // available version for this application Versions []ApplicationVersion `json:"versions"` }
ApplicationDefinitionSpec defines the desired state of ApplicationDefinition.
func (*ApplicationDefinitionSpec) DeepCopy ¶
func (in *ApplicationDefinitionSpec) DeepCopy() *ApplicationDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationDefinitionSpec.
func (*ApplicationDefinitionSpec) DeepCopyInto ¶
func (in *ApplicationDefinitionSpec) DeepCopyInto(out *ApplicationDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationInstallation ¶
type ApplicationInstallation struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationInstallationSpec `json:"spec,omitempty"` Status ApplicationInstallationStatus `json:"status,omitempty"` }
ApplicationInstallation describes a single installation of an Application.
func (*ApplicationInstallation) DeepCopy ¶
func (in *ApplicationInstallation) DeepCopy() *ApplicationInstallation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationInstallation.
func (*ApplicationInstallation) DeepCopyInto ¶
func (in *ApplicationInstallation) DeepCopyInto(out *ApplicationInstallation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationInstallation) DeepCopyObject ¶
func (in *ApplicationInstallation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationInstallationCondition ¶
type ApplicationInstallationCondition struct { // Type of cluster condition. Type ApplicationInstallationConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // (brief) reason for the condition's last transition. Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. Message string `json:"message,omitempty"` }
func (*ApplicationInstallationCondition) DeepCopy ¶
func (in *ApplicationInstallationCondition) DeepCopy() *ApplicationInstallationCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationInstallationCondition.
func (*ApplicationInstallationCondition) DeepCopyInto ¶
func (in *ApplicationInstallationCondition) DeepCopyInto(out *ApplicationInstallationCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationInstallationConditionType ¶
type ApplicationInstallationConditionType string
+kubebuilder:validation:Enum=ManifestsRetrieved;ManifestsApplied;Ready
const ( // ManifestsRetrieved indicates all necessary manifests have been fetched from the external source. ManifestsRetrieved ApplicationInstallationConditionType = "ManifestsRetrieved" // ManifestsApplied indicates that all manifests have been applied in the target user-cluster. ManifestsApplied ApplicationInstallationConditionType = "ManifestsApplied" // Ready describes all components have been successfully rolled out and are ready. Ready ApplicationInstallationConditionType = "Ready" )
type ApplicationInstallationList ¶
type ApplicationInstallationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationInstallation `json:"items"` }
ApplicationInstallationList is a list of ApplicationInstallations.
func (*ApplicationInstallationList) DeepCopy ¶
func (in *ApplicationInstallationList) DeepCopy() *ApplicationInstallationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationInstallationList.
func (*ApplicationInstallationList) DeepCopyInto ¶
func (in *ApplicationInstallationList) DeepCopyInto(out *ApplicationInstallationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationInstallationList) DeepCopyObject ¶
func (in *ApplicationInstallationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationInstallationSpec ¶
type ApplicationInstallationSpec struct { // TargetNamespace is the namespace to deploy the Application into TargetNamespace string `json:"targetNamespace"` // +kubebuilder:default:=true // CreateNamespace defines whether the namespace should be created if it does not exist. Defaults to true CreateNamespace bool `json:"createNamespace"` // ApplicationRef is a reference to identify which Application should be deployed ApplicationRef ApplicationRef `json:"applicationRef"` // Values describe overrides for manifest-rendering Values json.RawMessage `json:"values,omitempty"` }
func (*ApplicationInstallationSpec) DeepCopy ¶
func (in *ApplicationInstallationSpec) DeepCopy() *ApplicationInstallationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationInstallationSpec.
func (*ApplicationInstallationSpec) DeepCopyInto ¶
func (in *ApplicationInstallationSpec) DeepCopyInto(out *ApplicationInstallationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationInstallationStatus ¶
type ApplicationInstallationStatus struct { LastUpdated metav1.Time `json:"lastUpdated,omitempty"` // Conditions contains conditions an installation is in, its primary use case is status signaling between controllers or between controllers and the API Conditions []ApplicationInstallationCondition `json:"conditions,omitempty"` }
ApplicationInstallationStatus denotes status information about an ApplicationInstallation.
func (*ApplicationInstallationStatus) DeepCopy ¶
func (in *ApplicationInstallationStatus) DeepCopy() *ApplicationInstallationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationInstallationStatus.
func (*ApplicationInstallationStatus) DeepCopyInto ¶
func (in *ApplicationInstallationStatus) DeepCopyInto(out *ApplicationInstallationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationRef ¶
type ApplicationRef struct { // Name of the Application Name string `json:"name"` // Version of the Application. Must be a valid SemVer version Version Version `json:"version"` }
ApplicationRef describes a KKP-wide, unique reference to an Application.
func (*ApplicationRef) DeepCopy ¶
func (in *ApplicationRef) DeepCopy() *ApplicationRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationRef.
func (*ApplicationRef) DeepCopyInto ¶
func (in *ApplicationRef) DeepCopyInto(out *ApplicationRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSource ¶
type ApplicationSource struct { // Get application to install from a Helm repository Helm *HelmSource `json:"helm,omitempty"` // Get application to install form a Git repository Git *GitSource `json:"git,omitempty"` }
func (*ApplicationSource) DeepCopy ¶
func (in *ApplicationSource) DeepCopy() *ApplicationSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSource.
func (*ApplicationSource) DeepCopyInto ¶
func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationTemplate ¶
type ApplicationTemplate struct { // Defined how the source of the application (e.g Helm chart) are retrieved Source ApplicationSource `json:"source"` // Method used to install the application Method TemplateMethod `json:"method"` // Define the valued that can be override for the installation FormSpec []FormField `json:"formSpec,omitempty"` }
func (*ApplicationTemplate) DeepCopy ¶
func (in *ApplicationTemplate) DeepCopy() *ApplicationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationTemplate.
func (*ApplicationTemplate) DeepCopyInto ¶
func (in *ApplicationTemplate) DeepCopyInto(out *ApplicationTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationVersion ¶
type ApplicationVersion struct { // Version of the application (eg v1.2.3) Version string `json:"version"` // Constraints defined criteria that a user cluster must satisfy for the application to be installed Constraints ApplicationConstraints `json:"constraints,omitempty"` // Template defines how application is installed (source provenance, Method...) Template ApplicationTemplate `json:"template"` }
func (*ApplicationVersion) DeepCopy ¶
func (in *ApplicationVersion) DeepCopy() *ApplicationVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationVersion.
func (*ApplicationVersion) DeepCopyInto ¶
func (in *ApplicationVersion) DeepCopyInto(out *ApplicationVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FormField ¶
type FormField struct { // Type of displayed control Type FormFieldType `json:"type"` // DisplayName is visible in the UI DisplayName string `json:"displayName"` // InternalName is used internally to save in the ApplicationInstallation object InternalName string `json:"internalName"` // HelpText is visible in the UI next to the filed HelpText string `json:"helpText,omitempty"` // Required indicates if the control has to be set Required bool `json:"required,omitempty"` }
func (*FormField) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FormField.
func (*FormField) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FormFieldType ¶
type FormFieldType string
+kubebuilder:validation:Enum=number;boolean;text;text-area
const ( FormFieldTypeNumber FormFieldType = "number" FormFieldTypeBoolean FormFieldType = "boolean" FormFieldTypeText FormFieldType = "text" FormFieldTypeTextArea FormFieldType = "text-area" )
type GitAuthMethod ¶
type GitAuthMethod string
+kubebuilder:validation:Enum=password;token;ssh-key
const ( GitAuthMethodPassword GitAuthMethod = "password" GitAuthMethodToken GitAuthMethod = "token" GitAuthMethodSSHKey GitAuthMethod = "ssh-key" )
type GitCredentials ¶
type GitCredentials struct { // Authentication method Method GitAuthMethod `json:"method"` // Username holds the ref and key in the secret for the username credential Username *GlobalSecretKeySelector `json:"username,omitempty"` // Password holds the ref and key in the secret for the Password credential Password *GlobalSecretKeySelector `json:"password,omitempty"` // Token holds the ref and key in the secret for the token credential Token *GlobalSecretKeySelector `json:"token,omitempty"` // SSHKey holds the ref and key in the secret for the SshKey credential SSHKey *GlobalSecretKeySelector `json:"sshKey,omitempty"` }
func (*GitCredentials) DeepCopy ¶
func (in *GitCredentials) DeepCopy() *GitCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCredentials.
func (*GitCredentials) DeepCopyInto ¶
func (in *GitCredentials) DeepCopyInto(out *GitCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitSource ¶
type GitSource struct { // URL to the repository (e.g. git://host.xz[:port]/path/to/repo.git/) Remote string `json:"remote"` // Git reference to check out: can be a branch, tag, or sha1 Ref string `json:"ref"` // Path of the "source" in the repository. default is repository root Path string `json:"path,omitempty"` // Credentials holds the git credentials Credentials *GitCredentials `json:"credentials,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 GlobalSecretKeySelector ¶
type GlobalSecretKeySelector struct { corev1.SecretReference `json:",inline"` Key string `json:"key"` }
GlobalSecretKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
func (*GlobalSecretKeySelector) DeepCopy ¶
func (in *GlobalSecretKeySelector) DeepCopy() *GlobalSecretKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalSecretKeySelector.
func (*GlobalSecretKeySelector) DeepCopyInto ¶
func (in *GlobalSecretKeySelector) DeepCopyInto(out *GlobalSecretKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmCredentials ¶
type HelmCredentials struct { // Username holds the ref and key in the secret for the username credential Username GlobalSecretKeySelector `json:"username"` // Password holds the ref and key in the secret for the Password credential Password GlobalSecretKeySelector `json:"password"` }
func (*HelmCredentials) DeepCopy ¶
func (in *HelmCredentials) DeepCopy() *HelmCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmCredentials.
func (*HelmCredentials) DeepCopyInto ¶
func (in *HelmCredentials) DeepCopyInto(out *HelmCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmSource ¶
type HelmSource struct { // URl of the helm repository URL string `json:"url"` // Name of the Chart ChartName string `json:"chartName"` // Version of the Chart ChartVersion string `json:"chartVersion"` // Credentials hold the ref to the secret with helm credentials Credentials *HelmCredentials `json:"credentials,omitempty"` }
func (*HelmSource) DeepCopy ¶
func (in *HelmSource) DeepCopy() *HelmSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmSource.
func (*HelmSource) DeepCopyInto ¶
func (in *HelmSource) DeepCopyInto(out *HelmSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateMethod ¶
type TemplateMethod string
+kubebuilder:validation:Enum=helm
const (
HelmTemplateMethod TemplateMethod = "helm"
)
type Version ¶
Version wraps semverlib.Version. It is needed because kubebuilder does not accept structs with non-tagged fields, even if they have custom marshallers With this the CRD resource will have Version as string but operator code can work directly with the semverlib.Version struct (taken from https://github.com/kubernetes-sigs/controller-tools/blob/master/pkg/crd/testdata/cronjob_types.go#L283)
func (*Version) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Version.
func (*Version) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionConstraints ¶
type VersionConstraints string
func (VersionConstraints) SemverConstraints ¶
func (c VersionConstraints) SemverConstraints() (*semverlib.Constraints, error)