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 describe overrides for manifest-rendering in UI when creating an application. // +kubebuilder:pruning:PreserveUnknownFields DefaultValues *runtime.RawExtension `json:"defaultValues,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"` // 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.
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 describe overrides for manifest-rendering. It's a free yaml field. // +kubebuilder:pruning:PreserveUnknownFields Values runtime.RawExtension `json:"values,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.
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"
)