Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the k8s v1 API group +kubebuilder:object:generate=true +groupName=k8s.cloudogu.com
Index ¶
- Variables
- func ConvertToConfigDomain(config Config) domain.Config
- func ConvertToEffectiveBlueprintDomain(blueprint EffectiveBlueprint) (domain.EffectiveBlueprint, error)
- func ConvertToStateDiffDomain(dto StateDiff) (domain.StateDiff, error)
- type Blueprint
- type BlueprintList
- type BlueprintSpec
- type BlueprintStatus
- type CombinedDoguConfig
- type CombinedDoguConfigDiff
- type ComponentAction
- type ComponentDiff
- type ComponentDiffState
- type Config
- type ConfigAction
- type ConfigValueState
- type DoguAction
- type DoguConfig
- type DoguConfigDiff
- type DoguConfigEntryDiff
- type DoguConfigValueState
- type DoguDiff
- type DoguDiffState
- type EffectiveBlueprint
- type GlobalConfig
- type GlobalConfigDiff
- type GlobalConfigEntryDiff
- type GlobalConfigValueState
- type ResourceConfig
- type ReverseProxyConfig
- type SensitiveDoguConfig
- type SensitiveDoguConfigDiff
- type SensitiveDoguConfigEntryDiff
- type StateDiff
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "k8s.cloudogu.com", Version: "v1"} // 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 ¶
func ConvertToConfigDomain ¶
func ConvertToEffectiveBlueprintDomain ¶
func ConvertToEffectiveBlueprintDomain(blueprint EffectiveBlueprint) (domain.EffectiveBlueprint, error)
Types ¶
type Blueprint ¶
type Blueprint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of the Blueprint. Spec BlueprintSpec `json:"spec,omitempty"` // Status defines the observed state of the Blueprint. Status BlueprintStatus `json:"status,omitempty"` }
Blueprint is the Schema for the blueprints API
func (*Blueprint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Blueprint.
func (*Blueprint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Blueprint) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlueprintList ¶
type BlueprintList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Blueprint `json:"items"` }
BlueprintList contains a list of Blueprint
func (*BlueprintList) DeepCopy ¶
func (in *BlueprintList) DeepCopy() *BlueprintList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintList.
func (*BlueprintList) DeepCopyInto ¶
func (in *BlueprintList) DeepCopyInto(out *BlueprintList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlueprintList) DeepCopyObject ¶
func (in *BlueprintList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlueprintSpec ¶
type BlueprintSpec struct { // Blueprint json with the desired state of the ecosystem. Blueprint string `json:"blueprint"` // BlueprintMask json can further restrict the desired state from the blueprint. BlueprintMask string `json:"blueprintMask,omitempty"` // IgnoreDoguHealth lets the user execute the blueprint even if dogus are unhealthy at the moment. IgnoreDoguHealth bool `json:"ignoreDoguHealth,omitempty"` // IgnoreComponentHealth lets the user execute the blueprint even if components are unhealthy at the moment. IgnoreComponentHealth bool `json:"ignoreComponentHealth,omitempty"` // AllowDoguNamespaceSwitch lets the user switch the namespace of dogus in the blueprint mask // in comparison to the blueprint. AllowDoguNamespaceSwitch bool `json:"allowDoguNamespaceSwitch,omitempty"` // DryRun lets the user test a blueprint run to check if all attributes of the blueprint are correct and avoid a result with a failure state. DryRun bool `json:"dryRun,omitempty"` }
BlueprintSpec defines the desired state of Blueprint
func (*BlueprintSpec) DeepCopy ¶
func (in *BlueprintSpec) DeepCopy() *BlueprintSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintSpec.
func (*BlueprintSpec) DeepCopyInto ¶
func (in *BlueprintSpec) DeepCopyInto(out *BlueprintSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlueprintStatus ¶
type BlueprintStatus struct { // Phase represents the processing state of the blueprint Phase domain.StatusPhase `json:"phase,omitempty"` // EffectiveBlueprint is the blueprint after applying the blueprint mask. EffectiveBlueprint EffectiveBlueprint `json:"effectiveBlueprint,omitempty"` // StateDiff is the result of comparing the EffectiveBlueprint to the current cluster state. // It describes what operations need to be done to achieve the desired state of the blueprint. StateDiff StateDiff `json:"stateDiff,omitempty"` }
BlueprintStatus defines the observed state of Blueprint
func (*BlueprintStatus) DeepCopy ¶
func (in *BlueprintStatus) DeepCopy() *BlueprintStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintStatus.
func (*BlueprintStatus) DeepCopyInto ¶
func (in *BlueprintStatus) DeepCopyInto(out *BlueprintStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CombinedDoguConfig ¶
type CombinedDoguConfig struct { Config DoguConfig `json:"config,omitempty"` SensitiveConfig SensitiveDoguConfig `json:"sensitiveConfig,omitempty"` }
func (*CombinedDoguConfig) DeepCopy ¶
func (in *CombinedDoguConfig) DeepCopy() *CombinedDoguConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CombinedDoguConfig.
func (*CombinedDoguConfig) DeepCopyInto ¶
func (in *CombinedDoguConfig) DeepCopyInto(out *CombinedDoguConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CombinedDoguConfigDiff ¶
type CombinedDoguConfigDiff struct { DoguConfigDiff DoguConfigDiff `json:"doguConfigDiff,omitempty"` SensitiveDoguConfigDiff SensitiveDoguConfigDiff `json:"sensitiveDoguConfigDiff,omitempty"` }
func (*CombinedDoguConfigDiff) DeepCopy ¶
func (in *CombinedDoguConfigDiff) DeepCopy() *CombinedDoguConfigDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CombinedDoguConfigDiff.
func (*CombinedDoguConfigDiff) DeepCopyInto ¶
func (in *CombinedDoguConfigDiff) DeepCopyInto(out *CombinedDoguConfigDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentAction ¶
type ComponentAction string
ComponentAction is the action that needs to be done for a component to achieve the desired state in the cluster.
type ComponentDiff ¶
type ComponentDiff struct { // Actual contains the component's state in the current system. Actual ComponentDiffState `json:"actual"` // Expected contains the desired component's target state. Expected ComponentDiffState `json:"expected"` // NeededActions contains the refined actions as decided by the application's state determination automaton. NeededActions []ComponentAction `json:"neededActions"` }
ComponentDiff is the comparison of a Component's desired state vs. its cluster state. It contains the operation that needs to be done to achieve this desired state.
func (*ComponentDiff) DeepCopy ¶
func (in *ComponentDiff) DeepCopy() *ComponentDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDiff.
func (*ComponentDiff) DeepCopyInto ¶
func (in *ComponentDiff) DeepCopyInto(out *ComponentDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentDiffState ¶
type ComponentDiffState struct { // Namespace is part of the address under which the component will be obtained. This namespace must NOT // to be confused with the K8s cluster namespace. Namespace string `json:"distributionNamespace,omitempty"` // Version contains the component's version. Version string `json:"version,omitempty"` // InstallationState contains the component's installation state. Such a state correlate with the domain Actions: // // - domain.ActionInstall // - domain.ActionUninstall // - and so on InstallationState string `json:"installationState"` // DeployConfig contains generic properties for the component. // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:Schemaless DeployConfig map[string]interface{} `json:"deployConfig,omitempty"` }
ComponentDiffState is either the actual or desired state of a component in the cluster. The fields will be used to determine the kind of changed if there is a drift between actual or desired state.
func (*ComponentDiffState) DeepCopy ¶
func (in *ComponentDiffState) DeepCopy() *ComponentDiffState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDiffState.
func (*ComponentDiffState) DeepCopyInto ¶
func (in *ComponentDiffState) DeepCopyInto(out *ComponentDiffState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Config ¶
type Config struct { Dogus map[string]CombinedDoguConfig `json:"dogus,omitempty"` Global GlobalConfig `json:"global,omitempty"` }
func ConvertToConfigDTO ¶
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigAction ¶
type ConfigAction string
type ConfigValueState ¶
func (*ConfigValueState) DeepCopy ¶
func (in *ConfigValueState) DeepCopy() *ConfigValueState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigValueState.
func (*ConfigValueState) DeepCopyInto ¶
func (in *ConfigValueState) DeepCopyInto(out *ConfigValueState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguAction ¶
type DoguAction string
DoguAction is the action that needs to be done for a dogu to achieve the desired state in the cluster.
type DoguConfig ¶
type DoguConfig presentAbsentConfig
func (*DoguConfig) DeepCopy ¶
func (in *DoguConfig) DeepCopy() *DoguConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguConfig.
func (*DoguConfig) DeepCopyInto ¶
func (in *DoguConfig) DeepCopyInto(out *DoguConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguConfigDiff ¶
type DoguConfigDiff []DoguConfigEntryDiff
func (DoguConfigDiff) DeepCopy ¶
func (in DoguConfigDiff) DeepCopy() DoguConfigDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguConfigDiff.
func (DoguConfigDiff) DeepCopyInto ¶
func (in DoguConfigDiff) DeepCopyInto(out *DoguConfigDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguConfigEntryDiff ¶
type DoguConfigEntryDiff struct { Key string `json:"key"` Actual DoguConfigValueState `json:"actual"` Expected DoguConfigValueState `json:"expected"` NeededAction ConfigAction `json:"neededAction"` }
func (*DoguConfigEntryDiff) DeepCopy ¶
func (in *DoguConfigEntryDiff) DeepCopy() *DoguConfigEntryDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguConfigEntryDiff.
func (*DoguConfigEntryDiff) DeepCopyInto ¶
func (in *DoguConfigEntryDiff) DeepCopyInto(out *DoguConfigEntryDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguConfigValueState ¶
type DoguConfigValueState ConfigValueState
func (*DoguConfigValueState) DeepCopy ¶
func (in *DoguConfigValueState) DeepCopy() *DoguConfigValueState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguConfigValueState.
func (*DoguConfigValueState) DeepCopyInto ¶
func (in *DoguConfigValueState) DeepCopyInto(out *DoguConfigValueState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguDiff ¶
type DoguDiff struct { Actual DoguDiffState `json:"actual"` Expected DoguDiffState `json:"expected"` NeededActions []DoguAction `json:"neededActions"` }
DoguDiff is the comparison of a Dogu's desired state vs. its cluster state. It contains the operation that needs to be done to achieve this desired state.
func (*DoguDiff) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguDiff.
func (*DoguDiff) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DoguDiffState ¶
type DoguDiffState struct { Namespace string `json:"namespace,omitempty"` Version string `json:"version,omitempty"` InstallationState string `json:"installationState"` ResourceConfig ResourceConfig `json:"resourceConfig,omitempty"` ReverseProxyConfig ReverseProxyConfig `json:"reverseProxyConfig,omitempty"` }
DoguDiffState is either the actual or desired state of a dogu in the cluster.
func (*DoguDiffState) DeepCopy ¶
func (in *DoguDiffState) DeepCopy() *DoguDiffState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DoguDiffState.
func (*DoguDiffState) DeepCopyInto ¶
func (in *DoguDiffState) DeepCopyInto(out *DoguDiffState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveBlueprint ¶
type EffectiveBlueprint struct { // Dogus contains a set of exact dogu versions which should be present or absent in the CES instance after which this // blueprint was applied. Optional. Dogus []serializer.TargetDogu `json:"dogus,omitempty"` // Components contains a set of exact component versions which should be present or absent in the CES instance after which // this blueprint was applied. Optional. Components []serializer.TargetComponent `json:"components,omitempty"` // Config is used for ecosystem configuration to be applied. // Optional. Config Config `json:"config,omitempty"` }
EffectiveBlueprint describes an abstraction of CES components that should be absent or present within one or more CES instances after combining the blueprint with the blueprint mask.
In general additions without changing the version are fine, as long as they don't change semantics. Removal or renaming are breaking changes and require a new blueprint API version.
func ConvertToEffectiveBlueprintDTO ¶
func ConvertToEffectiveBlueprintDTO(blueprint domain.EffectiveBlueprint) (EffectiveBlueprint, error)
func (*EffectiveBlueprint) DeepCopy ¶
func (in *EffectiveBlueprint) DeepCopy() *EffectiveBlueprint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveBlueprint.
func (*EffectiveBlueprint) DeepCopyInto ¶
func (in *EffectiveBlueprint) DeepCopyInto(out *EffectiveBlueprint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalConfig ¶
type GlobalConfig presentAbsentConfig
func (*GlobalConfig) DeepCopy ¶
func (in *GlobalConfig) DeepCopy() *GlobalConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalConfig.
func (*GlobalConfig) DeepCopyInto ¶
func (in *GlobalConfig) DeepCopyInto(out *GlobalConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalConfigDiff ¶
type GlobalConfigDiff []GlobalConfigEntryDiff
func (GlobalConfigDiff) DeepCopy ¶
func (in GlobalConfigDiff) DeepCopy() GlobalConfigDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalConfigDiff.
func (GlobalConfigDiff) DeepCopyInto ¶
func (in GlobalConfigDiff) DeepCopyInto(out *GlobalConfigDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalConfigEntryDiff ¶
type GlobalConfigEntryDiff struct { Key string `json:"key"` Actual GlobalConfigValueState `json:"actual"` Expected GlobalConfigValueState `json:"expected"` NeededAction ConfigAction `json:"neededAction"` }
func (*GlobalConfigEntryDiff) DeepCopy ¶
func (in *GlobalConfigEntryDiff) DeepCopy() *GlobalConfigEntryDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalConfigEntryDiff.
func (*GlobalConfigEntryDiff) DeepCopyInto ¶
func (in *GlobalConfigEntryDiff) DeepCopyInto(out *GlobalConfigEntryDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalConfigValueState ¶
type GlobalConfigValueState ConfigValueState
func (*GlobalConfigValueState) DeepCopy ¶
func (in *GlobalConfigValueState) DeepCopy() *GlobalConfigValueState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalConfigValueState.
func (*GlobalConfigValueState) DeepCopyInto ¶
func (in *GlobalConfigValueState) DeepCopyInto(out *GlobalConfigValueState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceConfig ¶
type ResourceConfig struct {
MinVolumeSize string `json:"minVolumeSize,omitempty"`
}
type ReverseProxyConfig ¶
type SensitiveDoguConfig ¶
type SensitiveDoguConfig presentAbsentConfig
func (*SensitiveDoguConfig) DeepCopy ¶
func (in *SensitiveDoguConfig) DeepCopy() *SensitiveDoguConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveDoguConfig.
func (*SensitiveDoguConfig) DeepCopyInto ¶
func (in *SensitiveDoguConfig) DeepCopyInto(out *SensitiveDoguConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SensitiveDoguConfigDiff ¶
type SensitiveDoguConfigDiff []SensitiveDoguConfigEntryDiff
func (SensitiveDoguConfigDiff) DeepCopy ¶
func (in SensitiveDoguConfigDiff) DeepCopy() SensitiveDoguConfigDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveDoguConfigDiff.
func (SensitiveDoguConfigDiff) DeepCopyInto ¶
func (in SensitiveDoguConfigDiff) DeepCopyInto(out *SensitiveDoguConfigDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SensitiveDoguConfigEntryDiff ¶
type SensitiveDoguConfigEntryDiff struct { Key string `json:"key"` Actual DoguConfigValueState `json:"actual"` Expected DoguConfigValueState `json:"expected"` DoguNotInstalled bool `json:"doguNotInstalled,omitempty"` NeededAction ConfigAction `json:"neededAction"` }
func (*SensitiveDoguConfigEntryDiff) DeepCopy ¶
func (in *SensitiveDoguConfigEntryDiff) DeepCopy() *SensitiveDoguConfigEntryDiff
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveDoguConfigEntryDiff.
func (*SensitiveDoguConfigEntryDiff) DeepCopyInto ¶
func (in *SensitiveDoguConfigEntryDiff) DeepCopyInto(out *SensitiveDoguConfigEntryDiff)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StateDiff ¶
type StateDiff struct { // DoguDiffs maps simple dogu names to the determined diff. DoguDiffs map[string]DoguDiff `json:"doguDiffs,omitempty"` // ComponentDiffs maps simple component names to the determined diff. ComponentDiffs map[string]ComponentDiff `json:"componentDiffs,omitempty"` // DoguConfigDiffs maps simple dogu names to the determined config diff. DoguConfigDiffs map[string]CombinedDoguConfigDiff `json:"doguConfigDiffs,omitempty"` // GlobalConfigDiff is the difference between the GlobalConfig in the EffectiveBlueprint and the cluster state. GlobalConfigDiff GlobalConfigDiff `json:"globalConfigDiff,omitempty"` }
StateDiff is the result of comparing the EffectiveBlueprint to the current cluster state. It describes what operations need to be done to achieve the desired state of the blueprint.
func ConvertToStateDiffDTO ¶
func (*StateDiff) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StateDiff.
func (*StateDiff) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.