Skip to content

Conversation

@tennisleng
Copy link
Contributor

Splitting #1042: Core configuration structures.

@loverustfs
Copy link
Contributor

Hey @tennisleng ,

Thank you for your contribution. Could you please provide a detailed design plan?

@tennisleng
Copy link
Contributor Author

Design Plan: Cold Tier Configuration Module

Overview

This PR introduces a configuration module for tiered storage, enabling automatic migration of "cold" (infrequently accessed) files to cheaper storage backends like S3 Glacier or MinIO tiered storage.

Architecture

ColdTierConfig
├── cold_threshold_days: u64       # Days without access before file is "cold"
├── tier_backends: Vec<TierBackend> # List of cold storage targets
├── transition_rules: Vec<TransitionRule>
└── enabled: bool

Key Components

  1. ColdTierConfig: Main configuration struct loaded from environment/config file
  2. TierBackend: Enum representing different cold storage backends (S3Glacier, MinIO, Azure Archive)
  3. TransitionRule: Rules for when and which files to transition

Data Flow

  1. Lifecycle scanner checks last_access_time metadata
  2. Files meeting cold_threshold_days are queued for transition
  3. Transition worker moves data to configured cold backend
  4. Metadata updated to point to new location

Configuration Example

[cold_tier]
enabled = true
cold_threshold_days = 30

[[cold_tier.backends]]
type = "s3_glacier"
bucket = "archive-bucket"

@loverustfs
Copy link
Contributor

Hey @tennisleng ,

Our lifecycle management still has bugs. Cold tier related issues need to be reviewed and merged after lifecycle management is complete.

@loverustfs
Copy link
Contributor

There are currently no plans to support this feature.

@loverustfs loverustfs closed this Dec 17, 2025
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.

2 participants