Skip to main content

Migrate Legacy settings.depends_on

Deprecated

settings.depends_on is supported only for backward compatibility. New and updated configurations must use dependencies.components. Use dependencies.files and dependencies.folders for external paths.

The same map is also accepted directly on the component (without the settings wrapper), also for backward compatibility only. Both forms remain fully functional — no dependency edges are dropped — but atmos validate stacks prints a non-failing warning wherever either legacy form is used, naming dependencies.components as the replacement.

Migration

Replace the map under settings.depends_on with a list under dependencies.components. Change component to name, and replace the legacy context fields with an explicit stack value, optionally constructed with a Go template.

Before (legacy)
components:
terraform:
app:
settings:
depends_on:
network:
component: vpc
database:
component: rds
tenant: tenant1
environment: ue2
stage: prod
After (current)
components:
terraform:
app:
dependencies:
components:
- name: vpc
- name: rds
stack: tenant1-ue2-prod

Field Mapping

Legacy fieldCurrent form
componentname
namespace, tenant, environment, stagestack, optionally using a Go template
filedependencies.files
folderdependencies.folders

The new format can also declare a cross-type dependency with kind. See Component Dependencies for the complete schema, merge behavior, and examples.