Julian Sommer
593920ce7d
feat: E2E test redistribution and dev-setup cleanup
...
Redistribute E2E tests between single-node and multi-node suites, slim
down pseudo multi-node suite, and remove directory creation from
dev-setup.sh so spx admin init is the single source of truth for
~/spinifex/ setup.
2026-03-20 08:24:15 +10:00
Julian Sommer
ea8700df99
fix: increase sleep time
2026-03-19 15:02:50 +10:00
Julian Sommer
857cbd75ac
fix: use spx service stop instead of shell PID kill in stop-dev.sh
2026-03-19 14:50:50 +10:00
Julian Sommer
b7678ab7c5
feat: fix silent failures across spinifex (P2 audit H-25 through H-43)
...
- PID file failures now prevent service start instead of logging and continuing
- Status() methods use PID-based health checks instead of returning empty string
- NewResourceManager returns error instead of silently defaulting to 8GB
- Crash recovery re-allocates resources before relaunch
- restoreInstances stops after failed resource allocation
- Cluster manager bind errors propagated to Start()
- NATS disconnect/reconnect logged at Warn level
- VPC CIDR fallback logs warning about overbroad rule
- vpcd respond() handles json.Marshal failure
- Network cleanup failures logged instead of silently discarded
- fmt.Println replaced with slog.Debug in NATS service
- Signature mismatch no longer logs expected signature
- extractDiskImagePath uses errors.Is for EOF
- validateDiskImagePath checks file command error
- os.Stat uncommented in admin image import
- net.SplitHostPort errors checked
- Gateway response write errors logged
- vpcd OVN NB address uses leader IP on non-primary nodes
- Release workflow parallelized with native arm64 runner
2026-03-19 13:37:41 +10:00
Julian Sommer
7d43d0f782
hopefully last rename
2026-03-18 13:24:45 +10:00
Julian Sommer
ba0d8b67ff
feat: e2e pipeline speedup ( #78 )
2026-03-18 13:50:45 +11:00
Ben Duncan
48012a4058
refactor: rename all documentation from hive to spinifex
...
- Rename .claude/rules/hive.md → spinifex.md
- Update CLAUDE.md component description
- Rename doc directories: hive-admin-cli → spinifex-admin-cli, etc.
- Rename doc files: hive-cluster-stats, hive-code-consolidation, etc.
- Bulk update all markdown files across docs/ tree
- Update internal docs: CLUSTER-INSTALL, TESTING, DEVNOTES, BRANCHES
2026-03-18 01:19:05 +00:00
Ben Duncan
5d93786995
refactor: rename hive to spinifex in all shell scripts
...
- Update scripts/: start-dev, stop-dev, dev-setup, setup, setup-ovn, etc.
- Update tests/e2e/: all E2E test scripts
- Update scripts/iac/: rename hive-test.sh → spinifex-test.sh, update TF files
- Update config/: rename hive.service and install script
- Binary refs use spx, env vars use SPINIFEX_, paths use spinifex
2026-03-18 01:04:12 +00:00
Ben Duncan
4c4683ba0c
installer tweaks for sudo
2026-03-16 12:04:06 +00:00
Ben Duncan
a458a28406
new binary mode and systemd process
2026-03-16 11:57:52 +00:00
Julian Sommer
e7a3b5b712
fix: update test for explicit error handling
2026-03-13 16:07:49 +10:00
Julian Sommer
98c75cbb83
fix: stop-dev.sh
2026-03-13 09:17:41 +10:00
Julian Sommer
3ffe67271f
feat: multi node e2e ( #73 )
2026-03-13 10:11:26 +11:00
Julian Sommer
4466de04d3
fix: ovn logrotate
2026-03-12 08:24:52 +10:00
Julian Sommer
1ff08ab80a
fix: seperate system account ( #70 )
2026-03-10 16:30:34 +11:00
Julian Sommer
021b0982f4
fix: bump go 1.26.1 references and fix gosec G104 in hiveui
2026-03-10 08:33:04 +10:00
Julian Sommer
d90bf53eaf
fix: log rotate ovn
2026-03-06 10:10:34 +10:00
Julian Sommer
0b2e613c6c
fix: diff-coverage.sh
2026-03-06 08:22:30 +10:00
Julian Sommer
35f2104325
feat: more tests
2026-03-05 15:09:24 +10:00
Julian Sommer
5fad038b87
feat: IAM account scoping ( #61 )
2026-03-05 09:06:35 +10:00
Julian Sommer
48c0565d47
fix: ovn shut down on stop-dev.sh
2026-03-03 15:12:44 +10:00
Julian Sommer
371193a832
feat: IAM v1 ( #59 )
2026-03-03 15:23:19 +11:00
Julian Sommer
12c2e2789e
fix: skip diff coverage when instrumentable lines below minimum
...
The MIN_LOC=100 threshold checked total diff lines, not instrumentable
lines. A commit with many non-instrumentable lines (structs, comments)
but only 1-2 instrumentable lines would unfairly fail at 0% coverage.
Add a minimum instrumentable lines threshold (5) so the check skips
when the sample size is too small to be meaningful.
2026-02-26 11:35:22 +10:00
Julian Sommer
1910347cce
fix: make building on start-dev.sh opt in
2026-02-25 09:56:13 +10:00
Julian Sommer
6b9fc7b600
refactor: daemon
2026-02-25 08:22:46 +10:00
Julian Sommer
c2e66e1ab4
refactor: extract respondWithError; fix nil panic in RunInstance
...
Extract duplicated respondWithError closures into a single package-level
function. Guard against nil ImageId in handleEC2RunInstances to prevent
panic under race conditions. Fix diff-coverage base ref for main branch.
2026-02-24 15:02:57 +10:00
Julian Sommer
deae613a75
refactor: split daemon_handlers.go into per-domain files
...
Split the monolithic daemon_handlers.go into focused files:
- daemon_handlers_account.go
- daemon_handlers_console.go
- daemon_handlers_igw.go
- daemon_handlers_image.go
- daemon_handlers_instance.go
- daemon_handlers_key.go
- daemon_handlers_snapshot.go
- daemon_handlers_tag.go
- daemon_handlers_volume.go
- daemon_handlers_vpc.go
Add tests for ModifyVolume success, TerminateStoppedInstance with volumes,
DescribeInstanceTypes capacity filter, StartStoppedInstance type-not-available,
AttachVolume/DetachVolume validation paths, RunInstances error paths, and
DescribeInstances malformed ID.
Fix diff-coverage.sh to use git rename/copy detection (-M -C) so file
splits are not incorrectly flagged as all-new code.
2026-02-24 14:28:24 +10:00
Julian Sommer
8188707c91
feat: VPC networking v1 — OVN-based virtual networking for EC2 instances
2026-02-24 14:13:57 +10:00
Julian Sommer
3dc3d41d79
ci: enforce code coverage
2026-02-20 08:58:44 +10:00
Julian Sommer
0c65d75371
feat: add coordinated cluster shutdown to multi-node E2E tests ( #42 )
2026-02-18 13:22:12 +11:00
Ben Duncan
c2265920eb
fix: stop-dev.sh incorrectly detects single-node as multi-node in Docker E2E
...
is_multinode() counted all [nodes.*] TOML subsections (daemon, nats, awsgw,
etc.) instead of just top-level node entries. A single-node config has ~8
such sections, causing the single-node Docker E2E to use coordinated cluster
shutdown and exit with code 254.
Fix grep to match only [nodes.X] (not [nodes.X.Y]) and preserve the original
test exit code in the cleanup trap.
2026-02-17 22:15:49 +10:00
Ben Duncan
bb533dfbb6
multi-server tweaks, ec2 health, IAC templates, misc cleanup
2026-02-17 09:10:13 +10:00
Ben Duncan
962d85edf2
Improved IAC automation testing
2026-02-14 19:27:13 +10:00
Ben Duncan
24924be941
Cluster heartbeat support, improved cluster start/stop, coordinated shutdown in multi-server mode
2026-02-14 16:59:32 +10:00
Ben Duncan
5863aeed13
Phase 0/1 multi-server-restart enhancements
2026-02-14 13:23:24 +10:00
Ben Duncan
3095a90090
e2e tests, multi server improvements, doc updates for workflow
2026-02-14 08:50:24 +10:00
Ben Duncan
db0d46ca5b
Improved multi-server node testing and tweaks
2026-02-13 20:31:45 +10:00
Ben Duncan
cf12a3272e
IAC for Proxmox / AWS terraform examples
2026-02-13 11:42:43 +10:00
Julian Sommer
998649cbab
feat: createImage ( #34 )
2026-02-11 16:07:19 +11:00
Julian Sommer
efe07a9ed4
chore: bump go version
2026-02-11 12:59:32 +10:00
Julian Sommer
467eb0252d
chore: more gateway tests
2026-02-11 12:24:00 +10:00
Julian Sommer
dcb08c0bd1
fix: e2e predastore multi node
2026-02-09 11:17:00 +10:00
Julian Sommer
917b66beb9
feat: predastore multinode ( #19 )
2026-02-03 12:07:06 +11:00
Julian Sommer
0b261743d2
fix: use aws-sdk for uploads
2026-01-30 09:38:11 +10:00
Julian Sommer
3bca0e69df
feat: block device mappings
2026-01-29 14:10:04 +10:00
Julian Sommer
118fb35a1e
add hive-ui to start-dev
2026-01-29 11:00:08 +10:00
Julian Sommer
5878669eb0
fix for predastore multi node ( #9 )
2026-01-27 13:43:01 +11:00
Ben Duncan
83fd425a60
Latest changes
2026-01-27 08:17:06 +10:00
Ben Duncan
7f5b53c5df
v1 support for distributed backend
2026-01-25 07:06:53 +10:00
Julian Sommer
ca3427d64b
feat: E2E tests in GitHub Actions
2026-01-22 12:37:45 +11:00