Skip to main content

Freebsd

@josephholsten/freebsdv2026.06.27.1· 1mo agoMODELS
01README

FreeBSD system primitives via SSH — pkg(8) package management, sysrc(8) rc.conf key-value management, service(8) enable/disable + lifecycle, kldload(8)/kldstat(8) kernel module management with /boot/loader.conf persistence, and pw(8) user/group management. All six model types follow the check/apply pattern: check audits compliance without changes; apply converges actual state to desired state. Desired state is declared in globalArgs so the model instance is the declaration. SSH via OpenSSH ControlMaster; sudo privilege escalation optional via become/becomeUser/becomePassword. Model types: - @josephholsten/freebsd/pkg — install or remove packages (pkg install/remove) - @josephholsten/freebsd/rc — manage rc.conf key=value pairs via sysrc(8), including append mode for space-separated list values

  • @josephholsten/freebsd/service — enable/disable at boot + start/stop/restart - @josephholsten/freebsd/kld — load/unload kernel modules with optional /boot/loader.conf persistence
  • @josephholsten/freebsd/group — manage groups via pw(8) groupadd/groupmod/groupdel - @josephholsten/freebsd/user — manage users via pw(8) useradd/usermod/userdel
02Release Notes

Add freebsd/user and freebsd/group types (pw(8) user/group management via SSH)

03Models6
@josephholsten/freebsd/rcv2026.06.27.1rc.ts

Global Arguments

ArgumentTypeDescription
keystringrc.conf key to manage
valuestringDesired value. When append=true, the token to ensure is present in the space-separated value.
ensureenumWhether the key should exist with the desired value
appendbooleanWhen true, treat value as a token to append (sysrc key+=value) rather than an exact match
fn check()
Check if rc.conf key matches desired state (dry-run, no changes)
fn apply()
Apply desired rc.conf state via sysrc(8)

Resources

state(infinite)— Result of rc.conf check or apply operation
@josephholsten/freebsd/pkgv2026.06.27.1pkg.ts

Global Arguments

ArgumentTypeDescription
packagesarrayPackage names to manage
ensureenumWhether packages should be present or absent
fn check()
Check if packages match desired state without modifying
fn apply()
Install or remove packages based on ensure state
fn refresh()
Update the pkg package catalog (pkg update)
fn upgrade()
Upgrade all installed packages (pkg upgrade -y)
fn list()
List all installed packages (pkg query)

Resources

state(infinite)— Package operation state
installed(infinite)— All installed packages on the host
@josephholsten/freebsd/servicev2026.06.27.1service.ts

Global Arguments

ArgumentTypeDescription
servicestringService name (e.g. telegraf, nginx)
ensure?enumWhether the service should be running or stopped
enabled?booleanWhether the service should be enabled at boot via rc.conf
fn check()
Check if service matches desired state (dry-run)
fn apply()
Apply desired service state to the remote host
fn restart()
Restart the service (imperative, always runs)

Resources

state(infinite)— Result of service check or apply operation
@josephholsten/freebsd/kldv2026.06.27.1kld.ts

Global Arguments

ArgumentTypeDescription
namestringKernel module name (e.g. ng_ether, if_ath_pci)
ensureenumWhether the module should be loaded or unloaded
persistbooleanPersist the module across reboots via /boot/loader.conf
fn check()
Check if the kernel module is loaded/persisted as desired (dry-run)
fn apply()
Load or unload a kernel module and manage persistence

Resources

state(infinite)— Result of kld check or apply operation
@josephholsten/freebsd/groupv2026.06.27.1group.ts

Global Arguments

ArgumentTypeDescription
namestringGroup name (e.g. wheel, detenito)
gid?numberNumeric group id. Omit to let pw(8) assign one on create.
ensureenumWhether the group should exist
fn check()
Check if group matches desired state (dry-run)
fn apply()
Apply desired group state to the remote host

Resources

state(infinite)— Result of group check or apply operation
@josephholsten/freebsd/userv2026.06.27.1user.ts

Global Arguments

ArgumentTypeDescription
namestringUser name (e.g. josephholsten, detenito)
uid?numberNumeric user id. Omit to let pw(8) assign one on create.
primaryGroup?stringPrimary group name or gid. Used as `pw -g`.
home?stringHome directory path.
shell?stringLogin shell (e.g. /usr/sbin/nologin, /bin/sh).
comment?stringGECOS comment / full name.
ensureenumWhether the user should exist
fn check()
Check if user matches desired state (dry-run)
fn apply()
Apply desired user state to the remote host

Resources

state(infinite)— Result of user check or apply operation
04Previous Versions1
2026.06.15.1
05Stats
A
100 / 100
Downloads
0
Archive size
33.0 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
06Platforms
07Labels