Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewResourcePatcher ¶
func NewResourcePatcher(applier jsonPatchApplier) *resourcePatcher
NewResourcePatcher creates a new resource patcher.
Types ¶
type JsonPatch ¶
type JsonPatch struct {
// Operation describes how a json object should be modified.
Operation JsonPatchOperation `yaml:"op" json:"op"`
// Path contains a JSON pointer to the value that should be modified.
// If keys contain '/' or '~', those characters have to be replaced with '~1' and '~0' respectively.
Path string `yaml:"path" json:"path"`
// Value contains the value that should be inserted at the specified path.
Value any `yaml:"value,omitempty" json:"value,omitempty"`
}
JsonPatch describes a single operation on a kubernetes resource.
type JsonPatchOperation ¶
type JsonPatchOperation string
JsonPatchOperation describes how a json object should be modified.
type Phase ¶
type Phase string
Phase is a sequential step in the setup process.
const ( // ComponentPhase is the step where components will be installed. ComponentPhase Phase = "component" // DoguPhase is the step where dogus will be installed. DoguPhase Phase = "dogu" // LoadbalancerPhase is the step where the external loadbalancer for the Cloudogu EcoSystem will be created. LoadbalancerPhase Phase = "loadbalancer" )
type ResourcePatch ¶
type ResourcePatch struct {
// Phase is a sequential step in the setup process.
Phase Phase `json:"phase" yaml:"phase"`
// ResourceReference uniquely identifies a kubernetes resource that should be patched.
Resource ResourceReference `json:"resource" yaml:"resource"`
// Patches contains a series of operations to be applied on the specified kubernetes resource.
Patches []JsonPatch `json:"patches" yaml:"patches"`
}
ResourcePatch contains json patches for kubernetes resources to be applied on a phase of the setup process. The patch is applied at the end of its Phase. For namespaced resources, the namespace of the setup is inferred.
func (*ResourcePatch) Validate ¶
func (rp *ResourcePatch) Validate() error
type ResourceReference ¶
type ResourceReference struct {
// ApiVersion contains the group and version of the resource.
ApiVersion string `json:"apiVersion" yaml:"apiVersion"`
// Kind contains the resource type.
Kind string `json:"kind" yaml:"kind"`
// Name contains the name of the resource.
Name string `json:"name" yaml:"name"`
}
ResourceReference uniquely identifies a kubernetes resource.
func (ResourceReference) GroupVersionKind ¶
func (r ResourceReference) GroupVersionKind() schema.GroupVersionKind
Click to show internal directories.
Click to hide internal directories.