chore: pass args to render method from cli entry point
Deploy bin / deploy (push) Canceled after 0s
Deploy service MASTER / deploy (push) Canceled after 0s

This commit is contained in:
Benjamin Labrecque
2026-07-03 14:16:43 +02:00
parent c7604359a9
commit 00280bcbe6
3 changed files with 27 additions and 10 deletions
+3 -1
View File
@@ -40,9 +40,11 @@ class ServiceRegistry(BaseModel):
def get_services(self) -> list[Service]:
return [Service(id=svc_id, **svc_data) for svc_id, svc_data in self.services.items()]
def add_service(self, name: str) -> None:
def add_service(self, name: str) -> int:
s = Service(id=self.next_available_id, name=name, status=ServiceStatus.ACTIVE)
self.services.update({s.id: s.to_dict()})
self.next_available_id += 1
with open(self.config_path, "w") as f:
yaml.safe_dump(self.model_dump(), f)
return self.next_available_id
+15 -7
View File
@@ -7,7 +7,13 @@ SERVICE_TEMPLATES_DIR = REPO_ROOT / "templates" / "service"
SERVICE_DEST_DIR = REPO_ROOT / "services"
def render_new_service_templates():
def render_new_service_templates(
service_id: int,
service_name: str,
ioc_host: str,
ioc_port: int,
user: str,
):
"""
Render template files for a new service
"""
@@ -15,11 +21,13 @@ def render_new_service_templates():
src_path=str(SERVICE_TEMPLATES_DIR),
dst_path=str(SERVICE_DEST_DIR),
data={
"service_id": 9999,
"service_name": "TEST-SVC-NAME",
"service_name_lower": "test-svc-name",
"ioc_host": "ioc-host-dev",
"ioc_port": 50999,
"user": "labrec_b",
"service_id": service_id,
"service_name": service_name,
# TODO: make sure this is ok where used (need to replace some chars by '-'?)
"service_name_lower": service_name.lower(),
# TODO: restrict this, use enum
"ioc_host": ioc_host,
"ioc_port": ioc_port,
"user": user,
},
)
+9 -2
View File
@@ -10,9 +10,16 @@ service = typer.Typer(no_args_is_help=True)
def add(
name: str = typer.Option(..., "--name", "-n"),
):
# TODO: add restriction on name (maybe: [a-zA-Z0-9-])
registry = ServiceRegistry.read_from_config()
registry.add_service(name)
render_new_service_templates()
service_id = registry.add_service(name)
render_new_service_templates(
service_id=service_id,
service_name=name,
ioc_host="",
ioc_port=9999,
user="",
)
@service.command()