Skip to content

Add optional snapshot compression defaults and standby integration#149

Draft
sjmiller609 wants to merge 1 commit intomainfrom
codex/snapshot-compression-defaults
Draft

Add optional snapshot compression defaults and standby integration#149
sjmiller609 wants to merge 1 commit intomainfrom
codex/snapshot-compression-defaults

Conversation

@sjmiller609
Copy link
Collaborator

Summary

  • add optional snapshot compression config (zstd/lz4) to snapshot and instance APIs
  • add server-level and per-instance snapshot compression defaults with precedence: request override > instance policy > server default
  • add async snapshot memory compression jobs for standby and centrally stored standby snapshots
  • add restore-time snapshot memory preparation (cancel/wait active compression + on-demand decompression)
  • include compression metadata/state on snapshot resources

API / Config

  • POST /instances/{id}/standby accepts optional compression
  • POST /instances/{id}/snapshots accepts optional compression
  • POST /instances accepts optional snapshot_policy
  • config adds snapshot.compression_default (enabled, algorithm, level)

Validation and behavior

  • compression is standby-only (rejected for stopped snapshots)
  • zstd level validated (1-19)
  • lz4 rejects level input
  • standby validates compression policy before state transitions

Tests

  • go test -run '^$' ./cmd/api/api ./lib/instances ./lib/providers ./integration
  • go test ./lib/instances -run 'TestNormalizeCompressionConfig|TestResolveSnapshotCompressionPolicyPrecedence|TestValidateCreateRequestSnapshotPolicy|TestValidateCreateSnapshotRequestRejectsStoppedCompression'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant