NAME

App::Provision::Tiny - Provision computers

VERSION

version 0.0405

SYNOPSIS

# With the module:
use App::Provision::Foo;
$foo = App::Provision::Foo->new;
print join(', ', $foo->deps), "\n"; # Just for info, currently
$foo->meet;

# Command line examples:
> provis wget
> provis ssh --keytype dsa --keyname github
> provis foundation --release x.y.z --site /the/www/site/root

DESCRIPTION

An App::Provision::Tiny together with a sub-classed recipe module (like Foo), contain the methods to provision a workstation or server.

* Currently, the included recipes are for homebrew or apt based machines.

METHODS

new()

$app = App::Provision::Tiny->new(%arguments);

Create a new App::Provision::Tiny object.

Argument: default

system:  osx
program: undef
release: undef
repo:    undef
site:    undef
keytype: undef
keyname: undef

condition()

This is the condition to check for the presence of a program, and should be redefined in your subclass, if anything beyond a simple `which program` is needed.

recipe()

This is the actual set of steps to take to check for and install a program, and should be used, or redefined, in your subclass, in the meet() method.

The steps can be simple system (i.e. "shell") commands or complex perl. By default, this base recipe uses the system_install() method.

system_install()

Use a simple system(@command) function to install the program.

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by Gene Boggs.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.