mirror of
https://github.com/aljazceru/cyphernode.git
synced 2025-12-26 17:15:08 +01:00
New config schema with additional properties: lightning_announce, gatekeeper_expose, traefik_http_port, traefik_https_port
This commit is contained in:
555
cyphernodeconf_docker/schema/config-v0.3.0.json
Normal file
555
cyphernodeconf_docker/schema/config-v0.3.0.json
Normal file
@@ -0,0 +1,555 @@
|
||||
{
|
||||
"definitions": {},
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "http://cyphernode.io/config-v0.2.0.json",
|
||||
"type": "object",
|
||||
"title": "Cyphernode config file structure v0.2.0",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"setup_version",
|
||||
"features",
|
||||
"net",
|
||||
"use_xpub",
|
||||
"installer_mode",
|
||||
"run_as_different_user",
|
||||
"docker_mode",
|
||||
"docker_versions",
|
||||
"adminhash",
|
||||
"bitcoin_rpcuser",
|
||||
"bitcoin_rpcpassword",
|
||||
"bitcoin_prune",
|
||||
"bitcoin_datapath",
|
||||
"bitcoin_mode",
|
||||
"bitcoin_expose",
|
||||
"gatekeeper_expose",
|
||||
"gatekeeper_keys",
|
||||
"gatekeeper_sslcert",
|
||||
"gatekeeper_sslkey",
|
||||
"gatekeeper_cns",
|
||||
"gatekeeper_clientkeyspassword",
|
||||
"gatekeeper_datapath",
|
||||
"gatekeeper_port",
|
||||
"lightning_announce",
|
||||
"lightning_expose",
|
||||
"lightning_implementation",
|
||||
"lightning_datapath",
|
||||
"lightning_nodename",
|
||||
"lightning_nodecolor",
|
||||
"proxy_datapath",
|
||||
"otsclient_datapath",
|
||||
"traefik_datapath",
|
||||
"traefik_http_port",
|
||||
"traefik_https_port"
|
||||
],
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"run_as_different_user": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"username"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"use_xpub": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"xpub",
|
||||
"derivation_path"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"bitcoin_prune": {
|
||||
"enum": [
|
||||
true
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"bitcoin_prune_size"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"0.3.0"
|
||||
],
|
||||
"default": "0.3.0",
|
||||
"examples": [
|
||||
"0.3.0"
|
||||
]
|
||||
},
|
||||
"setup_version": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"v0.2.0"
|
||||
]
|
||||
},
|
||||
"docker_versions": {
|
||||
"$id": "#/properties/dockerVersions",
|
||||
"type": "object",
|
||||
"title": "All versions of the docker containers",
|
||||
"default": {},
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"$id": "#/properties/features",
|
||||
"type": "array",
|
||||
"title": "The optional features of this cyphernode",
|
||||
"default": [],
|
||||
"items": {
|
||||
"$id": "#/properties/features/items",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"lightning",
|
||||
"otsclient"
|
||||
],
|
||||
"title": "The feature",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"lightning",
|
||||
"otsclient"
|
||||
]
|
||||
}
|
||||
},
|
||||
"net": {
|
||||
"$id": "#/properties/net",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"testnet",
|
||||
"mainnet"
|
||||
],
|
||||
"title": "The net cyphernode is running on",
|
||||
"default": "testnet",
|
||||
"examples": [
|
||||
"testnet"
|
||||
]
|
||||
},
|
||||
"use_xpub": {
|
||||
"$id": "#/properties/use_xpub",
|
||||
"type": "boolean",
|
||||
"title": "Use xpub key?",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"xpub": {
|
||||
"$id": "#/properties/xpub",
|
||||
"type": "string",
|
||||
"title": "Default xpub to derive addresses from",
|
||||
"pattern": "^(\\w+)$"
|
||||
},
|
||||
"derivation_path": {
|
||||
"$id": "#/properties/derivation_path",
|
||||
"type": "string",
|
||||
"title": "Default derivation path",
|
||||
"default": "0/n",
|
||||
"examples": [
|
||||
"0/n"
|
||||
]
|
||||
},
|
||||
"installer_mode": {
|
||||
"$id": "#/properties/installer_mode",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"docker"
|
||||
],
|
||||
"title": "Install mode",
|
||||
"default": "docker",
|
||||
"examples": [
|
||||
"docker"
|
||||
]
|
||||
},
|
||||
"run_as_different_user": {
|
||||
"$id": "#/properties/run_as_different_user",
|
||||
"type": "boolean",
|
||||
"title": "Run as different user",
|
||||
"default": true,
|
||||
"examples": [
|
||||
true
|
||||
]
|
||||
},
|
||||
"username": {
|
||||
"$id": "#/properties/username",
|
||||
"type": "string",
|
||||
"title": "Username to run under",
|
||||
"default": "cyphernode",
|
||||
"examples": [
|
||||
"cyphernode"
|
||||
]
|
||||
},
|
||||
"docker_mode": {
|
||||
"$id": "#/properties/docker_mode",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"swarm",
|
||||
"compose"
|
||||
],
|
||||
"title": "How to run the containers",
|
||||
"default": "compose",
|
||||
"examples": [
|
||||
"compose"
|
||||
]
|
||||
},
|
||||
"bitcoin_rpcuser": {
|
||||
"$id": "#/properties/bitcoin_rpcuser",
|
||||
"type": "string",
|
||||
"title": "Bitcoin rpc user",
|
||||
"default": "bitcoin",
|
||||
"examples": [
|
||||
"bitcoin"
|
||||
]
|
||||
},
|
||||
"bitcoin_rpcpassword": {
|
||||
"$id": "#/properties/bitcoin_rpcpassword",
|
||||
"type": "string",
|
||||
"title": "Bitcoin rpc password",
|
||||
"default": "CHANGEME",
|
||||
"examples": [
|
||||
"CHANGEME"
|
||||
]
|
||||
},
|
||||
"bitcoin_uacomment": {
|
||||
"$id": "#/properties/bitcoin_uacomment",
|
||||
"type": "string",
|
||||
"title": "Bitcoin user agent comment",
|
||||
"examples": [
|
||||
"cyphernode"
|
||||
]
|
||||
},
|
||||
"bitcoin_prune": {
|
||||
"$id": "#/properties/bitcoin_prune",
|
||||
"type": "boolean",
|
||||
"title": "Bitcoin prune",
|
||||
"default": false,
|
||||
"examples": [
|
||||
"false"
|
||||
]
|
||||
},
|
||||
"bitcoin_prune_size": {
|
||||
"$id": "#/properties/bitcoin_prune_size",
|
||||
"type": "integer",
|
||||
"title": "Bitcoin prune size",
|
||||
"default": 550,
|
||||
"examples": [
|
||||
550
|
||||
]
|
||||
},
|
||||
"bitcoin_datapath": {
|
||||
"$id": "#/properties/bitcoin_datapath",
|
||||
"type": "string",
|
||||
"title": "Bitcoin datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/bitcoin"
|
||||
]
|
||||
},
|
||||
"bitcoin_datapath_custom": {
|
||||
"$id": "#/properties/bitcoin_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "Bitcoin custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/bitcoin"
|
||||
]
|
||||
},
|
||||
"lightning_datapath": {
|
||||
"$id": "#/properties/lightning_datapath",
|
||||
"type": "string",
|
||||
"title": "Lightning datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/lightning"
|
||||
]
|
||||
},
|
||||
"lightning_datapath_custom": {
|
||||
"$id": "#/properties/lightning_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "Lightning custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/lightning"
|
||||
]
|
||||
},
|
||||
"proxy_datapath": {
|
||||
"$id": "#/properties/proxy_datapath",
|
||||
"type": "string",
|
||||
"title": "Proxy datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/proxy"
|
||||
]
|
||||
},
|
||||
"proxy_datapath_custom": {
|
||||
"$id": "#/properties/proxy_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "Proxy custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/proxy"
|
||||
]
|
||||
},
|
||||
"otsclient_datapath": {
|
||||
"$id": "#/properties/otsclient_datapath",
|
||||
"type": "string",
|
||||
"title": "OTS Client datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/otsclient"
|
||||
]
|
||||
},
|
||||
"otsclient_datapath_custom": {
|
||||
"$id": "#/properties/otsclient_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "OTS Client custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/otsclient"
|
||||
]
|
||||
},
|
||||
"traefik_http_port": {
|
||||
"$id": "#/properties/traefik_port",
|
||||
"type": "integer",
|
||||
"title": "Traefik HTTP port",
|
||||
"default": 80,
|
||||
"examples": [
|
||||
80
|
||||
]
|
||||
},
|
||||
"traefik_https_port": {
|
||||
"$id": "#/properties/traefik_https_port",
|
||||
"type": "integer",
|
||||
"title": "Traefik HTTPS port",
|
||||
"default": 443,
|
||||
"examples": [
|
||||
443
|
||||
]
|
||||
},
|
||||
"traefik_datapath": {
|
||||
"$id": "#/properties/traefik_datapath",
|
||||
"type": "string",
|
||||
"title": "Traefik datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/traefik"
|
||||
]
|
||||
},
|
||||
"traefik_datapath_custom": {
|
||||
"$id": "#/properties/traefik_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "Traefik custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/traefik"
|
||||
]
|
||||
},
|
||||
"lightning_announce": {
|
||||
"$id": "#/properties/lightning_announce",
|
||||
"type": "boolean",
|
||||
"title": "Announce lightning ip",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"lightning_external_ip": {
|
||||
"$id": "#/properties/lightning_external_ip",
|
||||
"type": "string",
|
||||
"format": "ipv4",
|
||||
"title": "External lightning node ip",
|
||||
"examples": [
|
||||
"123.123.123.123"
|
||||
]
|
||||
},
|
||||
"bitcoin_mode": {
|
||||
"$id": "#/properties/bitcoin_mode",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"internal"
|
||||
],
|
||||
"title": "Bitcoin mode",
|
||||
"default": "internal",
|
||||
"examples": [
|
||||
"internal"
|
||||
]
|
||||
},
|
||||
"bitcoin_expose": {
|
||||
"$id": "#/properties/bitcoin_expose",
|
||||
"type": "boolean",
|
||||
"title": "Expose bitcoin node",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"lightning_expose": {
|
||||
"$id": "#/properties/lightning_expose",
|
||||
"type": "boolean",
|
||||
"title": "Expose lightning node",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"gatekeeper_expose": {
|
||||
"$id": "#/properties/gatekeeper_expose",
|
||||
"type": "boolean",
|
||||
"title": "Expose gatekeeper port",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"gatekeeper_datapath": {
|
||||
"$id": "#/properties/gatekeeper_datapath",
|
||||
"type": "string",
|
||||
"title": "Gatekeeper datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/gatekeeper"
|
||||
]
|
||||
},
|
||||
"gatekeeper_datapath_custom": {
|
||||
"$id": "#/properties/gatekeeper_datapath_custom",
|
||||
"type": "string",
|
||||
"title": "Gatekeeper custom datapath",
|
||||
"examples": [
|
||||
"/tmp/cyphernode/gatekeeper"
|
||||
]
|
||||
},
|
||||
"gatekeeper_port": {
|
||||
"$id": "#/properties/gatekeeper_port",
|
||||
"type": "integer",
|
||||
"title": "Gatekeeper port",
|
||||
"default": 2009,
|
||||
"examples": [
|
||||
2009
|
||||
]
|
||||
},
|
||||
"gatekeeper_keys": {
|
||||
"$id": "#/properties/gatekeeper_keys",
|
||||
"type": "object",
|
||||
"title": "Gatekeeper keys",
|
||||
"default": {
|
||||
"configEntries": [],
|
||||
"clientInformation": []
|
||||
},
|
||||
"required": [
|
||||
"configEntries",
|
||||
"clientInformation"
|
||||
],
|
||||
"properties": {
|
||||
"configEntries": {
|
||||
"$id": "#/properties/gatekeeper_keys/configEntries",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$id": "#/properties/gatekeeper_keys/configEntries/entry",
|
||||
"type": "string",
|
||||
"pattern": "^kapi_id=\".+\";kapi_key=\".+\";kapi_groups=\".+\";.+$"
|
||||
},
|
||||
"examples": [
|
||||
[
|
||||
"kapi_id=\"000\";kapi_key=\"a27f9e73fdde6a5005879c259c9aea5e8d917eec77bbdfd73272c0af9b4c6b7a\";kapi_groups=\"stats\";eval ugroups_${kapi_id}=${kapi_groups};eval ukey_${kapi_id}=${kapi_key}",
|
||||
"kapi_id=\"001\";kapi_key=\"a27f9e73fdde6a5005879c273c9aea5e8d917eec77bbdfd73272c0af9b4c6b7a\";kapi_groups=\"stats,watcher\";eval ugroups_${kapi_id}=${kapi_groups};eval ukey_${kapi_id}=${kapi_key}",
|
||||
"kapi_id=\"002\";kapi_key=\"fe58ddbb66d7302a7087af3242a98b6326c51a257f5eab1c06bb8cc02e25890d\";kapi_groups=\"stats,watcher,spender\";eval ugroups_${kapi_id}=${kapi_groups};eval ukey_${kapi_id}=${kapi_key}",
|
||||
"kapi_id=\"003\";kapi_key=\"f0b8bb52f4c7007938757bcdfc73b452d6ce08cc0c660ce57c5464ae95f35417\";kapi_groups=\"stats,watcher,spender,admin\";eval ugroups_${kapi_id}=${kapi_groups};eval ukey_${kapi_id}=${kapi_key}"
|
||||
]
|
||||
]
|
||||
},
|
||||
"clientInformation": {
|
||||
"$id": "#/properties/gatekeeper_keys/clientInformation",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$id": "#/properties/gatekeeper_keys/clientInformation/entry",
|
||||
"type": "string",
|
||||
"pattern": "^.+=.+$"
|
||||
},
|
||||
"examples": [
|
||||
[
|
||||
"000=a27f9e73fdde6a5005879c259c9aea5e8d917eec77bbdfd73272c0af9b4c6b7a",
|
||||
"001=a27f9e73fdde6a5005879c273c9aea5e8d917eec77bbdfd73272c0af9b4c6b7a",
|
||||
"002=fe58ddbb66d7302a7087af3242a98b6326c51a257f5eab1c06bb8cc02e25890d",
|
||||
"003=f0b8bb52f4c7007938757bcdfc73b452d6ce08cc0c660ce57c5464ae95f35417"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"gatekeeper_sslcert": {
|
||||
"$id": "#/properties/gatekeeper_sslcert",
|
||||
"type": "string",
|
||||
"title": "Gatekeeper SSL Cert"
|
||||
},
|
||||
"gatekeeper_sslkey": {
|
||||
"$id": "#/properties/gatekeeper_sslkey",
|
||||
"type": "string",
|
||||
"title": "Gatekeeper SSL Key"
|
||||
},
|
||||
"gatekeeper_cns": {
|
||||
"$id": "#/properties/gatekeeper_cns",
|
||||
"type": "string",
|
||||
"title": "Gatekeeper cns",
|
||||
"examples": [
|
||||
"myhost.mydomain.com,*.myotherdomain.com,123.123.123.123"
|
||||
]
|
||||
},
|
||||
"gatekeeper_clientkeyspassword": {
|
||||
"$id": "#/properties/gatekeeper_clientkeyspassword",
|
||||
"type": "string",
|
||||
"title": "Password for the encrypted client keys archive"
|
||||
},
|
||||
"adminhash": {
|
||||
"$id": "#/properties/adminhash",
|
||||
"type": "string",
|
||||
"title": "Bcrypted hash of admin password"
|
||||
},
|
||||
"lightning_implementation": {
|
||||
"$id": "#/properties/lightning_implementation",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"c-lightning"
|
||||
],
|
||||
"title": "The lightning implementation",
|
||||
"default": "c-lightning",
|
||||
"examples": [
|
||||
"c-lightning"
|
||||
]
|
||||
},
|
||||
"lightning_nodename": {
|
||||
"$id": "#/properties/lightning_nodename",
|
||||
"type": "string",
|
||||
"title": "The lightning node name",
|
||||
"examples": [
|
||||
"🚀 Mighty Moose 🚀"
|
||||
]
|
||||
},
|
||||
"lightning_nodecolor": {
|
||||
"$id": "#/properties/lightning_nodecolor",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9A-Fa-f]{6}$",
|
||||
"title": "The lightning node color",
|
||||
"examples": [
|
||||
"ff0000",
|
||||
"00ff00",
|
||||
"00ffff"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user