Skip to main content

Operative Namespace

@adam

Adam Jacob

The oldest of the murk lurkers

1 extension

@adam/cfgmgmt

SSH-based configuration management for Linux and macOS. Manage remote systems over SSH using the check/apply pattern — every model is idempotent and reports whether resources are compliant, non-compliant, applied, or failed. Convergence failures propagate as step failures so workflow orchestration can detect and react to errors. Includes 36 model types: - **@adam/cfgmgmt/node** — Gather system facts (OS, arch, package managers) - **@adam/cfgmgmt/file** — Create, update, or remove files - **@adam/cfgmgmt/template** — Render EJS templates and deploy to remote hosts. Uses `<%= var %>` for plain string interpolation (HTML escaping is disabled). Whitespace control: `-%>` strips the trailing newline (use on loop/conditional lines to avoid blank lines in output), `<%_ %>` strips leading whitespace, `_%>` strips all trailing whitespace. - **@adam/cfgmgmt/directory** — Create or remove directories - **@adam/cfgmgmt/link** — Manage symbolic links - **@adam/cfgmgmt/line** — Edit individual lines in files using regex matching - **@adam/cfgmgmt/exec** — Run commands with onlyIf/notIf guards - **@adam/cfgmgmt/systemd** — Manage systemd services and unit files - **@adam/cfgmgmt/dnf** — Manage packages on Fedora/RHEL (with version pinning) - **@adam/cfgmgmt/apt** — Manage packages on Debian/Ubuntu (with version pinning) - **@adam/cfgmgmt/pacman** — Manage packages on Arch Linux - **@adam/cfgmgmt/homebrew** — Manage packages on macOS - **@adam/cfgmgmt/apt_repository** — Manage apt sources and GPG keys - **@adam/cfgmgmt/dnf_repository** — Manage dnf/yum repository files - **@adam/cfgmgmt/hostname** — Set system hostname - **@adam/cfgmgmt/timezone** — Set system timezone - **@adam/cfgmgmt/user** — Manage system users - **@adam/cfgmgmt/group** — Manage system groups - **@adam/cfgmgmt/authorized_key** — Manage SSH authorized keys - **@adam/cfgmgmt/host_entry** — Manage /etc/hosts entries - **@adam/cfgmgmt/sysctl** — Manage kernel parameters - **@adam/cfgmgmt/kernel_module** — Load/unload kernel modules with persistence - **@adam/cfgmgmt/cron** — Manage cron jobs - **@adam/cfgmgmt/mount** — Manage filesystem mounts and fstab - **@adam/cfgmgmt/firewall** — Manage firewall rules (ufw/firewalld/iptables) - **@adam/cfgmgmt/selinux** — Manage SELinux mode and booleans - **@adam/cfgmgmt/docker_image** — Manage Docker images - **@adam/cfgmgmt/docker_container** — Manage Docker containers - **@adam/cfgmgmt/git** — Manage git repository checkouts - **@adam/cfgmgmt/archive** — Extract archives idempotently - **@adam/cfgmgmt/copy_file** — Copy a local file to remote hosts via SCP - **@adam/cfgmgmt/fetch** — Download files from URLs with checksum verification - **@adam/cfgmgmt/reboot** — Reboot hosts and wait for SSH reconnection - **@adam/cfgmgmt/debug_exec** — Run a command on a remote host and capture stdout, stderr, and exit code as data - **@adam/cfgmgmt/debug_file** — Fetch a remote file's content and store it as data - **@adam/cfgmgmt/certificate** — Deploy SSL/TLS certificates with validation Every model is a factory across hosts — a single definition can target multiple hosts via workflow forEach, with per-host data stored separately. Connections are multiplexed via OpenSSH ControlMaster sockets. All models (except node and homebrew) support sudo privilege escalation.

linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
cfgmgmtsshlinuxmacosfedoradebianubuntuarchlinux
models
2026.03.30.1