Skip to main content

Overriding scope workflows

Agent-backed scopes come with flexible defaults, but sometimes you'll want to change how a scope behaves—without rewriting it from scratch.

Overrides let you extend or adjust what a scope does by plugging in custom logic, parameters, or workflow changes. They’re ideal for cases where the base scope gets you almost there, but not quite.

Why use overrides?

Use an override when you want to

  • tweak deployment behavior without editing the base scope
  • inject organization-specific logic (e.g. tags, tolerations, domain generation)
  • reuse a base scope like k8s, but with your own configuration or steps

Two types of overrides

Configuration overrides

These change runtime values by adding a values.yaml to your override repo.

Use these when you want to:

  • Add labels or annotations
  • Swap out a manifest template
  • Enable features like IRSA, logging, or backups

Behavior overrides

These change how workflows run. You can skip, replace, or add steps to scope actions like create or deploy.

Use these when you want to:

  • Remove a step like DNS setup
  • Add custom scripts based on platform
  • Replace domain generation or workload logic

Full example

Check out our hands-on case where we:

  • Disable networking
  • Use a scheduled task (CronJob) template
  • Add retry and logging logic

Setting up your override environment

Before applying overrides, you'll need to:

  • Choose a base scope to extend
  • Store your overrides in a Git repo
  • Install the nullplatform agent
  • Set up a notification channel with override support

Next steps