Documentation ¶
Overview ¶
+groupName=apps.kubermatic.k8c.io +versionName=v1 +kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AppNamespaceSpec
- type ApplicationDefinition
- type ApplicationDefinitionList
- type ApplicationDefinitionSpec
- type ApplicationInstallation
- func (in *ApplicationInstallation) DeepCopy() *ApplicationInstallation
- func (in *ApplicationInstallation) DeepCopyInto(out *ApplicationInstallation)
- func (in *ApplicationInstallation) DeepCopyObject() runtime.Object
- func (appInstallation *ApplicationInstallation) SetCondition(conditionType ApplicationInstallationConditionType, ...)
- func (appInstallation *ApplicationInstallation) SetReadyCondition(installErr error, hasLimitedRetries bool)
- type ApplicationInstallationCondition
- type ApplicationInstallationConditionType
- type ApplicationInstallationList
- type ApplicationInstallationSpec
- type ApplicationInstallationStatus
- type ApplicationRef
- type ApplicationSource
- type ApplicationTemplate
- type ApplicationVersion
- type DependencyCredentials
- type DeployOptions
- type GitAuthMethod
- type GitCredentials
- type GitReference
- type GitSource
- type HelmCredentials
- type HelmDeployOptions
- type HelmRelease
- type HelmReleaseInfo
- type HelmSource
- type TemplateMethod
Constants ¶
const ( // ApplicationInstallationResourceName represents "Resource" defined in Kubernetes. ApplicationDefinitionResourceName = "applicationdefinitions" // ApplicationDefinitionKindName represents "Kind" defined in Kubernetes. ApplicationDefinitionKindName = "ApplicationDefinitions" )
const ( // ApplicationInstallationResourceName represents "Resource" defined in Kubernetes. ApplicationInstallationResourceName = "applicationinstallations" // ApplicationInstallationKindName represents "Kind" defined in Kubernetes. ApplicationInstallationKindName = "ApplicationInstallations" // ApplicationInstallationsFQDNName represents "FQDN" defined in Kubernetes. ApplicationInstallationsFQDNName = ApplicationInstallationResourceName + "." + GroupName )
const ( // ApplicationDefinitionSeedCleanupFinalizer indicates that synced application definition on seed clusters need cleanup. ApplicationDefinitionSeedCleanupFinalizer = "kubermatic.k8c.io/cleanup-seed-application-definition" // ApplicationInstallationCleanupFinalizer indicates that application installed on user-cluster need cleanup // ie uninstall the application, remove namespace where application were installed ... ApplicationInstallationCleanupFinalizer = "kubermatic.k8c.io/cleanup-application-installation" // ApplicationManagedByLabel indicates the ownership of the application definition / application installation. ApplicationManagedByLabel = "apps.kubermatic.k8c.io/managed-by" // ApplicationManagedByKKPValue can be used as a value for the ApplicationManagedByLabel to indicate that the // application definition / application installation is managed by KKP (i.e. it is KKP-internal). ApplicationManagedByKKPValue = "kkp" // ApplicationTypeLabel indicated the type of the application definition / application installation. ApplicationTypeLabel = "apps.kubermatic.k8c.io/type" // ApplicationTypeCNIValue can be used as a value for the ApplicationTypeLabel to indicate that the // application definition / application installation type if CNI (Container Network Interface). ApplicationTypeCNIValue = "cni" )
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 AllApplicationInstallationConditionTypes = []ApplicationInstallationConditionType{ ManifestsRetrieved, Ready, }
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 AppNamespaceSpec ¶ added in v2.21.2
type AppNamespaceSpec struct { // Name is the namespace to deploy the Application into. // Should be a valid lowercase RFC1123 domain name // +kubebuilder:validation:Pattern:=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Type=string Name string `json:"name"` // Create defines whether the namespace should be created if it does not exist. Defaults to true Create bool `json:"create"` // Labels of the namespace // More info: http://kubernetes.io/docs/user-guide/labels // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations of the namespace // More info: http://kubernetes.io/docs/user-guide/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` }
AppNamespaceSpec describe the desired state of the namespace where application will be created.
func (*AppNamespaceSpec) DeepCopy ¶ added in v2.21.2
func (in *AppNamespaceSpec) DeepCopy() *AppNamespaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppNamespaceSpec.
func (*AppNamespaceSpec) DeepCopyInto ¶ added in v2.21.2
func (in *AppNamespaceSpec) DeepCopyInto(out *AppNamespaceSpec)
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"` // Method used to install the application Method TemplateMethod `json:"method"` // DefaultValues specify default values for the UI which are passed to helm templating when creating an application. Comments are not preserved. // Deprecated: use DefaultValuesBlock instead // +kubebuilder:pruning:PreserveUnknownFields DefaultValues *runtime.RawExtension `json:"defaultValues,omitempty"` // DefaultValuesBlock specifies default values for the UI which are passed to helm templating when creating an application. Comments are preserved. DefaultValuesBlock string `json:"defaultValuesBlock,omitempty"` // DefaultDeployOptions holds the settings specific to the templating method used to deploy the application. // These settings can be overridden in applicationInstallation. DefaultDeployOptions *DeployOptions `json:"defaultDeployOptions,omitempty"` // DocumentationURL holds a link to official documentation of the Application // Alternatively this can be a link to the Readme of a chart in a git repository DocumentationURL string `json:"documentationURL,omitempty"` // SourceURL holds a link to the official source code mirror or git repository of the application SourceURL string `json:"sourceURL,omitempty"` // Logo of the Application as a base64 encoded svg Logo string `json:"logo,omitempty"` // LogoFormat contains logo format of the configured Application. Options are "svg+xml" and "png" // +kubebuilder:validation:Enum=svg+xml;png LogoFormat string `json:"logoFormat,omitempty"` // 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.
func (*ApplicationDefinitionSpec) GetDefaultValues ¶ added in v2.25.0
func (ad *ApplicationDefinitionSpec) GetDefaultValues() ([]byte, error)
GetDefaultValues parses the values either from the Values or ValuesBlock field. Will return an error if both fields are set. Will return nil if none of the fields are set.
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.
func (*ApplicationInstallation) SetCondition ¶ added in v2.22.0
func (appInstallation *ApplicationInstallation) SetCondition(conditionType ApplicationInstallationConditionType, status corev1.ConditionStatus, reason, message string)
SetCondition of the applicationInstallation. It take care of update LastHeartbeatTime and LastTransitionTime if needed.
func (*ApplicationInstallation) SetReadyCondition ¶ added in v2.22.0
func (appInstallation *ApplicationInstallation) SetReadyCondition(installErr error, hasLimitedRetries bool)
SetReadyCondition sets the ReadyCondition and appInstallation.Status.Failures counter according to the installError.
type ApplicationInstallationCondition ¶
type ApplicationInstallationCondition struct { // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. // +optional LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // (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"` // observedGeneration represents the .metadata.generation that the condition was set based upon. // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date // with respect to the current state of the instance. // +optional ObservedGeneration int64 `json:"observedGeneration,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
swagger:enum ApplicationInstallationConditionType All condition types must be registered within the `AllApplicationInstallationConditionTypes` variable.
const ( // ManifestsRetrieved indicates all necessary manifests have been fetched from the external source. ManifestsRetrieved ApplicationInstallationConditionType = "ManifestsRetrieved" // 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 { // Namespace describe the desired state of the namespace where application will be created. Namespace AppNamespaceSpec `json:"namespace"` // ApplicationRef is a reference to identify which Application should be deployed ApplicationRef ApplicationRef `json:"applicationRef"` // Values specify values overrides that are passed to helm templating. Comments are not preserved. // +kubebuilder:pruning:PreserveUnknownFields // Deprecated: Use ValuesBlock instead. Values runtime.RawExtension `json:"values,omitempty"` // ValuesBlock specifies values overrides that are passed to helm templating. Comments are preserved. ValuesBlock string `json:"valuesBlock,omitempty"` // ReconciliationInterval is the interval at which to force the reconciliation of the application. By default, Applications are only reconciled // on changes on spec, annotations, or the parent application definition. Meaning that if the user manually deletes the workload // deployed by the application, nothing will happen until the application CR change. // // Setting a value greater than zero force reconciliation even if no changes occurred on application CR. // Setting a value equal to 0 disables the force reconciliation of the application (default behavior). // Setting this too low can cause a heavy load and may disrupt your application workload depending on the template method. ReconciliationInterval metav1.Duration `json:"reconciliationInterval,omitempty"` // DeployOptions holds the settings specific to the templating method used to deploy the application. DeployOptions *DeployOptions `json:"deployOptions,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.
func (*ApplicationInstallationSpec) GetParsedValues ¶ added in v2.25.0
func (ai *ApplicationInstallationSpec) GetParsedValues() (map[string]interface{}, error)
GetParsedValues parses the values either from the Values or ValuesBlock field. Will return an error if both fields are set.
type ApplicationInstallationStatus ¶
type ApplicationInstallationStatus struct { // Conditions contains conditions an installation is in, its primary use case is status signaling between controllers or between controllers and the API Conditions map[ApplicationInstallationConditionType]ApplicationInstallationCondition `json:"conditions,omitempty"` // ApplicationVersion contains information installing / removing application ApplicationVersion *ApplicationVersion `json:"applicationVersion,omitempty"` // Method used to install the application Method TemplateMethod `json:"method"` // HelmRelease holds the information about the helm release installed by this application. This field is only filled if template method is 'helm'. HelmRelease *HelmRelease `json:"helmRelease,omitempty"` // Failures counts the number of failed installation or updagrade. it is reset on successful reconciliation. Failures int `json:"failures,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. // Should be a valid lowercase RFC1123 domain name // +kubebuilder:validation:Pattern:=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Type=string Name string `json:"name"` // Version of the Application. Must be a valid SemVer version Version string `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 { // Install Application from a Helm repository Helm *HelmSource `json:"helm,omitempty"` // Install application from 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) is retrieved. // Exactly one type of source must be defined. Source ApplicationSource `json:"source"` // DependencyCredentials holds the credentials that may be needed for templating the application. DependencyCredentials *DependencyCredentials `json:"templateCredentials,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 (e.g. v1.2.3) Version string `json:"version"` // 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 DependencyCredentials ¶ added in v2.22.0
type DependencyCredentials struct { // HelmCredentials holds the ref to the secret with helm credentials needed to build helm dependencies. // It is not required when using helm as a source, as dependencies are already prepackaged in this case. // It's either username / password or a registryConfigFile can be defined. HelmCredentials *HelmCredentials `json:"helmCredentials,omitempty"` }
func (*DependencyCredentials) DeepCopy ¶ added in v2.22.0
func (in *DependencyCredentials) DeepCopy() *DependencyCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyCredentials.
func (*DependencyCredentials) DeepCopyInto ¶ added in v2.22.0
func (in *DependencyCredentials) DeepCopyInto(out *DependencyCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeployOptions ¶ added in v2.22.0
type DeployOptions struct {
Helm *HelmDeployOptions `json:"helm,omitempty"`
}
DeployOptions holds the settings specific to the templating method used to deploy the application.
func (*DeployOptions) DeepCopy ¶ added in v2.22.0
func (in *DeployOptions) DeepCopy() *DeployOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployOptions.
func (*DeployOptions) DeepCopyInto ¶ added in v2.22.0
func (in *DeployOptions) DeepCopyInto(out *DeployOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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. Either password or token or ssh-key. // if method is password then username and password must be defined. // if method is token then token must be defined. // if method is ssh-key then ssh-key must be defined. Method GitAuthMethod `json:"method"` // Username holds the ref and key in the secret for the username credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git Username *corev1.SecretKeySelector `json:"username,omitempty"` // Password holds the ref and key in the secret for the Password credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git Password *corev1.SecretKeySelector `json:"password,omitempty"` // Token holds the ref and key in the secret for the token credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git Token *corev1.SecretKeySelector `json:"token,omitempty"` // SSHKey holds the ref and key in the secret for the SshKey credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git SSHKey *corev1.SecretKeySelector `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 GitReference ¶ added in v2.21.0
type GitReference struct { // Branch to checkout. Only the last commit of the branch will be checkout in order to reduce the amount of data to download. // +optional Branch string `json:"branch,omitempty"` // Commit SHA in a Branch to checkout. // // It must be used in conjunction with branch field. // +kubebuilder:validation:Pattern:=`^[a-f0-9]{40}$` // +kubebuilder:validation:Type=string // +optional Commit string `json:"commit,omitempty"` // Tag to check out. // It can not be used in conjunction with commit or branch. // +kubebuilder:validation:Type=string // +optional Tag string `json:"tag,omitempty"` }
func (*GitReference) DeepCopy ¶ added in v2.21.0
func (in *GitReference) DeepCopy() *GitReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitReference.
func (*GitReference) DeepCopyInto ¶ added in v2.21.0
func (in *GitReference) DeepCopyInto(out *GitReference)
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. Can be HTTP(s) (e.g. https://example.com/myrepo) or SSH (e.g. git://example.com[:port]/path/to/repo.git/) // +kubebuilder:validation:MinLength=1 Remote string `json:"remote"` // Git reference to checkout. // For large repositories, we recommend to either use Tag, Branch or Branch+Commit. This allows a shallow clone, which dramatically speeds up performance Ref GitReference `json:"ref"` // Path of the "source" in the repository. default is repository root Path string `json:"path,omitempty"` // Credentials are optional and 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 HelmCredentials ¶
type HelmCredentials struct { // Username holds the ref and key in the secret for the username credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git Username *corev1.SecretKeySelector `json:"username,omitempty"` // Password holds the ref and key in the secret for the Password credential. // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git Password *corev1.SecretKeySelector `json:"password,omitempty"` // RegistryConfigFile holds the ref and key in the secret for the registry credential file. The value is dockercfg // file that follows the same format rules as ~/.docker/config.json // The The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to helm or git RegistryConfigFile *corev1.SecretKeySelector `json:"registryConfigFile,omitempty"` }
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 HelmDeployOptions ¶ added in v2.22.0
type HelmDeployOptions struct { // Wait corresponds to the --wait flag on Helm cli. // if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as timeout Wait bool `json:"wait,omitempty"` // Timeout corresponds to the --timeout flag on Helm cli. // time to wait for any individual Kubernetes operation. Timeout metav1.Duration `json:"timeout,omitempty"` // Atomic corresponds to the --atomic flag on Helm cli. // if set, the installation process deletes the installation on failure; the upgrade process rolls back changes made in case of failed upgrade. Atomic bool `json:"atomic,omitempty"` // EnableDNS corresponds to the --enable-dns flag on Helm cli. // enable DNS lookups when rendering templates. // if you enable this flag, you have to verify that helm template function 'getHostByName' is not being used in a chart to disclose any information you do not want to be passed to DNS servers.(c.f. CVE-2023-25165) EnableDNS bool `json:"enableDNS,omitempty"` }
HelmDeployOptions holds the deployment settings when templating method is Helm.
func (*HelmDeployOptions) DeepCopy ¶ added in v2.22.0
func (in *HelmDeployOptions) DeepCopy() *HelmDeployOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmDeployOptions.
func (*HelmDeployOptions) DeepCopyInto ¶ added in v2.22.0
func (in *HelmDeployOptions) DeepCopyInto(out *HelmDeployOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmRelease ¶ added in v2.21.0
type HelmRelease struct { // Name is the name of the release. Name string `json:"name,omitempty"` // Version is an int which represents the revision of the release. Version int `json:"version,omitempty"` // Info provides information about a release. Info *HelmReleaseInfo `json:"info,omitempty"` }
func (*HelmRelease) DeepCopy ¶ added in v2.21.0
func (in *HelmRelease) DeepCopy() *HelmRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmRelease.
func (*HelmRelease) DeepCopyInto ¶ added in v2.21.0
func (in *HelmRelease) DeepCopyInto(out *HelmRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmReleaseInfo ¶ added in v2.21.0
type HelmReleaseInfo struct { // FirstDeployed is when the release was first deployed. FirstDeployed metav1.Time `json:"firstDeployed,omitempty"` // LastDeployed is when the release was last deployed. LastDeployed metav1.Time `json:"lastDeployed,omitempty"` // Deleted tracks when this object was deleted. Deleted metav1.Time `json:"deleted,omitempty"` // Description is human-friendly "log entry" about this release. Description string `json:"description,omitempty"` // Status is the current state of the release. Status release.Status `json:"status,omitempty"` // Notes is the rendered templates/NOTES.txt if available. Notes string `json:"notes,omitempty"` }
HelmReleaseInfo describes release information. tech note: we can not use release.Info from Helm because the underlying type used for time has no json tag.
func (*HelmReleaseInfo) DeepCopy ¶ added in v2.21.0
func (in *HelmReleaseInfo) DeepCopy() *HelmReleaseInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmReleaseInfo.
func (*HelmReleaseInfo) DeepCopyInto ¶ added in v2.21.0
func (in *HelmReleaseInfo) DeepCopyInto(out *HelmReleaseInfo)
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. // It can be an HTTP(s) repository (e.g. https://localhost/myrepo) or on OCI repository (e.g. oci://localhost:5000/myrepo). // +kubebuilder:validation:Pattern="^(http|https|oci)://.+" URL string `json:"url"` // Name of the Chart. // +kubebuilder:validation:MinLength=1 ChartName string `json:"chartName"` // Version of the Chart. // +kubebuilder:validation:MinLength=1 ChartVersion string `json:"chartVersion"` // Credentials are optional and hold the ref to the secret with helm credentials. // Either username / Password or registryConfigFile can be defined. 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"
)