Commit graph

10 commits

Author SHA1 Message Date
6fa172eab1
Implement host lifecycle orchestration and distributed storage restructuring 2026-03-27 12:14:12 +09:00
ed0f9f42f4
WIP snapshot: preserve dirty worktree 2026-03-20 16:25:11 +09:00
26a4443a78 fix(chainfire): Use wildcard route for KV endpoints
Replace :key with *key pattern to avoid axum route conflict.
Adds wildcard handler functions for GET/PUT/DELETE that properly
handle both simple keys and namespaced keys with slashes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 17:04:39 +09:00
96ae61421a fix(chainfire): Chain KV route handlers in axum router
Axum 0.7 route registration requires chaining handlers for the same
path. Multiple .route() calls for "/api/v1/kv/{key}" overwrote each
other, leaving only DELETE accessible. Changed to chain all methods:
.route("/path", get(h).put(h).delete(h))

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 16:52:51 +09:00
aa5973bb96 feat(chainfire): Add /admin/member/add legacy endpoint for cluster join
- AddMemberRequestLegacy accepts string node ID (e.g., 'node01')
- string_to_node_id converts to numeric node_id for Raft
- Required by first-boot-automation.nix cluster join logic
- Also fixes axum 0.8 route syntax (:param -> {param})

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 15:31:01 +09:00
9b4ab98a9f fix(tests): Add missing http_addr field to NetworkConfig in tests
Added http_addr field to test configurations after it was added to
NetworkConfig for REST API support. This fixes Nix build failures
during test compilation.

Files fixed:
- chainfire integration tests (3 occurrences)
- plasmavmc grpc smoke test (1 occurrence)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 06:49:58 +09:00
3eeb303dcb feat: Batch commit for T039.S3 deployment
Includes all pending changes needed for nixos-anywhere:
- fiberlb: L7 policy, rule, certificate types
- deployer: New service for cluster management
- nix-nos: Generic network modules
- Various service updates and fixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 04:34:51 +09:00
d2149b6249 fix(lightningstor): Fix SigV4 canonicalization for AWS S3 auth
- Replace form_urlencoded with RFC 3986 compliant URI encoding
- Implement aws_uri_encode() matching AWS SigV4 spec exactly
- Unreserved chars (A-Z,a-z,0-9,-,_,.,~) not encoded
- All other chars percent-encoded with uppercase hex
- Preserve slashes in paths, encode in query params
- Normalize empty paths to '/' per AWS spec
- Fix test expectations (body hash, HMAC values)
- Add comprehensive SigV4 signature determinism test

This fixes the canonicalization mismatch that caused signature
validation failures in T047. Auth can now be enabled for production.

Refs: T058.S1
2025-12-12 06:23:46 +09:00
5c6eb04a46 T036: Add VM cluster deployment configs for nixos-anywhere
- netboot-base.nix with SSH key auth
- Launch scripts for node01/02/03
- Node configuration.nix and disko.nix
- Nix modules for first-boot automation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-11 09:59:19 +09:00
8f94aee1fa Fix R8: Convert submodule gitlinks to regular directories
- Remove gitlinks (160000 mode) for chainfire, flaredb, iam
- Add workspace contents as regular tracked files
- Update flake.nix to use simple paths instead of builtins.fetchGit

This resolves the nix build failure where submodule directories
appeared empty in the nix store.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 16:51:20 +09:00