2.5 KiB
2.5 KiB
GREE Controller v0.3.3 - build and validation report
Scope of this release
Version 0.3.3 prepares the project for repeatable Debian/Ubuntu LXC testing and centralizes SQLite statements.
Changes include:
- all operator-facing shell/Python utilities are under
scripts/, - root-level
dev.shandinstall-lxc.shwere removed, scripts/dev.shcontains the previous development workflow,scripts/install.shperforms first systemd/LXC installation,scripts/update.shperforms tested in-place updates with stopped SQLite backup, health check and automatic rollback,scripts/service.shwraps common service operations,scripts/install-lxc.shis a compatibility alias located insidescripts/,scripts/common.shprovides shared deployment helpers,docs/LXC.mddocuments the installed filesystem layout and update process,- every application SQLite statement and schema definition is now in
src/queries.rs, src/db.rscontains no embedded SQL statements,- Cargo package version updated to 0.3.3.
LXC persistent paths
/opt/gree-controller/gree-controller
/etc/gree-controller.env
/var/lib/gree-controller/gree-controller.db
/var/backups/gree-controller/<timestamp>/
/etc/systemd/system/gree-controller.service
The updater preserves /etc/gree-controller.env and backs up the stopped SQLite database before launching the new binary.
Validation performed in the packaging environment
| Check | Result |
|---|---|
bash -n scripts/*.sh |
PASS |
| Python syntax for migration/HA integration | PASS |
| JSON parsing for language packs, HA translations and manifests | PASS |
JavaScript syntax (node --check web/app.js) |
PASS |
No root-level operator .sh/.py files |
PASS |
SQL keyword scan outside src/queries.rs |
PASS - no SQL statements found |
| EN/PL localization files preserved | PASS |
gree_controller namespace preserved |
PASS |
shellcheck is not installed in the packaging environment, so a shellcheck pass could not be performed.
The packaging environment also does not contain a Rust/Cargo toolchain, therefore the final compiler/type-check must be executed inside the target LXC. The provided installer does this by default.
Recommended first-install validation:
sudo ./scripts/install.sh
./scripts/service.sh status
./scripts/service.sh health
Recommended source/development validation:
./scripts/dev.sh --check
Recommended update validation with a newer archive:
sudo ./scripts/update.sh
./scripts/service.sh health