Repository navigation
Conversation
Install verified Debian server packages in an unprivileged LXC with PostgreSQL and an HTTPS proxy. Preserve configuration and take an offline database backup before updates. Accept ready-but-degraded responses with warnings while requiring all database checks. Reload installed units before service startup and cover installation, updates and operator recovery with regressions. Signed-off-by: Marc Went <marc@went.io>
|
Try these scripts
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/Dunky13/ProxmoxVED/feat/initiative \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Dunky13/ProxmoxVED/feat/initiative/ct/initiative.sh)"
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/Dunky13/ProxmoxVED/feat/initiative \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Dunky13/ProxmoxVED/feat/initiative/ct/jumpserver.sh)"
Against a core branch as wellAdd Useful flags while testing
|
Set the missing default before loading the shared engine so remote invocation fetches the installer from DevScripts. Preserve explicit fork overrides and the repository-wide gate. Refresh the Initiative repair handoff and disclose the remaining adoption requirement and runtime acceptance gaps. Signed-off-by: Marc Went <marc@went.io>
Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.
✍️ Description
Add Initiative's official native server package as an unprivileged Debian 13 LXC: PostgreSQL 17, nginx HTTPS, checksum-verified amd64/arm64 packages, private offline database/configuration/upload backups, and readiness-gated updates. Defaults: 2 cores, 2048 MiB RAM, 8 GiB disk. No Docker or source rebuild.
Draft: maintainer adoption exception and runtime acceptance remain required. The upstream repository has 192 stars, created 2025-11-22, latest release v0.77.1 (2026-10-24) and latest push 2026-10-30, verified through GitHub's API on 2026-10-30. It is below this template's 600-star minimum and the ProxmoxVE discussion form's 1,000-star minimum. No comparable adoption metric or maintainer exception is claimed. The star checkbox stays unchecked; the requirements check is expected to fail. Please decide whether to retain the proposal for DevScripts testing.
The CI repair fixes the owning script,
ct/jumpserver.sh, which was the only CT script missing the scripts-base declaration:#!/usr/bin/env bash +_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main" _cs_boot=...Initiative already has the correct declaration. The repository-wide gate remains intact. This makes remotely invoked Jumpserver resolve its installer from DevScripts, while an explicit
COMMUNITY_SCRIPTS_URLstill selects a fork/branch. Engine origin remains independent. Initiative's installer/updater and all 35 regression cases are unchanged by the repair.🔗 Related PR / Issue
This updates the existing
Dunky13/ProxmoxVED:feat/initiativecontribution tocommunity-scripts/DevScripts:main. No duplicate PR, merge, release or deployment is part of this repair.✅ Prerequisites (X in brackets)
Evidence: reviewed the scripts and sibling source-origin consumer against upstream
AGENTS.md, the creator agent, template and contribution/audit documents. The repair changes one bootstrap default and documentation. Secrets are generated; the package's service identity, loopback backend, root/group 0640 environment file, checksum/package-identity/architecture guards and database/readiness gates remain intact. The explicit PostgreSQL bootstrap SUPERUSER requirement and migration/rollback risks are disclosed below. The security checkbox describes these source checks, not an independent penetration test or a guarantee of no upstream vulnerabilities. The thorough-testing box remains unchecked because current-branch end-to-end runtime acceptance is incomplete. Standards departures are disclosed rather than certified as fully compliant.🏗️ arm64 Support (X in brackets)
Evidence: official v0.77.1 release assets include
initiative-server_0.77.1-1_arm64.deband its SHA-256 manifest. The historical native Debian 13 arm64 VM test recorded in the operator issue exercised the official v0.76.0 package and real services/core helpers. That historical package/runtime evidence supportsvar_arm64=yes; arm64 Proxmox LXC and fresh repaired-head runtime testing are NOTRUN. Asset availability alone is not presented as runtime testing.🖥️ Tested on (X in brackets)
Evidence: the historical operator issue records amd64 Proxmox wizard creation, installation, a 0.76.0 → 0.77.1 package upgrade and subsequent version/readiness confirmation. These are historical observations, not a fresh deployment by this repair. Incus has not been tested. Fresh corrected-branch creation, browser/file/live-editor behavior, reboot persistence and a corrected full updater run preserving real user data remain in #2483.
🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.Evidence: the total PR adds
ct/initiative.sh,install/initiative-install.sh,json/initiative.json, the regression harness/CI step and the operator guide, and fixes the existing Jumpserver bootstrap.New scriptidentifies the submission category and keeps eligibility checks active; it does not override the unchecked thorough-testing box or the stated runtime gaps.🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_release,fetch_and_deploy_codeberg_release,fetch_and_deploy_gl_release, orfetch_and_deploy_from_urlinstead ofgit pull.Evidence: Initiative's CT entry point has the standard bootstrap/defaults, sole
update_script()function and provisioning footer. The installer sources framework functions and retains its standard footer. JSON resources/architectures match CT defaults. Downloads use explicitsinglefilerelease-helper mode for the official server package and checksum manifest, with generated secrets and no Docker or git-based update path. The native package supplies Python dependencies, service identity and persistent/etc/initiativeand/var/lib/initiativepaths, so there is no separate pip/venv build or script-created service user. The package transaction usesSYSTEMD_OFFLINE=1; the explicit daemon reload before startup is necessary because that flag skips the package hook's reload.Disclosed standards exception: the creator agent's exactly-three-files output is exceeded by meaningful offline regression coverage, wiring into the existing Bash Syntax job, a focused Markdown guide and this existing-script bootstrap repair. The full-guidelines checkbox remains unchecked pending maintainer disposition. No HTML report is committed.
🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance, and the output has been reviewed and corrected to match those guidelines.Please describe to which degree, if any, an LLM was used in creating this pull request.
OpenAI gpt-6.1-sol, xhigh reasoning assisted substantially with the original implementation, research, tests and documentation. This CI repair is implemented directly by Codex gpt-6.1-sol, high reasoning. The required independent final validation uses gpt-6.1-sol, xhigh reasoning, with separate Standards and Spec conclusions and actual coverage recorded below. No cross-provider review is claimed. The checked AI disclosure acknowledges use of the named guidance; it does not conceal the explicitly disclosed standards exception or acceptance gaps.
📋 Additional Information (optional)
Upstream research: reviewed the v0.77.1 native-package documentation,
Dockerfile,docker-compose.example.ymlandbackend/.env.example; the original implementation also researched package lifecycle/service definitions and health/bootstrap behavior. Debian 13 uses system Python 3.13 for the official native package; PostgreSQL 17 is required. The compose file requires only PostgreSQL alongside Initiative; the default rate-limit store ismemory://. The official native package includes locked Python dependencies, browser app and editor assets, so no Docker, Node.js build or separate Python environment is needed. The database owner requires SUPERUSER for upstream role/bootstrap and LEAKPROOF setup; request traffic uses derived restricted roles. PreserveSECRET_KEYand take matching database/roles/configuration/upload backups before migrations.Local evidence from this repair:
ct/jumpserver.sh. The shared engine's source resolver reproduced the fallback toProxmoxVE/main/install/jumpserver-install.shwithout an override.5acac4483be88990354dd4e3778e2cdce4df428e, not provisioning or installer commands.SC1090,SC1091,SC2154excluded for framework imports/variables. Jumpserver ShellCheck has seven existing SC2164 warnings, confirmed identical before and after the one-line repair; no new diagnostics. It is not reported as a clean ShellCheck run.bash -n ct/jumpserver.sh ct/initiative.sh install/initiative-install.sh .github/workflows/scripts/initiative-test.sh shellcheck -e SC1090,SC1091,SC2154 ct/initiative.sh install/initiative-install.sh .github/workflows/scripts/initiative-test.sh bash .github/workflows/scripts/initiative-test.sh jq -e . json/initiative.json actionlint .github/workflows/ct-base.yml .github/workflows/bash-syntax.yml git diff --checkIndependent final validation: Codex gpt-6.1-sol, xhigh independently reviewed signed candidate
8c8ebf9b40a2dfc9f9f396d49b438845cda947d8, tree0cea46b0b2e735123d80e543fbc096ba03554fd9, its exact repair diff and this proposed body. Standards: no new findings; Spec: PASS for the bounded repair. The validator independently reproduced the old failure, verified all 77 scripts-base checks, 236 syntax checks, 35 offline scenarios, Initiative ShellCheck, JSON/actionlint/whitespace, source routing, unchanged executable bytes, both contribution signatures/DCO and absence of machine-local paths/HTML. Jumpserver retains seven unchanged SC2164 warnings. Requirements simulation failed only on the honest star requirement. Hosted candidate CI and fresh runtime acceptance were NOTRUN during that review; adoption and merge remain HOLD.Hosted CI for exact repair head
8c8ebf9b40a2dfc9f9f396d49b438845cda947d8: ct scripts base PASSED; Bash Syntax PASSED, including 236 syntax checks and all 35 Initiative scenarios. VM metadata, PR test command and autolabeler also passed. The requirements job still failed for exactly one item, the honestly unchecked 600-star requirement. The body edit can trigger an additional requirements run; that policy requirement remains unmet. The earlier scripts-base failure is fixed at Jumpserver’s bootstrap. The bot’srequirements missing/stalelabels and closure warning require a maintainer decision; no bypass label was applied by this repair. Local checks, independent source validation and hosted results are separate evidence; none establishes fresh runtime acceptance.Merge danger: repository changes can be reverted. Runtime updates can run database migrations, and rollback requires a matching backup/container restore. Backups cover default local paths; relocated storage/external databases need separate operator backups. Failed updates may leave services stopped. No merge, release, deployment or promotion is requested.
📦 Application Requirements (for new scripts)
Evidence for the application checkboxes: repository metadata shows creation on 2025-11-22, active pushes on 2026-10-30, non-archived state and 192 stars at this check. Latest release metadata identifies v0.77.1, its official source tarball and both native Debian server packages/checksum manifests. This submission explicitly acknowledges that meeting technical criteria does not guarantee acceptance; the star minimum is unmet.
🌐 Source