MCPcopy
hub / github.com/cubefs/cubefs

github.com/cubefs/cubefs @v3.5.3 sqlite

repository ↗ · DeepWiki ↗ · release v3.5.3 ↗
22,665 symbols 109,878 edges 1,706 files 5,459 documented · 24%
README

CubeFS

CNCF Status Build Status LICENSE Language Go Report Card Docs OpenSSF Best Practices OpenSSF Scorecard Codecov Artifact HUB CLOMonitor FOSSA Status Release Tag Gurubase

 Community Meeting
The CubeFS Project holds bi-weekly community online meeting. To join or watch previous meeting notes and recordings, please see meeting schedule and meeting minutes.

CubeFS

Overview

CubeFS ("储宝" in Chinese) is an open-source cloud-native distributed file & object storage system, hosted by the Cloud Native Computing Foundation (CNCF) as a graduated project.

What can you build with CubeFS

  • As an open-source distributed storage, CubeFS can serve as your datacenter filesystem, data lake storage infra, and private or hybrid cloud storage.
  • Moreover, it can be run in public cloud services, providing cache acceleration and file system semantics on top of public cloud storage such as S3.

  • In particular, CubeFS enables the separation of storage/compute architecture for databases, search systems, and AI/ML applications.

Some key features of CubeFS include:

  • Multiple access protocols such as POSIX, HDFS, S3, and its own REST API
  • Highly scalable metadata service with strong consistency
  • Performance optimization of large/small files and sequential/random writes
  • Multi-tenancy support with better resource utilization and tenant isolation
  • Hybrid cloud I/O acceleration through multi-level caching
  • Flexible storage policies, high-performance replication or low-cost erasure coding

CubeFS Architecture

Documents

  • English version: https://cubefs.io/docs/master/overview/introduction.html
  • Chinese version: https://cubefs.io/zh/docs/master/overview/introduction.html

Community

  • Homepage: cubefs.io
  • Mailing list: users@cubefs.groups.io.
    • Please subscribe on the page https://groups.io/g/cubefs-users/ or send your email to cubefs-users+subscribe@groups.io to apply.
  • Slack: cubefs.slack.com
  • WeChat: detail see here
  • Twitter: cubefs_storage

Governance

Governance documentation plays a crucial role in establishing clear guidelines, procedures, and structures within an organization or project

Contribute

Contributing to CubeFS

There is a clear definition of roles and their promotion paths. - Becoming a Maintainer - Becoming a committer - Becoming a TSC Member

Partners and Users

There is the list of users and success stories ADOPTERS.md.

Reference

Haifeng Liu, et al., CFS: A Distributed File System for Large Scale Container Platforms. SIGMOD‘19, June 30-July 5, 2019, Amsterdam, Netherlands.

For more information, please refer to https://dl.acm.org/citation.cfm?doid=3299869.3314046 and https://arxiv.org/abs/1911.03001

License

CubeFS is licensed under the Apache License, Version 2.0. For detail see LICENSE and NOTICE.

Note

The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get a stable set of binaries.

Star History

Star History Chart

Extension points exported contracts — how you extend this code

NodeFsyncer (Interface)
TODO this should be on Handle not Node [6 implementers]
depends/bazil.org/fuse/fs/serve.go
Value (Interface)
Value is the interface to the dynamic value stored in a flag. (The default value is represented as a string.) [10 implementers]
depends/spf13/pflag/flag.go
IVolumeCache (Interface)
IVolumeCache define the interface used for volume cache manager [6 implementers]
blobstore/scheduler/cluster_topology.go
BidMgr (Interface)
BidMgr Assume the task of assigning bid segments [16 implementers]
blobstore/proxy/allocator/bidmgr.go
APIService (Interface)
APIService sub of cluster manager api for service [8 implementers]
blobstore/api/clustermgr/proto.go
Marshaler (Interface)
priority of marshaler and unmarshaler (default is json). - - - - - - - - - - - - - - - - - - - - - - | | marshal [43 implementers]
blobstore/common/rpc/proto.go
Closer (Interface)
Closer is the interface for object that can release its resources. [7 implementers]
blobstore/util/closer/closer.go
IBlobNode (Interface)
IBlobNode define the interface of blobnode used for worker [6 implementers]
blobstore/blobnode/client/blobnode_cli.go

Core symbols most depended-on inside this repo

Errorf
called by 3568
blobstore/util/log/log.go
Error
called by 2742
blobstore/util/log/log.go
Equal
called by 2203
blobstore/api/clustermgr/volume.go
LogErrorf
called by 2148
util/log/log.go
LogDebugf
called by 1918
util/log/log.go
Unlock
called by 1335
blobstore/common/fileutil/lock.go
LogInfof
called by 1312
util/log/log.go
LogWarnf
called by 1288
util/log/log.go

Shape

Method 12,998
Function 6,546
Struct 2,533
Interface 247
TypeAlias 241
FuncType 75
Class 25

Languages

Go99%
Python1%
Java1%

Modules by API surface

master/cluster.go260 symbols
master/api_service.go249 symbols
metanode/partition.go230 symbols
depends/bazil.org/fuse/fs/serve_test.go202 symbols
depends/bazil.org/fuse/fuse.go190 symbols
proto/distributed_cache.pb.go185 symbols
master/topology.go161 symbols
proto/fs_proto.go156 symbols
depends/bazil.org/fuse/fs/serve.go152 symbols
blobstore/blobnode/disk_mock_test.go152 symbols
master/metadata_fsm_op.go147 symbols
proto/admin_proto.go137 symbols

Dependencies from manifests, versioned

github.com/BurntSushi/tomlv1.1.0 · 1×
github.com/Shopify/saramav1.33.0 · 1×
github.com/afex/hystrix-gov0.0.0-2018050200455 · 1×
github.com/armon/go-metricsv0.4.1 · 1×
github.com/aws/aws-sdk-gov1.33.1 · 1×
github.com/benbjohnson/clockv1.3.1 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/bits-and-blooms/bitsetv1.10.0 · 1×
github.com/bits-and-blooms/bloom/v3v3.6.0 · 1×
github.com/brahma-adshonor/gohookv1.1.9 · 1×
github.com/cespare/xxhash/v2v2.1.2 · 1×
github.com/cpuguy83/go-md2man/v2v2.0.0 · 1×

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add cubefs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact