provisioners

package
v0.0.0-...-c634459 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package provisioners provides implementations for various infrastructure provisioners.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindMissingFromAirlock

func FindMissingFromAirlock(mdParamsSchema map[string]any, airlockParams *schema.Schema) map[string]any

FindMissingFromAirlock returns schema properties present in mdParamsSchema but absent from the airlock schema.

func FindMissingFromMassdriver

func FindMissingFromMassdriver(airlockInputsSchema map[string]any, mdParamsSchema map[string]any) map[string]any

FindMissingFromMassdriver returns schema properties present in airlockInputsSchema but absent from the massdriver schema.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL