Group
Extension

App-CharmKit/lib/App/CharmKit/Manual/GettingStarted.pod

# PODNAME: GettingStarted
# ABSTRACT: Quickly get up and running with CharmKit

=head1 Getting Started

Follow the same guidelines as normal for creating a Juju charm.

=head2 Directory Layout

Structure your project should look similar to:

  charm-project/
    hooks/
      install
      config-changed
      start
      stop
    tests/
      00-basic.test
    lib/
      myplugin.pm
    t/
      00_unittest1.t
    config.yaml
    metadata.yaml
    LICENSE
    README.md

=head2 Writing charm hooks

Hooks are written using perl with automatically imported helpers for convenience.
When developing hooks they should reside in B<hooks>.

A requirement for all charms using this library is to make sure to "bootstrap" the
B<install> hook. For example, edit B<hooks/install>

   #!/usr/bin/env perl

   # Setup correct paths

   use FindBin;
   use lib "$Bin/../lib";

   use charm;

   pkg [
    'nginx-full', 'php-fpm',      'php-cgi',      'php-curl', 'php-gd', 'php-json',
    'php-mcrypt', 'php-readline', 'php-mbstring', 'php-xml'
   ],
   ensure    => "present",
   on_change => sub { say "All latest packages installed."; };

   my $hook_path = $ENV{JUJU_CHARM_DIR};

=cut


Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.