Skip to content

Commit

Permalink
updated docs, coverage skips, stopwords, and README
Browse files Browse the repository at this point in the history
  • Loading branch information
xdg committed May 4, 2012
1 parent 186f48d commit 9936b08
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 17 deletions.
73 changes: 69 additions & 4 deletions README.pod
Expand Up @@ -48,20 +48,31 @@ Prints to STDOUT a list of nodes managed within the pantry.

=head2 Managing nodes

In this section, when a node NAME is required, the name is
expected to be a valid DNS name or IP address. The name
will be converted to lowercase for consistency.

Also, whenever a command takes a single 'node NAME' target,
you may give a single dash ('-') as the NAME and the command
will be run against a list of nodes read from STDIN.

You can combine this with the C<pantry list> command to do
batch operations. For example, to sync all nodes:

$ pantry list nodes | pantry sync node -

=head3 create

$ pantry create node NAME

Creates a node configuration file for the given C<NAME>. The C<NAME>
must be a valid DNS name or IP address.
Creates a node configuration file for the given C<NAME>.

=head3 rename

$ pantry rename node NAME DESTINATION

Renames a node to a new name. The old node data file
is renamed. The C<NAME> must exist and the
C<DESTINATION> must be a valid DNS name or IP address.
is renamed. The C<NAME> must exist.

=head3 delete

Expand Down Expand Up @@ -151,6 +162,21 @@ The resulting file must be valid JSON in a form acceptable to Chef. Generally,
you should use the C<apply> or C<strip> commands instead of editing the node
file directly.

=head2 Getting help

=head3 commands

$ pantry commands

This gives a list of all pantry commands with a short description of each.

=head3 help

$ pantry help COMMAND

This gives some detailed help for a command, including the options and
arguments that may be used.

=head1 AUTHENTICATION

C<pantry> relies on OpenSSH for secure communications with managed nodes,
Expand Down Expand Up @@ -185,6 +211,45 @@ C<ssh-add>:
See the documentation for C<ssh-add> for control over how long keys
stay unlocked.

=head1 ROADMAP

In the future, I hope to extend pantry to support some or all of the following:

=over 4

=item *

Chef role creation and application

=item *

environments

=item *

tagging nodes

=item *

searching nodes based on configuration

=item *

data bags

=item *

cookbook download from Opscode community repository

=item *

bootstrapping Chef over ssh

=back

If you are interested in contributing features or bug fixes, please let me
know!

=head1 SEE ALSO

Inspiration for this tool came from similar chef-solo management tools.
Expand Down
11 changes: 6 additions & 5 deletions dist.ini
Expand Up @@ -13,13 +13,14 @@ match = ^dev_notes/.*
[@DAGOLDEN]
:version = 0.028
no_bugtracker = 1
stopwords = subcommand
stopwords = DNS
stopwords = OpenSSH
stopwords = ROADMAP
stopwords = littlechef
stopwords = subshell
stopwords = wildcard
stopwords = DNS
stopwords = subkeys
stopwords = runlist
stopwords = subcommand
stopwords = subkeys
stopwords = subshell
stopwords = thawer
stopwords = wildcard

6 changes: 2 additions & 4 deletions lib/Pantry/App/Command.pm
Expand Up @@ -227,14 +227,12 @@ sub data_options {
1;

=for Pod::Coverage
command_type
valid_types
data_options
help_type
options
options_desc
pantry
target_desc
target_description
target_usage
validate
=head1 DESCRIPTION
Expand Down
50 changes: 46 additions & 4 deletions pod/bin/pantry
Expand Up @@ -40,20 +40,31 @@ Prints to STDOUT a list of nodes managed within the pantry.

=head2 Managing nodes

In this section, when a node NAME is required, the name is
expected to be a valid DNS name or IP address. The name
will be converted to lowercase for consistency.

Also, whenever a command takes a single 'node NAME' target,
you may give a single dash ('-') as the NAME and the command
will be run against a list of nodes read from STDIN.

You can combine this with the C<pantry list> command to do
batch operations. For example, to sync all nodes:

$ pantry list nodes | pantry sync node -

=head3 create

$ pantry create node NAME

Creates a node configuration file for the given C<NAME>. The C<NAME>
must be a valid DNS name or IP address.
Creates a node configuration file for the given C<NAME>.

=head3 rename

$ pantry rename node NAME DESTINATION

Renames a node to a new name. The old node data file
is renamed. The C<NAME> must exist and the
C<DESTINATION> must be a valid DNS name or IP address.
is renamed. The C<NAME> must exist.

=head3 delete

Expand Down Expand Up @@ -143,6 +154,21 @@ The resulting file must be valid JSON in a form acceptable to Chef. Generally,
you should use the C<apply> or C<strip> commands instead of editing the node
file directly.

=head2 Getting help

=head3 commands

$ pantry commands

This gives a list of all pantry commands with a short description of each.

=head3 help

$ pantry help COMMAND

This gives some detailed help for a command, including the options and
arguments that may be used.

=head1 AUTHENTICATION

C<pantry> relies on OpenSSH for secure communications with managed nodes,
Expand Down Expand Up @@ -177,6 +203,22 @@ C<ssh-add>:
See the documentation for C<ssh-add> for control over how long keys
stay unlocked.

=head1 ROADMAP

In the future, I hope to extend pantry to support some or all of the following:

=for :list
* Chef role creation and application
* environments
* tagging nodes
* searching nodes based on configuration
* data bags
* cookbook download from Opscode community repository
* bootstrapping Chef over ssh

If you are interested in contributing features or bug fixes, please let me
know!

=head1 SEE ALSO

Inspiration for this tool came from similar chef-solo management tools.
Expand Down

0 comments on commit 9936b08

Please sign in to comment.