CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Failing after 4s
CI & Release / Trivy scan (pull_request) Skipped
CI & Release / Semantic Release (pull_request) Skipped
Extend glossary with storage floors, source of truth, and linkable anchors. Fix broken links, pose frame drift, rsync/offload wording, and README tone. Add docs/improvement audit records and live demo links in design journey.
46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Terraform — ground workloads
|
|
|
|
Declared workloads on the k3d simulation cluster. See [06 — IaC boundaries](../../docs/06-environments.md#iac-boundaries).
|
|
|
|
| Module | Tier | Purpose |
|
|
| --- | --- | --- |
|
|
| [`sim-env/`](sim-env/) | [T4](../../docs/00-glossary.md#t4--dev) dev/sim | Virtual fleet + observability on k3d |
|
|
| [`ground/`](ground/) | [T3](../../docs/00-glossary.md#t3--warehouse) | Warehouse + [T1→T3](../../docs/03-data-platform.md#storage-floors-tiers) offload |
|
|
|
|
Two modules, two states. Fleet disposable; warehouse survives `destroy` of sim-env.
|
|
|
|
## Recovering from partial state
|
|
|
|
If resources were created outside Terraform (or state was lost), import them
|
|
before `terraform apply`. Run from the target module directory (`sim-env/` or `ground/`):
|
|
|
|
```bash
|
|
# sim-env (namespace: swarm)
|
|
terraform import kubernetes_namespace.swarm swarm
|
|
terraform import kubernetes_stateful_set.drone swarm/drone
|
|
terraform import kubernetes_deployment.exporter swarm/exporter
|
|
terraform import kubernetes_deployment.explorer swarm/explorer
|
|
terraform import kubernetes_deployment.prometheus swarm/prometheus
|
|
terraform import kubernetes_deployment.grafana swarm/grafana
|
|
terraform import kubernetes_service.exporter swarm/exporter
|
|
terraform import kubernetes_service.explorer swarm/explorer
|
|
terraform import kubernetes_service.prometheus swarm/prometheus
|
|
terraform import kubernetes_service.grafana swarm/grafana
|
|
terraform import kubernetes_config_map.prometheus swarm/prometheus-config
|
|
terraform import kubernetes_config_map.grafana_provisioning swarm/grafana-provisioning
|
|
terraform import kubernetes_config_map.grafana_dashboard swarm/grafana-dashboard
|
|
|
|
# ground (namespace: ground)
|
|
terraform import kubernetes_namespace.ground ground
|
|
terraform import kubernetes_persistent_volume_claim.minio ground/minio-data
|
|
terraform import kubernetes_secret.minio ground/minio-credentials
|
|
terraform import kubernetes_deployment.minio ground/minio
|
|
terraform import kubernetes_deployment.warehouse_explorer ground/warehouse-explorer
|
|
terraform import kubernetes_service.minio ground/minio
|
|
terraform import kubernetes_service.warehouse_explorer ground/warehouse-explorer
|
|
terraform import kubernetes_cron_job_v1.offload ground/offload
|
|
```
|
|
|
|
Then `terraform apply` reconciles drift (for example pinning `EXPLORER_PORT`
|
|
and `EXPORTER_PORT` so Kubernetes service env injection does not break startup).
|