From d2d9cb6c7cb9481fffa6fd55306eee3b5e460a47 Mon Sep 17 00:00:00 2001 From: InsanePrawn Date: Mon, 13 Mar 2023 05:32:37 +0100 Subject: [PATCH] wrapper: add Wrapper.argv_override --- wrapper/docker.py | 7 ++++++- wrapper/wrapper.py | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/wrapper/docker.py b/wrapper/docker.py index 2112548..cac3088 100644 --- a/wrapper/docker.py +++ b/wrapper/docker.py @@ -86,7 +86,12 @@ class DockerWrapper(BaseWrapper): '--privileged', ] + docker_volumes_args(volumes) + [tag] - kupfer_cmd = ['kupferbootstrap', '--config', volumes[wrapped_config]] + self.filter_args_wrapper(sys.argv[1:]) + kupfer_cmd = [ + 'kupferbootstrap', + '--config', + volumes[wrapped_config], + ] + kupfer_cmd += self.argv_override or self.filter_args_wrapper(sys.argv[1:]) if config.runtime.uid: kupfer_cmd = ['wrapper_su_helper', '--uid', str(config.runtime.uid), '--username', 'kupfer', '--'] + kupfer_cmd diff --git a/wrapper/wrapper.py b/wrapper/wrapper.py index 619c299..1c7ba01 100644 --- a/wrapper/wrapper.py +++ b/wrapper/wrapper.py @@ -31,15 +31,17 @@ class Wrapper(Protocol): """ -class BaseWrapper(Wrapper): +class Wrapper(WrapperProtocol): uuid: str identifier: str type: str wrapped_config_path: str + argv_override: Optional[list[str]] 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 def filter_args_wrapper(self, args): """filter out -c/--config since it doesn't apply in wrapper"""