// Filesystem builder configuration
{
    "name": "test FWFS volume - maximum 255 characters, no restriction on content i.e. ?!:~\ all fine",
    // Provide a 32-bit value here, in hex string or decimal
    "id": "0x12345678",
    // Where to read files from: "{target}": "{source}"
    "source": {
        "/": "files",
        "README.rst": "${SMING_HOME}/Components/IFS/README.rst"
    },
    // Directories to mount other filesystems: "{target directory}": {mountpoint index}
    "mountpoints": {
        "config": 0
    },
    // Rules for file metadata. All rules are evaluated in sequence for every file.
    // The masks apply to the full target path
    // Masks without leading '/' are also checked against just the filename
    "rules": [
        {
            "mask": "*",
            "read": "guest",
            "write": "admin"
        },
        {
            "mask": ".*",
            "read": "admin"
        },
        {
            "mask": "*.html",
            "readonly": true
        },
        {
            "mask": [
                "*.js",
                "*.png",
                "*.ico",
                "*.jpg",
                "*.jpeg",
                "*.html",
                "*.css",
                "*.txt",
                "*.md",
                "*.rst"
            ],
            "compress": "gzip"
        },
        {
            "mask": [
                "/index.html",
                "/index.js",
                "/styles.css",
                "*.ico",
                "*.png"
            ],
            "read": "any"
        },
        //This is a template file so firmware needs to read it
        {
            "mask": "/error.html",
            "compress": "none"
        }
    ]
}
