|
- #!/usr/bin/env python
-
- import sys
- import yaml
-
- DOCKER_COMPOSE_TEMPLATE = 'docker-compose.yml.template'
- DOCKER_COMPOSE = 'docker-compose.yml'
-
- def get_compose():
- with open(DOCKER_COMPOSE_TEMPLATE, 'r') as stream:
- try:
- return yaml.load(stream)
- except yaml.YAMLError as exc:
- print(exc)
-
- def get_dependencies(stream, submodules):
- result = submodules
- for service in stream['services']:
- if service not in submodules:
- continue
- if 'depends_on' in stream['services'][service]:
- result = result + stream['services'][service]['depends_on']
- return result
- def process_compose(stream, submodules):
- result = stream
- services = {}
- for service in stream['services']:
- if service in submodules:
- services[service] = stream['services'][service]
-
- result['services'] = services
-
- return result
-
- def main(args):
- s = get_compose()
- computed_submodules = get_dependencies(s, ['haproxy'])
- r2 = process_compose(s, computed_submodules)
- print r2
-
- if __name__ == '__main__':
- main(sys.argv[1:])
|