The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

metabase-relayd - A relay server for Metabase

VERSION

version 0.42

SYNOPSIS

 metabase-relayd [options]

 Options:
   --debug            - display interesting things;
   --help               - Display program usage;
   --version        - Display program version;
   --url URI        - The URI of a Metabase server to use;
   --idfile       - The path to an ID file to use;
   --dbfile       - The path to the database file to use;
   --address      - A particular IP address to listen on;
   --port         - The TCP port to listen on;
   --multiple     - Whether to use multiple HTTP clients;
   --submissions  - control the number of 'multiple' clients;
   --offline      - disable report submissions to the Metabase;
   --nocurl       - disable automatic usage of POE::Component::Curl::Multi;

DESCRIPTION

metabase-relayd is a Metabase relay server that acts an intermediate between Test::Reporter::Transport::Socket based CPAN Tester clients and a Metabase server.

COMMAND LINE OPTIONS

Command line options override options given in the "CONFIGURATION FILE"

--debug

Turns on all output.

--help

Displays program usage and exits.

--version

Displays the program version and exits.

--idfile FILE

Specify a Metabase ID file to use.

The default is metabase_id.json located in the .metabase directory.

--dbfile FILE

Specify the file that DBD::SQLite will use for the queue storage.

The default is relay.db located in the .metabase directory.

--url URI

The URL of a Metabase server to send reports to.

--address IP_ADDRESS

Specify a particular IP address for the listening socket to bind to. The default is INADDR_ANY. This may also be a comma-separated list of IP addresses, if you wish to bind to more than one address.

--port TCP_PORT

Specify the TCP port for the listening socket to bind to. The default is 0, ie. pick a random port.

--multiple

By default a single POE::Component::Client::HTTP instance is created and used to send each report. Enabling this option means that a new instance of POE::Component::Client::HTTP will be created for each report submitted.

--submissions INTEGER

In conjunction with multiple controls the number of concurrent submissions to the Metabase.

--offline

Enable this so that reports are recorded to the database but not submitted to the Metabase.

--nocurl

Enable this to disable automatic usage of POE::Component::Curl::Multi.

CONFIGURATION FILE

A number of the above options may be specified in a configuration file, relayd, that is stored in the .metabase directory. See "ENVIRONMENT" for where the .metabase directory is located and how to effect its location.

Command line options will override options from the configuration file.

The configuration file is parsed using Config::Tiny.

A subset of the command line options can be specified in the configuration file:

debug=BOOL

Set to a true value to turn on all output.

  debug=1
idfile=FILE

Specify a Metabase ID file to use.

  idfile=/home/bingos/.metabase/id.json

The default is metabase_id.json located in the .metabase directory.

dbfile=FILE

Specify the file that DBD::SQLite will use for the queue storage.

  dbfile=/home/bingos/.metabase/relaydb

The default is relay.db located in the .metabase directory.

url=URI

The URL of a Metabase server to send reports to.

  url=https://metabase.example.url/
address=IP_ADDRESS

Specify a particular IP address for the listening socket to bind to. The default is INADDR_ANY. This may also be a comma-separated list of IP addresses, if you wish to bind to more than one address.

  address=192.168.0.254

  address=192.168.0.254,127.0.0.1
port=TCP_PORT

Specify the TCP port for the listening socket to bind to. The default is 0, ie. pick a random port.

  port=8080
multiple=BOOL

By default a single POE::Component::Client::HTTP instance is created and used to send each report. Enabling this option means that a new instance of POE::Component::Client::HTTP will be created for each report submitted.

  multiple=1
submissions=INTEGER

In conjunction with multiple controls the number of concurrent submissions to the Metabase.

  submissions=10
offline=BOOL

Enable this so that reports are recorded to the database but not submitted to the Metabase.

  offline=1
nocurl=BOOL

Enable this to disable automatic usage of POE::Component::Curl::Multi.

  nocurl=1

ENVIRONMENT

metabase-relayd uses the .metabase directory to locate the configuration file, relayd.

This is usually located in the current user's home directory. Setting the environment variable PERL5_MBRELAYD_DIR will effect where the .metabase directory is located.

KUDOS

Thanks go to Ricardo SIGNES for CPAN::Mini which inspired the design of this script/module.

SEE ALSO

http://www.cpantesters.org/ - CPAN Testers: Index

http://wiki.cpantesters.org/ - CPAN Testers Wiki

http://stats.cpantesters.org/ - CPAN Testers Statistics

Metabase

DBD::SQLite

Config::Tiny

POE::Component::Metabase::Relay::Server

AUTHOR

Chris Williams <chris@bingosnet.co.uk>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Chris Williams.

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