The module lifecycle stage: Preview
What is the state-snapshotter module?
The state-snapshotter module is a critical infrastructure component in Deckhouse that provides state capture and restoration capabilities for Kubernetes resources. It allows you to create point-in-time snapshots of specific Kubernetes objects and restore them later.
What does it do?
The module provides:
- State Capture: Captures the current state of specific Kubernetes resources (CRDs, ConfigMap, Secret, etc.) into immutable checkpoints
- State Storage: Stores captured state in a distributed format with chunking, optimized for large datasets
- State Restoration: Retrieves and restores captured state through a native Kubernetes API
- Automatic Lifecycle Management: Automatically manages checkpoint storage and cleanup using TTL-based retainers
Why is it needed?
The state-snapshotter module is essential for:
- Backup and Restore Operations: Create backups of application state before important operations (upgrades, migrations, etc.)
- Disaster Recovery: Maintain point-in-time snapshots for disaster recovery scenarios
- State Migration: Capture state from one cluster and restore it in another
- Audit and Compliance: Maintain historical records of resource states for audit purposes
- Integration with Other Modules: Used by other Deckhouse modules (e.g.,
virtualization,backup) to capture and restore application state
Why you should NOT disable it
⚠️ Important: The state-snapshotter module should NOT be disabled because:
- Critical Infrastructure: It’s a foundational component used by other Deckhouse modules for state management
- No Performance Impact: The module only activates when explicitly requested via
ManifestCaptureRequestresources - it doesn’t run background processes - Resource Efficient: Uses minimal resources and only processes explicit capture requests
- Required for Operations: Many Deckhouse operations (backups, snapshots) depend on this module
- Automatic Cleanup: Automatically manages its own resources and cleans up old checkpoints based on TTL