summaryrefslogtreecommitdiffstats
path: root/lib/puppet/application
Commit message (Collapse)AuthorAgeFilesLines
* Fixing #3671 - --compile Catalogs are pretty-printedLuke Kanies2010-02-171-1/+1
| | | | | | | | A simple fix for this one. This doesn't fix the general case, just the --compile case. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Fixes #3663 - It should be possible to list signed hosts onlyJames Turnbull2010-02-171-1/+7
| | | | Adds a --signed option to the --list feature that only displays signed certificates
* Feature #2276 Single Executable: Pass a commandline object to the applicationJesse Wolfe2010-02-176-10/+10
| | | | | | Refactor so that the command line options only get parsed once Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* Refactor #3706 Reify eigenclasses of ApplicationsJesse Wolfe2010-02-1710-75/+74
| | | | | | | | | | The Puppet::Application DSL is complicated by the fact that it operates on eigenclasses of instances of Puppet::Application, rather than subclassing it. This patch reifies the eigenclasses as subclasses of Puppet::Application. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* feature #2276 Single Executable: subcommand methodJesse Wolfe2010-02-176-16/+22
| | | | | | Extract the logic to determine the subcommand name into a method. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* feature #2276 Single Executable: "puppet describe"Jesse Wolfe2010-02-171-1/+1
| | | | | | Add "puppet describe" as the new invocation of "pi" Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* feature #2276 Single Executable: "puppet kick"Jesse Wolfe2010-02-171-1/+1
| | | | | | Add "puppet kick" as the new invocation of "puppetrun" Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* feature #2276 Single Executable: "puppet cert"Jesse Wolfe2010-02-171-1/+1
| | | | | | Add "puppet cert" as the new invocation of "puppetca" Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* feature #2276 Single Executable: "puppet master"Jesse Wolfe2010-02-171-2/+2
| | | | | | Add "puppet master" as the new invocation of "puppetmasterd" Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* Fix #3552 single executable should display usageJesse Wolfe2010-02-171-1/+1
| | | | | | | | | Added some tests to make the single executable command behavior explicit. Added logic to display the usage message if we're on a tty and no arguments are passed. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* Adding :catalog_terminus settingLuke Kanies2010-02-171-1/+4
| | | | | | | | | | This will rarely be used, but it enables even more architectural flexibility, such as precompiling catalogs and storing them in memcached or equivalent. With this setup, a single host can probably serve all catalogs and you would then just have as many compiling hosts as needed. Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* fixing obsolete comment in puppetdLuke Kanies2010-02-171-3/+3
| | | | Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* Renaming and fixing puppetrun tests.Luke Kanies2010-04-091-1/+4
| | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* REST FileBucket: REST barfs on relative pathsJesse Wolfe2010-02-171-1/+0
| | | | Force FileBucket to always send absolute (real) paths
* REST: hide Request objectJesse Wolfe2010-02-172-4/+2
| | | | | | This change to the REST branch restores some sanity by explicitly allowing a destination URL for indirector save() calls, removing a hack that I was using to accomplish this.
* Feature #3394 REST runner, executionJesse Wolfe2010-02-171-11/+13
| | | | puppetrun uses REST to trigger puppet runs.
* Feature #3383 RAL over RESTJesse Wolfe2010-02-171-42/+14
| | | | | | | | ralsh --host works now, and is using REST. A node running puppetd --listen will allow ralsh to find, search, and modify live resources, via REST. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
* Feature #3347 REST-ified FileBucketJesse Wolfe2010-02-172-5/+5
| | | | | | | | | | | | | | | | FileBucket Files have been reimplemented as an indirector terminus so that they can be transmitted over REST. The old Network::Client.dipper has been replaced with a compatibility later in FileBucket::Dipper that uses the indirector to access filebucket termini. Slightly revised patch: * No longer allows nil contents in FileBucket outside of initialization * Uses File.exist? instead of the deprecated File.exists? * Tweaks JSON serialization and de-serialization to include "path" Deferred issues: * Feature #3371 "FileBucket should not keep files in memory". * Feature #3372 "Replace FileBucket Dipper with more idiomatic calls"
* Renaming Parser::ResourceType to Resource::TypeLuke Kanies2010-02-172-2/+2
| | | | | | | | | | Basically, these classes (ResourceType and ResourceTypeCollection) don't really belong in Parser, so I'm moving them to the Resource namespace. This will be where anything RAL-related goes from now on, and as we migrate functionality out of Puppet::Type, it should go here. Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* Removing Interpreter classLuke Kanies2010-02-172-2/+2
| | | | | | | It's no longer necessary, given the new ResourceTypeCollection class. Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* Fixing fingerprint tests to work with new log validationLuke Kanies2010-02-171-1/+4
| | | | Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* Failing in app/puppet if facts are not foundLuke Kanies2010-02-171-1/+3
| | | | | | | This is a rare case in puppet, but at least will come up when we support routes. Signed-off-by: Luke Kanies <luke@madstop.com>
* Renaming the old puppet executableRein Henrichs2010-02-171-1/+1
|
* Renaming applications, mostly removing 'puppet'Luke Kanies2010-02-177-7/+7
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Merge branch '0.25.x'Markus Roberts2010-02-091-3/+8
|\ | | | | | | | | | | | | | | | | | | Conflicts: lib/puppet/agent.rb lib/puppet/application/puppet.rb lib/puppet/configurer.rb man/man5/puppet.conf.5 spec/integration/defaults.rb spec/unit/configurer.rb
| * Fixing #2914 - pre/post hooks now work for transactionsLuke Kanies2010-01-181-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was built to be used with etckeeper to version control files in /etc, but can be used for essentially anything. This patch was built to be added to 0.25.4, so it's a least-modify approach. A better approach would be to refactor application/puppet.rb just a bit so it uses Configurer more. This is a simple patch - it just defines 'prerun_command' and 'postrun_command' settings, and runs the appropriate command around each transaction if they're set. Signed-off-by: Luke Kanies <luke@reductivelabs.com>
* | Feature #2839 - fingerprint certificateBrice Figureau2010-01-192-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds several things: * certificate fingerprinting in --list mode * a puppetca action called "--fingerprint" to display fingerprints of given certificates (or all including CSR) * a --fingerprint puppetd option to display client certificates * each time a CSR is generated, its fingerprint is displayed in the log It is also possible to use --digest in puppetca and puppetd to specify a specific digest algorithm. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | Revert "Feature #2839 - fingerprint certificate"James Turnbull2010-01-191-6/+2
| | | | | | | | | | | | This reverts commit a9fb82b0026e75a670fec553b17de3b0f091c2a5. An older branch was pulled
* | Feature #2839 - fingerprint certificateBrice Figureau2010-01-181-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds two things: * certificate fingerprinting in --list mode * a puppetca action called "--fingerprint" to display fingerprints of given certificates It is also possible to use --digest to specify a specific digest algorithm. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | Feature #2395 - revoke when cleaning a certificate with puppetcaBrice Figureau2010-01-181-0/+1
| | | | | | | | | | | | | | | | As the ticket says: "the certificates would still be valid even if cleaned, therefore, it makes more sense revoke them instead." Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | Merge branch '0.25.x'James Turnbull2010-01-134-41/+16
|\| | | | | | | | | | | Conflicts: lib/puppet/ssl/host.rb spec/spec_helper.rb
| * Fixing failing testsMarkus Roberts2009-12-231-1/+0
| |
| * Fix for #2881 (ralsh doesn't find individual parsed resources)Markus Roberts2009-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than just creating a new featureless resource for cases like: ralsh host localhost.localdomain (and the analogous cases with other parsed resources such as ssh keys, etc), we first check to see if the appropriate provider can find a resource with the requested name. If so, we use it; if not we fall back to the featureless form. There are a number of potential shortcomings with this fix: * It may not be particularly performant if there are many resources to be parsed. * It always (and only) checks the first provider; perhaps it should try all providers of the appropriate type. * It only checks the name property, and not any aliases or host_aliases. Signed-off-by: Markus Roberts <Markus@reality.com>
| * Code smell reductionsMarkus Roberts2009-12-231-23/+8
| | | | | | | | | | | | These are a grab-bag of code simplification changes I made in the process of figuring out what was going on with #2881; they should all be absolutely behavior neutral.
| * Fix for #2943 (Make puppet --apply respect --preferred_serialization_format)Markus Roberts2009-12-211-1/+1
| | | | | | | | Signed-off-by: Markus Roberts <Markus@reality.com>
| * Fix for #2765 (--no-fqdn regression in puppetrun)Markus Roberts2009-12-201-2/+2
| | | | | | | | | | | | | | | | | | This is basically the fix suggested on the ticket, cleaned up and ruby-ized, with tests. The only functional modification is leaving the default on entry2hash as --no-fqdn to preserve 0.25.1 behaviour as the default. Signed- ff-by: Markus Roberts <Markus@reality.com>
| * Closed #2937 - Migrated a number of requires to featuresJames Turnbull2009-12-181-12/+3
| |
| * Fix #2783, take2 - puppetdoc should use environment to get ↵Brice Figureau2009-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | modulepath/manifestdir I was told that setting manifestdir in environment is not supported. Only the manifest setting seems to be supported in environments. This patch changes how puppetdoc handles manifestdir, instead of getting it through the manifestdir variable, we now get the manifest settings and infer the directory from this, exactly as the parser is doing. This allows puppetdoc to handle what user are doing with environments. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | Merge branch 'merge'Luke Kanies2009-12-212-11/+5
|\ \
| * | Merge branch '0.25.x'Luke Kanies2009-12-212-11/+5
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/puppet/agent.rb lib/puppet/application/puppetd.rb lib/puppet/parser/ast/leaf.rb lib/puppet/util/rdoc/parser.rb
| | * Fix for ticket #2700 -- check for @explicit_waitforcert in puppetd --testMarkus Roberts2009-11-201-1/+1
| | |
| | * Possible workaround for #2824 (MRI GC bug)Markus Roberts2009-11-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a moderately ugly workaround for the MRI garbage collection bug (see the ticket for details). I explored several other potential solutions (notably, monkey patching the routines that trigger the bug) but none of them were satisfactory. Monkey patching sub, gsub, sub!, gsub!, etc., for example, either changes the scoping of $~, $1, etc. in a way that could potentially subtly change the meaning of programs or (if you are clever) faithfully reproduces the behaviour of MRI--including the memory leak. I decided to go with the standardized and somewhat obnoxious never- used optional argument as it was easy to automatically insert and should be even easier to automatically find and remove if a better fix is developed. It also should be obtrusive enough to escape accidental removal in refactoring.
| | * Fix #2783 - Puppetdoc rdoc should use environment to get modulepath/manifestdirBrice Figureau2009-11-151-2/+3
| | | | | | | | | | | | | | | | | | | | | Puppetdoc wasn't using the current environment to find the correct modulepath and manifestdir. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| | * Re-fixed #2750 - Stop disabling the CRL or checking for a disabled CRLJohn A. Barbuto2009-10-271-7/+0
| | | | | | | | | | | | | | | | | | This was deprecated in commit 1cfb0215 and was keeping puppetd from starting in listen mode. Signed-off-by: John A. Barbuto <jbarbuto@corp.sourceforge.com>
| | * Fixed #2750 - Set :cacrl to nil instead of 'false' in puppetdJohn A. Barbuto2009-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The latter is deprecated and was keeping puppetd from starting. Also added a test and fixed a typo in another test. Signed-off-by: John A. Barbuto <jbarbuto@corp.sourceforge.com>
* | | Fix for #2959 (calling exit status on a nil report)Markus Roberts2009-12-181-1/+3
|/ / | | | | | | Signed-off-by: Markus Roberts <Markus@reality.com>
* / Fix #1934 - detailed-exitcodes for puppetdDeepak Giridharagopal2009-11-192-6/+17
|/ | | | | | | | | | | | | | | | | | | | | | This option only works when --onetime is specified, as it doesn't make much sense to worry about exit codes in the context of a long-running daemon. This required a refactoring of the existing --detailed-exitcodes code, as "puppetd" wasn't directly creating a transaction object (like "puppet" does). Added Report::exit_status, which did what was previously hard-coded into the "puppet" executable. An Agent's "run" method now returns a value (the result of the individual client class' "run" method) The "puppetd" agent's "run" method now returns a transaction report, as that seems like the logical thing to return as the result of applying a catalog. Signed-off-by: Deepak Giridharagopal <deepak@brownman.org>
* Bundling of pure ruby json lib as "pson"Markus Roberts2009-10-172-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bundeling and renaming the pure ruby json library to addresses a number of cross version serliaization bugs (#2615, et al). This patch adds a subset of the files from the json_pure gem to lib/puppet/external/pson (renamed to avoid conflicts with rails) so that we will always have a known-good erialization format available. The pure ruby json gem as distibuted defers to the compiled version if it is installed. This is problematic in some circumstances so the files that have been brought over have been modified to always and only use the bundled version. It's a large patch, so here's a breakdown of the change categories: The majority of the lines are only marginally interesting: * The json lib itself (in lib/puppet/external/pson) make up the bulk of the lines. * Renaming of json to pson make up the second largest group. Somewhat more interesting are the following, which can be located by searching the diffs for the indicated strings: * Adjusting tests to reflect the changes * Changing the encoding/decoding behavior so that nested structures (e.g. resources) don't serialize as escaped strings. This should make it much easier to process the results with external tools, if needed. Search for "to_pson" and "to_pson_data_hash" * Cleaning up the envelope/metadata * Now provides a document_type (as opposed to a ruby class name) by using a symple registration scheme instead of constant lookup (search for "document_type") * Added an api_version (search for "api_version") * Added a hash for document metadata (search for "metadata") * Removing the yaml monkeypatch and instead disabling yaml serialization on ruby 1.8.1 in favor of pson (search for "yaml") * Cleaning up the json/rails feature interaction (they're now totally independent) (search for "feature")
* Fixed #2702 - Set :outputdir to "doc" if not specifiedJohn A. Barbuto2009-10-101-0/+1
| | | | Signed-off-by: John A. Barbuto <jbarbuto@corp.sourceforge.com>
* Ticket 2559 -- parseonly ignored specified fileMarkus Roberts2009-08-221-0/+6
| | | | | | | | In the command-line option parsing refactor from 0.24.x the manifest specification was lost for --parseonly, so site.pp was always used. This patch adds the parsing back in. Signed-off-by: Markus Roberts <Markus@reality.com>