{ "_for-emacs": "-*- mode: js2;-*-", "handlerConfig": true, "baseURL": ["_env", "${CAMLI_BASEURL}"], "auth": ["_env", "${CAMLI_AUTH}"], "https": ["_env", "${CAMLI_TLS}", false], "TLSCertFile": "config/selfgen_cert.pem", "TLSKeyFile": "config/selfgen_key.pem", "prefixes": { "/": { "handler": "root", "handlerArgs": { "ownerName": ["_env", "${USER}-dev"], "blobRoot": "/bs-and-maybe-also-index/", "statusRoot": "/status/", "searchRoot": "/my-search/", "stealth": false } }, "/blog/": { "handler": "publish", "handlerArgs": { "rootName": "dev-blog-root", "blobRoot": "/bs-and-maybe-also-index/", "searchRoot": "/my-search/", "cache": "/cache/", "devBootstrapPermanodeUsing": "/sighelper/" } }, "/pics/": { "handler": "publish", "handlerArgs": { "rootName": "dev-pics-root", "blobRoot": "/bs-and-maybe-also-index/", "searchRoot": "/my-search/", "cache": "/cache/", "scaledImage": "lrucache", "css": ["pics.css"], "js": ["pics.js"], "devBootstrapPermanodeUsing": "/sighelper/" } }, "/stub-test-disable/": { "handler": "publish", "enabled": false, "handlerArgs": { } }, "/ui/": { "handler": "ui", "handlerArgs": { "camliRoot": ["_env", "${CAMLI_DEV_CAMLI_ROOT}", ""], "closureRoot": ["_env", "${CAMLI_DEV_CLOSURE_ROOT}", ""], "jsonSignRoot": "/sighelper/", "cache": "/cache/", "scaledImage": "lrucache", "publishRoots": ["/blog/", "/pics/"] } }, "/status/": { "handler": "status" }, "/sync/": { "handler": "sync", "handlerArgs": { "from": "/bs/", "to": ["_env", "${CAMLI_INDEXER_PATH}"], "fullSyncOnStart": true, "blockingFullSyncOnStart": true } }, "/sighelper/": { "handler": "jsonsign", "handlerArgs": { "secretRing": ["_env", "${CAMLI_SECRET_RING}"], "keyId": "26F5ABDA", "publicKeyDest": "/bs/" } }, "/bs-and-index/": { "handler": "storage-replica", "handlerArgs": { "backends": ["/bs/", ["_env", "${CAMLI_INDEXER_PATH}"]] } }, "/bs-and-maybe-also-index/": { "handler": "storage-cond", "handlerArgs": { "write": { "if": "isSchema", "then": "/bs-and-index/", "else": "/bs/" }, "read": "/bs/" } }, "/bs/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT}"] } }, "/cache/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_CACHE}"] } }, "/sharder/": { "handler": "storage-shard", "handlerArgs": { "backends": ["/s1/", "/s2/"] } }, "/s1/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_SHARD1}"] } }, "/s2/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_SHARD2}"] } }, "/repl/": { "handler": "storage-replica", "handlerArgs": { "backends": ["/r1/", "/r2/", "/r3/"], "minWritesForSuccess": 2 } }, "/r1/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_REPLICA1}"] } }, "/r2/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_REPLICA2}"] } }, "/r3/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_REPLICA3}"] } }, "/enc/": { "handler": "storage-encrypt", "handlerArgs": { "I_AGREE": "that encryption support hasn't been peer-reviewed, isn't finished, and its format might change.", "meta": "/encmeta/", "blobs": "/encblob/", "key": "000102030405060708090a0b0c0d0e0f" } }, "/encmeta/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_ENCMETA}"] } }, "/encblob/": { "handler": "storage-filesystem", "handlerArgs": { "path": ["_env", "${CAMLI_ROOT_ENCBLOB}"] } }, "/index-mem/": { "handler": "storage-memory-only-dev-indexer", "handlerArgs": { "blobSource": "/bs/" } }, "/index-mongo/": { "enabled": ["_env", "${CAMLI_MONGO_ENABLED}", true], "handler": "storage-mongodbindexer", "handlerArgs": { "servers": "localhost", "database": ["_env", "${CAMLI_DBNAME}"], "blobSource": "/bs/" } }, "/index-mysql/": { "enabled": ["_env", "${CAMLI_MYSQL_ENABLED}", true], "handler": "storage-mysqlindexer", "handlerArgs": { "database": ["_env", "${CAMLI_DBNAME}"], "user": "root", "password": "root", "host": "127.0.0.1", "blobSource": "/bs/" } }, "/index-postgres/": { "enabled": ["_env", "${CAMLI_POSTGRES_ENABLED}", true], "handler": "storage-postgresindexer", "handlerArgs": { "database": ["_env", "${CAMLI_DBNAME}"], "user": "postgres", "password": "postgres", "host": "127.0.0.1", "blobSource": "/bs/" } }, "/my-search/": { "handler": "search", "handlerArgs": { "index": ["_env", "${CAMLI_INDEXER_PATH}"], "owner": "sha1-f2b0b7da718b97ce8c31591d8ed4645c777f3ef4", "devBlockStartupOn": "/sync/" } } } }