summaryrefslogtreecommitdiff
path: root/provider_base/services/webapp.json
blob: e4926ba7a21ceee1d675223093756d6dc8a467f0 (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
{
  "webapp": {
    "modules": ["user", "billing", "help"],
    "couchdb_admin_user": "= global.services[:couchdb].couch.users[:admin]",
    "couchdb_webapp_user": "= global.services[:couchdb].couch.users[:webapp]",
    "favicon": "= file_path 'branding/favicon.ico'",
    "tail_scss": "= file_path 'branding/tail.scss'",
    "head_scss": "= file_path 'branding/head.scss'",
    "img_dir": "= file_path 'branding/img'",
    "client_certificates": "= global.provider.ca.client_certificates",
    "allow_limited_certs": "= global.provider.service.allow_limited_bandwidth",
    "allow_unlimited_certs": "= global.provider.service.allow_unlimited_bandwidth",
    "allow_anonymous_certs": "= global.provider.service.allow_anonymous",
    "secret_token": "= secret :webapp_secret_token",
    "api_version": 1
  },
  "stunnel": {
    "couch_client": "= stunnel_client(nodes_like_me[:services => :couchdb], global.services[:couchdb].couch.port)"
  },
  "haproxy": {
    "local_ports": "= stunnel.couch_client.field(:accept_port)"
  },
  "definition_files": {
    "provider": "= file :provider_json_template",
    "eip_service": "= file [:eip_service_json_template, 'v'+webapp.api_version.to_s]"
  },
  "service_type": "public_service",
  "api": {
    "domain": "= 'api.' + domain.full_suffix",
    "port": "4430"
  },
  "dns": {
    "aliases": "= [domain.full, api.domain]"
  },
  "x509": {
    "use": true,
    "ca_cert": "= file :ca_cert, :missing => 'provider CA. Run `leap cert ca`'",
    "client_ca_cert": "= file_path :client_ca_cert",
    "client_ca_key": "= file_path :client_ca_key",
    "commercial_cert": "= file [:commercial_cert, domain.full_suffix]",
    "commercial_key": "= file [:commercial_key, domain.full_suffix]",
    "commercial_ca_cert": "= try_file :commercial_ca_cert"
  }
}