diff options
Diffstat (limited to 'src/flufigut.py')
-rwxr-xr-x | src/flufigut.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/flufigut.py b/src/flufigut.py index 96e8260..0367513 100755 --- a/src/flufigut.py +++ b/src/flufigut.py @@ -545,8 +545,8 @@ class Planet: self.__add_worker_flag_exclusive(worker, "stream", stream_name) self.__add_worker_flag_exclusive(worker, "stream-hostname", hostname) self.__add_worker_flag_exclusive(worker, "stream-index", idx) - if 'onion-service' in stream and stream['onion-service']: - self.__add_worker_flag_exclusive(worker, "stream-onion", stream['onion-service']) + if 'lb-onion' in stream and stream['lb-onion']: + self.__add_worker_flag_exclusive(worker, "stream-onion", stream['lb-onion']) if 'sfive' in self._desc.globals['stats']: self.__add_worker_flag_exclusive(worker, "sfive", self._desc.globals['stats']['sfive']['type']) @@ -774,12 +774,19 @@ class K8sDeployment: deploy = self.__generate_object(tmpl_env, 'sfive-deploy.yml', {'worker': worker}) appsV1.create_namespaced_deployment(self._namespace, deploy) - def _deploy_onion_service_config(self, template_dir, tmpl_env, v1, stream_name, stream): - deploy = {'stream': stream_name} + def _deploy_onion_service_lb_config(self, template_dir, tmpl_env, v1, stream_name, stream): + deploy = {'stream': stream_name, 'onion_type': 'lb'} deploy['onion_services'] = {} # TODO: hardcoded value (sync with sfive_proxy_config) deploy['onion_services'][stream['port']] = {'host': '127.0.0.1', 'port': 8001} - # TODO: add port 80 -> onion streaming site + cm = self.__generate_object(tmpl_env, 'onion-service-cm.yml', deploy) + v1.create_namespaced_config_map(self._namespace, cm) + + def _deploy_onion_service_site_config(self, template_dir, tmpl_env, v1, stream_name, stream): + deploy = {'stream': stream_name, 'onion_type': 'site'} + deploy['onion_services'] = {} + # TODO: hardcoded value (sync with site port) + deploy['onion_services'][stream['port']] = {'host': '127.0.0.1', 'port': 8080} cm = self.__generate_object(tmpl_env, 'onion-service-cm.yml', deploy) v1.create_namespaced_config_map(self._namespace, cm) @@ -831,11 +838,15 @@ class K8sDeployment: rb = self.__generate_object(tmpl_env, 'onionbalance-rolebinding.yml') rbacV1.create_namespaced_role_binding(self._namespace, rb) + # TODO: # secret = self.__generate_object(tmpl_env, 'onionbalance-secret.yml') - # TODO: for _, stream in self._desc.streams: - # if 'onion-service' in stream: - # key = ~~~~get_key(stream['onion-service']) - # secret['data'][stream['onion-service']] = base64.b64encode(key).decode('ascii') + # for _, stream in self._desc.streams: + # if 'lb-onion' in stream: + # key = ~~~~get_key(stream['lb-onion']) + # secret['data'][stream['lb-onion']] = base64.b64encode(key).decode('ascii') + # if 'site-onion' in stream: + # key = ~~~~get_key(stream['site-onion']) + # secret['data'][stream['site-onion']] = base64.b64encode(key).decode('ascii') # v1.create_namespaced_secret(self._namespace, secret) worker = self._planet.workers[self._desc.globals['deployment']['parameter']['onionbalance_worker']] @@ -868,7 +879,7 @@ class K8sDeployment: for stream_name, stream in self._desc.streams.items(): if 'lb-hostname' in stream: self._deploy_stream_loadbalancer(template_dir, tmpl_env, v1, appsV1, stream_name, stream) - if 'onion-service' in stream: + if 'lb-onion' in stream: self._deploy_onion_service_config(template_dir, tmpl_env, v1, stream_name, stream) self._deploy_stream_website(template_dir, tmpl_env, v1, appsV1, extV1beta1, stream_name, stream) |