Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseModuleResolver ¶
type BaseModuleResolver struct {
// contains filtered or unexported fields
}
BaseModuleResolver provides common functionality for all module resolvers
func NewBaseModuleResolver ¶
func NewBaseModuleResolver(injector di.Injector) *BaseModuleResolver
NewBaseModuleResolver creates a new base module resolver
func (*BaseModuleResolver) Initialize ¶
func (h *BaseModuleResolver) Initialize() error
Initialize sets up the base module resolver
type MockModuleResolver ¶
MockModuleResolver is a mock implementation of the ModuleResolver interface
func NewMockModuleResolver ¶
func NewMockModuleResolver(injector di.Injector) *MockModuleResolver
NewMockModuleResolver creates a new MockModuleResolver instance
func (*MockModuleResolver) Initialize ¶
func (m *MockModuleResolver) Initialize() error
Initialize calls the mock InitializeFunc if set, otherwise returns nil
func (*MockModuleResolver) ProcessModules ¶
func (m *MockModuleResolver) ProcessModules() error
ProcessModules calls the mock ProcessModulesFunc if set, otherwise returns nil
type ModuleResolver ¶
ModuleResolver processes terraform module sources and generates appropriate module configurations
type OCIModuleResolver ¶
type OCIModuleResolver struct {
*BaseModuleResolver
// contains filtered or unexported fields
}
OCIModuleResolver handles terraform modules from OCI artifacts
func NewOCIModuleResolver ¶
func NewOCIModuleResolver(injector di.Injector) *OCIModuleResolver
NewOCIModuleResolver creates a new OCI module resolver
func (*OCIModuleResolver) Initialize ¶
func (h *OCIModuleResolver) Initialize() error
Initialize sets up the OCI module resolver with required dependencies
func (*OCIModuleResolver) ProcessModules ¶
func (h *OCIModuleResolver) ProcessModules() error
ProcessModules processes all terraform components that use OCI sources by extracting modules from OCI artifacts and generating appropriate module shims. It identifies components with resolved OCI source URLs, extracts the required modules, and creates the necessary terraform configuration files.
type RealTarReader ¶
type RealTarReader struct {
// contains filtered or unexported fields
}
RealTarReader is the real implementation of TarReader
type Shims ¶
type Shims struct {
MkdirAll func(path string, perm os.FileMode) error
WriteFile func(filename string, data []byte, perm os.FileMode) error
ReadFile func(filename string) ([]byte, error)
Stat func(name string) (os.FileInfo, error)
Chdir func(dir string) error
FilepathRel func(basepath, targpath string) (string, error)
JsonUnmarshal func(data []byte, v any) error
NewBytesReader func(b []byte) *bytes.Reader
NewTarReader func(r io.Reader) TarReader
EOFError func() error
TypeDir func() byte
Create func(name string) (*os.File, error)
Copy func(dst io.Writer, src io.Reader) (int64, error)
Chmod func(name string, mode os.FileMode) error
Setenv func(key, value string) error
}
Shims provides mockable wrappers around system and runtime functions
type StandardModuleResolver ¶
type StandardModuleResolver struct {
*BaseModuleResolver
// contains filtered or unexported fields
}
StandardModuleResolver handles standard terraform module sources (git, local paths, etc.)
func NewStandardModuleResolver ¶
func NewStandardModuleResolver(injector di.Injector) *StandardModuleResolver
NewStandardModuleResolver creates a new standard module resolver
func (*StandardModuleResolver) Initialize ¶
func (h *StandardModuleResolver) Initialize() error
Initialize sets up the StandardModuleResolver by resolving and assigning required dependencies. It initializes the base resolver, then resolves and assigns the blueprint handler, shell, and config handler from the dependency injector. Returns an error if any dependency cannot be resolved.
func (*StandardModuleResolver) ProcessModules ¶
func (h *StandardModuleResolver) ProcessModules() error
ProcessModules processes all standard terraform modules from the blueprint. It iterates over each terraform component, determines if the resolver should handle the source, creates the module directory, writes shim files (main.tf, variables.tf, outputs.tf), initializes the module with terraform, and determines the correct module path for shimming. Errors are returned if any step fails, ensuring that only valid and initialized modules are processed.
type TerraformInitOutput ¶
TerraformInitOutput represents the JSON output structure from terraform init