feat: add advanced settings application hook - #8
Open
lukdz wants to merge 1 commit into
Open
Conversation
Try this branchThe engine and the scripts resolve independently, so a production script can COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/lukdz/core/feat/advanced-settings-hook \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/debian.sh)"Swap Run a script from a fork as wellcurl -fsSL https://raw.githubusercontent.com/lukdz/core/feat/advanced-settings-hook/tools/run.sh |
bash -s -- https://raw.githubusercontent.com/YOU/ProxmoxVED/your-branch ct/debian.sh \
https://raw.githubusercontent.com/lukdz/core/feat/advanced-settings-hookNote that Useful flags while testing
|
26 tasks
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.
✍️ Description
Adds an optional, generic extension point to the shared Advanced LXC wizard. Application scripts may define:
advanced_settings_app_configureto collect application-specific settings before confirmation.advanced_settings_app_summaryto append those settings to the confirmation summary.Both callbacks are optional and preserve existing behavior for scripts that do not define them. They are called only from the Advanced wizard, never from default or silent install flows.
Why this is needed
T3 Code needs custom Advanced-mode menus for optional tools such as Git, Codex, Claude, Grok, OpenCode, GitHub CLI, GitLab CLI, and Azure CLI. The normal Advanced wizard is implemented in
community-scripts/core, not inProxmoxVED.Without an extension point, an application script would have to duplicate the entire core wizard, modify the core function using fragile
eval/sedlogic, or show its configuration prompts later inside the container installer outside the Advanced workflow.This hook keeps the shared wizard in control while allowing an application to provide its own settings UI. T3 Code defines the callbacks in its standard
ct/t3-code.shscript, and the core wizard invokes them only when present. Other scripts remain unchanged.After this core PR is merged, T3 Code can restore its Advanced-mode menus using the normal test command without requiring a special core branch.
Related consumer PR: community-scripts/ProxmoxVED#2203
Test commands:
AI assistance disclosure: implemented and reviewed with OpenCode, model
gpt-5.6-luna, reasoning levelhigh.🔗 Related Issue
Fixes #
✅ Prerequisites (X in brackets)
ui/API.txtsnapshot was checked and remains unchanged because the public loader API did not change.🤖 AI Assistance (X in brackets)
🛠️ Type of Change (X in brackets)
docs/ui.md.Testing Details
bash -npassed for all 35 engine.funcfiles.ui/API.txtmatches the loader function snapshot.git diff --checkpassed.