// Shared variables for all Dockerfiles.
// Usage: DDTRACE_ADDONS is referenced in Dockerfiles via build args.
// docker buildx bake -f docker-bake.hcl <target>

variable "AWS_ACCOUNT" {
  default = "086679231553"
}

variable "PARENT_IMAGE_TAG" {
  default = "node24"
}

// dd-trace native addons — single source of truth.
// Keep in sync: Dockerfile, apps/runner/Dockerfile, apps/search/Dockerfile
// all reference this list via the DDTRACE_ADDONS build arg.
variable "DDTRACE_ADDONS" {
  default = "@datadog/native-appsec @datadog/native-iast-taint-tracking @datadog/native-metrics @datadog/pprof"
}

// ── Targets ─────────────────────────────────────────────────────────────

group "default" {
  targets = ["server", "search", "runner"]
}

target "server" {
  dockerfile = "Dockerfile"
  context    = "."
  target     = "deploy"
  args = {
    AWS_ACCOUNT      = AWS_ACCOUNT
    PARENT_IMAGE_TAG = PARENT_IMAGE_TAG
    DDTRACE_ADDONS   = DDTRACE_ADDONS
  }
}

target "search" {
  dockerfile = "apps/search/Dockerfile"
  context    = "."
  target     = "deploy-search"
  args = {
    AWS_ACCOUNT      = AWS_ACCOUNT
    PARENT_IMAGE_TAG = PARENT_IMAGE_TAG
    DDTRACE_ADDONS   = DDTRACE_ADDONS
  }
}

target "runner" {
  dockerfile = "apps/runner/Dockerfile"
  context    = "."
  target     = "deploy-runner"
  args = {
    AWS_ACCOUNT      = AWS_ACCOUNT
    PARENT_IMAGE_TAG = PARENT_IMAGE_TAG
    DDTRACE_ADDONS   = DDTRACE_ADDONS
  }
}

// Test targets (used by docker compose, not bake — listed for reference)
target "lint-and-test" {
  dockerfile = "Dockerfile"
  context    = "."
  target     = "lint-and-test"
  args = {
    AWS_ACCOUNT      = AWS_ACCOUNT
    PARENT_IMAGE_TAG = PARENT_IMAGE_TAG
    DDTRACE_ADDONS   = DDTRACE_ADDONS
  }
}
