Add capabilities support to Docker support

This commit is contained in:
Olivier 'reivilibre' 2021-07-15 00:36:57 +01:00
parent 51067aeaa0
commit 9a4fe3f42d
2 changed files with 11 additions and 1 deletions

View File

@ -25,6 +25,8 @@ class DockerContainer(Recipe):
self.ports = check_type(args.get("ports", dict()), dict)
self.environment = check_type(args.get("environment", dict()), dict)
self.restart_policy = check_type(args.get("restart_policy", "on-failure"), str)
self.cap_add = check_type(args.get("cap_add", list()), list)
self.cap_drop = check_type(args.get("cap_drop", list()), list)
def prepare(self, preparation: Preparation, head: Head) -> None:
super().prepare(preparation, head)
@ -47,6 +49,8 @@ class DockerContainer(Recipe):
self.volumes,
{k: str(v) for k, v in self.environment.items()},
self.restart_policy,
self.cap_add,
self.cap_drop,
),
DockerContainerRun.Result,
)

View File

@ -1,5 +1,5 @@
from enum import Enum
from typing import Dict, Optional, Tuple, Union
from typing import Dict, List, Optional, Tuple, Union
import attr
@ -84,6 +84,10 @@ class DockerContainerRun(Utensil):
environment: Dict[str, str]
# Restart policy
restart_policy: str
# Capabilities to add
cap_add: List[str]
# Capabilities to drop
cap_drop: List[str]
@attr.s(auto_attribs=True)
class Result:
@ -105,6 +109,8 @@ class DockerContainerRun(Utensil):
volumes=self.volumes,
environment=self.environment,
restart_policy=restart_policy,
cap_add=self.cap_add,
cap_drop=self.cap_drop,
)
await channel.send(DockerContainerRun.Result(name=container.name))