NAME

    Footprintless - A utility for managing systems with minimal installs

VERSION

    version 1.0

SYNOPSIS

      use Footprintless;
    
      my $footprintless = Footprintless->new();
    
      $footprintless->overlay('dev.foo.overlay')->initialize();
      $footprintless->service('dev.foo.service')->start();

DESCRIPTION

    This module is used to initialize the configuration and provide a
    factory for some of the core modules.

CONSTRUCTORS

 new(\%entity, %options)

    Creates a new Footprintless factory. Available options are:

    entities

      If supplied, entities will serve as the configuration for this
      instance.

    fpl_home

      The root folder for footprintless configuration. Defaults to the
      $FPL_HOME environment variable if set, ~/.footprintless if not.

    config_dirs

      The root folder(s) for configuration entities. Defaults to the
      $FPL_CONFIG_DIRS environment variable if set, $FPL_HOME/config if
      not. config_dirs can be a scalar (one directory), or an array ref if
      there is more than one directory. If set via the $FPL_CONFIG_DIRS
      environment variable, and you need more than one directory, use a ;
      to delimit on windows, or a : to delimit on *nix (same as the $PATH
      variable).

    config_properties

      The properties file(s) used for placeholder replacement for
      configuration entities. Defaults to the $FPL_CONFIG_PROPS environment
      variable if set, $FPL_HOME/properties.pl if not. config_properties
      can be a scalar (one file), or an array ref if there is more than one
      directory. If set via the $FPL_CONFIG_PROPS environment variable, and
      you need more than one directory, use a ; to delimit on windows, or a
      : to delimit on *nix (same as the $PATH variable).

    command_runner

      Sets the command_runner for this instance. Must be an a subclass of
      Footprintless::CommandRunner.

    localhost

      Sets the localhost resolver for this instance. Must be an instance or
      subclass of Footprintless::Localhost.

    command_options_factory

      Sets the command_options_factory for this instance. Must be an
      instance or subclass of Footprintless::CommandOptionsFactory.

METHODS

 agent()

    Returns the agent used by this instance.

 command_options_factory()

    Returns the command_options_factory used by this instance.

 command_runner()

    Returns the command_runner used by this instance.

 deployment($coordinate, %options)

    Returns a new instance of Footprintless::Deployment preconfigured to
    operate on the deployment at $coordinate. Supported options are

    command_options_factory

      A command_options_factory to use instead of that which is supplied by
      this footprintless instance.

    command_runner

      A command_runner to use instead of that which is supplied by this
      footprintless instance.

    localhost

      A localhost to use instead of that which is supplied by this
      footprintless instance.

    resource_manager

      A resource_manager to use instead of that which is supplied by this
      footprintless instance.

 entities()

    Returns the Config::Entities that were resolved by this footprintless
    instance.

 localhost()

    Returns the localhost resolver used by this instance.

 log($coordinate, %options)

    Returns a new instance of Footprintless::Log preconfigured to operate
    on the log at $coordinate. Supported options are

    command_options_factory

      A command_options_factory to use instead of that which is supplied by
      this footprintless instance.

    command_runner

      A command_runner to use instead of that which is supplied by this
      footprintless instance.

    localhost

      A localhost to use instead of that which is supplied by this
      footprintless instance.

 overlay($coordinate, %options)

    Returns a new instance of Footprintless::Overlay preconfigured to
    operate on the overlay at $coordinate. Supported options are

    command_options_factory

      A command_options_factory to use instead of that which is supplied by
      this footprintless instance.

    command_runner

      A command_runner to use instead of that which is supplied by this
      footprintless instance.

    localhost

      A localhost to use instead of that which is supplied by this
      footprintless instance.

    resource_manager

      A resource_manager to use instead of that which is supplied by this
      footprintless instance.

 resource_manager()

    Returns the resource_manager used by this instance.

 service($coordinate, %options)

    Returns a new instance of Footprintless::Service preconfigured to
    operate on the service at $coordinate. Supported options are

    command_options_factory

      A command_options_factory to use instead of that which is supplied by
      this footprintless instance.

    command_runner

      A command_runner to use instead of that which is supplied by this
      footprintless instance.

    localhost

      A localhost to use instead of that which is supplied by this
      footprintless instance.

AUTHOR

    Lucas Theisen <lucastheisen@pastdev.com>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2016 by Lucas Theisen.

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

SEE ALSO

    Please see those modules/websites for more information related to this
    module.

      * Footprintless::Deployment

      * Footprintless::Log

      * Footprintless::Overlay

      * Footprintless::Service

      * https://github.com/lucastheisen/footprintless