App::Provision::Tiny(3)

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.