summaryrefslogtreecommitdiff
path: root/ick2-controller
diff options
context:
space:
mode:
Diffstat (limited to 'ick2-controller')
-rw-r--r--ick2-controller38
1 files changed, 38 insertions, 0 deletions
diff --git a/ick2-controller b/ick2-controller
new file mode 100644
index 0000000..91b593b
--- /dev/null
+++ b/ick2-controller
@@ -0,0 +1,38 @@
+#!/usr/bin/env python2
+
+
+import argparse
+import logging
+import sys
+
+import yaml
+
+import ick2lib
+
+
+def load_projects(filename):
+ with open(filename) as f:
+ projects_config = yaml.safe_load(f)
+
+ projects = {}
+ for name, config in projects_config['projects'].items():
+ p = ick2lib.Project(name)
+ projects[name] = p
+ for shell in config['shell_steps']:
+ p.add_build_step(shell)
+
+ return projects
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--projects', action='store', dest='projects')
+parser.add_argument('--log', action='store', dest='log', default='/dev/null')
+results = parser.parse_args()
+
+logging.basicConfig(filename=results.log, level=logging.DEBUG)
+
+logging.info('ick2-controller starts')
+projects = load_projects(results.projects)
+service = ick2lib.ApiService()
+service.set_projects(projects)
+application = service.get_uwsgi_app()