ZapDB has native streaming Backup(w, since) + Load(r). The standalone
luxfi/zapdb-replicate repo was duplicate scaffolding. Sidecar daemon
+ restore init-container now live here under cmd/replicate/.
Pre-fold lineage: standalone repo at luxfi/zapdb-replicate; final
commit there c13a738 (deps Go 1.26.4 bump). No history was merged;
small repo, clean copy.
Canonical S3 SDK across the stack is the Hanzo S3 fork at
github.com/hanzos3/go-sdk (package `s3`, not `minio`). The fork
already had `module github.com/hanzos3/go-sdk` and `package s3`
landed on its `main` branch (5c5ecda); tagged v1.0.2 with the
Go 1.26.3 security bump on top of v1.0.1.
Replicator changes:
- import: `s3 "github.com/hanzos3/go-sdk"` (alias for clarity since
package name `s3` differs from last path segment `go-sdk`)
- field `Replicator.s3` → `Replicator.cli` so the field name no
longer shadows the package qualifier in struct literals
- all `minio.X` → `s3.X` (Client, New, Options, PutObject,
GetObject, ListObjects, *Options types)
No behavioral changes. All Replicator tests pass.
Removed /v4 suffix from module path and all internal imports.
Go module is now github.com/luxfi/zapdb (no major version suffix).
Import as: import "github.com/luxfi/zapdb"
No code changes — only module path and import rewrite.
Incremental and Snapshot methods buffer the entire backup in a
bytes.Buffer before encrypting and uploading. Marked for future
io.Pipe streaming conversion to avoid 3x memory overhead.
- Fix format string vet errors in db2_test.go and key_registry.go
for Go 1.26 stricter printf checks
- Update pb/gen.sh to add //go:build grpc tag after protoc generation
so protobuf types only compile with grpc tag (default uses ZAP
native binary encoding from types_zap.go)