Skip to content

feat(ecs): add AWS task tag support#107

Merged
Will Graham (wlggraham) merged 1 commit into
mainfrom
ecs_tags
Jun 4, 2026
Merged

feat(ecs): add AWS task tag support#107
Will Graham (wlggraham) merged 1 commit into
mainfrom
ecs_tags

Conversation

@wlggraham

@wlggraham Will Graham (wlggraham) commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a tags field to the ECS cluster context, command context, and job context so operators can attach arbitrary AWS resource tags to tasks at launch
  • Tags are merged in precedence order: cluster < command < job, so more specific contexts can override broader defaults
  • job_id is always injected automatically so every ECS task is traceable back to its Heimdall job

How it works

Tags from all three levels are resolved once in buildExecutionContext before any tasks are launched:

  1. Cluster tags form the base
  2. Command tags overlay cluster tags (json.Unmarshal merges map fields, so command and job tags are already merged by the time they reach the execution context)
  3. job_id is set last and cannot be overridden

Example config

# Cluster context
tags:
  env: prod
  cluster: ecs-fargate

# Command context
tags:
  team: data-platform

# Job context (at submission time)
tags:
  pipeline: my-pipeline

Resulting ECS task tags: env=prod, cluster=ecs-fargate, team=data-platform, pipeline=my-pipeline, job_id=<heimdall-job-id>

Test plan

  • Submit an ECS job and verify tags appear on the task in the AWS console
  • Confirm job_id tag is always present
  • Confirm job-level tags override cluster/command tags on the same key
  • Confirm jobs with no tags configured at any level still launch without error

Adds a `tags` field to the ECS cluster, command, and job contexts so
operators can attach arbitrary AWS resource tags to ECS tasks at launch.
Tags are merged in precedence order (cluster < command < job), and
`job_id` is always injected automatically so every task is traceable
back to its Heimdall job.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@wlggraham Will Graham (wlggraham) merged commit e9fe350 into main Jun 4, 2026
7 checks passed
@wlggraham Will Graham (wlggraham) deleted the ecs_tags branch June 4, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants