Minimal system information extractor written in Go. (Trying my best to keep this lightweight) Currently supports only YAML config-based execution.
echo "You love Bash commands or script..."
echo "Until you need 20 system infos, YAML configs and env injection."
echo "Copy-pasting the same mess across repos makes you question your life."-
Extracts system data (based on configured fields)
-
Supports flexible output rendering
- File output (
path) - Console output (
stdout)
- File output (
-
Easily extendable
syslite/
├── config/ # YAML config loader
├── extract/ # Extract system data
├── outputs/ # Output renderer
└── main.go # Entry pointextract:
- hostname
- os
- distro
output:
formats:
json:
path: "out/system.json"
stdout: true- name: Inject sys info
run: |
./syslite # injects into $GITHUB_ENV- name: Use kernel info
run: |
echo "Kernel version: $KERNEL_VERSION"
if [[ "$KERNEL_MAJOR" == "6" ]]; then
echo "Modern Linux Kernel"
fiKERNEL_VERSION=6.8.0-xyz
KERNEL_MAJOR=6
HOSTNAME=ci-runner-07Boom. Any job after syslite now uses those injected env vars natively. Zero parsing. It can support any workflow (eg.Ansible runtime)
- Support CLI flags (e.g.,
--format,--stdout) - Auto-detect config location
- Extend extractors (CPU, RAM, etc.)