Apache-Session-Browseable
view release on metacpan or search on metacpan
lib/Apache/Session/Browseable/LDAP.pm view on Meta::CPAN
ldapConfBase => 'dmdName=applications,dc=example,dc=com',
ldapBindDN => 'cn=admin,dc=example,dc=com',
ldapBindPassword => 'pass',
Index => 'uid ipAddr',
ldapObjectClass => 'applicationProcess',
ldapAttributeId => 'cn',
ldapAttributeContent => 'description',
ldapAttributeIndex => 'ou',
ldapVerify => 'require',
ldapCAFile => '/etc/ssl/certs/ca-certificates.crt',
ldapTimeout => 10,
};
=head1 DESCRIPTION
This module is an implementation of Apache::Session. It uses an LDAP directory
to store datas.
=head1 COPYRIGHT AND LICENSE
=encoding utf8
lib/Apache/Session/Browseable/Patroni.pm view on Meta::CPAN
DataSource => 'dbi:Pg:dbname=sessions',
UserName => $db_user,
Password => $db_pass,
Commit => 1,
# List Patroni API endpoints (comma or space separated)
# Put preferred (local) endpoints first
PatroniUrl => 'http://1.2.3.4:8008/cluster, http://2.3.4.5:8008/cluster',
# Optional parameters with defaults:
# PatroniTimeout => 3, # API request timeout in seconds
# PatroniCacheTTL => 60, # Leader cache TTL in seconds
# PatroniCircuitBreakerDelay => 30, # Delay before retrying failed API
# SSL options (verification enabled by default):
# PatroniVerifySSL => 1, # Verify SSL certificates (default: 1)
# PatroniSSLCAFile => '/path/to/ca.pem', # Custom CA file
# PatroniSSLCAPath => '/path/to/certs/', # Custom CA directory
};
# Use it like L<Apache::Session::Browseable::PgJSON>
lib/Apache/Session/Browseable/Store/LDAP.pm view on Meta::CPAN
(
$self->{args}->{ldapRaw} ? ( raw => $self->{args}->{ldapRaw} )
: ()
),
(
$self->{args}->{ldapPort} ? ( port => $self->{args}->{ldapPort} )
: ()
),
(
$self->{args}->{ldapTimeout}
? ( timeout => $self->{args}->{ldapTimeout} )
: ()
),
) or die( 'Unable to connect to ' . join( ' ', @servers ) . ": " . $@ );
# Check SSL error for old Net::LDAP versions
if ( $Net::LDAP::VERSION < '0.64' ) {
# CentOS7 has a bug in which IO::Socket::SSL will return a broken
# socket when certificate validation fails. Net::LDAP does not catch
# it, and the process ends up crashing.
lib/Apache/Session/Browseable/Store/Patroni.pm view on Meta::CPAN
else {
%ssl_opts = (
verify_hostname => 0,
SSL_verify_mode => &IO::Socket::SSL::SSL_VERIFY_NONE,
);
}
my $ua = LWP::UserAgent->new(
env_proxy => 1,
ssl_opts => \%ssl_opts,
timeout => $args->{PatroniTimeout} || 3,
);
my $res;
foreach my $patroniUrl ( split /[,\s]\s*/,
( $args->{PatroniUrl} || $args->{patroniUrl} ) )
{
my $resp = $ua->get($patroniUrl);
if ( $resp->is_success ) {
my $c = eval { JSON::from_json( $resp->decoded_content ) };
if ( $@ or !$c->{members} or ref( $c->{members} ) ne 'ARRAY' ) {
( run in 1.570 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )