Skip to content

Latest commit

 

History

History
123 lines (66 loc) · 2.31 KB

README.pod

File metadata and controls

123 lines (66 loc) · 2.31 KB

WHAT'S THIS?

This is a community repository for Rex Recipes.

Everyone is invited to fork this repository and do pull requests.

USAGE

As of Rex Version 0.25 there will be a command for rexify to search and download recipes for own Rex projects.

rexify --search mysql
rexify <projectname> [directory] --use Database::MySQL
rexify <projectname> [directory] --use Database::MySQL --use Webserver::Apache ...

HOWTO CONTRIBUTE

  • Choose a category.

    For example if you are developing a recipe for a Webserver like Apache, nginx, ... use the Webserver category. If you are developing a recipe for Usermanagement use the Category User.

    You can create new categories if there is no category that suite your needs.

    If you don't know which category to use, just use the "Misc" category.

  • I don't want to dictate style guides. Just have fun.

    For reference, i use space indention with 3 spaces.

EXAMPLE RECIPE

What every Recipe needs:

  • AUTHOR

    This should be your name and (only if you want) your email address, where people can contact you if they have questions.

  • REQUIRES

    If your recipe depends on other recipes, list them here.

  • LICENSE

    The license of your recipe.

  • A description (see the example)

  • Documentation. Later there will be a website where every module will be listet with its documentation. So please provide some end user documentation :)

This is a skeleton recipe.

#
# AUTHOR: jan gehring <[email protected]>
# REQUIRES: recipe1, recipe2
# LICENSE: GPLv3
#
# This is the description of what the recipe is doing.
# This description can be multiline. This Description will be
# searched and displayed by the rexify command line client.

package Database::MySQL;
   
use Rex -base;
   
task "prepare", sub {
    
    my ($param) = @_;
       
    say "foo ist: " . $param->{foo};
    install package => "mysql";
   
};
  
1;
    
=pod
   
=head2 MySQL Module
    
This module installs MySQL on your machine.
   
=head2 USAGE
   
   rex -H hostname Database:MySQL:prepare --foo=bar
   
Or, to use it as a library:
    
   use Database::MySQL;
       
   task "prepare", sub {

      Database::MySQL::prepare({
         foo => "bar",
      });
     
   };