daemon: added initial podman node support

This commit is contained in:
Blake Harnden 2023-06-13 17:00:53 -07:00
parent c76bc2ee8a
commit a80796ac72
15 changed files with 310 additions and 35 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -96,9 +96,7 @@ class ColorPickerDialog(Dialog):
)
scale.grid(row=0, column=2, sticky=tk.EW, padx=PADX)
self.red_label = ttk.Label(
frame,
background=get_rgb(self.red.get(), 0, 0),
width=5,
frame, background=get_rgb(self.red.get(), 0, 0), width=5
)
self.red_label.grid(row=0, column=3, sticky=tk.EW)
@ -121,9 +119,7 @@ class ColorPickerDialog(Dialog):
)
scale.grid(row=0, column=2, sticky=tk.EW, padx=PADX)
self.green_label = ttk.Label(
frame,
background=get_rgb(0, self.green.get(), 0),
width=5,
frame, background=get_rgb(0, self.green.get(), 0), width=5
)
self.green_label.grid(row=0, column=3, sticky=tk.EW)
@ -146,9 +142,7 @@ class ColorPickerDialog(Dialog):
)
scale.grid(row=0, column=2, sticky=tk.EW, padx=PADX)
self.blue_label = ttk.Label(
frame,
background=get_rgb(0, 0, self.blue.get()),
width=5,
frame, background=get_rgb(0, 0, self.blue.get()), width=5
)
self.blue_label.grid(row=0, column=3, sticky=tk.EW)

View file

@ -56,7 +56,7 @@ def node_label_positions(
src_x: int, src_y: int, dst_x: int, dst_y: int
) -> tuple[tuple[float, float], tuple[float, float]]:
v_x, v_y = dst_x - src_x, dst_y - src_y
v_len = math.sqrt(v_x**2 + v_y**2)
v_len = math.sqrt(v_x ** 2 + v_y ** 2)
if v_len == 0:
u_x, u_y = 0.0, 0.0
else:
@ -147,7 +147,7 @@ class Edge:
perp_m = -1 / m
b = mp_y - (perp_m * mp_x)
# get arc x and y
offset = math.sqrt(self.arc**2 / (1 + (1 / m**2)))
offset = math.sqrt(self.arc ** 2 / (1 + (1 / m ** 2)))
arc_x = mp_x
if self.arc >= 0:
arc_x += offset

View file

@ -78,6 +78,7 @@ class ImageEnum(Enum):
EDITDELETE = "edit-delete"
ANTENNA = "antenna"
DOCKER = "docker"
PODMAN = "podman"
LXC = "lxc"
ALERT = "alert"
DELETE = "delete"
@ -101,6 +102,7 @@ TYPE_MAP: dict[tuple[NodeType, str], ImageEnum] = {
(NodeType.RJ45, None): ImageEnum.RJ45,
(NodeType.TUNNEL, None): ImageEnum.TUNNEL,
(NodeType.DOCKER, None): ImageEnum.DOCKER,
(NodeType.PODMAN, None): ImageEnum.PODMAN,
(NodeType.LXC, None): ImageEnum.LXC,
}

View file

@ -16,8 +16,13 @@ if TYPE_CHECKING:
NODES: list["NodeDraw"] = []
NETWORK_NODES: list["NodeDraw"] = []
NODE_ICONS = {}
CONTAINER_NODES: set[NodeType] = {NodeType.DEFAULT, NodeType.DOCKER, NodeType.LXC}
IMAGE_NODES: set[NodeType] = {NodeType.DOCKER, NodeType.LXC}
CONTAINER_NODES: set[NodeType] = {
NodeType.DEFAULT,
NodeType.DOCKER,
NodeType.LXC,
NodeType.PODMAN,
}
IMAGE_NODES: set[NodeType] = {NodeType.DOCKER, NodeType.LXC, NodeType.PODMAN}
WIRELESS_NODES: set[NodeType] = {
NodeType.WIRELESS_LAN,
NodeType.EMANE,
@ -41,6 +46,7 @@ def setup() -> None:
(ImageEnum.PROUTER, NodeType.DEFAULT, "PRouter", "prouter"),
(ImageEnum.DOCKER, NodeType.DOCKER, "Docker", None),
(ImageEnum.LXC, NodeType.LXC, "LXC", None),
(ImageEnum.PODMAN, NodeType.PODMAN, "Podman", None),
]
for image_enum, node_type, label, model in nodes:
node_draw = NodeDraw.from_setup(image_enum, node_type, label, model)