Help us shape the future of Go! Take the 2026 Go Developer Survey

stack

package
v1.224.0 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 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,
) (*schema.StackManifestProcessingResult, error)

ProcessYAMLConfigFile takes a path to a YAML stack manifest, recursively processes and deep-merges all the imports, and returns the processing result.

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