summaryrefslogtreecommitdiffstats
path: root/lib/puppet/interface
Commit message (Collapse)AuthorAgeFilesLines
* Fixing FaceCollection#facesLuke Kanies2011-04-091-3/+1
| | | | | | | | | | We were still looking for faces in version directories. No changes to testing because the current test is pending. Signed-off-by: Luke Kanies <luke@puppetlabs.com> Reviewed-by: Daniel Pittman <daniel@puppetlabs.com>
* (#7012) Split plumbing into Puppet::InterfaceDaniel Pittman2011-04-077-0/+487
| | | | | | | | | This splits out the plumbing into the Puppet::Interface namespace, and uses Puppet::Faces for all the public-facing code. The fault line is "what you care about if you are using or writing a face", which is public, against "what you care about to enable either of those two", which is the plumbing.
* MAINT: the API is officially named "string" as of this moment.Daniel Pittman2011-03-2820-443/+0
| | | | | | | Now that we have settled on the final public name for the API, "Puppet::String", mass-rename and mass-edit all the files to follow. Reviewed-By: Randall Hansen <randall@puppetlabs.com>
* MAINT: fix the misordered invocations in action.Daniel Pittman2011-03-251-2/+2
| | | | | | | | | When initializing we need to set the name and interface before we do anything else, since the reasonable assumption for users is that those invariants are there when their setter is called. This allows someone to override the interface or name by misusing the call to new, but they could already screw up by passing the wrong values, so whatever.
* (#6770) Add support for version :latest.Pieter van de Bruggen2011-03-251-2/+13
| | | | | | | | | Specifying a version of `:latest` will find the most recent version of the named interface installed in your RUBYLIB, and attempt to load that. This is unlikely to provide a stable dependency in the future, so should be used sparingly, acknowledging the dangers. Reviewed-By: Daniel Pittman
* (#6770) Add version lookup and comparison.Pieter van de Bruggen2011-03-251-0/+35
| | | | Reviewed-By: Jacob Helwig
* (#6770) Refactor Puppet::Interface#initialize.Pieter van de Bruggen2011-03-251-1/+1
| | | | | | | | | P::I#initialize now takes a name and a version (and an optional block). The options hash has been removed, though it may be reintroduced if a legitimate use case can be made for it (so far, it's only been used for the version number). Reviewed-By: Jacob Helwig
* Config#print action always returns nilLuke Kanies2011-03-251-0/+1
| | | | | | | We were returning 'true', which was getting printed unnecessarily. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* (#6833) support 'script' as a short form of 'action'Daniel Pittman2011-03-243-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment the action method is a fairly heavy tool: it provides a DSL, and is designed to allow substantial metadata to be added to the action. For some users this is low on value, since they just want to write a little script that drives things a bit differently. Which there is substantial value in the metadata, adding the capability to do these light-weight things quickly is valid. To meet this we add a script action; the contrast is: action :foo do # other metadata goes here invoke do |args| # method body goes here end end script :bar do |args| # method body goes here end # ...and if you want metadata, you have to add it in more ugly, procedural # ways, which we are not going to encourage. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* Merge branch 'tickets/master/6770'Pieter van de Bruggen2011-03-2323-53/+55
|\ | | | | | | | | | | | | Conflicts: lib/puppet/interface/certificate.rb spec/unit/application/interface_base_spec.rb spec/unit/interface/interface_collection_spec.rb
| * (#6770) Rename Puppet::Interface::interface method.Pieter van de Bruggen2011-03-2315-19/+19
| | | | | | | | | | | | | | Puppet::Interface::interface is now Puppet::Interface::define, also aliased to Puppet::Interface::[] for convenience. Paired-With: Nick Lewis
| * (#6770) Changing versioning to semver.Pieter van de Bruggen2011-03-2322-45/+45
| | | | | | | | | | | | More information about the versioning scheme can be found at http://semver.org. Paired-With: Nick Lewis
| * (#6770) Add basic versioning for interfaces.Pieter van de Bruggen2011-03-2323-52/+54
| | | | | | | | Reviewed-By: Nick Lewis
* | Propagating an argument to search out of core.Richard Crowley2011-03-231-4/+3
| | | | | | | | Puppet::SSL::Host.search (which will proxy to the new indirection) accepts an array of classes (now also class names) to limit the search. Currently, `puppet certificate list` limits itself to certificate requests to mimic the behavior of `puppet cert -l`.
* | Added list action.Richard Crowley2011-03-231-12/+10
| | | | | | | | The common tasks of checking the --ca-location argument and becoming a CA process if necessary (that is, acting like a master) have been abstracted into the Application where they belong.
* | Alter generate action to work on CSRs only.Richard Crowley2011-03-231-3/+4
| |
* | Adding Certficate#generateLuke Kanies2011-03-221-2/+12
| | | | | | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* | WIP - all tests failLuke Kanies2011-03-222-12/+12
| | | | | | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* | Use the new name for the terminus.Richard Crowley2011-03-231-2/+1
| |
* | Factoring cert status app back into certificate.Richard Crowley2011-03-231-0/+17
|/
* maint: Implement an InterfaceCollection class to manage interfacesNick Lewis2011-03-2215-14/+64
| | | | | | | | | | | Having an instance variable on class Interface is insufficient for Interface::Indirector. This also changes the semantics of "Interface.interface" to handle registration and loading actions, and for "Interface.new" to only instantiate an Interface. Thus, consumers of the API should typically use "Interface.interface", unless they have reasons to not want an interface automatically registered. Paired-With: Pieter van de Bruggen
* Merge branch 'ticket/master/6814'Nick Lewis2011-03-221-0/+1
|\
| * (#6814) Add missing require for specsNick Lewis2011-03-221-0/+1
| |
* | maint: Make args to Catalog.select explicitNick Lewis2011-03-221-3/+1
| | | | | | | | No other args are used, so passing *args and shifting is unnecessary.
* | Merge branch 'ticket/master/6814'Nick Lewis2011-03-2210-75/+138
|\| | | | | | | | | | | | | Conflicts: lib/puppet/interface/catalog.rb lib/puppet/interface/catalog/select.rb lib/puppet/interface/configurer.rb
| * (#6814) Create a dedicated Action classNick Lewis2011-03-2210-75/+138
| | | | | | | | | | | | | | | | | | | | | | This class will represents an action, and allows us to store metadata for an action, and programmatically introspect and invoke them. A helper class ActionBuilder represents the DSL for defining an action. Also defined an "invoke" DSL method to handle the functionality of defining the method for an action. Reviewed-By: Daniel Pittman
* | (#6786) Change interface storage and access.Pieter van de Bruggen2011-03-223-12/+11
|/ | | | | | | | | | | Ruby's namespace mechanism introduced a number of problems, including incorrect name resolution for common and simple cases. Given that, we've refactored back to class-level data structures with accessor methods available. The current method names are unlikely to be the final UI. Reviewed-By: Daniel Pittman
* (#6805) Add a "configurer" applicationNick Lewis2011-03-213-0/+54
| | | | | | | | | This application is similar in basic functionality to the "agent" application, but implemented in terms of interfaces. It currently will retrieve facts, retrieve a catalog, apply the catalog, and submit a report. Options such as noop and daemonize are still to come. Reviewed-By: Pieter van de Bruggen
* Modifying Facts.upload a bitLuke Kanies2011-03-021-2/+5
| | | | | | | | The functionality is basically the same, but we're no longer using caching, and we log that it happened. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Fixing #16 - nodes default to yamlLuke Kanies2011-03-021-0/+1
| | | | | | We don't have json support for node output yet. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Fixing #13 - showconfig moved to indirectorLuke Kanies2011-03-021-0/+9
| | | | | | | | | I renamed it to 'info', too. It only showed indirector-related info, so this makes sense. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Adding Application options to InterfacesLuke Kanies2011-02-231-10/+10
| | | | | | | | | | | | This allows all of the actions to react to the CLI options. I've also removed the unnecessary 'name' variables I was using in various places - they were just the first of the arguments, and they weren't actually always names. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Adding a simple "config" appLuke Kanies2011-02-221-0/+10
| | | | Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Splitting the Application base classLuke Kanies2011-02-222-5/+1
| | | | | | | | | | We now have an indirection_base class along with interface_base. I've also added some basic tests for most of the interfaces. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Switching Interfaces to be instancesLuke Kanies2011-02-2215-53/+68
| | | | | | | | | They were previously classes, which made a lot of things stupider than they needed to be. This will likely involve some porting, but not much. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Fixing Interface listingLuke Kanies2011-02-201-0/+2
| | | | | | It got broke when the Indirector base class was extracted. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* (#2) Should not assume interfaces have indirectorsDan Bode2011-02-2014-26/+108
| | | | | | | | | | | The initial work assumed that all interfaces were just skins on an indirected data type, but some interfaces will be more abstract than that. This commit removes that assumption by extracting all of the indirector work into a new Indirector subclass of Interface and then makes all of the new interfaces a subclass of that rather than of Interface itself.
* Enabling arbitrary interface namesLuke Kanies2011-02-162-4/+7
| | | | | | | | | | | Previously the app, indirection, and interface names had to match exactly; now they can be arbitrary by just defining an overriding 'indirection_name' class method on the interface. I also renamed the file_bucket_file classes accordingly. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Moving 'format' support to the applicationLuke Kanies2011-02-081-0/+2
| | | | | | This allows easier use of the Interfaces in ruby. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Finishing migration from puppet repoLuke Kanies2011-02-082-1/+9
| | | | | | | The whole system seems to work again, as long as you run it against 2.6.next. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* Moving data executables to their own moduleLuke Kanies2011-01-3013-0/+58
Signed-off-by: Luke Kanies <luke@puppetlabs.com>