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​