stack

package
v1.223.0-rc.6 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
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

func BuildComponentInFilePath(componentType, componentName, relPath string) string

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

func BuildComponentYqPath(componentType, componentName, relPath string) string

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.

Directories

Path Synopsis
Package imports provides functionality for processing stack imports, including support for remote imports from URLs via go-getter.
Package imports provides functionality for processing stack imports, including support for remote imports from URLs via go-getter.

Jump to

Keyboard shortcuts

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