Repository navigation
Fix/2026.14.2 - #29
Merged
Merged
Conversation
update_container re-upped a compose service without -p, so compose named the project after the folder. For a Portainer stack (/data/compose/49) that made it "49", the running container belonged to another project, and the re-up failed on its container_name: 'The container name "/searxng" is already in use'. Pass the project from the container's label, as the stack actions already do.
A stack Vigil manages gets an Edit button next to its name on the Containers page, running or down. The Managed by Vigil bar above now holds only New stack and the managed stacks with no row on the page (saved, never deployed), instead of a chip for every stack.
Scripts loaded from fixed URLs like /static/js/vigil-stacks.js, so a cache in front of Vigil (Cloudflare's browser TTL is 4 hours) served the 2026.14.0 script with the 2026.14.1 page after an upgrade. The old script still built the modal stack editor, so the full-screen editor, its YAML highlighting and the blank new-stack form never showed. The image now sets VIGIL_HASHED_STATIC=1: collectstatic writes hashed copies (manifest storage) and pages link those, served as immutable. Source-map comments in the vendored libraries are left alone; they name .map files Vigil does not ship. Tests and source checkouts keep plain names.
…u type, and closes with an X A new stack written in the editor was sent without its host or name since the Git source picker went in (4956962), so the server refused every one. - The name is checked as you type: lowercase letters, digits, _ and -, not a stack Vigil already has on the host, and not a compose project already running there. Save waits until it is valid. - The server refuses a running project's name too: deploying under it would take over that project's containers. A project with no containers left frees its name. - An X at the end of the editor bar closes it (asking first if unsaved). - The bar reaches up through the page's top padding, so nothing scrolled past it shows above it. - Scrolling past the end of the compose file stays in the editor, and the colored text and line numbers always have room to follow the textarea. - Show values says what happened next to where you clicked: an error, no saved variables, or how many values it shows. It only appears when there are saved values.
Eight places asked for the code their own way: a field on the deploy, rollout start and enrolment screens, a whole modal for rollout halt and resume, fields on the policy and playbook pages, one in the rebuild dialog, and the browser's own prompt() to turn TOTP off. All now open totpPrompt, after the form's own checks pass, titled for what it confirms. totpPrompt takes a title, and Escape closes only the dialog, not the modal it was opened over. First-run setup keeps its field: there the code proves the authenticator was enrolled. With one dialog, a hardware key can later be offered in one place.
The host drawer had a text field and a Pick button that only filled the field: a pick saved nothing until Add was pressed, and two picks saved as one tag "a, b". The field is now a combobox: it lists the existing tags with how many machines carry them, offers "Create tag" for a new name, refuses Vigil's own inventory tags (os:, pkg: ...), works from the keyboard, and saves each pick at once. The update policy's "Hosts tagged" field gets the Pick button every other tag field has, including inventory tags.
Ported from Jackil's Search Everything: a Search page in the sidebar with one box, and Ctrl+K (or / when not typing) jumps to it from anywhere. GET /api/v1/search/?q= searches hosts (name, OS, IP, tags), containers (name, image), stacks, apps (one result per name with its host count), open CVEs (grouped, worst severity first), task definitions, playbooks, update policies and firing alerts, at most 8 of each. Each kind is filtered the way its own page is: hosts and everything on them by site scope, stacks and update policies for admins only, tasks the user's own plus community ones. A result opens where it lives: a host's monitor, a container's host, the stack editor, the task, playbook or policy editor.
… policies A policy belongs to one site, but the search's admin check passes for a user who is admin in any site, so a West admin found Lab's policies by name. Narrow them to the sites the user can see, and test that a one-site admin finds nothing of another site's hosts, containers, stacks, alerts or policies.
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.
Fixes
Stack editor
New