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