Files
2026-07-25 17:28:23 -05:00

2.7 KiB

iDS-Defaults

iDS-Defaults is a shared Bash library used by other iDS projects. It provides terminal color definitions and common helpers for formatting, host checks, notifications, operating-system detection, and other administrative scripts.

Requirements

  • Linux
  • Bash 4 or newer
  • Additional commands used by individual helpers include awk, grepcidr, ping, pgrep, ssh, systemctl, and wget.

Not every command is required by every consumer. A host only needs the commands used by the functions it calls.

Current installation

The current/default version is installed at:

/opt/idssys/defaults

Existing projects can continue to source it without specifying a version:

source /opt/idssys/defaults/colors.inc
source /opt/idssys/defaults/default.inc

The master branch is the current/default release channel. The installed version can be read from /opt/idssys/defaults/VERSION.

Pinned versions

Projects that require a specific release can install its Git tag in a separate directory:

/opt/idssys/defaults-versions/v1.0.0

That project then sources the pinned copy:

source /opt/idssys/defaults-versions/v1.0.0/colors.inc
source /opt/idssys/defaults-versions/v1.0.0/default.inc

Multiple tagged versions may coexist on one host. Pinned versions should be installed only when needed; a project must not change the shared current checkout to satisfy its own version requirement.

Release tags use the vMAJOR.MINOR.PATCH form. The VERSION file omits the leading v.

List terminal colors remotely

list-colors.sh is self-contained when iDS-Defaults is not installed:

curl --fail --show-error --location \
  https://git.schroedercity.com/voltron/iDS-Defaults/raw/master/list-colors.sh |
  bash

When /opt/idssys/defaults is present, the script uses the installed colors.inc. Otherwise, it uses its embedded color definitions and performs no secondary download.

Compatibility

The include files are shared APIs. Existing function names and behavior should remain compatible unless a change is explicitly reviewed. New or incompatible behavior should normally be introduced under a new function name or in a new major release.

Sourcing default.inc defines functions and global variables in the calling shell. Some legacy helpers also inspect the host environment when sourced.

Maintenance checks

Run the optional local smoke test with:

./tests/smoke-test.sh

The test performs syntax and local value checks only. It is never run when a consumer sources iDS-Defaults and adds no runtime overhead to other projects.

test.sh is intentionally retained as a small scratch script for remote testing.