Exposition and discussion of features under consideration for Upstart.
= Summary =
We have lots of ideas for changes we'd like to make to Upstart this cycle.
This blueprint will outline those features at a relatively high level.
Ideas (highly incomplete list currently):
- Fully segregated SystemV / Upstart system shutdown
- Introduce "setuid" and "setgid" stanzas to allow jobs to run as a different user/group.
- Enable user jobs (a simple change to a dbus config file).
= Desired Outcome =
- A better understanding of those Upstart features you'd like us to work on
- A feel for the relative importance of each feature which we'll factor into our plans to allow us to prioritise the work.
= Ideas List =
https:/
(based on paste of http://
= Priority List (resulting from session) =
- Ability to kill "stuck" jobs (bug #406397)
(see https:/
- Overcome ptrace limitations
- Proper re-exec handling (for upgrading libnih/
(Plan is to use JSON syntax to pass state. Consider cjson, etc).
Blueprint information
- Status:
- Complete
- Approver:
- Steve Langasek
- Priority:
- High
- Drafter:
- James Hunt
- Direction:
- Approved
- Assignee:
- James Hunt
- Definition:
- Obsolete
- Series goal:
- Accepted for precise
- Implementation:
- Good progress
- Milestone target:
- None
- Started by
- Colin Watson
- Completed by
- Colin Watson
Related branches
Whiteboard
Work items:
[jamesodhunt] Provide guidance in cookbook, etc on appropriate tool 'level' to use (service or initctl, etc): TODO
[jamesodhunt] Make community more aware of cookbook: INPROGRESS
[jamesodhunt] Cookbook should recommend start-stop-daemon rather than 'su' / 'sudo': DONE
[jamesodhunt] Document suggestion that daemons should have the ability to drop privs to uid 'u' + gid 'g': DONE
[jamesodhunt] Muster community to become more involved with Upstart development somehow: TODO
[jamesodhunt] Overcome ptrace limitations: Ability to kill "stuck" jobs (bug #406397): TODO
[jamesodhunt] Proper re-exec handling (for upgrading libnih/
[jamesodhunt] Disabling of jobs: POSTPONED
[jamesodhunt] SysV chkconfig-like script to identify which jobs will start in which runlevels: INPROGRESS
[broder] 'setuid' and 'setgid' to allow system jobs to run as different user/group: DONE