feat!: support auto start on boot#53
Conversation
| @@ -1,6 +0,0 @@ | |||
| { | |||
| path = "src/lib.rs" | ||
|
|
||
| [dependencies] | ||
| auto-launch = { git = "https://github.com/gaojunran/auto-launch.git", version = "0.5.0" } |
There was a problem hiding this comment.
this won't work when we try to cut a release, you'll need to publish it
|
bugbot run |
Now we finally have this feature, which means a giant step towards our goal - a daemon manager. `auto-launch` crate is forked and maintained by myself, as it lacks launching methods for non-desktop environment on Linux.
1a5d894 to
1fec6a9
Compare
| ## Subcommands | ||
|
|
||
| - [`pitchfork supervisor run [-f --force]`](/cli/supervisor/run.md) | ||
| - [`pitchfork supervisor run [-f --force] [--boot]`](/cli/supervisor/run.md) |
There was a problem hiding this comment.
this is such a different thing I think it should be a dedicated command
There was a problem hiding this comment.
@jdx Well this flag is only for system-level daemon, such as systemd and LaunchAgent, and users should not use them. The system-level daemon run pf sup run --boot on boot, and all registered daemons will run. I think it's better to hide them from the document, so that user won't use it?
The logic of launching between pf sup run and pf sup run --boot is alike, except that the --boot launches the registered daemons together.
If you mean pf boot status | disable | enable, they are dedicated commands for users.
Hope to learn about your idea!
## 🤖 New release * `pitchfork-cli`: 0.2.1 -> 0.3.0 <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.3.0](v0.2.1...v0.3.0) - 2026-01-18 ### Added - *(web)* add devilish pitchfork theming to web UI ([#115](#115)) - *(web)* add web UI for daemon management ([#112](#112)) - show startup logs on successful daemon start ([#111](#111)) - add HTTP ready check for daemon startup ([#110](#110)) - delay autostopping daemons when leaving directory ([#108](#108)) - *(logs)* clear all logs when no daemon specified ([#109](#109)) - *(list)* show error messages in daemon list output ([#107](#107)) - refactor the code structure of `start` and `run`, allowing for parallel starting daemons ([#56](#56)) - [**breaking**] support auto start on boot ([#53](#53)) - print logs when failed on `pf start|run` ([#52](#52)) - [**breaking**] support global system/user config ([#46](#46)) - *(test)* refactor tests and add tests for `interval_watch` and `cron_watch` ([#45](#45)) ### Fixed - add timeouts to IPC operations to prevent shell hook hangs ([#106](#106)) - *(deps)* update rust crate toml to 0.9 ([#50](#50)) - replace panics with proper error handling ([#90](#90)) - *(deps)* update rust crate notify to v8 ([#78](#78)) - *(deps)* update rust crate duct to v1 ([#72](#72)) - *(deps)* update rust crate dirs to v6 ([#64](#64)) - *(deps)* update rust crate cron to 0.15 ([#48](#48)) - *(deps)* update rust crate sysinfo to 0.37 ([#49](#49)) - *(deps)* update rust crate itertools to 0.14 ([#33](#33)) - *(deps)* update rust crate strum to 0.27 ([#35](#35)) - *(deps)* update rust crate console to 0.16 ([#32](#32)) - give a user-friendly error when the work fails ([#44](#44)) ### Other - *(cli)* add long_about with examples to CLI commands ([#91](#91)) - fix documentation issues and inconsistencies ([#89](#89)) - *(deps)* lock file maintenance ([#88](#88)) - *(deps)* update rust crate serde_json to v1.0.149 ([#87](#87)) - *(deps)* lock file maintenance ([#85](#85)) - *(deps)* update rust crate serde_json to v1.0.148 ([#84](#84)) - *(deps)* update rust crate tempfile to v3.24.0 ([#82](#82)) - *(deps)* update rust crate rmp-serde to v1.3.1 ([#80](#80)) - *(deps)* update rust crate serde_json to v1.0.147 ([#81](#81)) - *(deps)* lock file maintenance ([#79](#79)) - *(deps)* update rust crate shell-words to v1.1.1 ([#77](#77)) - *(deps)* lock file maintenance ([#76](#76)) - *(deps)* update rust crate log to v0.4.29 ([#75](#75)) - *(deps)* lock file maintenance ([#73](#73)) - *(deps)* lock file maintenance ([#68](#68)) - *(deps)* lock file maintenance ([#65](#65)) - *(deps)* lock file maintenance ([#62](#62)) - *(deps)* update rust crate clap to v4.5.51 ([#60](#60)) - *(deps)* lock file maintenance ([#59](#59)) - *(deps)* update rust crate clap to v4.5.50 ([#57](#57)) - Update README ([#55](#55)) - *(deps)* lock file maintenance ([#54](#54)) - *(deps)* lock file maintenance ([#47](#47)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Now we finally have this feature, which means a giant step towards our goal - a daemon manager.
auto-launchcrate is forked and maintained by myself, as it lacks launching methods for non-desktop environment on Linux.And it is hard to test this feature. I manually tested macOS and Linux on my machine.
Note
Adds start-on-boot via a new BootManager (auto-launch),
pitchfork bootsubcommands, supervisor--bootthat auto-startsboot_startdaemons, plus log range flags and docs.BootManager(uses forkedauto-launch) to register the supervisor for start-on-boot.Supervisor.startaccepts--bootmode and auto-starts daemons configured withboot_start = true.PitchforkTomlDaemonadds optionalboot_startfield.pitchfork bootcommand withenable,disable, andstatussubcommands.pitchfork supervisor runadds--bootflag.pitchfork logsadds--fromand--totime filters.auto-launch(git fork) and updates related crates in lockfile.boot_startfield.renovate.json.Written by Cursor Bugbot for commit 1a5d894. This will update automatically on new commits. Configure here.