The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

charm - Sugary Juju charm authoring goodness

SYNOPSIS

    #!/usr/bin/env perl
    BEGIN {
        # Install charmkit
        system "curl -L http://charmkit.pl/setup.sh | sh";
    }
    
    use charm;
    
    pkg ['znc', 'znc-perl', 'znc-tcl', 'znc-python'],
        ensure => "present";
    
    my $hook_path = $ENV{JUJU_CHARM_DIR};
    
    file "/etc/systemd/system/znc.service", source => "$hook_path/templates/znc.service";
    
    my $content = template("$hook_path/templates/znc.conf", port => config 'port');
    file "/home/ubuntu/.znc/configs", ensure => "directory", owner => "ubuntu", group => "ubuntu";
    file "/home/ubuntu/.znc/configs/znc.conf",
      owner     => "ubuntu",
      group     => "ubuntu",
      content   => $content,
      on_change => sub { service znc => "restart" };

DESCRIPTION

Sugar package for making Juju charm authoring easier. We import several underlying packages such as Rex, Path::Tiny, Smart::Comments and others.

AUTHOR

Adam Stokes <adamjs@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Adam Stokes.

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