Repository navigation
feat: installable netlab-gui package with CLI, bundled UI and PyPI re… - #57
Open
Muddyblack wants to merge 15 commits into
Open
Muddyblack wants to merge 15 commits into
Muddyblack wants to merge 15 commits into
Conversation
…lease Move app/ and services/ under netlab_gui/, add the netlab-gui command (serve, install-service), bundle frontend and monitoring plugin into the wheel, and publish to PyPI on version tags.
GET /api/environment/host reports netlab, sudo-less containerlab, Docker and workspace readiness; Settings → Environment shows it and a banner points at it when deployments would fail.
NETLAB_GUI_TOKEN (or netlab-gui token) is accepted as a bearer header or ?token= query on REST, SSE and WebSockets. The frontend and the Electron app attach it, and the connect screen takes it.
scripts/install.sh installs via pipx (optionally netlab, containerlab and the service). netlab-gui upgrade updates by install method and restarts the user service. A deploy now prints a warning up front when containerlab is not set up to run without a password; passwordless sudo counts as set up.
Package, command, Python module, service, config files and NETLAB_GUI_* environment variables become netlab-ui / netlab_ui / NETLAB_UI_*, matching the repo, image and docs. Nothing was published under the old names.
packages.default builds the netlab-ui command with the UI and monitoring plugin bundled; nixosModules.default adds services.netlab-ui with the containerlab setuid wrapper and clab_admins group.
A second Dockerfile target (full) for hosts that only have Docker, with docker-compose.full.yml. The release workflow publishes both images: the UI-only tags and the same tags with a -full suffix.
This reverts commit 31a9d0c.
The version is now a plain field in backend/pyproject.toml. scripts/tag.sh bumps it on a release branch and opens a PR; merging it runs release.yml, which tags, creates the GitHub release, publishes to PyPI and builds the image. pr-release-flag.yml labels PRs that bump the version.
…ation netlab-ui reads ~/.config/netlab-ui/config.toml (address, port, tool locations). install-service records the directories where netlab, Ansible and containerlab were found in the unit PATH and the config, verifies lingering, waits for the service to answer on its port, and prints the status and log commands (or the last log lines when it fails).
…, reusable release workflows) Move monitoring to plugins/monitoring, Dockerfile/dev compose/install script/NixOS module to packaging/, sample lab to examples/, monitoring screenshots to docs/. Rename called release workflows to _pypi.yml and _container.yml. Add a root Makefile.
…ortable tag.sh - release.yml: create the tag/GitHub release only after PyPI and the image are published; PyPI upload skips existing files so a re-run works - restore root .dockerignore (works without BuildKit) - CI: backend job runs on plugins/monitoring changes; docker job on backend/frontend/plugin changes - tag.sh: awk instead of GNU sed so it runs on macOS - unify action versions, add github-actions to dependabot - install.sh stub fails loudly if the download fails
…ifacts, pinned compose, grouped notes - release.yml: ci -> wheel/image build+start -> pypi + image tags by digest -> tag and release last - _wheel.yml / _image.yml (renamed): build, twine check, install in a clean venv, run, check API and UI - scripts/smoke-test.sh, scripts/release-notes.sh - release assets: wheel, sdist, docker-compose.yml pinned to the version, SHA256SUMS; install command sets HOST_TOOLS_DIR - ci.yml is callable and no longer cancels a release run - backend: add README so the PyPI page has a description (twine check --strict)
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…lease
Move app/ and services/ under netlab_gui/, add the netlab-gui command (serve, install-service), bundle frontend and monitoring plugin into the wheel, and publish to PyPI on version tags.