Skip to content

Conversation

@jmgilman
Copy link
Collaborator

Summary

  • Add justfile with recipes for common Talos operations (genconfig, bootstrap, kubeconfig, dashboard, status, logs, apply-config, etc.)
  • Fix CP-1 network interface selector from wildcard * to specific MAC address
  • Add .gitignore for generated clusterconfig/ directory

Problem

The wildcard hardwareAddr: "*" in talconfig.yaml was matching multiple interfaces (bond0, dummy0, enp2s0), causing Talos to create VLAN 30 sub-interfaces on all of them. This confused Talos's network stack - it couldn't determine which interface should be primary, so the gateway route wasn't applied properly, resulting in no network connectivity.

Solution

Changed to the specific MAC address (38:05:25:34:25:d0) for the UM760's 2.5GbE port that connects to VyOS eth2.

New Justfile Commands

Command Description
just genconfig Generate machine configs from talconfig.yaml
just bootstrap Bootstrap CP-1 (first time only)
just kubeconfig Fetch kubeconfig to ~/.kube/config
just dashboard [node] Open talosctl dashboard
just status [node] Get machine status
just services [node] List services on node(s)
just logs <service> [node] View logs from a service
just apply-config <node> Apply config to a node
just talosctl <args> Run any talosctl command with correct config

Node targeting supports: cp-1/cp1/1, cp-2/cp2/2, cp-3/cp3/3, or all

Test plan

  • Verified Talos boots with correct network configuration
  • Verified cluster bootstraps successfully
  • Verified kubectl can connect to the cluster
  • Verified justfile commands work correctly

🤖 Generated with Claude Code

jmgilman and others added 3 commits December 29, 2025 21:55
- Add justfile with recipes for common Talos operations:
  - genconfig: Generate machine configs via talhelper
  - bootstrap: Initialize first control plane node
  - kubeconfig: Fetch cluster credentials
  - dashboard: Open talosctl dashboard
  - status/services/logs: Node inspection commands
  - apply-config: Apply config updates to nodes
  - Flexible node targeting (cp-1, cp-2, cp-3, or all)

- Fix CP-1 network interface selector:
  - Change from wildcard (*) to specific MAC address (38:05:25:34:25:d0)
  - Wildcard was matching multiple interfaces (bond0, dummy0, enp2s0)
  - This caused VLAN interfaces on wrong devices and gateway route issues

- Add .gitignore for generated clusterconfig/ directory

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Bridge eth1.30 (switch trunk) and eth2.30 (UM760 direct connect) to allow
the UM760 platform anchor node to participate in VLAN 30 without requiring
the traffic to traverse the switch.

- Add br30 bridge with gateway IP 10.10.30.1/24
- Move IP from eth1.30 to br30 (eth1.30 now bridge member)
- Add eth2.30 VLAN interface as bridge member
- Update documentation with bridge architecture

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The platform network (VLAN 30) now uses a bridge (br30) to allow the
UM760 anchor node to participate via a direct connection. Update the
operational tests to reflect this:

- Remove VLAN 30 from parametrized test_vlan_interface_up
- Add dedicated test_vlan30_bridge_interface_up that validates:
  - VLAN interface is up and is a bridge member
  - Bridge br30 is up with the gateway IP

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jmgilman jmgilman merged commit 0217e8c into master Dec 30, 2025
1 check passed
@jmgilman jmgilman deleted the feat/talos-bootstrap-tooling branch December 30, 2025 06:21
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.

2 participants