Documentation
¶
Index ¶
- func GenerateReleaseName(componentName string, date time.Time, version string, index *fsmode.Index) (string, error)
- func IncrementVersion(version string) string
- func ParseReleaseName(releaseName string) (componentName, dateStr, version string, err error)
- type BindingError
- type BindingGenerator
- type BindingInfo
- type BindingOptions
- type BulkBindingOptions
- type BulkBindingResult
- type BulkReleaseOptions
- type BulkReleaseResult
- type ReleaseError
- type ReleaseGenerator
- type ReleaseInfo
- type ReleaseOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateReleaseName ¶
func GenerateReleaseName(componentName string, date time.Time, version string, index *fsmode.Index) (string, error)
GenerateReleaseName generates a release name following the naming convention Format: <component-name>-<YYYYMMDD>-<version>
func IncrementVersion ¶
IncrementVersion parses a version string and returns the next version
func ParseReleaseName ¶
ParseReleaseName extracts component name, date, and version from a release name Returns component name, date string, version, and error if parsing fails
Types ¶
type BindingError ¶
BindingError contains error information for a failed binding
type BindingGenerator ¶
type BindingGenerator struct {
// contains filtered or unexported fields
}
BindingGenerator generates ReleaseBinding resources
func NewBindingGenerator ¶
func NewBindingGenerator(index *fsmode.Index) *BindingGenerator
NewBindingGenerator creates a new binding generator
func (*BindingGenerator) GenerateBinding ¶
func (g *BindingGenerator) GenerateBinding(opts BindingOptions) (*unstructured.Unstructured, error)
GenerateBinding generates a single ReleaseBinding
func (*BindingGenerator) GenerateBindingWithInfo ¶ added in v0.15.0
func (g *BindingGenerator) GenerateBindingWithInfo(opts BindingOptions) (*BindingInfo, error)
GenerateBindingWithInfo generates a single ReleaseBinding and returns rich info including whether this is an update and the existing file path.
func (*BindingGenerator) GenerateBulkBindings ¶
func (g *BindingGenerator) GenerateBulkBindings(opts BulkBindingOptions) (*BulkBindingResult, error)
GenerateBulkBindings generates bindings for multiple components
type BindingInfo ¶
type BindingInfo struct {
BindingName string
ProjectName string
ComponentName string
ReleaseName string
Environment string
Binding *unstructured.Unstructured
IsUpdate bool // true if updating existing binding, false if creating new
ExistingFilePath string // original file path when IsUpdate is true
}
BindingInfo contains information about a generated binding
type BindingOptions ¶
type BindingOptions struct {
ProjectName string
ComponentName string
ComponentRelease string // If empty, auto-select based on environment position
TargetEnv string
PipelineInfo *pipeline.PipelineInfo
Namespace string
}
BindingOptions defines options for generating a single binding
type BulkBindingOptions ¶
type BulkBindingOptions struct {
All bool
ProjectName string
TargetEnv string
PipelineInfo *pipeline.PipelineInfo
Namespace string
}
BulkBindingOptions defines options for bulk binding generation
type BulkBindingResult ¶
type BulkBindingResult struct {
Bindings []BindingInfo
Errors []BindingError
}
BulkBindingResult contains the results of bulk binding generation
type BulkReleaseOptions ¶
type BulkReleaseOptions struct {
ProjectName string // If set, only release components in this project
All bool // If true, release all components
Version string // Version string for all releases
Namespace string // Kubernetes namespace
}
BulkReleaseOptions configures bulk release generation
type BulkReleaseResult ¶
type BulkReleaseResult struct {
Releases []ReleaseInfo
Errors []ReleaseError
}
BulkReleaseResult represents the result of a bulk release operation
type ReleaseError ¶
ReleaseError contains info about a failed release
type ReleaseGenerator ¶
type ReleaseGenerator struct {
// contains filtered or unexported fields
}
ReleaseGenerator generates ComponentRelease resources
func NewReleaseGenerator ¶
func NewReleaseGenerator(index *fsmode.Index) *ReleaseGenerator
NewReleaseGenerator creates a new release generator
func (*ReleaseGenerator) GenerateBulkReleases ¶
func (g *ReleaseGenerator) GenerateBulkReleases(opts BulkReleaseOptions) (*BulkReleaseResult, error)
GenerateBulkReleases generates releases for multiple components
func (*ReleaseGenerator) GenerateRelease ¶
func (g *ReleaseGenerator) GenerateRelease(opts ReleaseOptions) (*unstructured.Unstructured, error)
GenerateRelease generates a ComponentRelease for the specified component
type ReleaseInfo ¶
type ReleaseInfo struct {
ComponentName string
ProjectName string
ReleaseName string
Release *unstructured.Unstructured
}
ReleaseInfo contains info about a generated release
type ReleaseOptions ¶
type ReleaseOptions struct {
ComponentName string
ProjectName string
Namespace string
ReleaseName string // Optional: custom release name (if empty, auto-generated from component, date, version)
Version string // Optional: auto-generated if empty
Date time.Time // Optional: uses current date if zero
}
ReleaseOptions configures release generation