Documentation ¶
Index ¶
- func CreateComponentStackMap(stacksBasePath string, terraformComponentsBasePath string, ...) (map[string]map[string][]string, error)
- func FindComponentDependencies(stack string, componentType string, component string, baseComponents []string, ...) ([]string, error)
- func FindComponentStacks(componentType string, component string, baseComponent string, ...) ([]string, error)
- func FindComponentsDerivedFromBaseComponents(stack string, allComponents map[string]any, baseComponents []string) ([]string, error)
- func ProcessBaseComponentConfig(baseComponentConfig *BaseComponentConfig, allComponentsMap map[any]any, ...) error
- func ProcessStackConfig(stacksBasePath string, terraformComponentsBasePath string, ...) (map[any]any, error)
- func ProcessYAMLConfigFile(basePath string, filePath string, importsConfig map[string]map[any]any) (map[any]any, map[string]map[any]any, error)
- func ProcessYAMLConfigFiles(stacksBasePath string, terraformComponentsBasePath string, ...) ([]string, map[string]any, error)
- type BaseComponentConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateComponentStackMap ¶
func CreateComponentStackMap( stacksBasePath string, terraformComponentsBasePath string, helmfileComponentsBasePath string, filePath string, ) (map[string]map[string][]string, error)
CreateComponentStackMap accepts a config file and creates a map of component-stack dependencies
func FindComponentDependencies ¶
func FindComponentDependencies( stack string, componentType string, component string, baseComponents []string, importsConfig map[string]map[any]any) ([]string, error)
FindComponentDependencies finds all imports where the component or the base component(s) are defined Component depends on the imported config file if any of the following conditions is true:
- The imported file has any of the global `backend`, `backend_type`, `env`, `remote_state_backend`, `remote_state_backend_type`, `settings` or `vars` sections which are not empty
- The imported file has the component type section, which has any of the `backend`, `backend_type`, `env`, `remote_state_backend`, `remote_state_backend_type`, `settings` or `vars` sections which are not empty
- The imported config file has the "components" section, which has the component type section, which has the component section
- The imported config file has the "components" section, which has the component type section, which has the base component(s) section
func FindComponentStacks ¶
func FindComponentStacks( componentType string, component string, baseComponent string, componentStackMap map[string]map[string][]string) ([]string, error)
FindComponentStacks finds all infrastructure stack config files where the component or the base component is defined
func FindComponentsDerivedFromBaseComponents ¶ added in v1.4.15
func FindComponentsDerivedFromBaseComponents( stack string, allComponents map[string]any, baseComponents []string, ) ([]string, error)
FindComponentsDerivedFromBaseComponents finds all components that derive from the given base components
func ProcessBaseComponentConfig ¶ added in v1.4.15
func ProcessBaseComponentConfig( baseComponentConfig *BaseComponentConfig, allComponentsMap map[any]any, component string, stack string, baseComponent string, componentBasePath string, checkBaseComponentExists bool) error
ProcessBaseComponentConfig processes base component(s) config
func ProcessStackConfig ¶ added in v1.4.15
func ProcessStackConfig( stacksBasePath string, terraformComponentsBasePath string, helmfileComponentsBasePath string, stack string, config map[any]any, processStackDeps bool, processComponentDeps bool, componentTypeFilter string, componentStackMap map[string]map[string][]string, importsConfig map[string]map[any]any, checkBaseComponentExists bool, ) (map[any]any, error)
ProcessStackConfig takes a raw stack config, deep-merges all variables, settings, environments and backends, and returns the final stack configuration for all Terraform and helmfile components
func ProcessYAMLConfigFile ¶
func ProcessYAMLConfigFile( basePath string, filePath string, importsConfig map[string]map[any]any) (map[any]any, map[string]map[any]any, error)
ProcessYAMLConfigFile takes a path to a YAML stack config file, recursively processes and deep-merges all imports, and returns stack config as map[any]any
func ProcessYAMLConfigFiles ¶
func ProcessYAMLConfigFiles( stacksBasePath string, terraformComponentsBasePath string, helmfileComponentsBasePath string, filePaths []string, processStackDeps bool, processComponentDeps bool) ([]string, map[string]any, error)
ProcessYAMLConfigFiles takes a list of paths to YAML config files, processes and deep-merges all imports, and returns a list of stack configs
Types ¶
type BaseComponentConfig ¶ added in v1.3.10
type BaseComponentConfig struct { BaseComponentVars map[any]any BaseComponentSettings map[any]any BaseComponentEnv map[any]any FinalBaseComponentName string BaseComponentCommand string BaseComponentBackendType string BaseComponentBackendSection map[any]any BaseComponentRemoteStateBackendType string BaseComponentRemoteStateBackendSection map[any]any ComponentInheritanceChain []string }