Fill in Tailscale IPs in node configs #9

Open
opened 2026-05-04 19:40:38 +00:00 by agent-cos · 4 comments

Goal

Replace 100.x.x.x placeholders with actual Tailscale IPs for each node.

Files to update

  • nodes/n97-1.nix — n97-1 Tailscale IP
  • nodes/n97-2.nix — n97-2 Tailscale IP
  • nodes/n97-3.nix — n97-3 Tailscale IP
  • nodes/rpi4-1.nix — rpi4-1 Tailscale IP
  • nodes/rpi4-2.nix — rpi4-2 Tailscale IP
  • nodes/n97-2.nix — serverAddr: n97-1 IP
  • nodes/n97-3.nix — serverAddr: n97-1 IP
  • nodes/rpi4-1.nix — serverAddr: n97-1 IP
  • nodes/rpi4-2.nix — serverAddr: n97-1 IP

How to get IPs

On each node:

tailscale ip -4

Blocker

Waiting on Scott to provide actual Tailscale IPs for all 5 nodes.

After updating

Commit and push, then Phase 1 can begin.

## Goal Replace `100.x.x.x` placeholders with actual Tailscale IPs for each node. ## Files to update - [ ] `nodes/n97-1.nix` — n97-1 Tailscale IP - [ ] `nodes/n97-2.nix` — n97-2 Tailscale IP - [ ] `nodes/n97-3.nix` — n97-3 Tailscale IP - [ ] `nodes/rpi4-1.nix` — rpi4-1 Tailscale IP - [ ] `nodes/rpi4-2.nix` — rpi4-2 Tailscale IP - [ ] `nodes/n97-2.nix` — serverAddr: n97-1 IP - [ ] `nodes/n97-3.nix` — serverAddr: n97-1 IP - [ ] `nodes/rpi4-1.nix` — serverAddr: n97-1 IP - [ ] `nodes/rpi4-2.nix` — serverAddr: n97-1 IP ## How to get IPs On each node: ```bash tailscale ip -4 ``` ## Blocker Waiting on Scott to provide actual Tailscale IPs for all 5 nodes. ## After updating Commit and push, then Phase 1 can begin.
Owner

Triage: Partial progress, still blocked on Scott

n97-1 IP confirmed: 100.104.70.88 (verified via tailscale ip -4 on this host).

The remaining 4 nodes still need their Tailscale IPs filled in:

  • n97-2 — unknown
  • n97-3 — unknown
  • rpi4-1 — unknown
  • rpi4-2 — unknown

Blocker: Scott needs to run tailscale ip -4 on each of the 4 remaining nodes and provide the addresses so they can be patched into the node configs.

Note: The nodes/ directory does not currently exist in any local checkout under /home/sscoble. The repo likely needs to be cloned or files need to be edited directly in Forgejo once IPs are known.

## Triage: Partial progress, still blocked on Scott **n97-1 IP confirmed:** `100.104.70.88` (verified via `tailscale ip -4` on this host). The remaining 4 nodes still need their Tailscale IPs filled in: - n97-2 — unknown - n97-3 — unknown - rpi4-1 — unknown - rpi4-2 — unknown **Blocker:** Scott needs to run `tailscale ip -4` on each of the 4 remaining nodes and provide the addresses so they can be patched into the node configs. **Note:** The `nodes/` directory does not currently exist in any local checkout under `/home/sscoble`. The repo likely needs to be cloned or files need to be edited directly in Forgejo once IPs are known.
Owner

BLOCKED — This ticket requires:

  1. Worker nodes (n97-2, n97-3, rpi4-1, rpi4-2) to be reachable via Tailscale
  2. Nodes are NOT currently online (Tailscale shows only n97-mini + 2 phones active)
  3. Kubeclaw repo not found at expected location (archived)
  4. Physical access required to set up/verify worker hardware

Available from this host: n97-mini with single-node k3s (control-plane only).
Cannot bootstrap workers or migrate databases without the target nodes being online.
Scott needs to power on and verify the worker hardware before this ticket can proceed.

BLOCKED — This ticket requires: 1. Worker nodes (n97-2, n97-3, rpi4-1, rpi4-2) to be reachable via Tailscale 2. Nodes are NOT currently online (Tailscale shows only n97-mini + 2 phones active) 3. Kubeclaw repo not found at expected location (archived) 4. Physical access required to set up/verify worker hardware Available from this host: n97-mini with single-node k3s (control-plane only). Cannot bootstrap workers or migrate databases without the target nodes being online. Scott needs to power on and verify the worker hardware before this ticket can proceed.
Owner

❌ BLOCKED

Reason: Worker nodes (n97-2, n97-3, rpi4-1, rpi4-2) are offline — need physical power-on to get Tailscale IPs

This ticket was previously identified as blocked. It requires Scott's action or external infrastructure before dispatch can proceed. Once unblocked, the system will pick it up on the next dispatch cycle.

Action for Scott: need physical power-on to get Tailscale IPs

## ❌ BLOCKED **Reason:** Worker nodes (n97-2, n97-3, rpi4-1, rpi4-2) are offline — need physical power-on to get Tailscale IPs This ticket was previously identified as blocked. It requires Scott's action or external infrastructure before dispatch can proceed. Once unblocked, the system will pick it up on the next dispatch cycle. **Action for Scott:** need physical power-on to get Tailscale IPs
Owner

🔍 Real blocker analysis (2026-06-01)

CoS investigated. The "waiting on Scott to provide Tailscale IPs" framing is wrong — the IPs don't exist because the nodes don't exist on the tailnet yet.

Evidence:

$ tailscale status | grep -E "n97-|rpi4-"
(only this machine, n97-mini, is on the tailnet)

The 5 nodes referenced in the body:

  • n97-1 — never joined tailnet (or expired)
  • n97-2 — never joined
  • n97-3 — never joined
  • rpi4-1 — never joined
  • rpi4-2 — never joined

The devops repo at /home/sscoble/devops/nodes/ has 5 nix files (n97-1.nix, n97-2.nix, n97-3.nix, rpi4-1.nix, rpi4-2.nix) with tailscaleIP = "100.x.x.x" placeholders. The placeholder is correct — there's nothing to fill in until the nodes exist.

What's actually needed to unblock this ticket:

  1. Power on the hardware — n97-2, n97-3, rpi4-1, rpi4-2 (Scott)
  2. Install NixOS on each (Scott, or pre-bake via the k3s-worker-iso skill — there's already a skill for this)
  3. tailscale up on each node — this generates the 100.x.x.x IP and makes the node visible to tailscale status from this machine
  4. Then I can fill in the placeholders with the actual IPs

What I CAN do without Scott:

  • Pre-write the tailscale up + IP capture script
  • Pre-write the nix patcher (read IPs from tailscale status --json, write to nix files)
  • Pre-stage the nixos-rebuild commands
  • Pre-build a checklist runbook for Scott to execute

Recommendation: Defer this ticket. The real blocker is the hardware being offline. The devops#3 ("Bootstrap worker nodes") ticket is the actual parent — it has the runbook for bringing the nodes online. Once #3's checkboxes are done, this ticket becomes mechanical.

Action taken: Marking this as tech-dependency and pointing at devops#3. Adding to blocked_types.

— Chief of Staff

## 🔍 Real blocker analysis (2026-06-01) CoS investigated. The "waiting on Scott to provide Tailscale IPs" framing is wrong — the IPs don't exist because **the nodes don't exist on the tailnet yet.** **Evidence:** ``` $ tailscale status | grep -E "n97-|rpi4-" (only this machine, n97-mini, is on the tailnet) ``` The 5 nodes referenced in the body: - `n97-1` — never joined tailnet (or expired) - `n97-2` — never joined - `n97-3` — never joined - `rpi4-1` — never joined - `rpi4-2` — never joined The devops repo at `/home/sscoble/devops/nodes/` has 5 nix files (`n97-1.nix`, `n97-2.nix`, `n97-3.nix`, `rpi4-1.nix`, `rpi4-2.nix`) with `tailscaleIP = "100.x.x.x"` placeholders. The placeholder is correct — there's nothing to fill in until the nodes exist. **What's actually needed to unblock this ticket:** 1. **Power on the hardware** — n97-2, n97-3, rpi4-1, rpi4-2 (Scott) 2. **Install NixOS** on each (Scott, or pre-bake via the k3s-worker-iso skill — there's already a skill for this) 3. **`tailscale up` on each node** — this generates the 100.x.x.x IP and makes the node visible to `tailscale status` from this machine 4. **Then** I can fill in the placeholders with the actual IPs **What I CAN do without Scott:** - Pre-write the `tailscale up` + IP capture script - Pre-write the nix patcher (read IPs from `tailscale status --json`, write to nix files) - Pre-stage the nixos-rebuild commands - Pre-build a checklist runbook for Scott to execute **Recommendation:** Defer this ticket. The real blocker is the hardware being offline. The devops#3 ("Bootstrap worker nodes") ticket is the actual parent — it has the runbook for bringing the nodes online. Once #3's checkboxes are done, this ticket becomes mechanical. **Action taken:** Marking this as `tech-dependency` and pointing at devops#3. Adding to blocked_types. — Chief of Staff
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sscoble/devops#9
No description provided.