From 40560f2129047f9a1a0215171f97fc21858dfce9 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 6 Apr 2026 22:30:53 +0200 Subject: [PATCH] rename --- .forgejo/workflows/nix.yaml | 4 +- .forgejo/workflows/release.yml | 4 +- Cargo.lock | 66 +++++++++++++------------- Cargo.toml | 2 +- README.md | 24 +++++----- flake.nix | 6 +-- module.nix | 10 ++-- overlay.nix | 2 +- package.nix | 9 ++-- palantir.service => sidewindow.service | 6 +-- src/main.rs | 4 +- 11 files changed, 68 insertions(+), 69 deletions(-) rename palantir.service => sidewindow.service (67%) diff --git a/.forgejo/workflows/nix.yaml b/.forgejo/workflows/nix.yaml index 852e7f1..7f58e91 100644 --- a/.forgejo/workflows/nix.yaml +++ b/.forgejo/workflows/nix.yaml @@ -43,5 +43,5 @@ jobs: - run: nix build .#${{ matrix.target }} - uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: - name: palantir-${{ matrix.target }} - path: result/bin/palantir${{ matrix.binary-suffix }} + name: sidewindow-${{ matrix.target }} + path: result/bin/sidewindow${{ matrix.binary-suffix }} diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 6fe7866..a02a83f 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -36,6 +36,6 @@ jobs: uses: https://github.com/svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: result/bin/palantir${{ matrix.binary-suffix }} - asset_name: palantir-${{ matrix.target }}${{ matrix.binary-suffix }} + file: result/bin/sidewindow${{ matrix.binary-suffix }} + asset_name: sidewindow-${{ matrix.target }}${{ matrix.binary-suffix }} tag: ${{ github.ref }} diff --git a/Cargo.lock b/Cargo.lock index d4ca93c..b94b047 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1289,39 +1289,6 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" -[[package]] -name = "palantir" -version = "1.3.1" -dependencies = [ - "ahash", - "bollard", - "clap", - "color-eyre", - "ctrlc", - "dotenvy", - "futures-util", - "hostname 0.4.0", - "if-addrs 0.12.0", - "libc", - "libmdns", - "nvml-wrapper", - "once_cell", - "os-thread-local", - "procfs", - "regex", - "serde", - "sysconf", - "sysinfo", - "thiserror", - "tokio", - "tracing", - "tracing-subscriber", - "warp", - "winapi 0.3.9", - "winreg", - "wmi", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -1617,6 +1584,39 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "sidewindow" +version = "1.3.1" +dependencies = [ + "ahash", + "bollard", + "clap", + "color-eyre", + "ctrlc", + "dotenvy", + "futures-util", + "hostname 0.4.0", + "if-addrs 0.12.0", + "libc", + "libmdns", + "nvml-wrapper", + "once_cell", + "os-thread-local", + "procfs", + "regex", + "serde", + "sysconf", + "sysinfo", + "thiserror", + "tokio", + "tracing", + "tracing-subscriber", + "warp", + "winapi 0.3.9", + "winreg", + "wmi", +] + [[package]] name = "slab" version = "0.4.9" diff --git a/Cargo.toml b/Cargo.toml index d200435..658a198 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "palantir" +name = "sidewindow" version = "1.3.1" authors = ["Robin Appelman "] edition = "2021" diff --git a/README.md b/README.md index 7fe7c74..e6c424b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Palantir +# Sidewindow Opinionated system metrics exporter for prometheus @@ -14,11 +14,11 @@ Opinionated system metrics exporter for prometheus ## Usage - Download the binary for your architecture from the - [releases](https://github.com/icewind1991/palantir/releases/) and place it at - `/usr/local/bin/palantir` -- Place the [palantir.service](palantir.service) file in `/etc/systemd/system/` -- Create the `palantir` user: `sudo useradd -m palantir` -- Start enable enable the server: `sudo systemctl enable --now palantir` + [releases](https://codeberg.org/icewind/sidewindow/releases/) and place it at + `/usr/local/bin/sidewindow` +- Place the [sidewindow.service](sidewindow.service) file in `/etc/systemd/system/` +- Create the `sidewindow` user: `sudo useradd -m sidewindow` +- Start enable enable the server: `sudo systemctl enable --now sidewindow` - Metrics will be available at `localhost:5665/metrics` Some stats require additional permissions described below. @@ -27,7 +27,7 @@ Some stats require additional permissions described below. In recent kernel versions, precise power monitoring is only accessible to root users to prevent using it as a side-channel attack. In order to get the power -monitoring output you'll need to give the `palantir` user access to this data +monitoring output you'll need to give the `sidewindow` user access to this data using the following steps. - Create a group using @@ -52,26 +52,26 @@ using the following steps. - Add your user to the group ``` - sudo usermod -a -G powermonitoring palantir + sudo usermod -a -G powermonitoring sidewindow ``` - Verify that you can read energy usage ``` - sudo su - palantir -c 'cat /sys/class/powercap/intel-rapl:0:0/energy_uj' + sudo su - sidewindow -c 'cat /sys/class/powercap/intel-rapl:0:0/energy_uj' ``` ## Docker monitoring permissions -To enable monitoring of docker containers, add the `palantir` user to the +To enable monitoring of docker containers, add the `sidewindow` user to the `docker` group ```bash -sudo usermod -a -G docker palantir +sudo usermod -a -G docker sidewindow ``` ## Windows support -Palantir has limited windows support out of the box, additional sensors can be +Sidewindow has limited windows support out of the box, additional sensors can be enabled by running [LibreHardwareMonitor](https://github.com/LibreHardwareMonitor/LibreHardwareMonitor). diff --git a/flake.nix b/flake.nix index a6d515f..7fbc495 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ }; outputs = {mill-scale, ...}: mill-scale ./. { - packages.palantir = import ./package.nix; + packages.sidewindow = import ./package.nix; crossTargets = [ "x86_64-pc-windows-gnu" @@ -30,9 +30,9 @@ ... }: { imports = [./module.nix]; - config = lib.mkIf config.services.palantir.enable { + config = lib.mkIf config.services.sidewindow.enable { nixpkgs.overlays = [outputs.overlays.default]; - services.palantir.package = lib.mkDefault pkgs.palantir; + services.sidewindow.package = lib.mkDefault pkgs.sidewindow; }; }; }; diff --git a/module.nix b/module.nix index 77f988a..2734318 100644 --- a/module.nix +++ b/module.nix @@ -5,10 +5,10 @@ ... }: with lib; let - cfg = config.services.palantir; + cfg = config.services.sidewindow; in { - options.services.palantir = { - enable = mkEnableOption "Enables the palantir service"; + options.services.sidewindow = { + enable = mkEnableOption "Enables the sidewindow service"; port = mkOption rec { type = types.int; @@ -73,7 +73,7 @@ in { services.udev.packages = [cfg.package]; - systemd.services."palantir" = { + systemd.services."sidewindow" = { wantedBy = ["multi-user.target"]; after = ["systemd-networkd-wait-online.service"]; path = lib.optional cfg.zfs pkgs.zfs; @@ -93,7 +93,7 @@ in { serviceConfig = { Restart = "on-failure"; - ExecStart = "${cfg.package}/bin/palantir"; + ExecStart = "${cfg.package}/bin/sidewindow"; DynamicUser = true; PrivateTmp = true; ProtectSystem = "strict"; diff --git a/overlay.nix b/overlay.nix index 2035784..5a598ca 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,3 +1,3 @@ final: prev: { - palantir = final.callPackage ./package.nix {}; + sidewindow = final.callPackage ./package.nix {}; } diff --git a/package.nix b/package.nix index 8ebcb77..6321592 100644 --- a/package.nix +++ b/package.nix @@ -1,5 +1,4 @@ { - stdenv, rustPlatform, coreutils, lib, @@ -9,8 +8,8 @@ src = sourceByRegex ./. ["Cargo.*" "(src|benches)(/.*)?"]; version = (fromTOML (readFile ./Cargo.toml)).package.version; in - rustPlatform.buildRustPackage rec { - pname = "palantir"; + rustPlatform.buildRustPackage { + pname = "sidewindow"; inherit src version; @@ -22,7 +21,7 @@ in postInstall = '' mkdir -p $out/lib/udev/rules.d/ - echo 'SUBSYSTEM=="powercap", ACTION=="add", RUN+="${coreutils}/bin/chgrp -R powermonitoring /sys%p", RUN+="${coreutils}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules - echo 'SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="${coreutils}/bin/chgrp -R powermonitoring /sys%p", RUN+="${coreutils}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-palantir.rules + echo 'SUBSYSTEM=="powercap", ACTION=="add", RUN+="${coreutils}/bin/chgrp -R powermonitoring /sys%p", RUN+="${coreutils}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-sidewindow.rules + echo 'SUBSYSTEM=="powercap", ACTION=="change", ENV{TRIGGER}!="none", RUN+="${coreutils}/bin/chgrp -R powermonitoring /sys%p", RUN+="${coreutils}/bin/chmod -R g=u /sys%p"' >> $out/lib/udev/rules.d/51-sidewindow.rules ''; } diff --git a/palantir.service b/sidewindow.service similarity index 67% rename from palantir.service rename to sidewindow.service index a68b7ee..cc129d8 100644 --- a/palantir.service +++ b/sidewindow.service @@ -1,11 +1,11 @@ [Unit] -Description = palantir +Description = sidewindow [Service] Type=simple -User=palantir +User=sidewindow Environment=PORT=5665 -ExecStart=/usr/local/bin/palantir +ExecStart=/usr/local/bin/sidewindow PrivateTmp=true ProtectSystem=full ProtectHome=true diff --git a/src/main.rs b/src/main.rs index ec7865a..05eb5c8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,8 +4,8 @@ use color_eyre::{Report, Result}; use futures_util::pin_mut; use futures_util::StreamExt; use libmdns::Responder; -use palantir::docker::{get_docker, stat, Container}; -use palantir::{get_metrics, Sensors}; +use sidewindow::docker::{get_docker, stat, Container}; +use sidewindow::{get_metrics, Sensors}; use std::sync::Arc; use std::time::Duration; use tokio::runtime::Handle;