Repository navigation
StackKits v0.25.1
·
126 commits
to main
since this release
This is the first public release of the 0.25 line. It includes the complete
0.25 feature package and the publication fixes below; 0.25.0 was reserved but
did not reach public publication.
Fixed
- Public authoring documentation links to the CUE contracts included in the
standalone distribution. Release delivery carries the authenticated plan
identity through the existing publisher. - Application status distinguishes authenticated restore activation from recovery to the prior runtime state. Completed activation no longer asks the owner to activate the same restore again; application-data readback remains explicitly unverified.
- Preserve registered product error codes in CLI JSON failures while keeping
typed diagnostics private, so external lifecycle runners can identify the
rejected authority or artifact boundary.
Highlights
- Photos and household applications: Photos Lite disables the machine-learning features whose service it omits, while retaining upload and original download. Home Assistant initializes persistent automation, script and scene files without overwriting existing content. Vaultwarden 1.37.2 supports the current official Bitwarden clients; existing encrypted entries and attachments remain usable after upgrade. Vault owner invitations work with closed registration even without SMTP.
- Media and Smart Home execution: Jellyfin and Home Assistant use the regular standalone runtime owner. Jellyfin completes native owner setup and reads an explicitly selected media directory without changing its permissions or allowing library writes. Missing directories are reported instead of being silently created. A fresh Home Assistant onboarding redirect is recognized as reachable while setup remains unfinished.
- Private AI: Explicitly selected Ollama and Open WebUI workloads run through the standalone lifecycle with local owner access. Models download only when requested, Ollama remains on a private network, and model files and chats persist across container replacement. The CPU profile declares its memory and storage requirements before installation.
- Private Git: Explicitly selected Gitea runs through the standalone owner with private repositories, native HTTPS Git access and persistent repository data and configuration. The first administrator is established before HTTP starts; existing accounts are preserved. Owners can explicitly read a declared application password with
stackkit secrets revealfrom their local custody. - Smart Home operating forms: Home Assistant OS, observed existing instances and preserved imports have explicit workload contracts alongside the container path. Imported installations keep their existing configuration; only fresh installations receive baseline setup intent.
- Standalone backup and recovery: Cloud deployments gain the local Kopia runtime. S3 target import creates an opaque, owner-bound Inventory reference; explicit rebind renews configuration authority while preserving the target and credentials. Restores preserve the original file owners and permissions so application databases can reopen their data. Volume activation retains recovery data when cleanup fails.
- Cloud offsite backups: The native Kopia runtime connects the owner's S3 target, completes a snapshot and isolated restore, and signs the resulting evidence. Offsite configuration and cache stay separate from the local repository. Disposable verification staging is removed while owner recovery staging is preserved.
- Modern origin access: Cloud-held keys can be enrolled by the Home owner through the existing certificate authority. Signed workload admission, per-request revocation and live container bindings protect the Home origin listener. Explicit key replacement preserves revoked-key denial, and Apply resumes older interrupted provisioner upgrades. The complete Home-plus-Cloud path remains in development.
- Modern site connection: The native FederationLink runtime adopts an explicitly owner-approved WireGuard interface, limits traffic to declared services and verifies the Home origin with mTLS. Revocation, kernel-enforced expiry and shutdown withdraw access. Creating the underlying WireGuard interface and completing connected Edge publication remain separate work.
- Modern remote inspection: Home-signed actions can request remote plan and verify through the existing server over mTLS. The receiver checks the exact plan, target, execution channel and pinned CLI; signed withdrawal and persisted replay handling survive restarts. Remote apply and destroy are not enabled by this release.
- Owner approval: The local API can bind a PocketID-authenticated owner approval to one exact remote action, target and short validity window. Browser confirmation and callback custody prevent another browser from taking over the flow. Executing remote mutations remains separate work.
- Useful support exports:
stackkit support exportcollects bounded, redacted logs and operation receipts into a local file. Interrupted or oversized records produce a clear notice while other diagnostics remain available; existing output files are preserved. - More reliable application startup: Compose preserves literal dollar signs in application settings and commands, and runtime verification uses complete container identities. Basement DNS remains under its existing core owner, allowing Apply to reach authorization without an incorrect missing-module block.
- Files first owner: Fresh Cloudreve installations can complete explicitly authorized owner registration. A read-only account check distinguishes a missing account from an existing owner's wrong password before registration is attempted.
- Reliable generated artifacts: Interrupted installation transactions clean their own staging through the originally opened directory even if its named path changes; activation still rejects a replaced workspace. Generated authority hashes now match the source bytes distributed by Git on both Windows and Linux.
- Readable release packages: One prepared version identifies the release across distributions. Patch numbers range from 0 to 9; development builds use a local source marker. The publisher refuses to replace a released version with another source, and minor-line highlights come from this changelog.
Upgrade and scope
- Standard Mode remains account-free. These changes use the existing standalone lifecycle and owner custody.
- Existing media libraries remain outside StackKits backups. Application configuration and cache remain writable; the selected media directory must already exist.
- The local Smart Home runtime runs Home Assistant as a container. The separate HAOS and imported-instance contracts do not establish a verified guest installation or hardware setup. Supervisor, MQTT and Zigbee device integration retain their own scope.
- Private AI requires an explicit model download and sufficient capacity for that model. Large model files are excluded from backups; complete AI backup/restore and GPU execution remain unverified. Local inference and chat persistence have been exercised with real Ollama and Open WebUI containers.
- Gitea HTTPS push, clone and repository persistence have been exercised with a real Git client. Both repository data and application configuration belong to its declared backup scope; a complete Gitea recovery cycle, SSH and CI runner integration remain pending. Native Git clients need working DNS and a trusted certificate for the declared route.
- Cloud offsite transport and staged data restoration have been exercised against a real S3-compatible service. Application-consistent Cloud recovery and the complete two-site Modern installation remain in development. Smartphone and desktop client verification remains separate from the exercised application APIs.
- Cloud S3 endpoints require trusted HTTPS. Kopia keeps its native S3 connection credentials in private runtime configuration excluded from backups; support evidence contains opaque custody references.
Source commit: 32a3e9b35e915365d1fea4a6cac23db858c2c2b5