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.