Documentation
¶
Index ¶
- Constants
- func BuildComponentInFilePath(componentType, componentName, relPath string) string
- func BuildComponentYqPath(componentType, componentName, relPath string) string
- func PickProvenanceFile(entries []merge.ProvenanceEntry) (file string, line int, ok bool)
- func ProcessYAMLConfigFile(atmosConfig *schema.AtmosConfiguration, basePath string, filePath string, ...) (map[string]any, map[string]map[string]any, map[string]any, map[string]any, ...)
- func ProcessYAMLConfigFiles(atmosConfig *schema.AtmosConfiguration, stacksBasePath string, ...) ([]string, map[string]any, map[string]map[string]any, error)
Constants ¶
const ComponentsSectionName = "components"
ComponentsSectionName is the top-level stack manifest key under which all components are nested.
Variables ¶
This section is empty.
Functions ¶
func BuildComponentInFilePath ¶ added in v1.223.0
BuildComponentInFilePath maps a component-relative dot-path (e.g. "vars.region") to its location inside a stack manifest file, which nests component config under components.<type>.<name>. Segments are joined raw (unescaped), matching how merge provenance keys are recorded (see pkg/utils.AppendJSONPathKey), so this form is used for provenance lookups. For addressing YAML nodes safely, use BuildComponentYqPath instead.
Example: ("terraform", "vpc", "vars.region") -> "components.terraform.vpc.vars.region".
func BuildComponentYqPath ¶ added in v1.223.0
BuildComponentYqPath builds the same component-relative location as BuildComponentInFilePath but quotes the literal structural segments (componentType, componentName) when they are not simple identifiers, so a component named "vpc.prod" or "foo[0]" addresses the correct manifest node instead of being parsed as nested path syntax. The relPath is appended as-is because it is already user-facing dot-path syntax (parsed downstream by the YAML path translator). Use this form for all real YAML reads/writes.
Example: ("terraform", `vpc.prod`, "vars.region") ->
`components.terraform."vpc.prod".vars.region`.
func PickProvenanceFile ¶ added in v1.223.0
func PickProvenanceFile(entries []merge.ProvenanceEntry) (file string, line int, ok bool)
PickProvenanceFile returns the source file (and line) of the winning provenance entry for a path. Provenance records entries in merge order, so the LAST entry is the one whose value is effective after deep-merge. Returns ok=false when there are no entries (the path is not defined anywhere).
func ProcessYAMLConfigFile ¶
func ProcessYAMLConfigFile( atmosConfig *schema.AtmosConfiguration, basePath string, filePath string, importsConfig map[string]map[string]any, context map[string]any, ignoreMissingFiles bool, skipTemplatesProcessingInImports bool, ignoreMissingTemplateValues bool, skipIfMissing bool, parentTerraformOverridesInline map[string]any, parentTerraformOverridesImports map[string]any, parentHelmfileOverridesInline map[string]any, parentHelmfileOverridesImports map[string]any, atmosManifestJsonSchemaFilePath string, ) ( map[string]any, map[string]map[string]any, map[string]any, map[string]any, map[string]any, map[string]any, map[string]any, error, )
func ProcessYAMLConfigFiles ¶
func ProcessYAMLConfigFiles( atmosConfig *schema.AtmosConfiguration, stacksBasePath string, terraformComponentsBasePath string, helmfileComponentsBasePath string, packerComponentsBasePath string, ansibleComponentsBasePath string, filePaths []string, processStackDeps bool, processComponentDeps bool, ignoreMissingFiles bool, ) ( []string, map[string]any, map[string]map[string]any, error, )
ProcessYAMLConfigFiles takes a list of paths to stack manifests, processes and deep-merges all imports, and returns a list of stack configs.
Types ¶
This section is empty.