mirror of
https://gitlab.com/kupfer/kupferbootstrap.git
synced 2025-02-23 05:35:44 -05:00
wrapper: add Wrapper.should_exit
This commit is contained in:
parent
d2d9cb6c7c
commit
389d44e776
2 changed files with 8 additions and 5 deletions
|
@ -7,7 +7,7 @@ import sys
|
|||
from config.state import config
|
||||
from exec.file import makedir
|
||||
|
||||
from .wrapper import BaseWrapper, WRAPPER_PATHS
|
||||
from .wrapper import Wrapper, WRAPPER_PATHS
|
||||
|
||||
DOCKER_PATHS = WRAPPER_PATHS.copy()
|
||||
|
||||
|
@ -19,7 +19,7 @@ def docker_volumes_args(volume_mappings: dict[str, str]) -> list[str]:
|
|||
return result
|
||||
|
||||
|
||||
class DockerWrapper(BaseWrapper):
|
||||
class DockerWrapper(Wrapper):
|
||||
type: str = 'docker'
|
||||
|
||||
def wrap(self):
|
||||
|
@ -98,8 +98,9 @@ class DockerWrapper(BaseWrapper):
|
|||
cmd = docker_cmd + kupfer_cmd
|
||||
logging.debug('Wrapping in docker:' + repr(cmd))
|
||||
result = subprocess.run(cmd)
|
||||
|
||||
exit(result.returncode)
|
||||
if self.should_exit:
|
||||
exit(result.returncode)
|
||||
return result.returncode
|
||||
|
||||
def stop(self):
|
||||
subprocess.run(
|
||||
|
|
|
@ -15,7 +15,7 @@ WRAPPER_PATHS = CHROOT_PATHS | {
|
|||
}
|
||||
|
||||
|
||||
class Wrapper(Protocol):
|
||||
class WrapperProtocol(Protocol):
|
||||
"""Wrappers wrap kupferbootstrap in some form of isolation from the host OS, i.e. docker or chroots"""
|
||||
|
||||
def wrap(self):
|
||||
|
@ -37,11 +37,13 @@ class Wrapper(WrapperProtocol):
|
|||
type: str
|
||||
wrapped_config_path: str
|
||||
argv_override: Optional[list[str]]
|
||||
should_exit: bool
|
||||
|
||||
def __init__(self, random_id: Optional[str] = None, name: Optional[str] = None):
|
||||
self.uuid = str(random_id or uuid.uuid4())
|
||||
self.identifier = name or f'kupferbootstrap-{self.uuid}'
|
||||
self.argv_override = None
|
||||
self.should_exit = True
|
||||
|
||||
def filter_args_wrapper(self, args):
|
||||
"""filter out -c/--config since it doesn't apply in wrapper"""
|
||||
|
|
Loading…
Add table
Reference in a new issue