Jump to: navigation, search

Satori/DiscoverySchema

Proposed New Schema for Satori Discovery

   {
       "target": "http://somedomain.com",
       "created": "2014-03-29 09:08:08 +0000",
       "updated": "2014-03-29 09:12:02 +0000",
       "status": "SUCCESS",
       "errors": [
           {"type": "ERROR", "message": "Could not log into server X"},
           {"type": "WARNING", "message": "No control plane access to related resource at IP address 1.2.3.4 "}
       ],
       "resources": {
           "OS::DNS::Domain:123456": {
               ...
           },
           "OS::DNS::Record:abcdef": {
               ...
           }, ...
       }
   }

Target Key

Use Case: It would be useful to keep track of what the discovery ran against.

Schema: create a `target` key at the root.

Discovery Attributes

Use Case: We need to know when the discovery ran and other attributes about it..

Schema: create `created`, `updated`, and `status` keys at the root.

Discovery Errors and Warnings

Use Case: When a discovery completes, it may have some partial errors or warnings, such as not being able to reach a specific server.

Schema: create `log` key at the root ad place an array of entries under it.

Multiple Resources

Use Case: We need to be able to support multiple resources in a single discovery.

Schema: create a `resources` key at the root and place all resources under it. Generate a globally unique key for each.

DNS Resources

Use Case: The DNS domain and DNS records are part of the configuration. They should go under resources discovered.

Schema: add DNS Record and DNS Domain to `resources` like any other discovered resource.