Allow the services to be an array of services, so that one compute resource (node, network, security group, etc.) can host multiple services. This can allow co-hosting services, like zookeeper and mesos-master services running on the same node.
Consider alternative settings structure (don't use aws as the root key?), e.g.
zookeeper:
config:
{general config settings}
kafka:
{general kafka settings}
spark:
{general spark settings}
mesos:
{general mesos settings}
nodes:
- node_name:
- {node settings}
- services:
- zookeeper
- mesos-master
network:
- security_group_name:
- {security group settings}
- services:
- zookeeper
- mesos-master
Use the keys to find the general settings for each service. The top level key should be the service name. Use the services attribute on compute resources to identify what services to manage (install/configure) for that compute resource (nodes).
Allow the
servicesto be an array of services, so that one compute resource (node, network, security group, etc.) can host multiple services. This can allow co-hosting services, like zookeeper and mesos-master services running on the same node.Consider alternative settings structure (don't use
awsas the root key?), e.g.Use the keys to find the general settings for each service. The top level key should be the service name. Use the
servicesattribute on compute resources to identify what services to manage (install/configure) for that compute resource (nodes).