diff --git a/README.md b/README.md index 1cc33bf81..4c7733d4f 100755 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ This is the next generation [blobfuse](https://github.com/Azure/azure-storage-fu Blobfuse2 is stable, and is ***supported by Microsoft*** provided that it is used within its limits documented here. Blobfuse2 supports both reads and writes however, it does not guarantee continuous sync of data written to storage using other APIs or other mounts of Blobfuse2. For data integrity it is recommended that multiple sources do not modify the same blob/file. Please submit an issue [here](https://github.com/azure/azure-storage-fuse/issues) for any issues/feature requests/questions. +[This](https://github.com/Azure/azure-storage-fuse/tree/main?tab=readme-ov-file#config-guide) section will help you choose the correct config for Blobfuse2. + ## NOTICE - We have seen some customer issues around files getting corrupted when `streaming` is used in write mode. Kindly avoid using this feature for write while we investigate and resolve it. - You can now use block-cache instead of streaming for both read and write workflows, which offers much better performance compared to streaming. To enable `block-cache` instead of `streaming`, use `--block-cache` in CLI param or `block-cache` as component in config file instead of `streaming`. @@ -182,21 +184,34 @@ To learn about a specific command, just include the name of the command (For exa * `AZURE_STORAGE_CPK_ENCRYPTION_KEY_SHA256`: Base64-encoded SHA256 of the cpk encryption key. -## Config file -- See [this](./sampleFileCacheConfig.yaml) sample config file. -- See [this](./setup/baseConfig.yaml) config file for a list and description of all possible configurable options in blobfuse2. - -***Please note: do not use quotations `""` for any of the config parameters*** - -## Choosing Between File Cache and Stream Modes -Please refer to this diagram to decide on whether to use the file cache or streaming. Sample config file URLs are below the diagram. - -![alt text](./config_decision_tree.png?raw=true "File Cache vs. Streaming") - -NOTE: At any point in above diagram `streaming` can be replaced by `block-cache`. +## Config Guide +Below diagrams guide you to choose right configuration for your workloads. + +- Choose right Auth mode +

+![alt text](./guide/AuthModeHelper.png?raw=true "Auth Mode Selection Guide") +

+- Choose right caching for Read-Only workloads +

+![alt text](./guide/CacheModeForReadOnlyWorkloads.png?raw=true "Cache Mode Selection Guide For Read-Only Workloads") +

+- Choose right caching for Read-Write workloads +

+![alt text](./guide/CacheModeForReadWriteWorkloads.png?raw=true "Cache Mode Selection Guide For Read-Only Workloads") +

+- Choose right block-cache configuration +

+![alt text](./guide/BlockCacheConfig.png?raw=true "Block-Cache Configuration") +

+- Choose right file-cache configuration +

+![alt text](./guide/FileCacheConfig.png?raw=true "Block-Cache Configuration") +

- [Sample File Cache Config](./sampleFileCacheConfig.yaml) -- [Sample Stream Config](./sampleStreamingConfig.yaml) - [Sample Block-Cache Config](./sampleBlockCacheConfig.yaml) +- [Sample Stream Config](./sampleStreamingConfig.yaml) +- [All Config options](./setup/baseConfig.yaml) + ## Frequently Asked Questions - How do I generate a SAS with permissions for rename? diff --git a/guide/AuthModeHelper.png b/guide/AuthModeHelper.png new file mode 100644 index 000000000..0a0102091 Binary files /dev/null and b/guide/AuthModeHelper.png differ diff --git a/guide/BlockCacheConfig.png b/guide/BlockCacheConfig.png new file mode 100644 index 000000000..b9db18481 Binary files /dev/null and b/guide/BlockCacheConfig.png differ diff --git a/guide/CacheModeForReadOnlyWorkloads.png b/guide/CacheModeForReadOnlyWorkloads.png new file mode 100644 index 000000000..2c17f13b4 Binary files /dev/null and b/guide/CacheModeForReadOnlyWorkloads.png differ diff --git a/guide/CacheModeForReadWriteWorkloads.png b/guide/CacheModeForReadWriteWorkloads.png new file mode 100644 index 000000000..6ef2e5af1 Binary files /dev/null and b/guide/CacheModeForReadWriteWorkloads.png differ diff --git a/guide/FileCacheConfig.png b/guide/FileCacheConfig.png new file mode 100644 index 000000000..c95bd36ff Binary files /dev/null and b/guide/FileCacheConfig.png differ