This commit is contained in:
Jens L
2020-09-03 00:04:12 +02:00
committed by GitHub
parent 14e47f3195
commit 268de20872
105 changed files with 6243 additions and 497 deletions

View File

@ -0,0 +1,29 @@
"""Base Controller"""
from typing import Dict
from structlog import get_logger
from passbook.outposts.models import Outpost
class BaseController:
"""Base Outpost deployment controller"""
deployment_ports: Dict[str, int]
outpost: Outpost
def __init__(self, outpost_pk: str):
self.outpost = Outpost.objects.get(pk=outpost_pk)
self.logger = get_logger(
controller=self.__class__.__name__, outpost=self.outpost
)
self.deployment_ports = {}
def run(self):
"""Called by scheduled task to reconcile deployment/service/etc"""
raise NotImplementedError
def get_static_deployment(self) -> str:
"""Return a static deployment configuration"""
raise NotImplementedError