Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Composer ¶
type Composer struct {
runtime.Runtime
// Resource-specific dependencies
ArtifactBuilder artifact.Artifact
BlueprintHandler blueprint.BlueprintHandler
TerraformResolver terraform.ModuleResolver
}
Composer holds the execution context for resource operations. It embeds the base Runtime and includes all resource-specific dependencies.
func NewComposer ¶
NewComposer creates and initializes a new Composer instance with the provided execution context. It sets up all required resource handlers—artifact builder, blueprint handler, and terraform resolver. If overrides are provided, any non-nil component in the override Composer will be used instead of creating a default. Returns a pointer to the fully initialized Composer struct.
func (*Composer) Bundle ¶
Bundle creates a complete artifact bundle from the project's templates, kustomize, and terraform files. It creates a distributable artifact. The outputPath specifies where to save the bundle file. Returns the actual output path or an error.
func (*Composer) Generate ¶
Generate processes and deploys the complete project infrastructure. It initializes all core resources, processes blueprints, and handles terraform modules for the project. The optional overwrite parameter determines whether existing files should be overwritten during blueprint processing. The optional blueprintURL parameter specifies the blueprint artifact to load (OCI URL or local .tar.gz path). If not provided, LoadBlueprint will use the default blueprint URL. This is the main deployment method. Returns an error if any initialization or processing step fails.
func (*Composer) GenerateBlueprint ¶
func (r *Composer) GenerateBlueprint() (*blueprintv1alpha1.Blueprint, error)
GenerateBlueprint generates and returns the blueprint from the blueprint handler. It initializes the blueprint handler if needed and loads the blueprint data before generating. Returns the generated blueprint or an error if initialization or loading fails.
func (*Composer) Push ¶
Push creates and pushes an artifact to a container registry. It bundles all project files and pushes them to the specified registry with the given tag. The registryURL can be in formats like "registry.com/repo:tag", "registry.com/repo", or "oci://registry.com/repo:tag". Returns the registry URL or an error.