Skip to content

Instantly share code, notes, and snippets.

@apueee
Last active December 22, 2015 18:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apueee/6510589 to your computer and use it in GitHub Desktop.
Save apueee/6510589 to your computer and use it in GitHub Desktop.
Constraints
-----------
* Store initial discovery
* Identify Application setup and Store. Includes Elb and Web servers
* Store structure after caffeinate. Includes Elb, Cafe and Web servers
Proposed structure
----------------------------
```
aws_instances
{
"_id" : "i-887c77e6",
"Tags" : [
[ "webapp2", "webapp2-sprint3" ],
[ "Name", "webapp2-sprint3" ],
...
],
"PrivateIP" : "10.242.201.119",
"instance_id" : "i-887c77e6",
"webapp" : 1,
"Public" : [
"54.242.244.231",
"ec2-54-242-244-231.compute-1.amazonaws.com"
]
}
aws_account
{
"application_id": 4,
"credentials": {
"access_key": "",
"access_token": ""
},
"instances": [
{instance-reference},
{instance-reference},
...
],
"date_created": Date(),
}
app_structure
{
"application_id": 4,
"services": [
{
"name": "webapp",
"endpoint": {instance-reference},
"cafe_nodes": [
{
"node": {instance-reference}
"service_nodes": [
{instance-reference}
]
}
]
}
]
}
```
All `instance-reference` will use `DbRef` feature to keep documents embedded.
topology api output :
{
"instances" : {
"i-887c77e6" : {
"type" : "ELB", // ELB | CAFE | SERVER
"Tags" : [
[ "webapp2", "webapp2-sprint3" ],
[ "Name", "webapp2-sprint3" ],
],
"PrivateIP" : "10.242.201.119",
"instance_id" : "i-887c77e6",
"Public" : [
"54.242.244.231",
"ec2-54-242-244-231.compute-1.amazonaws.com"
]
}
"i-8948323" : {
"type" : "CAFE", // ELB | CAFE | SERVER
"Tags" : [
[ "webapp2", "webapp2-sprint3" ],
[ "Name", "webapp2-sprint3" ],
],
"PrivateIP" : "10.242.201.119",
"instance_id" : "i-887c77e6",
"Public" : [
"54.242.244.231",
"ec2-54-242-244-231.compute-1.amazonaws.com"
]
}
},
"topology" : {
"i-887c77e6" : {
"childs" : [
"i-8948323" : {
childs : [
"i-4545456",
"i-4545457",
"i-4545458"
]
}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment