8000 feat(mesh): Settings › Nodes and Network in the web app by adeelahmad · Pull Request #602 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(mesh): Settings › Nodes and Network in the web app - #602

Merged
adeelahmad merged 4 commits into
mainfrom
claude/project-thread-6dqeie
Oct 18, 2026
Merged

adeelahmad merged 4 commits into
mainfrom
claude/project-thread-6dqeie

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Description

Before: you could add, list and remove the mesh's nodes only over the API, MCP or the assistant. The web app had no page for them.

After: Settings has two new pages, Nodes and Network.

Nodes:

  • Adds a machine. You pick its role, and can give it a name and namespaces. Enter submits.
  • Shows the install line once, with Copy and how long it works.
  • Lists every machine, this one first, with:
    • its mesh address and when it was last seen;
    • Nebula's state and its Lens version;
    • its machine and certificate;
    • the namespaces it serves;
    • its log, with the worker's lines on a worker node.
  • Renames a machine in place.
  • Removes a machine without a dialog, with Undo.
  • Withdraws join tokens that haven't been used.

Network:

  • Shows whether the mesh is off, running, or on without its container. Where there's no upgrade agent, it gives the line that starts the container.
  • Shows the CA, this machine's mesh address and the mesh settings.
  • Shows what Nebula said.

Motivation and Context

Part of the Nebula network with a Nodes settings page. This follows #553, #591 and #595.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests (__tests__/settings-mesh.test.tsx).
  • My change requires documentation updates, and I have updated docs/ accordingly.
  • Users need more than the title: changelog.d/mesh-settings.md.

Done questions (AGENTS.md)

  • Goal: the Network (SDN) and Nodes submenus, where users configure, monitor and debug the mesh. Merges on green CI.
  • Agents: everything on these pages is already in the mesh API, MCP and assistant tools.
  • Zero setup: nothing new to install or set.
  • Fewest clicks: Enter submits, the role is defaulted, Copy is one click, and remove has Undo instead of a dialog.
  • Configurable: the mesh settings are editable on Network, with their defaults.
  • Light: frontend only.
  • Private and secure: the install line is shown once and never again. Admin-only, as the API is. No new surface.
  • Cost: n/a, no model calls.
  • User decides: nothing happens until an admin adds a node.
  • Upgrades: n/a, no stored-data change.
  • Honest: the pages and docs say the mesh is in progress, with compute nodes still to come.
  • Tests and docs updated. No generated files change.
  • Open standards: n/a for UI. No new dependencies.
  • Refine later (docs/mesh.md): compute nodes running sandboxes, an upgrade agent on nodes, nodes pulling prebuilt images.
  • Reuse: the existing settings shell, the RenameTitle and Banner components, and the generated client.

Generated by Claude Code

Nodes adds a machine (role, optional name and namespaces, Enter submits) and
shows its install line once with Copy and how long it works; lists every
machine, this one first, with its address, when it was last seen, Nebula, its
Lens version, machine, certificate, namespaces and log; renames in place,
removes without a dialog with Undo, and withdraws unused join tokens.

Network shows whether the mesh is off, running, or on without its container
(with the line to start it where there's no upgrade agent), the CA and this
machine's mesh address, the mesh settings and what Nebula said.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTrHPwWHtEvFJFq3M1YpH4
… and reads

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTrHPwWHtEvFJFq3M1YpH4
…' changelog fragment

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTrHPwWHtEvFJFq3M1YpH4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTrHPwWHtEvFJFq3M1YpH4
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

0