Commit Graph

8 Commits

Author SHA1 Message Date
Kevin Adams 95b71e9c7d docs: ADR-011 — apt components for optional feature packages
Establishes the pattern for distributing optional packages (starting with
truenas-proxmox-multipath) via apt components within existing dist tracks.
Users add 'multipath' to their sources.list component list to opt in;
standard users are never affected by apt upgrade.

References: #256 (multipath), #272 (testing track)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 07:44:56 -04:00
Kevin Adams 1d0cbca537 docs: ADR-010 — per-major-version apt dist tracks; supersedes ADR-003
Motivated by #271 (silent v2→v3 upgrade). Establishes main (v2 compat),
v2 (alias), and v3 dist tracks so apt upgrade never crosses a major
version boundary. Gated on #230 (GitHub Pages apt repo).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 12:56:54 -04:00
Kevin Adams 4056e23267 docs: accept ADR-009, mark ADR-008 superseded
ADR-009 (PVE version support v3.x + v4.0 strategy) accepted.
ADR-008 marked Superseded by ADR-009.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:17:23 -04:00
Kevin Adams 4e621a215c docs: ADR-009 draft + versioning strategy — v3.1 PVE 9 only, v4.0 WebSocket
ADR-009 (draft) supersedes ADR-008 with confirmed PVE 9 support, the lun
integer fix approach, and a clear version→PVE support mapping:
- v3.0.x: PVE 8 + PVE 9, REST API
- v3.1.x: PVE 9 only, REST API, api() bump, snapshots
- v4.0.x: WebSocket JSON-RPC 2.0 — genuine architectural change, major version

ROADMAP: v3.2.0 renamed to v4.0.0 for WebSocket milestone; v3.1 scope updated
to document PVE 8 drop and reasons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:13:21 -04:00
Kevin Adams 33faf6eb34 chore: v3.0 packaging cleanup — no patches, one .pm file
- Rename Custom/FreeNAS.pm → Custom/TrueNAS.pm (matches package name)
- Rewrite postinst: copy TrueNAS.pm + restart pveproxy (no patch logic)
- Rewrite postrm: remove TrueNAS.pm + restart (no restore-orig logic)
- Delete triggers: nothing to watch (no ZFSPlugin/pvemanagerlib/apidoc)
- Drop 'patch' dep, add 'open-iscsi'; update package description
- Delete patch-generation runbook (obsolete)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 19:55:59 -04:00
Kevin Adams 332b6a8257 docs: add PVE 8.4/9.0/9.1 research brief and ADR-008 version support matrix
Reviewed PVE 8.4, 9.0, and 9.1 release notes for storage subsystem changes
relevant to the plugin and Phase 3 design.

Key findings:
- iSCSI hostname portal support (PVE 8.4+) — gap in current plugin (#233)
- Snapshot-as-Volume-Chains (PVE 9.0 tech preview) — Phase 3 opportunity (#234)
- GlusterFS dropped in PVE 9 — confirms need for proper custom plugin
- pvemanagerlib.js still broken on PVE 8.4.x (#223, blocked)

ADR-008 records the PVE version support matrix:
- v2.x: PVE 7 (best-effort), PVE 8 (supported), PVE 9 (not supported)
- v3.0: PVE 8+ (core), PVE 9.0+ (snapshots)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 13:05:08 -04:00
Kevin Adams 4833cfbcca docs: finalize ADR statuses to Accepted; add ADR README and KSA scaffold
All seven ADRs were in draft/proposed/decided states — promote all to
Accepted now that the decisions are implemented and stable.

Add .claude/cos/adrs/README.md documenting the ADR lifecycle process.

Add KSA Workspace Standards section to CLAUDE.md (sourced from scaffold
at claude-scaffold/CLAUDE.md) so future sessions inherit workspace-wide
rules without needing a separate file load.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 11:07:49 -04:00
Kevin Adams 636cd06ff6 Phase 1 project revival + PR fixes (#207, #209, #213)
Project infrastructure:
- Replace MIT license with AGPL-3.0 (KSA Technologies, LLC)
- Full README rewrite with badges, compatibility table, token auth docs
- Add CHANGELOG, CONTRIBUTING, DONORS, SECURITY docs
- Add GitHub issue/PR templates, update FUNDING.yml and stale.yml
- Replace external packer repo dispatch with self-contained CI (build.yml)
- Add packaging/DEBIAN/ with postinst/postrm/triggers (no git clone at install)
- Add .perlcriticrc for static analysis
- Add .claude/cos/ ADRs, plans, and runbooks

Bug fixes from community PRs:
- Fix bearer token check in freenas_api_connect: defined() && value instead of
  defined() alone, so truenas_token_auth=0 no longer activates Bearer Token auth (#207)
- Fix LUN 0 falsy bug in ZFSPlugin patch: !$guid -> !defined $guid in both
  zfs_get_lun_number and zfs_get_wwid_number, fixing VMs on LUN 0 for PVE 9 (#209)
- Fix syslog typo "wtih" -> "with" in run_list_extent (#213)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 14:22:04 -04:00