]> gitweb.fluxo.info Git - leap/leap_cli.git/commitdiff
new test/provider data
authorelijah <elijah@riseup.net>
Thu, 11 Oct 2012 07:43:05 +0000 (00:43 -0700)
committerelijah <elijah@riseup.net>
Thu, 11 Oct 2012 07:43:05 +0000 (00:43 -0700)
14 files changed:
test/provider/common.json
test/provider/files/public-definitions/provider.json.erb [deleted file]
test/provider/files/service-definitions/provider.json.erb [new file with mode: 0644]
test/provider/hiera/couch1.yaml
test/provider/hiera/couch2.yaml
test/provider/hiera/ns1.yaml
test/provider/hiera/ns2.yaml
test/provider/hiera/vpn1.yaml
test/provider/hiera/web1.yaml
test/provider/provider.json
test/provider/services/couchdb.json
test/provider/services/dns.json
test/provider/services/openvpn.json
test/provider/services/webapp.json

index e8f5519938af8e8cd5d3a4978f57fe818b6bb575..6b1488e0ab0bf38cef8238614d12228c9b6c6797 100644 (file)
@@ -1,11 +1,13 @@
 #
 # Options put here are inherited by all nodes.
-# #  "fqdn": "= name + '.' + (public_dns ? domain_public : domain_internal)"
+#
 {
   "domain": {
      "public": "rewire.co",
-     "internal": "rewire"
+     "internal": "rewire",
+     "name": "= node.name + '.' + (dns.public ? domain.public : domain.internal)"
   },
-  "public_dns": true,
-  "fqdn": "= name + '.' + (public_dns ? domain['public'] : domain['internal'])"
+  "dns": {
+    "public": "= service_type != 'internal_service'"
+  }
 }
diff --git a/test/provider/files/public-definitions/provider.json.erb b/test/provider/files/public-definitions/provider.json.erb
deleted file mode 100644 (file)
index 0b8eeb6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-todo: implement template support.
\ No newline at end of file
diff --git a/test/provider/files/service-definitions/provider.json.erb b/test/provider/files/service-definitions/provider.json.erb
new file mode 100644 (file)
index 0000000..e884524
--- /dev/null
@@ -0,0 +1,39 @@
+<%=
+  hsh = {}
+
+  # grab some fields from provider.json
+  hsh = global.provider.pick(:languages, :description, :name, :enrollment_policy)
+
+  # typically this is specified in common.json
+  hsh['domain'] = domain.public
+
+  # advertise services that are 'user services'
+  hsh['services'] = global.services[:service_type => :user_service].field(:name)
+
+  hsh['api_version'] = "1"
+  hsh['api_uri'] = "https://" + api_domain
+
+  #hsh['ca_cert_uri'] =
+  #hsh['ca_cert_fingerprint'] =
+
+  # {
+  #   "serial": 1,
+  #   "version": "0.1.0",
+  #   "domain": "springbok",
+  #   "languages": ["en"],
+  #   "display_name": {
+  #     "en": "Test Provider"
+  #   },
+  #   "description": {
+  #     "en": "This is a test provider"
+  #   },
+  #   "enrollment_policy": "open",
+  #   "services": ["eip"],
+  #   "api_version": "1.0.0",
+  #   "api_uri": "https://94.103.43.3",
+  #   "ca_cert_fingerprint": "SHA256 Fingerprint=19:F1:44:AA:57:DD:59:65:3B:07:5F:25:5D:02:D2:3F:FB:E6:A6:DA:FE:67:35:F2:7D:D7:8B:0E:BF:2B:E5:3C",
+  #   "ca_cert_uri": "https://springbok/ca.crt"
+  # }
+
+  generate_json hsh
+%>
\ No newline at end of file
index a954a147a983a0c62909b6ed93583df7d039dfd6..0a6213c05f08aef4f6c2a3b42a3d87960ca7195c 100644 (file)
@@ -1,9 +1,11 @@
 --- 
+dns: 
+  public: false
 domain: 
   internal: rewire
+  name: couch1.rewire
   public: rewire.co
-fqdn: couch1.rewire
 ip_address: 245.2.45.42
 name: couch1
-public_dns: false
+service_type: internal_service
 services: couchdb
index 208e64cc708a67690d593a33786e620cd97500e6..212b0572e14efbb3e6db1528d14bfe86141c6825 100644 (file)
@@ -1,9 +1,11 @@
 --- 
+dns: 
+  public: false
 domain: 
   internal: rewire
+  name: couch2.rewire
   public: rewire.co
-fqdn: couch2.rewire
 ip_address: 73.45.87.11
 name: couch2
-public_dns: false
+service_type: internal_service
 services: couchdb
index 721e72144309c1e688648fe3c7eb82eb8538b7da..da996a6ecb0e489dbfefc87666284bb0dc2fa5c7 100644 (file)
@@ -1,26 +1,31 @@
 --- 
+dns: 
+  public: true
 domain: 
   internal: rewire
+  name: ns1.rewire.co
   public: rewire.co
-fqdn: ns1.rewire.co
 hosts: 
   private: 
-  - fqdn: couch1.rewire
+  - domain_name: couch1.rewire
     ip_address: 245.2.45.42
-  - fqdn: couch2.rewire
+  - domain_name: couch2.rewire
     ip_address: 73.45.87.11
   public: 
-  - fqdn: ns1.rewire.co
+  - domain_name: ns1.rewire.co
     ip_address: 1.1.1.1
-  - fqdn: ns2.rewire.co
+  - domain_name: ns2.rewire.co
     ip_address: 1.1.1.2
-  - fqdn: vpn1.rewire.co
+  - domain_name: vpn1.rewire.co
     ip_address: 2.2.2.2
-  - fqdn: web1.rewire.co
+  - dns_aliases: 
+    - rewire.co
+    - api.rewire.co
+    domain_name: web1.rewire.co
     ip_address: 6.6.7.7
 ip_address: 1.1.1.1
 name: ns1
 production: true
-public_dns: true
+service_type: public_service
 services: dns
 tags: production
index b64a238206aea43360630291e66187b3e7733da6..bac04d47fbb1ff98eea7186669ffb9b65a0001e9 100644 (file)
@@ -1,26 +1,31 @@
 --- 
+dns: 
+  public: true
 domain: 
   internal: rewire
+  name: ns2.rewire.co
   public: rewire.co
-fqdn: ns2.rewire.co
 hosts: 
   private: 
-  - fqdn: couch1.rewire
+  - domain_name: couch1.rewire
     ip_address: 245.2.45.42
-  - fqdn: couch2.rewire
+  - domain_name: couch2.rewire
     ip_address: 73.45.87.11
   public: 
-  - fqdn: ns1.rewire.co
+  - domain_name: ns1.rewire.co
     ip_address: 1.1.1.1
-  - fqdn: ns2.rewire.co
+  - domain_name: ns2.rewire.co
     ip_address: 1.1.1.2
-  - fqdn: vpn1.rewire.co
+  - domain_name: vpn1.rewire.co
     ip_address: 2.2.2.2
-  - fqdn: web1.rewire.co
+  - dns_aliases: 
+    - rewire.co
+    - api.rewire.co
+    domain_name: web1.rewire.co
     ip_address: 6.6.7.7
 ip_address: 1.1.1.2
 name: ns2
 production: true
-public_dns: true
+service_type: public_service
 services: dns
 tags: production
index d21d4f60fbfd6445c9bd4c611724f8d635515a5d..a2e226d6d5fdec6cf14aacb8f07f5d6a6209f089 100644 (file)
@@ -1,8 +1,10 @@
 --- 
+dns: 
+  public: true
 domain: 
   internal: rewire
+  name: vpn1.rewire.co
   public: rewire.co
-fqdn: vpn1.rewire.co
 ip_address: 2.2.2.2
 name: vpn1
 openvpn: 
@@ -155,6 +157,6 @@ openvpn:
     -----END RSA PRIVATE KEY-----
 
 production: true
-public_dns: true
+service_type: user_service
 services: openvpn
 tags: production
index 88c75d5b6549a2ada607d36271a1c725b4ceaeea..1b12e3eb4db685d2ead4c7909516f72b4e22e12f 100644 (file)
@@ -1,13 +1,38 @@
 --- 
+api_domain: api.rewire.co
 definition_files: 
-  provider: <%= {:hi => 'yes'}.to_json %>
+  eip_service: file('service-definitions/eip-service.json.erb')
+  provider: |-
+    {
+      "api_uri": "https://api.rewire.co",
+      "api_version": "1",
+      "description": {
+        "en": "A demonstration service provider using the LEAP platform"
+      },
+      "domain": "rewire.co",
+      "enrollment_policy": "open",
+      "languages": [
+        "en"
+      ],
+      "name": {
+        "en": "The Rewire Company"
+      },
+      "services": [
+        "openvpn"
+      ]
+    }
+dns: 
+  aliases: 
+  - rewire.co
+  - api.rewire.co
+  public: true
 domain: 
   internal: rewire
+  name: web1.rewire.co
   public: rewire.co
-fqdn: web1.rewire.co
 ip_address: 6.6.7.7
 name: web1
-public_dns: true
+service_type: public_service
 services: webapp
 webapp: 
   couchdb_hosts: 
index 58b67289e787bda6333d4a1fd4d21285a0671ac8..4e8bb3436f4dec1d75d18fdec1eb062f345a0806 100644 (file)
@@ -2,9 +2,15 @@
 # General service provider configuration.
 #
 {
-  "name": "The Rewire Company",
-  "description": "A demonstration service provider using the LEAP platform",
+  "name": {
+    "en": "The Rewire Company"
+  },
+  "description": {
+    "en": "A demonstration service provider using the LEAP platform"
+  },
   "languages": ["en"],
+  "default_language": "en",
+  "enrollment_policy": "open",
   "ca": {
     "name": "Rewire Root CA",
     "organization": "#{name}",
index 7c13c8d02027aea079900d32523e188827c043a7..9024aa084a7faa4bf0f86d171442b1bbcdbd78ea 100644 (file)
@@ -1,3 +1,3 @@
 {
-  "public_dns": false
+  "service_type": "internal_service"
 }
\ No newline at end of file
index 3fea3815bf1bd9c0230b193f85b6d2c734552a52..677d9b2cff339db0df07c42e186dc7ec8f05ae38 100644 (file)
@@ -1,6 +1,7 @@
 {
   "hosts": {
-    "public":  "= nodes[:public_dns => true].fields(:fqdn, :dns_alias, :ip_address)",
-    "private": "= nodes[:public_dns => false].fields(:fqdn, :dns_alias, :ip_address)"
-  }
+    "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
index ffaa31334b8198786ef0151f416c88334e3f0fa1..e7e81503424cf27a78113b26f9de6f27eb5548a2 100644 (file)
@@ -5,7 +5,8 @@
     "nat": true,
     "ca_crt": "= file 'ca/ca.crt'",
     "ca_key": "= file 'ca/ca.key'",
-    "server_crt": "= file fqdn + '.crt'",
-    "server_key": "= file fqdn + '.key'"
-  }
+    "server_crt": "= file domain.name + '.crt'",
+    "server_key": "= file domain.name + '.key'"
+  },
+  "service_type": "user_service"
 }
index 5a045b2b8e4d39b9fb76ae8dd686ecb9fdddde3a..bfd701dcb25fd8f37acf64782f78eb8e89e56fb2 100644 (file)
@@ -1,10 +1,15 @@
-#   "dns_alias": "= 'user.' + domain_public",
 {
   "webapp": {
     "modules": ["user", "billing", "help"],
-    "couchdb_hosts": "= nodes[:services => :couchdb].field(:fqdn)"
+    "couchdb_hosts": "= nodes[:services => :couchdb].field('domain.name')"
   },
   "definition_files": {
-    "provider": "= file('public-definitions/provider.json.erb')"
+    "provider": "= file('service-definitions/provider.json.erb')",
+    "eip_service": "file('service-definitions/eip-service.json.erb')"
+  },
+  "service_type": "public_service",
+  "api_domain": "= 'api.' + domain.public",
+  "dns": {
+    "aliases": "= [domain.public, api_domain]"
   }
 }
\ No newline at end of file