Feature #2276
Most Puppet functionality should be available via a single command
| Status: | Closed | Start date: | 05/18/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | executables | |||
| Target version: | 2.6.0 | |||
| Affected Puppet version: | 0.24.8 | Branch: | luke/feature/master/single_executable | |
| Keywords: | ||||
| Votes: | 0 |
Description
Similar to the recent consolidation in ‘git’, the new Application class enables us to provide a single application that has access to all of the executable functionality. E.g., I could see the following commands:
puppetcmd ral user foo ensure=absent puppetcmd ca --sign foo.madstop.com puppetcmd server start puppetcmd client start puppetcmd bucket restore /my/file puppetcmd doc --reference type puppetcmd run --host foo
I’m definitely not recommending the name be ‘puppetcmd’, but this basic idea could simplify things a good bit. The thing I really like about it, though, is that it will force us to make all of the applications much more consistent – they’ll each register exactly the commands they support, and the Application class can handle querying and listing those commands for this new executable.
Related issues
History
Updated by James Turnbull about 3 years ago
Whilst it’s not hugely backwards-compatible I’d just use “puppet”. You can migrate/deprecate existing funtionality for “puppet”.
Updated by Luke Kanies about 3 years ago
That works for me.
Updated by James Turnbull almost 3 years ago
- Assignee deleted (
Puppet Community)
Updated by Luke Kanies over 2 years ago
I pushed a simple not-quite-functional prototype to a feature/master/2276 branch in my repo.
Updated by Luke Kanies over 2 years ago
- Assignee set to Jesse Wolfe
- Branch set to luke/feature/master/single_executable
I’ve got a simple WIP up at luke/feature/master/single_executable that at least shows partial progress and what I was planning on doing. Jesse’s taking this over.
Updated by Jesse Wolfe about 2 years ago
- Status changed from Accepted to Duplicate
Updated by Markus Roberts about 2 years ago
- Status changed from Duplicate to Closed
Applied to master in:
commit:5fd6e546af5b5e4520f2cc88aaa5b705cdfd4249 Change the main spec to an apply spec commit:009629fe9f4d53882c819a0039ed873193917a32 Feature #2276 Single Executable: usage message commit:5b64d3b798b79357f98f100fc027d73518320ddf feature #2276 Single Executable: optparser should get CommandLine#args instead commit:5683fd983b9a165ffbb8f08e67cfe903ec0e41b7 Feature #2276 Single Executable: Pass a commandline object to the application commit:d038a1d3ddffdf1366c78fe31118e9f15c1c6ed1 Refactor #3706 Reify eigenclasses of Applications commit:7656ba73ddfd883b36a01c81147ae69e80773bce feature #2276 Single Executable: CommandLine can be instantiated commit:63e2e56d3172bdc80aaca5f5ddde5811728e3c76 feature #2276 Single Executable: subcommand method commit:b6e2ce6a85c953fcd57a3b837ccaa794a634dc22 feature #2276 Single Executable: help info commit:b0737228b8b56019e417d68d7215270ce282f535 feature #2276 Single Executable: help for apply commit:bfad735335bfd65d48b14af2998bd4ce2d86ab96 feature #2276 Single Executable: rdoc paths on ubuntu commit:71033786bf4abef4fd486793d6fe186fff87a432 feature #2276 Single Executable: legacy settings commit:54c1cc5dc9f8994378c850474b8fd468300fb0e8 feature #2276 Single Executable: “puppet describe” commit:c79b2282ab0af181d354cfbae7d0b8da964cc03c feature #2276 Single Executable: “puppet kick” commit:6bdda8c65e55fcdab896cee9985bca3593c66c95 feature #2276 Single Executable: “puppet cert” commit:f9783fcdee928c80339b2b1567350b2450e1ea05 feature #2276 Single Executable: “puppet master”