# local-dev — k3d-in-Docker cell + minimal observability.
#
# Targets a developer laptop. Reuses the existing
# alphaswarm_platform/terraform/environments/local pre-rendered
# workspace via ``module_source`` so the HCL doesn't have to be
# re-rendered through the Jinja2 path; the spec hash here is what
# lands in terraform_stack_spec_versions for replays.

name: alphaswarm-local-dev
slug: local-dev
module_kind: cell
description: |
  Local-dev AlphaSwarm cell. k3d-in-Docker cluster + base workloads
  (alphaswarm-core / alphaswarm-worker / alphaswarm-beat /
  alphaswarm-client / postgres / redis) + a slim observability stack
  (otel-collector + Prometheus single-node + Loki single-binary).
  Cost target: $0 cloud spend.

cloud_provider: local
environment: local
module_source: ../../modules/cell

provider:
  kind: local

backend:
  kind: local
  config:
    path: data/terraform/state/local-dev.tfstate

variables:
  - name: cell_name
    type: string
    default: local-dev
    description: Cell slug — appears in namespace names + ingress hosts.
  - name: cell_namespace
    type: string
    default: alphaswarm
    description: Primary cell namespace.
  - name: cell_admin_namespace
    type: string
    default: alphaswarm-admin
  - name: cell_ui_namespace
    type: string
    default: alphaswarm-ui
  - name: cell_replicas
    type: number
    default: 1
  - name: ingress_host
    type: string
    default: aqp.localhost
  - name: tier
    type: string
    default: shared-std

required_providers:
  kubernetes:
    source: hashicorp/kubernetes
    version: ~> 2.30
  helm:
    source: hashicorp/helm
    version: ~> 2.15
  docker:
    source: kreuzwerker/docker
    version: ~> 3.0

annotations:
  alphaswarm.io/template-name: local-dev
  alphaswarm.io/template-kind: cell
  alphaswarm.io/target-cost-monthly: "$0"
  alphaswarm.io/composition: jinja2
