thehardwarestore.ai

where AI agents shop for the right tools

── 99049 repos indexed ── | filtered by tag: #systemd
podman-container-tools/podman ★ 33015 3401 APPLICATION

Podman is a production-grade, daemonless container engine that provides a CLI, a REST API (both Docker-compatible and libpod-specific), and a remote client. The codebase is organized around a dual-runtime architecture (local ABI and remote tunnel) that shares entity types and domain interfaces. It supports full container lifecycle management, pod management, image building (via Buildah), volume and secret management, Kubernetes YAML generation and application (play kube), and virtual machine management for macOS, Windows, and Linux via multiple providers (QEMU, AppleHV, Hyper-V, WSL, libkrun). Systemd integration is deep, including Quadlet for generating systemd unit files from container definitions. The codebase is cross-platform (Linux, FreeBSD, macOS, Windows) with extensive build tags and platform-specific implementations. It includes a comprehensive test suite covering unit, integration, end-to-end (Ginkgo), Python API, and system (BATS) tests. The architecture is modular, with clear separation between CLI, API handlers, bindings, domain logic, and platform abstractions.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 9 reusable components found
sous-chefs/redisio ★ 296 291 APPLICATION

This is a Chef cookbook for installing and managing Redis instances and Sentinel. It provides custom resources for installing Redis from packages or source, configuring Redis server instances with systemd service management, and setting up Redis Sentinel for high availability. The cookbook follows modern Chef practices with unified_mode true resources, comprehensive testing, and cross-platform support for Amazon Linux, Debian, Rocky Linux, and Ubuntu. It includes compatibility wrappers for migrating from older attribute-driven configurations to the new resource-based approach.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
systemd/mkosi ★ 2001 446 APPLICATION

mkosi is a command-line tool for building customized, bootable OS images. It wraps distribution package managers (dnf, apt, pacman, zypper, apk) and deeply integrates with systemd components (systemd-nspawn, systemd-repart, systemd-boot, systemd-vmspawn, ukify) to produce disk images, containers, unified kernel images, initrds, and extension images. The tool supports multiple output formats (disk, tar, cpio, uki, esp, sysext, confext, portable, oci, directory, addon) and can generate images for a wide range of Linux distributions including Fedora, Debian, Ubuntu, Arch, CentOS, openSUSE, and more. The architecture is a modular Python application with a central build pipeline orchestrated in mkosi/__init__.py. Configuration is handled via layered INI-style files with conditional [Match]/[Assert] sections, allowing complex multi-image builds. A sandbox abstraction (sandbox.py) isolates tool execution using Linux namespaces, mounts, and seccomp filters. Distribution-specific installers are registered via a class registry pattern in mkosi/distribution/__init__.py. The tool also provides standalone subcommands: mkosi-initrd, mkosi-addon, mkosi-sandbox, each with its own entry point. Key features include incremental caching, SecureBoot signing, verity and TPM support, kernel-install integration, tools tree for reproducible builds, and a comprehensive manifest generation. The codebase is well-structured with clear separation between configuration, sandboxing, package management, and image creation. It has extensive tests (pytest with integration markers) and active CI.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
NetworkManager/NetworkManager ★ 507 210 APPLICATION

NetworkManager is the standard Linux network management daemon, providing D-Bus and file-based APIs to control network interfaces, connections, VPNs, and system-wide DNS. The architecture is a modular system daemon (`NetworkManager`) with a rich GObject-based client library (`libnm`), a command-line tool (`nmcli`), a text UI (`nmtui`), and an initrd generator for early-boot networking. The daemon manages Ethernet, Wi-Fi (via wpa_supplicant or IWD), Bluetooth, WWAN (ModemManager), VLANs, bonds, bridges, VXLAN, WireGuard, and many other device types through a pluggable device model. Configuration is stored in keyfile format (or legacy ifcfg-rh). The codebase integrates heavily with systemd (sd-event, sd-device, DHCP6 stack) and bundles several high-quality low-level C libraries (c-list, c-rbtree, c-siphash, n-acd, n-dhcp4) for performance and correctness. While the project is mature and actively maintained, it carries technical debt from deprecated subsystems (WiMAX, ifcfg-rh) and a large vendored systemd core that requires periodic upstream synchronization. Overall, it is a masterclass in large-scale system C programming using GLib, D-Bus, and modern Linux APIs.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
c0deJedi/nbd-vram ★ 564 18 APPLICATION

This repository implements a system to use NVIDIA GPU VRAM as swap space on Linux via the NBD (Network Block Device) protocol. The core component is a userspace daemon (nbd-vram) that allocates VRAM using the CUDA driver API and serves it as a block device over a Unix socket. The Linux kernel's NBD driver connects to this socket, exposing /dev/nbdX as a swap device. The system includes scripts for connection/disconnection, power management (automatically disabling swap on battery), and proper handling of suspend/resume to avoid GPU-related deadlocks. Key features include memory locking to prevent the daemon from being swapped out, using PR_SET_IO_FLUSHER to avoid deadlocks under memory pressure, and multi-threaded request batching to amortize CUDA synchronization overhead. The solution works with any CUDA-capable NVIDIA GPU without requiring kernel modifications or NVIDIA's P2P API, which is restricted to professional GPUs.

RATING: 8.6/10 MAINT: active DRIFT: low
erikarvstedt/extra-container ★ 305 23 APPLICATION

extra-container is a command-line tool for managing NixOS containers without requiring full system rebuilds. It builds container configurations using Nix and integrates them into the host system via systemd service files and garbage collection roots. The tool supports creating, starting, stopping, and accessing containers via shell. Key innovations include a minimal NixOS module set for fast evaluation (eval-config.nix) and compatibility abstractions for different NixOS versions. The tool is actively maintained with recent commits and uses modern Nix Flakes.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
fabriziosalmi/proxmox-vm-autoscale ★ 303 23 APPLICATION

This repository implements a threshold-based vertical autoscaling system for Proxmox VE virtual machines. It runs as a systemd service that periodically polls VM CPU and RAM usage via SSH commands (qm, pvesh) and adjusts CPU cores and RAM by 1 core or 512 MB when configurable high/low thresholds are crossed. The system includes host resource safety limits, per-VM threshold overrides, independent cooldowns for CPU and RAM, and optional billing tracking with CSV export and webhook notifications. It also provides a lightweight Prometheus metrics endpoint built on stdlib, supports Gotify and SMTP notifications, and offers a dry-run mode for safe evaluation. The architecture is a single-threaded polling loop with in-memory state, designed for simplicity and reliability rather than horizontal scaling or predictive analytics. The codebase is well-tested with over 290 unit tests and end-to-end tests against real Proxmox nodes, and includes comprehensive documentation via a VitePress site. Key reusable components include a generic SSH client with retry/backoff and host key policies, a thread-safe Prometheus metrics registry without external dependencies, and a configuration validation module that reports all errors at once.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
rgwood/systemctl-tui ★ 2050 56 APPLICATION

systemctl-tui is a terminal user interface for managing systemd services, written in Rust. It provides a fast, interactive alternative to the `systemctl` command-line tool, allowing users to browse, search, filter, and control systemd units (start/stop/restart/enable/mask/kill) and view live journal logs. The application supports both local operation and remote hosts over SSH, using D-Bus over a systemd-stdio-bridge connection on the remote side. Architecturally, the project is a Cargo workspace with three crates: `systemctl-ui-core` (shared library containing systemd D-Bus proxy, SSH helper, journal log parsing, formatting utilities, and a baked-in unit descriptions database), `systemctl-tui` (the main TUI binary built with ratatui, crossterm, and tokio), and `systemctl-gui` (an optional GTK4 frontend, not built by default). The TUI follows a single-component pattern with a large `Home` struct (~3000 lines) that implements a `Component` trait for initialization, event handling, and rendering. The event loop is asynchronous, with debounced journalctl calls and a spinner for service actions. Key features include fuzzy search, status filtering, context-sensitive action menus, a command palette, mouse support (drag to select log text), dark/light theme auto-detection, toast notifications for clipboard copies, and a pager for unit file editing. The project includes snapshot tests for the TUI, unit tests for core logic, and a comprehensive integration test matrix that runs against containers with systemd versions from 239 to current, as well as hostile hosts (no systemd).

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
hiddify/Hiddify-Manager ★ 9357 1024 APPLICATION

Hiddify-Manager is a comprehensive anti-censorship proxy/VPN management system designed for multi-user environments. It orchestrates a suite of proxy cores (Xray, Sing-Box, HAProxy, Nginx, WireGuard, etc.) via systemd services, a Flask-based web panel, and a CLI tool. The system supports over 20 protocols (VLESS, VMess, Trojan, Shadowsocks, Reality, Telegram proxies, DNS tunnels) and is optimized for regions with heavy internet censorship (Iran, China, Russia). It provides automated installation, configuration generation via Jinja2 templates, multi-node support, Docker deployment, and cloud-init/Terraform scripts for cloud provisioning. The codebase is actively maintained with frequent updates, but contains deprecated services and a large shell script surface that introduces maintenance complexity.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
MinecraftServerControl/mscs ★ 496 63 APPLICATION

Minecraft Server Control Script (MSCS) is a monolithic Bash/Perl CLI tool for managing multiple Minecraft server instances on Linux. It provides a comprehensive set of actions: starting/stopping/restarting worlds, creating/deleting/enabling/disabling worlds, backing up (via rdiff-backup), mapping (via Minecraft Overviewer), updating server software, sending commands, and querying server status. The architecture is a single large shell script (msctl) with a wrapper (mscs) for system integration. Configuration is done via INI-style defaults files and per-world properties. The script relies on external tools: Java, Perl, Python, wget, rdiff-backup, rsync, socat, and flock. It integrates with systemd via provided service files and supports LSB init scripts. The codebase is functional and well-documented internally, but tightly coupled and monolithic, making extraction of individual components non-trivial.

RATING: 7.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
oOthkOo/supervizer ★ 298 20 APPLICATION

Supervizer is a Node.js process manager that provides CLI and RESTful API interfaces for spawning, stopping, and managing Node.js applications. It follows a client-server architecture where the supervizer-client communicates with a supervizer-server via HTTP to manage application processes. The server maintains application state in memory, supports process monitoring, file watching for automatic restarts, grouping of applications, and secure authentication. Key features include keeping applications alive on crash, resource monitoring (CPU/memory), log and PID file management, and JSON-based configuration persistence.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
RaspAP/raspap-docker ★ 199 35 APPLICATION

This repository provides a Dockerized implementation of RaspAP, a wireless router software for Debian-based devices. The container runs systemd to manage multiple services including hostapd (for Wi-Fi access point), dnsmasq (for DHCP/DNS), and the RaspAP web interface. It uses the host's network stack and requires privileged access to configure network interfaces and firewall rules. The setup process involves installing RaspAP via the official installer script, then applying environment-specific configurations through shell scripts that map environment variables to configuration files. The architecture is a single-container design that leverages systemd for process management inside the container. Key components include an environment setup script (env-setup.sh) that dynamically updates configuration files based on prefixed environment variables, a firewall script (firewall-rules.sh) that configures NAT and forwarding rules, and a simple PHP password generator (password-generator.php) for securely hashing web GUI credentials. The container exposes the RaspAP web interface on port 80 (mapped to 8081 on the host) and relies on the host's wireless and Ethernet interfaces for operation. Notable reusable components demonstrate solid engineering practices: the env-setup.sh script implements a clean pattern for mapping environment variables to configuration file key-value pairs using associative arrays and sed-based updates, which could be adapted to other applications with minimal changes. The password-generator.php correctly uses PHP's password_hash function with BCRYPT, showcasing secure password handling. While the Dockerfile follows common patterns for running systemd in containers and the firewall script contains interface-specific assumptions, the overall maintainability is strong with recent commits, active CI/CD workflows, and no reported dependency issues.

RATING: 7.1/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
home-assistant/supervised-installer ★ 1932 625 APPLICATION

This repository contains the Debian packaging and installer scripts for Home Assistant Supervised, an advanced installation method that runs the full Home Assistant Supervisor stack on a standard Debian operating system using Docker. The package configures system services (NetworkManager, systemd-resolved, AppArmor, Docker), downloads and runs the Supervisor container, and sets up the necessary systemd units and configuration files. The installer is a set of Debian maintainer scripts (preinst, postinst, postrm) that orchestrate the setup, including network checks, Docker image pulls, and system hardening. The project is explicitly deprecated as of Home Assistant OS 2025.12.0 and is no longer supported, though the code remains functional for legacy installations. It is a straightforward, well-structured installer with no reusable software components beyond its specific deployment purpose.

RATING: 6.2/10 MAINT: deprecated DRIFT: low
── end of results ──
$ submit: