summaryrefslogtreecommitdiff
path: root/src/flufigut.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/flufigut.py')
-rwxr-xr-xsrc/flufigut.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/flufigut.py b/src/flufigut.py
index 6d7eaf3..bf043e2 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -32,6 +32,7 @@ import random
import os
import sys
import yaml
+import json
import jinja2
import crypt
import kubernetes
@@ -686,7 +687,7 @@ class K8sDeployment:
if 'stream' in worker['flags']:
stream_name = worker['flags']['stream']
if 'nginx-muxes' in self._desc.streams[stream_name] and len(self._desc.streams[stream_name]['nginx-muxes']) > 0:
- needs_nginx = True
+ needs_nginx = True
if not needs_nginx:
return
@@ -700,6 +701,22 @@ class K8sDeployment:
deploy = self.__generate_object(tmpl_env, 'nginx-streamer-deploy.yml', worker)
appsV1.create_namespaced_deployment(self._namespace, deploy)
+ def _deploy_sfive_worker(self, template_dir, tmpl_env, v1, appsV1, worker):
+ needs_sfive = False
+ if 'sfive-proxy' in self._desc.globals['stats'] and 'stream' in worker['flags']:
+ needs_sfive = True
+
+ if not needs_sfive:
+ return
+
+ proxy_conf = {'listen': ':8080', 'protocol': 'http', 'connect': 'http://flumotion-worker-' + worker['name'] + ':8000'}
+ cm = self.__generate_object(tmpl_env, 'sfive-proxy-cm.yml', worker)
+ cm['data']['proxy.json'] = json.dumps(proxy_conf)
+ v1.create_namespaced_config_map(self._namespace, cm)
+
+ deploy = self.__generate_object(tmpl_env, 'sfive-proxy-deploy.yml', worker)
+ appsV1.create_namespaced_deployment(self._namespace, deploy)
+
def deploy(self, template_dir):
v1 = kubernetes.client.CoreV1Api()
appsV1 = kubernetes.client.AppsV1Api()
@@ -717,6 +734,7 @@ class K8sDeployment:
}
self._deploy_flumotion_worker(template_dir, tmpl_env, v1, appsV1, worker)
self._deploy_nginx_worker(template_dir, tmpl_env, v1, appsV1, worker)
+ self._deploy_sfive_worker(template_dir, tmpl_env, v1, appsV1, worker)
def wipe(self):
v1 = kubernetes.client.CoreV1Api()