summaryrefslogtreecommitdiff
path: root/provider_base/services
diff options
context:
space:
mode:
Diffstat (limited to 'provider_base/services')
-rw-r--r--provider_base/services/ca.json6
-rw-r--r--provider_base/services/couchdb.json22
-rw-r--r--provider_base/services/dns.json7
-rw-r--r--provider_base/services/openvpn.json14
-rw-r--r--provider_base/services/webapp.json19
5 files changed, 68 insertions, 0 deletions
diff --git a/provider_base/services/ca.json b/provider_base/services/ca.json
new file mode 100644
index 00000000..68f970f7
--- /dev/null
+++ b/provider_base/services/ca.json
@@ -0,0 +1,6 @@
+{
+ "service_type": "internal_service",
+ "x509": {
+ "use": true
+ }
+}
diff --git a/provider_base/services/couchdb.json b/provider_base/services/couchdb.json
new file mode 100644
index 00000000..1c8005c2
--- /dev/null
+++ b/provider_base/services/couchdb.json
@@ -0,0 +1,22 @@
+{
+ "service_type": "internal_service",
+ "x509": {
+ "use": true
+ },
+ "couch": {
+ "users": {
+ "admin": {
+ "username": "admin",
+ "password": "= secret :couch_admin_password"
+ },
+ "webapp": {
+ "username": "webapp",
+ "password": "= secret :couch_webapp_password"
+ },
+ "ca_daemon": {
+ "username": "ca_daemon",
+ "password": "= secret :couch_ca_daemon_password"
+ }
+ }
+ }
+}
diff --git a/provider_base/services/dns.json b/provider_base/services/dns.json
new file mode 100644
index 00000000..677d9b2c
--- /dev/null
+++ b/provider_base/services/dns.json
@@ -0,0 +1,7 @@
+{
+ "hosts": {
+ "public": "= nodes['dns.public' => true].fields('domain.name', 'dns.aliases', 'ip_address')",
+ "private": "= nodes['dns.public' => false].fields('domain.name', 'dns.aliases', 'ip_address')"
+ },
+ "service_type": "public_service"
+} \ No newline at end of file
diff --git a/provider_base/services/openvpn.json b/provider_base/services/openvpn.json
new file mode 100644
index 00000000..4b7d25ec
--- /dev/null
+++ b/provider_base/services/openvpn.json
@@ -0,0 +1,14 @@
+{
+ "service_type": "user_service",
+ "x509": {
+ "use": true
+ },
+ "openvpn": {
+ "ports": ["80", "443", "53", "1194"],
+ "filter_dns": false,
+ "nat": true,
+ "ca_crt": "= file :ca_cert",
+ "ca_key": "= file :ca_key",
+ "dh": "= file :dh_params"
+ }
+}
diff --git a/provider_base/services/webapp.json b/provider_base/services/webapp.json
new file mode 100644
index 00000000..6e5c029c
--- /dev/null
+++ b/provider_base/services/webapp.json
@@ -0,0 +1,19 @@
+{
+ "webapp": {
+ "modules": ["user", "billing", "help"],
+ "couchdb_hosts": "= nodes[:services => :couchdb].field('domain.name')",
+ "couchdb_user": "= global.services[:couchdb].couch.users[:webapp]"
+ },
+ "definition_files": {
+ "provider": "= file('service-definitions/provider.json.erb')",
+ "eip_service": "file('service-definitions/eip-service.json.erb')"
+ },
+ "service_type": "public_service",
+ "api_domain": "= 'api.' + domain.full_suffix",
+ "dns": {
+ "aliases": "= [domain.full, api_domain]"
+ },
+ "x509": {
+ "use": true
+ }
+} \ No newline at end of file