first commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 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.sh` and `install-lxc.sh` were removed,
|
||||
- `scripts/dev.sh` contains the previous development workflow,
|
||||
- `scripts/install.sh` performs first systemd/LXC installation,
|
||||
- `scripts/update.sh` performs tested in-place updates with stopped SQLite backup, health check and automatic rollback,
|
||||
- `scripts/service.sh` wraps common service operations,
|
||||
- `scripts/install-lxc.sh` is a compatibility alias located inside `scripts/`,
|
||||
- `scripts/common.sh` provides shared deployment helpers,
|
||||
- `docs/LXC.md` documents the installed filesystem layout and update process,
|
||||
- every application SQLite statement and schema definition is now in `src/queries.rs`,
|
||||
- `src/db.rs` contains no embedded SQL statements,
|
||||
- Cargo package version updated to 0.3.3.
|
||||
|
||||
## LXC persistent paths
|
||||
|
||||
```text
|
||||
/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:
|
||||
|
||||
```bash
|
||||
sudo ./scripts/install.sh
|
||||
./scripts/service.sh status
|
||||
./scripts/service.sh health
|
||||
```
|
||||
|
||||
Recommended source/development validation:
|
||||
|
||||
```bash
|
||||
./scripts/dev.sh --check
|
||||
```
|
||||
|
||||
Recommended update validation with a newer archive:
|
||||
|
||||
```bash
|
||||
sudo ./scripts/update.sh
|
||||
./scripts/service.sh health
|
||||
```
|
||||
Reference in New Issue
Block a user