From 7dd32902c4335a724b03b7db30ae70b01b5a75cf Mon Sep 17 00:00:00 2001 From: Daan Date: Fri, 31 Jan 2025 23:29:02 +0100 Subject: [PATCH] Added basic operating system filtering. --- README.md | 9 +++++++++ assets/meshbook_yaml_os.png | Bin 0 -> 14633 bytes assets/meshcentral_os.png | Bin 0 -> 70129 bytes examples/echo_example.yaml | 1 + meshbook.py | 11 +++++++++-- 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 assets/meshbook_yaml_os.png create mode 100644 assets/meshcentral_os.png diff --git a/README.md b/README.md index 0331185..d73691c 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,15 @@ The tasks you want to run should be contained under the `tasks:` with two fields The name field is for the user of meshbook, to clarify what the following command does in a summary.
The command field actually gets executed on the end-point.
+### Granual Operating System control: + +I have made the program so it can have a basic filter with the Operating systems. If you have a mixed group, then you need to match the image below like this: + +MeshCentral Operating System Version
+MeshBook yaml example + +This will filter the nodes/machines in the MeshCentral group to the ones matching this. Very basic and open for feedback. This must match the full string, not case sensitive. + # Example: For the example, I used the following yaml file (you can find more in [this directory](./examples/)): diff --git a/assets/meshbook_yaml_os.png b/assets/meshbook_yaml_os.png new file mode 100644 index 0000000000000000000000000000000000000000..fb445cb23b2db4b0df001c119a8e02b999202f96 GIT binary patch literal 14633 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 D)P5dd literal 0 HcmV?d00001 diff --git a/assets/meshcentral_os.png b/assets/meshcentral_os.png new file mode 100644 index 0000000000000000000000000000000000000000..5e419f22f5192be4e380c33cd1313ef12d1a8583 GIT binary patch literal 70129 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 literal 0 HcmV?d00001 diff --git a/examples/echo_example.yaml b/examples/echo_example.yaml index a64d151..6900e37 100644 --- a/examples/echo_example.yaml +++ b/examples/echo_example.yaml @@ -1,6 +1,7 @@ --- name: Echo a string to the terminal through the meshbook example. group: "Dev" +target_os: Debian GnU/Linux 12 (bookworm) variables: - name: file value: "/etc/os-release" diff --git a/meshbook.py b/meshbook.py index 153ffaf..ef06352 100644 --- a/meshbook.py +++ b/meshbook.py @@ -103,7 +103,10 @@ async def gather_targets(playbook: dict, group_list: dict) -> dict: for group in group_list: for device in group_list[group]: if device["reachable"] and pseudo_target == device["device_name"]: - target_list.append(device["device_id"]) + if "target_os" in playbook and str(playbook["target_os"]).lower() == str(device["device_os"]).lower(): + target_list.append(device["device_id"]) + elif "target_os" not in playbook: + target_list.append(device["device_id"]) elif "group" in playbook and "device" not in playbook: pseudo_target = playbook["group"] @@ -112,8 +115,12 @@ async def gather_targets(playbook: dict, group_list: dict) -> dict: if pseudo_target == group: for device in group_list[group]: if device["reachable"]: - target_list.append(device["device_id"]) + if "target_os" in playbook and str(playbook["target_os"]).lower() == str(device["device_os"]).lower(): + target_list.append(device["device_id"]) + elif "target_os" not in playbook: + target_list.append(device["device_id"]) + print(target_list) return target_list async def execute_playbook(session: meshctrl.Session, targets: dict, playbook: dict, group_list: dict) -> None: