aboutsummaryrefslogtreecommitdiff
path: root/plugins/ObjectCacheServer/server/container/config-templates/config-template.json
blob: 6362432feab7fc6acee722dd6340b197c3482bd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{

  //Host application config, config is loaded as a read-only DOM that is available
  //to the host and loaded child plugins, all elements are available to plugins via the 'HostConfig' property

  "http": {
    //The defaut HTTP version to being requests with (does not support http/2 yet)
    "default_version": "HTTP/1.1",
    //The maxium size (in bytes) of response messges that will be compressed
    "compression_limit": 10000,
    //Minium response size (in bytes) to compress
    "compression_minimum": 2048,
    //The size of the buffer to use when parsing multipart/form data uploads
    "multipart_max_buf_size": 1024,
    //The maxium ammount of data (in bytes) allows for mulitpart/form data file uploads
    "multipart_max_size": 0,
    //Absolute maximum size (in bytes) of the request entity body (exludes headers)
    "max_entity_size": 10240,
    //Keepalive ms for HTTP1.1 keepalive connections
    "keepalive_ms": 100000,
    //The buffer size to use when parsing headers (also the maxium request header size allowed)
    "header_buf_size": 8128,
    //The maxium number of headers allowed in an HTTP request message
    "max_request_header_count": 50,
    //The maxium number of allowed network connections, before 503s will be issued automatically and connections closed
    "max_connections": ${HTTP_MAX_CONNS},
    //The size in bytes of the buffer to use when writing response messages
    "response_buf_size": 4096,
    //time (in ms) to wait for a response from an active connection in recv mode, before dropping it
    "recv_timeout_ms": 5000,
    //Time in ms to wait for the client to accept transport data before terminating the connection
    "send_timeout_ms": 60000,
    //The size (in bytes) of the buffer used to store all response header data
    "response_header_buf_size": 16384,
    //Max number of file uploads allowed per request
    "max_uploads_per_request": 1
  },

  //Maxium ammount of time a request is allowed to be processed (includes loading or waiting for sessions) before operations will be cancelled and a 503 returned
  "max_execution_time_ms": 20000,

  "virtual_hosts": [
    {
      "interface": {
        "address": "0.0.0.0",
        "port": 2557
      },

      //Collection of "trusted" servers to allow proxy header support from
      "downstream_servers": ${HTTP_DOWNSTREAM_SERVERS},

      //The hostname to listen for, "*" as wildcard, and "[system]" as the default hostname for the current machine
      "hostname": "*",
      "path": "root/",
     
      "deny_extensions": [ ],
      "default_files": [ ],
      "error_files": [],
      "cache_default_sec": 864000,

      //Disabled until well-tested
      //"ssl": ${SSL_JSON}
    }
  ],


  //Defines the directory where plugin's are to be loaded from
  "plugins": {
    //Hot-reload creates collectable assemblies that allow full re-load support in the host application, should only be used for development purposes!
    "hot_reload": false,
    "path": "plugins/",
    "config_dir": "config/",
    "assets": "plugins/assets/"
  },

  "sys_log": {
    "path": "data/logs/sys-log.txt",
    "flush_sec": 5,
    "retained_files": 31,
    "file_size_limit": 10485760,
    "interval": "infinite"
  },

  "app_log": {
    "path": "data/logs/app-log.txt",
    "flush_sec": 5,
    "retained_files": 31,
    "file_size_limit": 10485760,
    "interval": "infinite"
  },

  //HASHICORP VAULT
  "hashicorp_vault": {
    "url": "${HC_VAULT_ADDR}",
    "token": "${HC_VAULT_TOKEN}",
    "trust_cert": ${HC_VAULT_TRUST_CERT}
  },

  "secrets": {
    //Special key used by the loading library for access to the PasswordHashing library to pepper password hashes
    "cache_private_key": "${CACHE_PRIV_KEY}",
    "client_public_key": "${CLIENT_PUB_KEY}"
  }
}