#!/usr/bin/env python

from foundation.utils import Workers
import argparse
import webbrowser

parser = argparse.ArgumentParser(description="Start an HCI worker.")
parser.add_argument('-a', '--advertise_addr', default=None, help="Advertise address.")
args = parser.parse_args()

workers = Workers(swarm_advertise_addr=args.advertise_addr)
workers.stop_all_workers()

# Basic services
workers.swarm.start_jupyter(restart=True)
workers.swarm.start_kafka(restart=True)
workers.swarm.start_kafka_logs(restart=True)
workers.swarm.start_timescaledb(restart=True)

# Basic workers
port = workers.start_worker('timescaledb_api', service_name='timescaledb_api', endpoint='/timescaledbapp/', restart=True)
webbrowser.open_new_tab(f'http://127.0.0.1:{port}/timescaledbapp/')

port = workers.start_worker('main_app', service_name='main_app', restart=True)
webbrowser.open_new_tab(f'http://127.0.0.1:{port}')

