summaryrefslogtreecommitdiffstats
path: root/lib/KiokuDB/Serializer/YAML/Crypt.pm
blob: 5f6f85bc1f733ce323963a3b25004b5379a50984 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package KiokuDB::Serializer::YAML::Crypt;
use Moose;
use namespace::autoclean;

# ABSTRACT: encrypted YAML serializer

=head1 SYNOPSIS

  use KiokuDB::Util;
  use KiokuDB::Serializer::YAML::Crypt;

  my $dsn    = '...';
  my $secret = '...';

  my $backend = KiokuDB::Util::dsn_to_backend(
      $dsn,
      serializer => KiokuDB::Serializer::YAML::Crypt->new(
          crypt_cipher => 'Rijndael',
          crypt_mode   => 'CFB',
          crypt_key    => $secret,
      ),
  )

  my $d = KiokuDB->new(backend => $backend);

=head1 DESCRIPTION

This serializer class extends L<KiokuDB::Serializer::YAML> to add
encryption support. See L<KiokuDB::Serializer::Crypt> for an explanation of the
allowed attributes.

=cut

extends 'KiokuDB::Serializer::YAML';
with 'KiokuDB::Serializer::Crypt';

__PACKAGE__->meta->make_immutable;

1;