mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-01 11:02:14 +00:00
c09d11ff3b
* fix(config): fence persisted config updates and reloads * fix(ci): unblock config and e2e checks Co-Authored-By: heihutu <heihutu@gmail.com> --------- Co-authored-by: houseme <housemecn@gmail.com> Co-authored-by: heihutu <heihutu@gmail.com>
501 lines
23 KiB
Rust
501 lines
23 KiB
Rust
// Copyright 2024 RustFS Team
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//! Explicit ECStore public facades for outer crate compatibility boundaries.
|
|
|
|
pub mod admin {
|
|
pub use crate::diagnostics::admin_server_info::{get_local_server_property, get_server_info};
|
|
}
|
|
|
|
pub mod bitrot {
|
|
pub use crate::io_support::bitrot::{create_bitrot_reader, create_bitrot_writer};
|
|
}
|
|
|
|
pub mod bucket {
|
|
pub mod bandwidth {
|
|
pub mod monitor {
|
|
pub use crate::bucket::bandwidth::monitor::{BandwidthDetails, Monitor};
|
|
}
|
|
}
|
|
|
|
pub mod bucket_target_sys {
|
|
pub use crate::bucket::bucket_target_sys::{
|
|
AdvancedPutOptions, BucketTargetError, BucketTargetSys, PutObjectOptions, RemoveObjectOptions, S3ClientError,
|
|
TargetClient,
|
|
};
|
|
}
|
|
|
|
pub mod lifecycle {
|
|
pub mod bucket_lifecycle_audit {
|
|
pub use crate::bucket::lifecycle::bucket_lifecycle_audit::LcEventSrc;
|
|
}
|
|
|
|
pub mod bucket_lifecycle_ops {
|
|
pub use crate::bucket::lifecycle::bucket_lifecycle_ops::{
|
|
ExpiryState, LifecycleOps, ManualTransitionCancelCheck, ManualTransitionProgressSink,
|
|
ManualTransitionQueueSnapshot, ManualTransitionRunExecution, ManualTransitionRunOptions,
|
|
ManualTransitionRunReport, RestoreRequestOps, TransitionState, TransitionedObject, apply_expiry_rule,
|
|
apply_transition_rule, enqueue_expiry_for_existing_objects, enqueue_transition_for_existing_objects,
|
|
enqueue_transition_for_existing_objects_scoped, enqueue_transition_for_existing_objects_scoped_with_cancel,
|
|
enqueue_transition_immediate, expire_transitioned_object, get_global_expiry_state, get_global_transition_state,
|
|
init_background_expiry, manual_transition_queue_snapshot, post_restore_opts,
|
|
run_stale_multipart_upload_cleanup_once, validate_transition_tier,
|
|
};
|
|
}
|
|
|
|
pub mod manual_transition_job {
|
|
pub use crate::bucket::lifecycle::manual_transition_job::{
|
|
ManualTransitionJobRecord, ManualTransitionJobState, ManualTransitionScopeAdmission,
|
|
ManualTransitionScopeAdmissionClaim, claim_manual_transition_scope_admission,
|
|
delete_manual_transition_scope_admission_if_current, load_manual_transition_job_record,
|
|
load_manual_transition_job_record_with_etag, load_manual_transition_scope_admission,
|
|
manual_transition_job_lease_expired, manual_transition_scope_admission_lease_expired,
|
|
manual_transition_scope_key, persist_manual_transition_job_progress, renew_manual_transition_job_lease,
|
|
request_manual_transition_job_cancel, save_manual_transition_job_record,
|
|
save_manual_transition_job_record_if_current, save_manual_transition_scope_admission_if_absent,
|
|
};
|
|
}
|
|
|
|
pub mod transition_transaction {
|
|
pub use crate::bucket::lifecycle::transition_transaction::{
|
|
TransitionOperatorDeleteResult, TransitionOperatorError, TransitionOperatorProbe, TransitionOperatorStatus,
|
|
delete_transition_candidate_for_operator, finalize_missing_transition_transaction_for_operator,
|
|
inspect_transition_transaction_for_operator,
|
|
};
|
|
}
|
|
|
|
pub mod evaluator {
|
|
pub use crate::bucket::lifecycle::evaluator::Evaluator;
|
|
}
|
|
|
|
#[allow(clippy::module_inception)]
|
|
pub mod lifecycle {
|
|
pub use crate::bucket::lifecycle::lifecycle::{
|
|
Event, ExpirationOptions, IlmAction, Lifecycle, LifecycleCalculate, ObjectOpts, RuleValidate,
|
|
TRANSITION_COMPLETE, TRANSITION_PENDING, TransitionOptions, expected_expiry_time, object_opts_from_object_info,
|
|
};
|
|
}
|
|
|
|
pub mod rule {
|
|
pub use crate::bucket::lifecycle::rule::{Filter, NoncurrentVersionTransitionOps, TransitionOps};
|
|
}
|
|
|
|
pub mod tier_delete_journal {
|
|
#[cfg(feature = "test-util")]
|
|
pub use crate::bucket::lifecycle::tier_delete_journal::recover_tier_delete_journal_entries;
|
|
pub use crate::bucket::lifecycle::tier_delete_journal::{
|
|
persist_tier_delete_journal_entry, record_tier_delete_journal_backend_identity,
|
|
};
|
|
}
|
|
|
|
pub mod tier_last_day_stats {
|
|
pub use crate::bucket::lifecycle::tier_last_day_stats::{DailyAllTierStats, LastDayTierStats};
|
|
}
|
|
|
|
pub mod tier_sweeper {
|
|
pub use crate::bucket::lifecycle::tier_sweeper::{
|
|
Jentry, transitioned_delete_journal_entry, transitioned_force_delete_journal_entry,
|
|
};
|
|
}
|
|
}
|
|
|
|
pub mod metadata {
|
|
pub use crate::bucket::metadata::BUCKET_DURABILITY_CONFIG;
|
|
pub use crate::bucket::metadata::{
|
|
BUCKET_ACCELERATE_CONFIG, BUCKET_CORS_CONFIG, BUCKET_LIFECYCLE_CONFIG, BUCKET_LOGGING_CONFIG,
|
|
BUCKET_NOTIFICATION_CONFIG, BUCKET_POLICY_CONFIG, BUCKET_PUBLIC_ACCESS_BLOCK_CONFIG, BUCKET_QUOTA_CONFIG_FILE,
|
|
BUCKET_REPLICATION_CONFIG, BUCKET_REQUEST_PAYMENT_CONFIG, BUCKET_SSECONFIG, BUCKET_TABLE_CATALOG_META_PREFIX,
|
|
BUCKET_TABLE_CATALOG_TABLE_BUCKETS_PREFIX, BUCKET_TABLE_CONFIG, BUCKET_TABLE_RESERVED_PREFIX, BUCKET_TAGGING_CONFIG,
|
|
BUCKET_TARGETS_FILE, BUCKET_VERSIONING_CONFIG, BUCKET_WEBSITE_CONFIG, BucketMetadata, OBJECT_LOCK_CONFIG,
|
|
load_bucket_metadata, table_catalog_path_hash,
|
|
};
|
|
}
|
|
|
|
pub mod durability {
|
|
pub use crate::bucket::durability::{
|
|
BUCKET_DURABILITY_MODE_NONE, BUCKET_DURABILITY_MODE_RELAXED, BUCKET_DURABILITY_MODE_STRICT, BucketDurabilityConfig,
|
|
};
|
|
}
|
|
|
|
pub mod metadata_sys {
|
|
pub use crate::bucket::metadata_sys::{
|
|
BucketMetadataSys, acquire_bucket_metadata_transaction_lock, delete, get, get_accelerate_config, get_bucket_policy,
|
|
get_bucket_policy_raw, get_bucket_targets_config, get_config_from_disk, get_cors_config, get_durability_config,
|
|
get_global_bucket_metadata_sys, get_lifecycle_config, get_logging_config, get_notification_config,
|
|
get_object_lock_config, get_public_access_block_config, get_quota_config, get_replication_config,
|
|
get_request_payment_config, get_sse_config, get_tagging_config, get_versioning_config, get_website_config,
|
|
init_bucket_metadata_sys, list_bucket_targets, reload_bucket_metadata, remove_bucket_metadata, set_bucket_metadata,
|
|
update, update_bucket_targets_under_transaction_lock, update_config_with, update_under_transaction_lock,
|
|
};
|
|
}
|
|
|
|
pub mod migration {
|
|
pub use crate::bucket::migration::{LegacyBlobDecryptFn, try_migrate_bucket_metadata, try_migrate_iam_config};
|
|
}
|
|
|
|
pub mod object_lock {
|
|
pub use crate::bucket::object_lock::{ObjectLockApi, ObjectLockStatusExt};
|
|
|
|
pub mod objectlock {
|
|
pub use crate::bucket::object_lock::objectlock::{get_object_legalhold_meta, get_object_retention_meta};
|
|
}
|
|
|
|
pub mod objectlock_sys {
|
|
pub use crate::bucket::object_lock::objectlock_sys::{
|
|
BucketObjectLockSys, ObjectLockBlockReason, add_years, check_object_lock_for_deletion,
|
|
check_retention_for_modification, is_retention_active,
|
|
};
|
|
}
|
|
}
|
|
|
|
pub mod policy_sys {
|
|
pub use crate::bucket::policy_sys::PolicySys;
|
|
}
|
|
|
|
pub mod quota {
|
|
pub use crate::bucket::quota::{BucketQuota, QuotaCheckResult, QuotaError, QuotaOperation};
|
|
|
|
pub mod checker {
|
|
pub use crate::bucket::quota::checker::QuotaChecker;
|
|
}
|
|
}
|
|
|
|
pub mod replication {
|
|
pub use crate::bucket::replication::{
|
|
BucketReplicationResyncStatus, BucketStats, DeletedObjectReplicationInfo, DurableMrfBacklog, DynReplicationPool,
|
|
MrfOpKind, MrfReplicateEntry, MustReplicateOptions, ObjectOpts, REPLICATE_INCOMING_DELETE, ReplicateDecision,
|
|
ReplicateObjectInfo, ReplicationConfig, ReplicationConfigurationExt, ReplicationDeleteScheduleInput,
|
|
ReplicationDeleteStateSource, ReplicationHealQueueResult, ReplicationObjectBridge, ReplicationObjectIO,
|
|
ReplicationOperation, ReplicationPoolTrait, ReplicationPriority, ReplicationQueueAdmission, ReplicationScannerBridge,
|
|
ReplicationState, ReplicationStats, ReplicationStatusType, ReplicationStorage, ReplicationTargetValidationError,
|
|
ReplicationType, ResyncOpts, ResyncStatusType, TargetReplicationResyncStatus, VersionPurgeStatusType,
|
|
delete_replication_state_from_config, delete_replication_version_id, get_global_replication_pool,
|
|
get_global_replication_stats, init_background_replication, read_durable_mrf_backlog, replication_state_to_filemeta,
|
|
replication_status_to_filemeta, replication_statuses_map, replication_target_arns, resync_start_conflict_id,
|
|
should_remove_replication_target, should_schedule_delete_replication, should_use_existing_delete_replication_info,
|
|
should_use_existing_delete_replication_source, validate_replication_config_target_arns,
|
|
version_purge_status_to_filemeta,
|
|
};
|
|
}
|
|
|
|
pub mod tagging {
|
|
pub use crate::bucket::tagging::{decode_tags, decode_tags_to_map, encode_tags};
|
|
}
|
|
|
|
pub mod target {
|
|
pub use crate::bucket::target::{ARN, BucketTarget, BucketTargetType, BucketTargets, Credentials, LatencyStat};
|
|
}
|
|
|
|
pub mod utils {
|
|
pub use crate::bucket::utils::{
|
|
check_bucket_and_object_names, check_list_objs_args, check_object_name_for_length_and_slash,
|
|
check_valid_bucket_name_strict, deserialize, has_bad_path_component, is_meta_bucketname, is_valid_object_prefix,
|
|
serialize,
|
|
};
|
|
}
|
|
|
|
pub mod versioning {
|
|
pub use crate::bucket::versioning::VersioningApi;
|
|
}
|
|
|
|
pub mod versioning_sys {
|
|
pub use crate::bucket::versioning_sys::BucketVersioningSys;
|
|
}
|
|
}
|
|
|
|
pub mod cache {
|
|
pub use crate::cache_value::metacache_set::{ListPathRawOptions, list_path_raw};
|
|
}
|
|
|
|
pub mod capacity {
|
|
pub use crate::core::pools::{
|
|
PoolDecommissionInfo, PoolStatus, get_total_usable_capacity, get_total_usable_capacity_free, path2_bucket_object,
|
|
path2_bucket_object_with_base_path,
|
|
};
|
|
pub use crate::store::utils::is_reserved_or_invalid_bucket;
|
|
}
|
|
|
|
pub mod client {
|
|
pub mod admin_handler_utils {
|
|
pub use crate::client::admin_handler_utils::AdminError;
|
|
}
|
|
|
|
pub mod api_put_object {
|
|
pub use crate::client::api_put_object::{AdvancedPutOptions, PutObjectOptions};
|
|
}
|
|
|
|
pub mod object_api_utils {
|
|
pub use crate::client::object_api_utils::{ObjReaderFn, PutObjReader, get_raw_etag, new_getobjectreader, to_s3s_etag};
|
|
}
|
|
|
|
pub mod transition_api {
|
|
pub use crate::client::transition_api::{
|
|
BucketLookupType, CreateBucketConfiguration, LocationConstraint, ObjectInfo, ObjectMultipartInfo, Options,
|
|
PutObjectPartOptions, ReadCloser, ReaderImpl, RequestMetadata, RestoreInfo, SendRequest, TransitionClient,
|
|
TransitionCore, UploadInfo, to_object_info,
|
|
};
|
|
}
|
|
}
|
|
|
|
pub mod cluster {
|
|
pub use crate::cluster::{
|
|
ClusterControlPlane, ClusterControlPlaneSnapshot, ClusterDriveMembership, ClusterEndpointType, ClusterLocalNodeStorage,
|
|
ClusterLocalNodeStorageSnapshot, ClusterMembershipSnapshot, ClusterNodeMembership, ClusterPeerHealth,
|
|
ClusterPeerHealthSnapshot, ClusterPoolState, ClusterPoolStateSnapshot, ClusterRpcBoundarySnapshot,
|
|
ClusterRpcChannelSnapshot, ClusterRpcPlane, ClusterRpcTransport, local_node_storage_snapshot_from_membership,
|
|
membership_snapshot_from_endpoint_pools, peer_health_snapshot_from_membership, pool_state_snapshot_from_endpoint_pools,
|
|
rpc_boundary_snapshot, topology_snapshot_from_endpoint_pools, topology_snapshot_from_endpoint_pools_with_capabilities,
|
|
};
|
|
}
|
|
|
|
pub mod compression {
|
|
pub use crate::io_support::compress::{MIN_DISK_COMPRESSIBLE_SIZE, is_disk_compressible, is_disk_compression_enabled};
|
|
}
|
|
|
|
pub mod config {
|
|
pub mod com {
|
|
pub use crate::config::com::{
|
|
COMMA_SEPARATED_LISTS, CONFIG_PREFIX, ENV_CONFIG_RECOVER_ON_CORRUPTION, STORAGE_CLASS_SUB_SYS,
|
|
ServerConfigCorruptError, ServerConfigSaveResult, ServerConfigSnapshot, delete_config,
|
|
is_server_config_corrupt_error, lookup_configs, read_config, read_config_no_lock, read_config_with_metadata,
|
|
read_config_without_migrate, read_config_without_migrate_no_lock, read_existing_server_config_no_lock,
|
|
read_server_config_snapshot, save_config, save_config_no_lock, save_config_with_opts, save_server_config,
|
|
save_server_config_no_lock, save_server_config_snapshot, save_server_config_snapshot_with_generation,
|
|
server_config_path, try_migrate_server_config, with_config_object_read_lock, with_config_object_write_lock,
|
|
with_server_config_read_lock, with_server_config_write_lock,
|
|
};
|
|
}
|
|
|
|
pub mod storageclass {
|
|
pub use crate::config::storageclass::{
|
|
CAPABILITY_CONTRACT_VERSION, CLASS_RRS, CLASS_STANDARD, Config, DEEP_ARCHIVE, DEFAULT_INLINE_BLOCK, DEFAULT_KVS,
|
|
DEFAULT_RRS_PARITY, EXPRESS_ONEZONE, GLACIER, GLACIER_IR, INLINE_BLOCK, INLINE_BLOCK_ENV, INTELLIGENT_TIERING,
|
|
LEGACY_LABEL_BEHAVIOR, MIN_PARITY_DRIVES, ONEZONE_IA, OPTIMIZE, OPTIMIZE_ENV, OUTPOSTS, RRS, RRS_ENV, SCHEME_PREFIX,
|
|
SNOW, STANDARD, STANDARD_ENV, STANDARD_IA, SUPPORTED_WRITE_CLASSES, StorageClass, UNSUPPORTED_WRITE_ERROR,
|
|
default_parity_count, effective_class, is_supported_write_class, lookup_config, lookup_config_for_pools,
|
|
parse_storage_class, validate_parity, validate_parity_inner,
|
|
};
|
|
}
|
|
|
|
pub use crate::config::{
|
|
RUSTFS_CONFIG_PREFIX, init, init_global_config_sys, set_global_storage_class, try_migrate_server_config,
|
|
};
|
|
}
|
|
|
|
pub mod data_usage {
|
|
pub use crate::data_usage::{
|
|
DATA_USAGE_CACHE_NAME, apply_bucket_usage_memory_overlay, compute_bucket_usage,
|
|
init_compression_total_memory_from_backend, invalidate_data_usage_snapshot_cache, live_bucket_usage_computations,
|
|
load_compression_total_from_memory, load_data_usage_from_backend, load_data_usage_from_backend_cached,
|
|
record_bucket_delete_marker_memory, record_bucket_object_delete_memory, record_bucket_object_version_write_memory,
|
|
record_bucket_object_write_memory, record_bucket_object_write_unknown_previous_memory, record_compression_total_memory,
|
|
refresh_bucket_usage_from_object_layer, refresh_versioned_bucket_usage_from_object_layer,
|
|
remove_bucket_usage_from_backend, replace_bucket_usage_memory_from_info, store_compression_total_in_backend,
|
|
store_data_usage_in_backend,
|
|
};
|
|
}
|
|
|
|
pub mod disk {
|
|
pub use crate::disk::disk_store::get_object_disk_read_timeout;
|
|
pub use crate::disk::local::ScanGuard;
|
|
pub use crate::disk::{
|
|
BATCH_READ_VERSION_MAX_ITEMS, BUCKET_META_PREFIX, BatchReadVersionItem, BatchReadVersionReq, BatchReadVersionResp,
|
|
CheckPartsResp, DeleteOptions, Disk, DiskAPI, DiskInfo, DiskInfoOptions, DiskLocation, DiskOption, DiskStore,
|
|
FileInfoVersions, FileReader, FileWriter, HEALING_MARKER_PATH, NsScannerOpenRequest, OldCurrentSize,
|
|
PartTransactionAction, RUSTFS_META_BUCKET, ReadMultipleReq, ReadMultipleResp, ReadOptions, RenameDataResp,
|
|
STORAGE_FORMAT_FILE, SnapshotLeaseToken, UpdateMetadataOpts, VolumeInfo, WalkDirOptions, new_disk,
|
|
validate_batch_read_version_item_count,
|
|
};
|
|
pub use bytes::Bytes;
|
|
pub use endpoint::Endpoint;
|
|
pub use error::DiskError;
|
|
pub use error_reduce::is_all_buckets_not_found;
|
|
|
|
pub mod endpoint {
|
|
pub use crate::layout::endpoint::{Endpoint, EndpointType};
|
|
}
|
|
|
|
pub mod error {
|
|
pub use crate::disk::error::{BitrotErrorType, DiskError, Error, FileAccessDeniedWithContext, Result};
|
|
}
|
|
|
|
pub mod error_reduce {
|
|
pub use crate::disk::error_reduce::{
|
|
BASE_IGNORED_ERRS, BUCKET_OP_IGNORED_ERRS, OBJECT_OP_IGNORED_ERRS, WriteQuorumFailureSummary,
|
|
build_write_quorum_failure_summary, count_errs, count_retryable_failures, is_all_buckets_not_found, is_ignored_err,
|
|
reduce_errs, reduce_quorum_errs, reduce_read_quorum_errs, reduce_write_quorum_errs,
|
|
};
|
|
}
|
|
}
|
|
|
|
pub mod error {
|
|
pub use crate::error::{
|
|
Error, Result, StorageError, classify_system_path_failure_reason, is_err_bucket_not_found, is_err_object_not_found,
|
|
is_err_version_not_found,
|
|
};
|
|
}
|
|
|
|
pub mod erasure {
|
|
pub use crate::erasure::coding::{
|
|
BitrotReader, BitrotWriter, BitrotWriterWrapper, CustomWriter, Erasure, ErasureConstructionError, ReedSolomonEncoder,
|
|
calc_shard_size, calc_shard_size_legacy,
|
|
};
|
|
}
|
|
|
|
pub mod event {
|
|
pub use crate::event::name::EventName;
|
|
pub use crate::services::event_notification::{EventArgs, register_event_dispatch_hook};
|
|
}
|
|
|
|
pub mod global {
|
|
pub use crate::runtime::global::{
|
|
set_global_endpoints, set_global_region, set_global_rustfs_port, set_object_store_resolver, shutdown_background_services,
|
|
update_erasure_type,
|
|
};
|
|
}
|
|
|
|
pub mod runtime {
|
|
pub use crate::runtime::instance::{InstanceContext, bootstrap_ctx};
|
|
pub use crate::runtime::sources::{
|
|
boot_time, bucket_monitor, deployment_id, endpoint_pools, expiry_state_handle, first_cluster_node_is_local,
|
|
global_lock_client, global_lock_clients, global_tier_config_mgr, local_disk_map_read, object_store_handle, region,
|
|
rustfs_port, setup_is_dist_erasure, setup_is_erasure, setup_is_erasure_sd, transition_state_handle,
|
|
};
|
|
}
|
|
|
|
pub mod layout {
|
|
pub use crate::layout::disks_layout::DisksLayout;
|
|
pub use crate::layout::endpoints::{EndpointServerPools, Endpoints, PoolEndpoints, SetupType};
|
|
}
|
|
|
|
pub mod metrics {
|
|
pub use crate::services::metrics_realtime::{CollectMetricsOpts, MetricType, collect_local_metrics};
|
|
}
|
|
|
|
pub mod notification {
|
|
pub use crate::services::notification_sys::{
|
|
NotificationPeerErr, NotificationSys, get_global_notification_sys, new_global_notification_sys,
|
|
start_remote_version_state_fleet_probe,
|
|
};
|
|
}
|
|
|
|
pub mod object {
|
|
pub use crate::object_api::{
|
|
BLOCK_SIZE_V2, ERASURE_ALGORITHM, EncryptionResolutionError, EncryptionResolutionErrorKind, GetObjectBodyCacheHook,
|
|
GetObjectBodyCacheHookLookup, GetObjectBodySource, GetObjectReader, ObjectEncryptionResolver, ObjectInfo,
|
|
ObjectMutationHook, ObjectOptions, PutObjReader, RangedDecompressReader, ReadEncryptionMaterial, ReadEncryptionMode,
|
|
ReadEncryptionRequest, StreamConsumer, get_object_body_cache_plaintext_len, lookup_get_object_body_cache_hook,
|
|
register_get_object_body_cache_hook, register_object_mutation_hook, unregister_get_object_body_cache_hook,
|
|
unregister_object_mutation_hook,
|
|
};
|
|
pub use crate::store::PreparedGetObjectReader;
|
|
}
|
|
|
|
pub mod rebalance {
|
|
pub use crate::services::rebalance::{
|
|
DiskStat, RebalSaveOpt, RebalStatus, RebalanceCleanupWarningEntry, RebalanceCleanupWarnings, RebalanceInfo,
|
|
RebalanceMeta, RebalanceStats, RebalanceStopPropagationRecord, decode_rebalance_stop_propagation_record,
|
|
encode_rebalance_stop_propagation_record,
|
|
};
|
|
}
|
|
|
|
pub mod rio {
|
|
pub use crate::io_support::rio::{
|
|
DecryptReader, DynReader, EncryptReader, HardLimitReader, HashReader, ReadStream, Reader, WriteEncryption, WritePlan,
|
|
boxed_reader, compression_metadata_value, wrap_reader,
|
|
};
|
|
}
|
|
|
|
pub mod rpc {
|
|
pub use crate::cluster::rpc::{
|
|
AuthenticatedChannel, LocalPeerS3Client, PEER_RESTDRY_RUN, PEER_RESTSIGNAL, PEER_RESTSUB_SYS, PeerRestClient,
|
|
PeerS3Client, S3PeerSys, SERVICE_SIGNAL_REFRESH_CONFIG, SERVICE_SIGNAL_RELOAD_DYNAMIC, ScannerBucketListing,
|
|
ScannerPeerActivity, TONIC_RPC_PREFIX, TonicInterceptor, gen_signature_headers, gen_tonic_replay_scope_headers,
|
|
gen_tonic_signature_headers, gen_tonic_signature_interceptor, node_service_time_out_client,
|
|
node_service_time_out_client_no_auth, normalize_tonic_rpc_audience, set_tonic_canonical_body_digest,
|
|
sign_ns_scanner_capability, sign_tonic_rpc_response_proof, tonic_boot_epoch_challenge, tonic_boot_epoch_response_headers,
|
|
verify_rpc_signature, verify_tonic_boot_epoch_response, verify_tonic_canonical_body_digest,
|
|
verify_tonic_mutation_body_digest, verify_tonic_rpc_response_proof, verify_tonic_rpc_signature,
|
|
verify_tonic_rpc_signature_with_bootstrap,
|
|
};
|
|
}
|
|
|
|
pub mod set_disk {
|
|
pub use crate::set_disk::{DEFAULT_READ_BUFFER_SIZE, SetDisks, get_lock_acquire_timeout, is_valid_storage_class};
|
|
}
|
|
|
|
pub mod store_list {
|
|
pub use crate::store::list_objects::{ListPathOptions, max_keys_plus_one};
|
|
}
|
|
|
|
pub mod storage {
|
|
pub use crate::store::HealWalkVersion;
|
|
pub use crate::store::{
|
|
ECStore, all_local_disk, all_local_disk_path, find_local_disk_by_ref, init_local_disks,
|
|
init_local_disks_with_instance_ctx, init_lock_clients, prewarm_local_disk_id_map,
|
|
prewarm_local_disk_id_map_with_instance_ctx,
|
|
};
|
|
}
|
|
|
|
pub mod tier {
|
|
#[allow(clippy::module_inception)]
|
|
pub mod tier {
|
|
pub use crate::services::tier::tier::{
|
|
ERR_TIER_BACKEND_IN_USE, ERR_TIER_BACKEND_NOT_EMPTY, ERR_TIER_INVALID_CONFIG, ERR_TIER_MISSING_CREDENTIALS,
|
|
ERR_TIER_TYPE_UNSUPPORTED, TIER_CONFIG_FILE, TIER_CONFIG_FORMAT, TIER_CONFIG_V1, TIER_CONFIG_VERSION, TierConfigMgr,
|
|
TierConfigUpdateError, is_err_config_not_found, try_migrate_tiering_config,
|
|
};
|
|
}
|
|
|
|
pub mod tier_admin {
|
|
pub use crate::services::tier::tier_admin::TierCreds;
|
|
}
|
|
|
|
pub mod tier_config {
|
|
pub use crate::services::tier::tier_config::{
|
|
ServicePrincipalAuth, TierAliyun, TierAzure, TierConfig, TierGCS, TierHuaweicloud, TierMinIO, TierR2, TierRustFS,
|
|
TierS3, TierTencent, TierType, TierWasabi,
|
|
};
|
|
}
|
|
|
|
pub mod tier_handlers {
|
|
pub use crate::services::tier::tier_handlers::{
|
|
ERR_TIER_ALREADY_EXISTS, ERR_TIER_BUCKET_NOT_FOUND, ERR_TIER_CONNECT_ERR, ERR_TIER_INVALID_CREDENTIALS,
|
|
ERR_TIER_NAME_NOT_UPPERCASE, ERR_TIER_NOT_FOUND, ERR_TIER_PERM_ERR, ERR_TIER_RESERVED_NAME,
|
|
};
|
|
}
|
|
|
|
pub mod tier_mutation_peer {
|
|
pub use crate::services::tier::tier_mutation_peer::{
|
|
MAX_TIER_MUTATION_PEER_COMMIT_ETAG_SIZE, TierMutationPeerError, TierMutationPeerOutcome, TierMutationPeerResult,
|
|
TierMutationPeerState, handle_tier_mutation_peer_request,
|
|
};
|
|
}
|
|
|
|
pub mod warm_backend {
|
|
pub use crate::services::tier::warm_backend::{
|
|
WarmBackend, WarmBackendGetOpts, WarmBackendImpl, build_transition_put_options, check_warm_backend, new_warm_backend,
|
|
};
|
|
}
|
|
|
|
#[cfg(feature = "test-util")]
|
|
pub mod test_util {
|
|
pub use crate::services::tier::test_util::{
|
|
FaultConfig, MockStoredObject, MockWarmBackend, MockWarmOp, TransitionCleanupStoreBarrier, TransitionMeta,
|
|
assert_transition_meta_consistent, free_version_count, read_transition_meta, register_mock_tier,
|
|
register_mock_tier_backend, wait_for_free_version_absence,
|
|
};
|
|
}
|
|
}
|