Skip to content

feat(routeros): manage sw-core01 with opentofu - #11

Merged
jmgilman merged 3 commits into
masterfrom
feat/sw-core01-tofu
Aug 21, 2026
Merged

feat(routeros): manage sw-core01 with opentofu#11
jmgilman merged 3 commits into
masterfrom
feat/sw-core01-tofu

Conversation

@jmgilman

Copy link
Copy Markdown
Contributor

Adds the OpenTofu root routeros/sw-core01/ (terraform-routeros v1.99.1, REST over pinned device-local CA, creds via SOPS→ROS_* env) and wires routeros-check into moon CI.

Executed live today: bootstrap (svc-tofu account, re-minted CA/leaf certs, secrets#27), adoption of the v1-kept objects (12 imports, 0 replacements), convergence (identity sw-core01, factory port names + PHY comments, service hardening, NTP), Safe/off-path purge of the defconf bridge, VLANs 30/50/60, and the legacy cert, and the full v2 port set. tofu plan is empty against the live device; moon run network:check passes.

Notes:

  • routeros_ip_service import is broken upstream (Name-ID importer resolves to *HEX); adopted via create=/set semantics instead.
  • gw01 template: removed the now-dead sw-core01 DHCP static-mapping (address is static on-device per ADR discussion); deploy via the normal vyos sync at leisure — drift until then is a benign unused reservation.
  • Companion docs land in GilmanLab/root (address plan, design doc, runbook, ADR-0004).

Manage the CRS309 core switch from GilmanLab/networking with a pinned
local CA, ROS_* env credentials, and adoption import blocks.
Add operator plan/apply tasks and pin just plus tofu so CI can run the
offline fmt/init/validate check.
- fill live import IDs; drop broken ip_service imports (provider Name-ID
  importer defect; adopt-by-create /set semantics instead)
- defer-then-restore sfpplus5-7 port rows around the defconf purge
- user group is runbook-owned: svc-tofu lacks the policy permission by design
- hermetic offline check via dedicated TF_DATA_DIR
- drop the dead sw-core01 DHCP reservation from the gw01 template (static)
@jmgilman
jmgilman merged commit 4e5f71f into master Aug 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant