=encoding utf8 =head1 NAME Dancer2::Plugin::Etcd =head1 SYNOPSIS get '/foo/:name' => sub { $tokens = shift; $etcd = etcd('foo'); $name = param('name'); $tokens->{name} = $etcd->range({ key => $name })->get_value; [ ... ] }; # save development configs to etcd shepherd put # retrieve latest version of configs shepherd get =head1 DESCRIPTION The C keyword which is exported by this plugin allows you to connect directly to etcd v3 api. =head1 shepherd By far the most interesting part of this module is shepherd. shepherd allows you to save Dancer App YAML configs to etcd by line as key/value. Even more interesting is that it maintains your comments. An example of usage would be spawning a container with the application then simply running shepherd get --env=production would bring in the latest production configs for your app. =head1 CONFIGURATION single e.g.: plugins: Etcd: host: 127.0.0.1 port: 4001 user: samb password: h3xFu5ion ssl: 1 named e.g.: plugins: Etcd: connections: foo: host: 127.0.0.1 port: 4001 user: samb password: h3xFu5ion bar: host: 127.0.0.1 port: 2379 =head1 CAVEATS ### NOTE: This module is experimental only do not use in production. =head2 connections =head2 host default 127.0.0.1 =head2 port default 2379 =head2 etcd_connection_name =head2 username Etcd username. =head2 password Etcd user password. =head2 ssl Secure connection is recommended, =head1 KEYWORDS =head2 etcd =head1 AUTHOR Sam Batschelet, =head1 ACKNOWLEDGEMENTS The L developers and community for their great application framework and for their quick and competent support. =head1 LICENSE AND COPYRIGHT Copyright 2017 Sam Batschelet (hexfusion). This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.