Documentation
¶
Index ¶
- type BootstrapGenerator
- type LayoutIntegrator
- func (li *LayoutIntegrator) CreateLayoutWithResources(c *stack.Cluster, rules layout.LayoutRules) (*layout.ManifestLayout, error)
- func (li *LayoutIntegrator) IntegrateWithLayout(ml *layout.ManifestLayout, c *stack.Cluster, rules layout.LayoutRules) error
- func (li *LayoutIntegrator) SetFluxPlacement(placement layout.FluxPlacement)
- type ResourceGenerator
- func (g *ResourceGenerator) GenerateFromBundle(b *stack.Bundle) ([]client.Object, error)
- func (g *ResourceGenerator) GenerateFromCluster(c *stack.Cluster) ([]client.Object, error)
- func (g *ResourceGenerator) GenerateFromNode(n *stack.Node) ([]client.Object, error)
- func (g *ResourceGenerator) GetName() string
- func (g *ResourceGenerator) GetVersion() string
- type WorkflowEngine
- func Engine() *WorkflowEngine
- func EngineWithConfig(mode layout.KustomizationMode, placement layout.FluxPlacement) *WorkflowEngine
- func EngineWithMode(mode layout.KustomizationMode) *WorkflowEngine
- func NewWorkflowEngine() *WorkflowEngine
- func NewWorkflowEngineWithConfig(mode layout.KustomizationMode, placement layout.FluxPlacement) *WorkflowEngine
- func (we *WorkflowEngine) CreateLayoutWithResources(c *stack.Cluster, rules interface{}) (interface{}, error)
- func (we *WorkflowEngine) GenerateBootstrap(config *stack.BootstrapConfig, rootNode *stack.Node) ([]client.Object, error)
- func (we *WorkflowEngine) GenerateFromBundle(b *stack.Bundle) ([]client.Object, error)
- func (we *WorkflowEngine) GenerateFromCluster(c *stack.Cluster) ([]client.Object, error)
- func (we *WorkflowEngine) GenerateFromNode(n *stack.Node) ([]client.Object, error)
- func (we *WorkflowEngine) GetBootstrapGenerator() *BootstrapGenerator
- func (we *WorkflowEngine) GetLayoutIntegrator() *LayoutIntegrator
- func (we *WorkflowEngine) GetName() string
- func (we *WorkflowEngine) GetResourceGenerator() *ResourceGenerator
- func (we *WorkflowEngine) GetVersion() string
- func (we *WorkflowEngine) IntegrateWithLayout(ml *layout.ManifestLayout, c *stack.Cluster, rules layout.LayoutRules) error
- func (we *WorkflowEngine) SetFluxPlacement(placement layout.FluxPlacement)
- func (we *WorkflowEngine) SetKustomizationMode(mode layout.KustomizationMode)
- func (we *WorkflowEngine) SupportedBootstrapModes() []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BootstrapGenerator ¶
type BootstrapGenerator struct {
// DefaultNamespace is the namespace where bootstrap resources are created
DefaultNamespace string
// DefaultInterval is the default reconciliation interval
DefaultInterval time.Duration
}
BootstrapGenerator implements the workflow.BootstrapGenerator interface for Flux. It handles the generation of bootstrap resources for setting up Flux.
func NewBootstrapGenerator ¶
func NewBootstrapGenerator() *BootstrapGenerator
NewBootstrapGenerator creates a FluxCD bootstrap generator.
func (*BootstrapGenerator) GenerateBootstrap ¶
func (bg *BootstrapGenerator) GenerateBootstrap(config *stack.BootstrapConfig, rootNode *stack.Node) ([]client.Object, error)
GenerateBootstrap creates bootstrap resources for setting up Flux.
func (*BootstrapGenerator) SupportedBootstrapModes ¶
func (bg *BootstrapGenerator) SupportedBootstrapModes() []string
SupportedBootstrapModes returns the bootstrap modes supported by this generator.
type LayoutIntegrator ¶
type LayoutIntegrator struct {
// ResourceGenerator generates the Flux resources
Generator *ResourceGenerator
// FluxPlacement controls where Flux resources are placed in the layout
FluxPlacement layout.FluxPlacement
}
LayoutIntegrator implements the workflow.LayoutIntegrator interface for Flux. It handles integration of Flux resources with manifest layouts.
func NewLayoutIntegrator ¶
func NewLayoutIntegrator(generator *ResourceGenerator) *LayoutIntegrator
NewLayoutIntegrator creates a FluxCD layout integrator.
func (*LayoutIntegrator) CreateLayoutWithResources ¶
func (li *LayoutIntegrator) CreateLayoutWithResources(c *stack.Cluster, rules layout.LayoutRules) (*layout.ManifestLayout, error)
CreateLayoutWithResources creates a new layout that includes Flux resources.
func (*LayoutIntegrator) IntegrateWithLayout ¶
func (li *LayoutIntegrator) IntegrateWithLayout(ml *layout.ManifestLayout, c *stack.Cluster, rules layout.LayoutRules) error
IntegrateWithLayout adds Flux resources to an existing manifest layout.
func (*LayoutIntegrator) SetFluxPlacement ¶
func (li *LayoutIntegrator) SetFluxPlacement(placement layout.FluxPlacement)
SetFluxPlacement configures where Flux resources should be placed in layouts.
type ResourceGenerator ¶
type ResourceGenerator struct {
// Mode controls how spec.path is generated in Kustomizations
Mode layout.KustomizationMode
// DefaultInterval is the default reconciliation interval for generated resources
DefaultInterval time.Duration
// DefaultNamespace is the default namespace for generated Flux resources
DefaultNamespace string
}
ResourceGenerator implements the workflow.ResourceGenerator interface for Flux. It focuses purely on generating Flux CRDs from stack components.
func NewResourceGenerator ¶
func NewResourceGenerator() *ResourceGenerator
NewResourceGenerator creates a FluxCD resource generator with sensible defaults.
func (*ResourceGenerator) GenerateFromBundle ¶
GenerateFromBundle creates a Flux Kustomization from a bundle definition.
func (*ResourceGenerator) GenerateFromCluster ¶
GenerateFromCluster creates Flux Kustomizations and Sources from a cluster definition.
func (*ResourceGenerator) GenerateFromNode ¶
GenerateFromNode creates Flux resources from a node and its children.
func (*ResourceGenerator) GetName ¶
func (g *ResourceGenerator) GetName() string
GetName returns the name of this resource generator.
func (*ResourceGenerator) GetVersion ¶
func (g *ResourceGenerator) GetVersion() string
GetVersion returns the version of this resource generator.
type WorkflowEngine ¶
type WorkflowEngine struct {
// ResourceGen handles core resource generation
ResourceGen *ResourceGenerator
// LayoutInteg handles layout integration
LayoutInteg *LayoutIntegrator
// BootstrapGen handles bootstrap resource generation
BootstrapGen *BootstrapGenerator
}
WorkflowEngine implements the stack.Workflow interface by composing the specialized generator components. This provides a complete FluxCD workflow implementation with clear separation of concerns.
func Engine ¶
func Engine() *WorkflowEngine
Engine returns a WorkflowEngine initialized with defaults. This is the primary entry point for FluxCD workflow functionality.
func EngineWithConfig ¶
func EngineWithConfig(mode layout.KustomizationMode, placement layout.FluxPlacement) *WorkflowEngine
EngineWithConfig returns a WorkflowEngine with custom configuration.
func EngineWithMode ¶
func EngineWithMode(mode layout.KustomizationMode) *WorkflowEngine
EngineWithMode returns a WorkflowEngine with a specific kustomization mode.
func NewWorkflowEngine ¶
func NewWorkflowEngine() *WorkflowEngine
NewWorkflowEngine creates a FluxCD workflow engine with default components.
func NewWorkflowEngineWithConfig ¶
func NewWorkflowEngineWithConfig(mode layout.KustomizationMode, placement layout.FluxPlacement) *WorkflowEngine
NewWorkflowEngineWithConfig creates a workflow engine with custom configuration.
func (*WorkflowEngine) CreateLayoutWithResources ¶
func (we *WorkflowEngine) CreateLayoutWithResources(c *stack.Cluster, rules interface{}) (interface{}, error)
CreateLayoutWithResources creates a new layout that includes Flux resources.
func (*WorkflowEngine) GenerateBootstrap ¶
func (we *WorkflowEngine) GenerateBootstrap(config *stack.BootstrapConfig, rootNode *stack.Node) ([]client.Object, error)
GenerateBootstrap creates bootstrap resources for setting up Flux.
func (*WorkflowEngine) GenerateFromBundle ¶
GenerateFromBundle creates Flux resources from a bundle definition.
func (*WorkflowEngine) GenerateFromCluster ¶
GenerateFromCluster creates Flux resources from a cluster definition.
func (*WorkflowEngine) GenerateFromNode ¶
GenerateFromNode creates Flux resources from a node definition.
func (*WorkflowEngine) GetBootstrapGenerator ¶
func (we *WorkflowEngine) GetBootstrapGenerator() *BootstrapGenerator
GetBootstrapGenerator returns the underlying bootstrap generator for advanced configuration.
func (*WorkflowEngine) GetLayoutIntegrator ¶
func (we *WorkflowEngine) GetLayoutIntegrator() *LayoutIntegrator
GetLayoutIntegrator returns the underlying layout integrator for advanced configuration.
func (*WorkflowEngine) GetName ¶
func (we *WorkflowEngine) GetName() string
GetName returns a human-readable name for this workflow engine.
func (*WorkflowEngine) GetResourceGenerator ¶
func (we *WorkflowEngine) GetResourceGenerator() *ResourceGenerator
GetResourceGenerator returns the underlying resource generator for advanced configuration.
func (*WorkflowEngine) GetVersion ¶
func (we *WorkflowEngine) GetVersion() string
GetVersion returns the version of this workflow engine.
func (*WorkflowEngine) IntegrateWithLayout ¶
func (we *WorkflowEngine) IntegrateWithLayout(ml *layout.ManifestLayout, c *stack.Cluster, rules layout.LayoutRules) error
IntegrateWithLayout adds Flux resources to an existing manifest layout.
func (*WorkflowEngine) SetFluxPlacement ¶
func (we *WorkflowEngine) SetFluxPlacement(placement layout.FluxPlacement)
SetFluxPlacement configures where Flux resources are placed in layouts.
func (*WorkflowEngine) SetKustomizationMode ¶
func (we *WorkflowEngine) SetKustomizationMode(mode layout.KustomizationMode)
SetKustomizationMode configures how Kustomization paths are generated.
func (*WorkflowEngine) SupportedBootstrapModes ¶
func (we *WorkflowEngine) SupportedBootstrapModes() []string
SupportedBootstrapModes returns the bootstrap modes supported by this engine.