Skip to content

maal/rex-recipes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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",
      });
     
   };

About

Community Recipes for Rex

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Perl 100.0%