def ensure_jupyterhub_service(prefix): """ Ensure JupyterHub Services are set up properly """ os.makedirs(STATE_DIR, mode=0o700, exist_ok=True) with open(os.path.join(HERE, 'systemd-units', 'jupyterhub.service')) as f: hub_unit_template = f.read() with open( os.path.join(HERE, 'systemd-units', 'configurable-http-proxy.service')) as f: proxy_unit_template = f.read() with open(os.path.join(HERE, 'systemd-units', 'traefik.service')) as f: traefik_unit_template = f.read() traefik.ensure_traefik_config(STATE_DIR) unit_params = dict( python_interpreter_path=sys.executable, jupyterhub_config_path=os.path.join(HERE, 'jupyterhub_config.py'), install_prefix=INSTALL_PREFIX, ) systemd.install_unit('configurable-http-proxy.service', proxy_unit_template.format(**unit_params)) systemd.install_unit('jupyterhub.service', hub_unit_template.format(**unit_params)) systemd.install_unit('traefik.service', traefik_unit_template.format(**unit_params)) systemd.reload_daemon() # Set up proxy / hub secret oken if it is not already setup proxy_secret_path = os.path.join(STATE_DIR, 'configurable-http-proxy.secret') if not os.path.exists(proxy_secret_path): with open(proxy_secret_path, 'w') as f: f.write('CONFIGPROXY_AUTH_TOKEN=' + '0123456789abcdef0123456789abcdef') # f.write('CONFIGPROXY_AUTH_TOKEN=' + secrets.token_hex(32)) # If we are changing CONFIGPROXY_AUTH_TOKEN, restart configurable-http-proxy! systemd.restart_service('configurable-http-proxy') # Start CHP if it has already not been started systemd.start_service('configurable-http-proxy') # If JupyterHub is running, we want to restart it. systemd.restart_service('jupyterhub') systemd.restart_service('traefik') # Mark JupyterHub & CHP to start at boot time systemd.enable_service('jupyterhub') systemd.enable_service('configurable-http-proxy') systemd.enable_service('traefik')
def ensure_jupyterhub_service(prefix): """ Ensure JupyterHub Services are set up properly """ os.makedirs(STATE_DIR, mode=0o700, exist_ok=True) remove_chp() systemd.reload_daemon() with open(os.path.join(HERE, 'systemd-units', 'jupyterhub.service')) as f: hub_unit_template = f.read() with open(os.path.join(HERE, 'systemd-units', 'traefik.service')) as f: traefik_unit_template = f.read() #Set up proxy / hub secret token if it is not already setup proxy_secret_path = os.path.join(STATE_DIR, 'traefik-api.secret') if not os.path.exists(proxy_secret_path): with open(proxy_secret_path, 'w') as f: f.write(secrets.token_hex(32)) traefik.ensure_traefik_config(STATE_DIR) unit_params = dict( python_interpreter_path=sys.executable, jupyterhub_config_path=os.path.join(HERE, 'jupyterhub_config.py'), install_prefix=INSTALL_PREFIX, ) systemd.install_unit('jupyterhub.service', hub_unit_template.format(**unit_params)) systemd.install_unit('traefik.service', traefik_unit_template.format(**unit_params)) systemd.reload_daemon() # If JupyterHub is running, we want to restart it. systemd.restart_service('jupyterhub') systemd.restart_service('traefik') # Mark JupyterHub & traefik to start at boot time systemd.enable_service('jupyterhub') systemd.enable_service('traefik')
def ensure_jupyterhub_service(prefix): """ Ensure JupyterHub Services are set up properly """ remove_chp() systemd.reload_daemon() with open(os.path.join(HERE, "systemd-units", "jupyterhub.service")) as f: hub_unit_template = f.read() with open(os.path.join(HERE, "systemd-units", "traefik.service")) as f: traefik_unit_template = f.read() # Set up proxy / hub secret token if it is not already setup proxy_secret_path = os.path.join(STATE_DIR, "traefik-api.secret") if not os.path.exists(proxy_secret_path): with open(proxy_secret_path, "w") as f: f.write(secrets.token_hex(32)) traefik.ensure_traefik_config(STATE_DIR) unit_params = dict( python_interpreter_path=sys.executable, jupyterhub_config_path=os.path.join(HERE, "jupyterhub_config.py"), install_prefix=INSTALL_PREFIX, ) systemd.install_unit("jupyterhub.service", hub_unit_template.format(**unit_params)) systemd.install_unit("traefik.service", traefik_unit_template.format(**unit_params)) systemd.reload_daemon() # If JupyterHub is running, we want to restart it. systemd.restart_service("jupyterhub") systemd.restart_service("traefik") # Mark JupyterHub & traefik to start at boot time systemd.enable_service("jupyterhub") systemd.enable_service("traefik")
def ensure_builder_units(): gallery_builder_service = 'tljh-voila-gallery-builder.service' with resource_stream(__name__, f'./systemd-units/{gallery_builder_service}') as f: builder_unit_template = f.read().decode('utf-8') gallery_builder_timer = 'tljh-voila-gallery-builder.timer' with resource_stream(__name__, f'./systemd-units/{gallery_builder_timer}') as f: builder_timer_template = f.read().decode('utf-8') unit_params = dict(python_interpreter_path=sys.executable, ) systemd.install_unit(gallery_builder_service, builder_unit_template.format(**unit_params)) systemd.install_unit(gallery_builder_timer, builder_timer_template.format(**unit_params)) for unit in [gallery_builder_service, gallery_builder_timer]: systemd.restart_service(unit) systemd.enable_service(unit) systemd.reload_daemon()