mirror of https://github.com/perkeep/perkeep.git
252 lines
6.5 KiB
JSON
252 lines
6.5 KiB
JSON
{ "_for-emacs": "-*- mode: js2;-*-",
|
|
"handlerConfig": true,
|
|
"baseURL": ["_env", "${CAMLI_BASEURL}"],
|
|
"auth": ["_env", "${CAMLI_AUTH}"],
|
|
"https": ["_env", "${CAMLI_TLS}", false],
|
|
"TLSCertFile": "config/selfgen_pem.crt",
|
|
"TLSKeyFile": "config/selfgen_pem.key",
|
|
"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": {
|
|
"sourceRoot": ["_env", "${CAMLI_DEV_CAMLI_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/"
|
|
}
|
|
},
|
|
|
|
"/share/": {
|
|
"handler": "share",
|
|
"handlerArgs": {
|
|
"blobRoot": "/bs/"
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|