Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseGenerator ¶
type BaseGenerator struct {
// contains filtered or unexported fields
}
BaseGenerator is a base implementation of the Generator interface
func NewGenerator ¶
func NewGenerator(injector di.Injector) *BaseGenerator
NewGenerator creates a new BaseGenerator
func (*BaseGenerator) Initialize ¶
func (g *BaseGenerator) Initialize() error
Initialize sets up the BaseGenerator by resolving and storing required dependencies. It ensures that the config handler, blueprint handler, and shell are properly initialized.
func (*BaseGenerator) Write ¶
func (g *BaseGenerator) Write(overwrite ...bool) error
Write is a placeholder implementation of the Write method. Concrete implementations should override this method to provide specific generation logic.
type Generator ¶
Generator is the interface for all code generators It defines methods for initialization and file generation All generators must implement this interface
type GitGenerator ¶
type GitGenerator struct {
BaseGenerator
}
GitGenerator is a generator that writes Git configuration files
func NewGitGenerator ¶
func NewGitGenerator(injector di.Injector) *GitGenerator
NewGitGenerator creates a new GitGenerator
func (*GitGenerator) Write ¶
func (g *GitGenerator) Write(overwrite ...bool) error
Write generates the Git configuration files by creating or updating the .gitignore file. It ensures that Windsor-specific entries are added while preserving any existing user-defined entries.
type KustomizeGenerator ¶ added in v0.3.0
type KustomizeGenerator struct {
BaseGenerator
}
KustomizeGenerator is a generator that writes Kustomize files
func NewKustomizeGenerator ¶ added in v0.3.0
func NewKustomizeGenerator(injector di.Injector) *KustomizeGenerator
NewKustomizeGenerator creates a new KustomizeGenerator
func (*KustomizeGenerator) Write ¶ added in v0.3.0
func (g *KustomizeGenerator) Write(overwrite ...bool) error
Write method creates a "kustomize" directory in the project root if it does not exist. It then generates a "kustomization.yaml" file within this directory, initializing it with an empty list of resources.
type MockGenerator ¶
MockGenerator is a mock implementation of the Generator interface for testing purposes
func NewMockGenerator ¶
func NewMockGenerator() *MockGenerator
NewMockGenerator creates a new instance of MockGenerator
func (*MockGenerator) Initialize ¶
func (m *MockGenerator) Initialize() error
Initialize calls the mock InitializeFunc if set, otherwise returns nil
func (*MockGenerator) Write ¶
func (m *MockGenerator) Write(overwrite ...bool) error
Write calls the mock WriteFunc if set, otherwise returns nil
type Shims ¶ added in v0.5.7
type Shims struct {
WriteFile func(name string, data []byte, perm os.FileMode) error
ReadFile func(name string) ([]byte, error)
MkdirAll func(path string, perm os.FileMode) error
Stat func(name string) (os.FileInfo, error)
MarshalYAML func(v any) ([]byte, error)
TempDir func(dir, pattern string) (string, error)
RemoveAll func(path string) error
Chdir func(dir string) error
ReadDir func(name string) ([]os.DirEntry, error)
Setenv func(key, value string) error
}
Shims provides mockable wrappers around system and runtime functions
type TerraformGenerator ¶
type TerraformGenerator struct {
BaseGenerator
// contains filtered or unexported fields
}
TerraformGenerator is a generator that writes Terraform files
func NewTerraformGenerator ¶
func NewTerraformGenerator(injector di.Injector) *TerraformGenerator
NewTerraformGenerator creates a new TerraformGenerator with the provided dependency injector. It initializes the base generator and prepares it for Terraform file generation.
func (*TerraformGenerator) Write ¶
func (g *TerraformGenerator) Write(overwrite ...bool) error
Write generates Terraform configuration files for all components in the blueprint. It creates the necessary directory structure and writes three types of files: 1. main.tf - Contains module source and variable references 2. variables.tf - Defines all variables used by the module 3. .tfvars - Contains actual variable values for each context The function preserves existing values in .tfvars files while adding new ones. When reset is enabled, it removes existing .terraform state directories to force reinitialization. For components with remote sources, it generates module shims that provide local references.
type TerraformInitOutput ¶ added in v0.5.7
type TerraformInitOutput struct {
Level string `json:"@level"`
Message string `json:"@message"`
Module string `json:"@module"`
Timestamp string `json:"@timestamp"`
Type string `json:"type"`
}
TerraformInitOutput represents the JSON output from terraform init