Skip to content

v0.11.0

Choose a tag to compare

@gfargo gfargo released this 21 Apr 01:54
· 89 commits to main since this release

Highlights

Lifecycle hooks (#50)

  • New lib/hooks.sh dispatcher — fires pre_deploy, post_deploy, pre_backup, post_backup, on_health_fail, on_drift_detected
  • Hooks live at stacks/<stack>/hooks/<event>.sh
  • Pre-events block on non-zero exit; post/on events warn-and-continue
  • Legacy pre-deploy.sh (#18) still works — snake_case and dash-case are both discovered

Notification providers (#35)

  • lib/notify.sh dispatcher + lib/notify/{slack,discord,webhook}.sh providers
  • Config in notifications.conf (shell-env style; same as strut.conf)
  • strut notify test <slack|discord|webhook> sends a ping
  • Wired events: deploy.success, backup.success
  • Notification failures never fail the underlying action

Upgrading

strut upgrade

Copy templates/notifications.conf.template to your project root as notifications.conf to configure providers.

Changelog

  • a112137 feat: add notification providers for lifecycle events (#35) (#58)
  • 0b30756 feat: formalize lifecycle hook system in lib/hooks.sh (#57)