Releases: deadhedd/openbsd-toolkit
v1.1.0 – Obsidian Git Client
Introduces the Obsidian Git Client module, enabling workstations to pull and push Obsidian vaults over SSH by installing Obsidian, side-loading the obsidian-git plugin, and wiring up SSH/Git connectivity
Configures SSH known_hosts, keys, and agent; sets the Git remote/branch; seeds an optional initial commit; and can auto-generate and copy SSH keys to the remote server
Bundles a TAP-style test suite to confirm plugin installation, SSH key setup, and proper remote configuration
v1.0.3 - Secrets refactor and SSH key handling in Obsidian Git Host Module
v1.0.2 – Restore SSH Setup & Minor Improvements
Overview
This release fixes a critical regression by reintroducing the SSH setup steps for the Obsidian Git Host module. These were mistakenly removed in a prior version and are essential for proper authentication and connectivity.
Alongside this major fix, the release introduces better logging, improved configuration examples, and expanded contributor documentation.
🔑 Highlights
Obsidian Git Host Module
Restored .ssh setup for OBS_USER and GIT_USER.
Ensures proper authentication and connectivity.
Test coverage expanded from 43 → 59 checks.
Logging
Enhanced logs/logging.sh with improved trap handling.
Exit codes are now captured, ensuring failures are marked before finalizing logs.
Configuration
Expanded secrets.env.example with a new Obsidian Git Client section.
Added CLIENT_VAULT variable for local vault configuration.
Documentation
Added AGENTS.md defining shell script scope and expectations (POSIX compliance, shellcheck usage).
📌 Upgrade Notes
If using the Obsidian Git Client, review your secrets.env and add the new CLIENT_VAULT variable as needed.
No breaking changes beyond the restored SSH setup functionality.
1.0.1 — Targeted Debug Logging & Base System Improvements
This patch release introduces targeted debug logging and a major refactor of the Base System module, alongside secrets handling improvements and updated documentation.
Key changes:
Logging: Added --debug=FILE option for selective debug output.
Base System: Refactored with helper functions, idempotency scaffolding, and expanded tests (15 → 32).
Secrets: load-secrets.sh now exports only requested module variables; secrets.env.example reorganized into per-module sections.
Modules: Updated GitHub and Obsidian modules for simplified setup and reduced test complexity.
OpenBSD Toolkit 1.0
Initial stable release of the OpenBSD Toolkit — a modular shell-based framework for secure, scriptable OpenBSD automation.
Features
Modular design — install only the components you need
POSIX shell scripts — no dependencies, no lock-in
Git-backed Obsidian vault host — deploy and sync via Git
Base system setup — users, doas, networking, and shell config
Automated tests — verify configuration integrity at any time
Robust logging — plain ASCII logs with optional verbose debug mode
Highlights
Declarative, testable setup scripts
Useful for extending Shortcuts, replacing Obsidian plugins, or running personal automation on OpenBSD
v0.9.2 – Setup Script Fixes + Logging Update
This patch release fixes critical breakage in setup scripts introduced in v0.9.1 and completes the transition to the new logging system across all modules.
🔧 Fixes
Resolved regressions in setup scripts caused by partial logging system migration.
All setup scripts now correctly use the centralized logging system.
🚨 Breaking Change
The --log flag is no longer supported in setup scripts.
Use --debug if you want full output logged to a file.
Pre-release: Enhanced Logging and Project Cleanup
What's new in v0.9.1 (Pre-release)
This pre-release introduces a major internal upgrade to the logging system, along with a project-wide structural cleanup to prepare for the upcoming v1.0 release.
🔍 Highlights
-
Enhanced Logging Subsystem
- Centralized logging implementation using FIFO +
tee - Captures
set -xtraces for full debug visibility - Optional log buffering with
--log/--debugflags - Per-module test logs written automatically
- Centralized logging implementation using FIFO +
-
Project Structure Overhaul
- Renamed directories for clarity (
scripts/,modules/, etc.) - Improved layout for testing and setup modules
- Cleaner repo organization for contributors and automation
- Renamed directories for clarity (
This version is feature-complete for logging and structure. Final polish, documentation, and automation refinements will follow in v1.0.
v0.9.0 – Git Permissions & Hook Fixes
This pre‑1.0 release finalizes critical configuration work for the Git backend, ensuring proper permissions, group access, and reliable sync behavior. Most of these changes were required to make the system function correctly end-to-end.
🔧 Key Changes
✅ Configured safe.directory to silence Git security warnings.
✅ Created a shared Unix group for git and obsidian users.
✅ Set correct file permissions and ownership on the bare repo (git:obsidian, g+rwX, setgid).
✅ Added sharedRepository = group to the Git config.
✅ Fixed post-receive hook to use the correct SHA and run as obsidian.
Also includes improved logging in setup and test scripts, making troubleshooting and auditing easier.
client test suite complete
v0.4.1 Client side test suite complete
v0.4.0 – Centralized Secrets Management
This release introduces centralized configuration management using a .env-style secrets file, improving security, portability, and ease of customization across all setup and test scripts.
Highlights:
New secrets.env and secrets.env.example files for environment-specific config.
Scripts automatically bootstrap a real secrets file if missing.
All scripts now load secrets dynamically via load_secrets.sh.
Hardcoded configuration is fully removed.
Paths to secrets are standardized and portable across systems.
This sets the stage for even more robust configuration handling and simpler test-driven development workflows.