and template
Implements the finalize stage infrastructure for HoneyBiscuitWorkshop:
- New finalize module with config, error, event, plugin, stage, and
template submodules
- Plugin system supporting internal (webhook, mail, satori, in-site) and
external plugins
- FinalizeConfig schema with version validation for finalize.yml
- Add glob, duration-str, lettre dependencies to workshop-baker
- Expand project documentation (clarification.md, description.md)
- Update .gitignore and fix bake.rs pipeline_functions access
BREAKING CHANGE: Not a buildable version!
generation and pipeline scheduling
- Add benchmark infrastructure (Criterion) for parser performance
testing
- Enhance decorator parsing with new types: Pipe, Parallel, Daemon,
Health, and Unknown
- Improve parser to track line numbers and handle nested braces
correctly
- Add implicit `@after` dependencies for pipeline functions in
topological sort
- Introduce `use_template` flag in builder to support trivial script
execution
- Update bake function signature to accept Cli parameters and privilege
detection
- Refactor error handling with structured `ScriptGenerationFailed`
variant
- Extend integration tests for privilege dropping, engine execution, and
bake phase
- Comment out daemon and apt modules temporarily for refactoring
script generation
The bootstrap stage now reads configuration from prebake.yml to
dynamically generate bootstrap scripts for user creation, workspace
setup, and privilege executor configuration.
Adds the `which` crate for binary detection.
workflow
- Rename crate/library/binary from workshop-executor to workshop-baker
- Remove unused modules (decorator, parser, schedule, variable) from lib
- Implement stage-based privilege dropping with prebake_drop_privilege()
- Add dry-run support in executor and CLI
- Add bootstrap.sh template script for user/workspace setup
- Add PrebakeStage::from_str() and Default impl
- Add get_drop_after() function for security config
- Fix version matching to handle "1.0" format variants
- Fix UPM all_managers() to return custom::Custom
- Add Python integration tests with Docker
- Simplify examples/prebake.yml to match template