-
Notifications
You must be signed in to change notification settings - Fork 0
Code Organization
James Fantin-Hardesty edited this page Oct 13, 2023
·
1 revision
Cloudfuse code is organized into a small number of directories with the majority of critical code in the component directory.
- cmd - all cloudfuse CLI commands
- common - code common to the project
- cache_policy - lru caching
- config - parsing yaml configuration files
- log - logging to files and syslog
- component - define parts of the cloudfuse pipeline
- attr_cache - caches attributes about files and folders to improve performance
- azstorage - connects to Azure Blob and Datalake storage
- block_cache - caches files in blocks as they are being read to improve read performance of large files
- file_cache - caches files when downloaded to improve local performance
- libfuse_cache - routes calls from FUSE
- loopback - used exclusively in testing
- s3storage - connects to S3 storage
- stream - streams files and only read part of object being requested to improve read of large files
- docs - documentation generated by cobra for the CLI commands
- docker - defines setup for cloudfuse in docker container
- gui - cloudfuse gui in python using QT
- internal - code internal to project that is more specialized than code in common
- convertname - handles conversion of special characters on Windows
- handlemap - map of file handles
- stats_manager - managers statistics used for health monitor
- winservice - connects to Windows services
- setup - information to setup config file or systemd service on linux
- test - detailed end to end tests and performance testing
- test-scripts - scripts to easily run end to end tests on local system
- test-data - config files used for CI/CD
- tools - supported tools for cloudfuse
- health-monitor - monitors cloudfuse system and resource utilization
- windows-event-logging - registers cloudfuse with Windows Event Viewer