Documentation
¶
Overview ¶
Package provisioners provides implementations for various infrastructure provisioners.
Index ¶
- func FindMissingFromAirlock(mdParamsSchema map[string]any, airlockParams *schema.Schema) map[string]any
- func FindMissingFromMassdriver(airlockInputsSchema map[string]any, mdParamsSchema map[string]any) map[string]any
- type BicepProvisioner
- type HelmProvisioner
- type NoopProvisioner
- type OpentofuProvisioner
- type Provisioner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BicepProvisioner ¶
type BicepProvisioner struct{}
BicepProvisioner implements Provisioner for Azure Bicep templates.
func (*BicepProvisioner) ExportMassdriverInputs ¶
func (p *BicepProvisioner) ExportMassdriverInputs(stepPath string, variables map[string]any) error
ExportMassdriverInputs appends auto-generated Bicep param declarations from the massdriver schema to the step's template.
func (*BicepProvisioner) InitializeStep ¶
func (p *BicepProvisioner) InitializeStep(stepPath string, sourcePath string) error
InitializeStep copies the source Bicep template file into the step directory.
func (*BicepProvisioner) ReadProvisionerInputs ¶
func (p *BicepProvisioner) ReadProvisionerInputs(stepPath string) (map[string]any, error)
ReadProvisionerInputs reads the Bicep parameter declarations from the step's template file.
type HelmProvisioner ¶
type HelmProvisioner struct{}
HelmProvisioner implements Provisioner for Helm charts.
func (*HelmProvisioner) ExportMassdriverInputs ¶
func (p *HelmProvisioner) ExportMassdriverInputs(_ string, _ map[string]any) error
ExportMassdriverInputs is a no-op for Helm since variables need not be declared before use.
func (*HelmProvisioner) InitializeStep ¶
func (p *HelmProvisioner) InitializeStep(stepPath string, sourcePath string) error
InitializeStep copies the Helm chart directory into the step directory.
func (*HelmProvisioner) ReadProvisionerInputs ¶
func (p *HelmProvisioner) ReadProvisionerInputs(stepPath string) (map[string]any, error)
ReadProvisionerInputs reads the Helm values.yaml and returns its schema as a map.
type NoopProvisioner ¶
type NoopProvisioner struct{}
NoopProvisioner is a no-op Provisioner used for unknown provisioner types.
func (*NoopProvisioner) ExportMassdriverInputs ¶
func (p *NoopProvisioner) ExportMassdriverInputs(string, map[string]any) error
ExportMassdriverInputs is a no-op for unknown provisioner types.
func (*NoopProvisioner) InitializeStep ¶
func (p *NoopProvisioner) InitializeStep(string, string) error
InitializeStep is a no-op for unknown provisioner types.
func (*NoopProvisioner) ReadProvisionerInputs ¶
func (p *NoopProvisioner) ReadProvisionerInputs(string) (map[string]any, error)
ReadProvisionerInputs returns nil to signal this provisioner type has no inputs to match.
type OpentofuProvisioner ¶
type OpentofuProvisioner struct{}
OpentofuProvisioner implements Provisioner for OpenTofu/Terraform modules.
func (*OpentofuProvisioner) ExportMassdriverInputs ¶
func (p *OpentofuProvisioner) ExportMassdriverInputs(stepPath string, variables map[string]any) (retErr error)
ExportMassdriverInputs generates the _massdriver_variables.tf file from the massdriver schema.
func (*OpentofuProvisioner) InitializeStep ¶
func (p *OpentofuProvisioner) InitializeStep(stepPath string, sourcePath string) error
InitializeStep copies the OpenTofu module directory into the step directory, excluding state files.
func (*OpentofuProvisioner) ReadProvisionerInputs ¶
func (p *OpentofuProvisioner) ReadProvisionerInputs(stepPath string) (map[string]any, error)
ReadProvisionerInputs reads all OpenTofu variable declarations from the step directory.
type Provisioner ¶
type Provisioner interface {
ExportMassdriverInputs(stepPath string, variables map[string]any) error
ReadProvisionerInputs(stepPath string) (map[string]any, error)
InitializeStep(stepPath string, sourcePath string) error
}
Provisioner defines the interface for infrastructure provisioner implementations.
func NewProvisioner ¶
func NewProvisioner(provisionerType string) Provisioner
NewProvisioner returns the appropriate Provisioner implementation for the given provisioner type string.