create connector entrypoint

This commit is contained in:
2026-01-02 17:27:08 -08:00
parent d2421f248c
commit fa1fa6402c
3 changed files with 42 additions and 26 deletions

View File

@@ -115,7 +115,6 @@ class Composer:
self.scheduler.start() self.scheduler.start()
self._update_job = self.start_update_job() self._update_job = self.start_update_job()
self._create_services() self._create_services()
self.set_status("up")
logger.info("Composer started and services created") logger.info("Composer started and services created")
def _create_services(self): def _create_services(self):
@@ -127,19 +126,6 @@ class Composer:
services_dict = self.docker.compose.config().services services_dict = self.docker.compose.config().services
self.services = {service: Service(service, services_dict[service].labels, self) for service in services_dict} self.services = {service: Service(service, services_dict[service].labels, self) for service in services_dict}
def get_container_info(self):
"""Gets the docker container info
Returns:
A docker container if it exists, if not returns None.
"""
container = self.parent.docker.compose.ps(services=[self.name])
if not container:
return None
return container[0]
def start_update_job(self): def start_update_job(self):
"""Schedules a recurring update based on the UPDATE environment variable """Schedules a recurring update based on the UPDATE environment variable
@@ -240,6 +226,19 @@ class Service:
return None return None
self._update_task.remove() self._update_task.remove()
def get_container_info(self):
"""Gets the docker container info
Returns:
A docker container if it exists, if not returns None.
"""
container = self.parent.docker.compose.ps(services=[self.name])
if not container:
return None
return container[0]
def start_update_job(self): def start_update_job(self):
"""Schedules a recurring update based on the composer.update label """Schedules a recurring update based on the composer.update label

View File

@@ -1,3 +1,31 @@
from agent import *
import json
class Connector: class Connector:
def __init__ def __init__(self, connector):
self.connector = connector
def get_container_info(self, container_name):
if container_name not in self.connector.services:
return None
container = self.connector.services[container_name].get_container_info()
return json.loads({
"image": container.image,
"status": container.state.status
})
def set_container_status(self, container_name, status):
if container_name not in self.connector.services:
return None
self.connector.services[container_name].set_status(status)
Setup.populate_store()
Setup.create_symlink()
remote = Setup.create_credential_remote()
composer = Composer(remote)
connector = Connector(composer)
while True:
container = input("Container: ")
status = input("Connector: ")
connector.set_container_status(container, status)

View File

@@ -1,11 +0,0 @@
from agent import *
import logging
from os import getenv
import time
Setup.populate_store()
Setup.create_symlink()
remote = Setup.create_credential_remote()
composer = Composer(remote)
while True:
time.sleep(1)