Merge lp:~marcoceppi/juju-core/charm-tools into lp:juju-core/docs

Proposed by Marco Ceppi
Status: Merged
Merged at revision: 85
Proposed branch: lp:~marcoceppi/juju-core/charm-tools
Merge into: lp:juju-core/docs
Diff against target: 278 lines (+266/-0)
2 files modified
htmldocs/charm-tools.html (+254/-0)
htmldocs/css/main.css (+12/-0)
To merge this branch: bzr merge lp:~marcoceppi/juju-core/charm-tools
Reviewer Review Type Date Requested Status
charmers Pending
Review via email: mp+183265@code.launchpad.net

Description of the change

Add charm-tools documentation

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'htmldocs/charm-tools.html'
2--- htmldocs/charm-tools.html 1970-01-01 00:00:00 +0000
3+++ htmldocs/charm-tools.html 2013-08-30 19:58:02 +0000
4@@ -0,0 +1,254 @@
5+<!DOCTYPE html>
6+<html>
7+ <head>
8+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9+ <title>Juju Documentation - Charm Tools</title>
10+ <link href='https://fonts.googleapis.com/css?family=Ubuntu:400,300,300italic,400italic,700,700italic|Ubuntu+Mono' rel='stylesheet' type='text/css' />
11+ <link rel="stylesheet" type="text/css" media="screen" href="//juju.ubuntu.com/wp-content/themes/juju-website/css/reset.css" />
12+ <link rel="stylesheet" type="text/css" media="screen" href="//juju.ubuntu.com/wp-content/themes/juju-website/css/960.css" />
13+ <link rel="stylesheet" type="text/css" media="screen" href="//juju.ubuntu.com/wp-content/themes/juju-website/css/base.css" />
14+ <link rel="stylesheet" type="text/css" media="screen" href="//juju.ubuntu.com/wp-content/themes/juju-website/css/home-new.css" />
15+ <link rel='stylesheet' id='stacktack-css' href='//juju.ubuntu.com/wp-content/plugins/stacktack/css/stacktack.min.css?ver=3.4.2' type='text/css' media='all' />
16+ <link href="css/main.css?1375975745" rel="stylesheet" type="text/css"/>
17+
18+ <!--[if lt IE 9]>
19+ <script type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
20+ <![endif]-->
21+</head>
22+ <body class="resources">
23+ <header class="global clearfix" role="banner">
24+ <div class="header-navigation">
25+ <div>
26+ <nav role="navigation">
27+ <ul>
28+ <li class="page_item page-item-6"><a href="https://juju.ubuntu.com/">Home</a></li>
29+ <li class="page_item page-item-7"><a href="https://juju.ubuntu.com/get-started/">Get started</a></li>
30+ <li class="page_item page-item-9 current_page_item"><a href="https://juju.ubuntu.com/resources/">Resources</a></li>
31+ <li class="page_item page-item-13"><a href="https://juju.ubuntu.com/community/">Community</a></li>
32+ <li class="page_item page-item-3688"><a href="https://juju.ubuntu.com/charm-store/">Charm Store</a></li>
33+ <li class="page_item page-item-3691"><a href="https://juju.ubuntu.com/events/">Events</a></li>
34+ <li class="page_item page-item-4474"><a href="https://juju.ubuntu.com/charm-championship/">Charm Championship</a></li>
35+ <li class="page_item page-item-4249"><a href="https://juju.ubuntu.com/survey/">Survey</a></li>
36+ <li>
37+ <form id="form-search" method="get" action="https://juju.ubuntu.com/">
38+ <fieldset>
39+ <input id="input-search" type="text" name="s" value="Search" />
40+ </fieldset>
41+ </form>
42+ </li>
43+ </ul>
44+ </nav>
45+ </div>
46+ </div>
47+ <div class="header-content">
48+ <div class="clearfix">
49+ <img src="https://juju.ubuntu.com/wp-content/themes/juju-website/img/arrow-nav.png" width="9" height="5" style="left:455px; display: block;" class="arrow-nav">
50+ <div class="header-navigation-secondary"></div>
51+ <div class="header-image"></div>
52+ <h1>Resources</h1>
53+ <h2>A collection of some of the most important online references for Juju users and developers.</h2>
54+ </div>
55+ </div>
56+</header>
57+
58+ <section id="content" class="container-12">
59+ <div class="grid-12 doc-container">
60+ <div id="navlinks" class="grid-3 doc-navigation">LINKS</div>
61+ <div class="grid-9 doc-content">
62+ <article>
63+ <section id="intro">
64+ <h1>Introduction</h1>
65+ <p>Charm tools is a collection of tools designed as a Juju Plugin. Charm tools offer a means for users and charm authors to
66+ create, search, fetch, update, and manage a charms.</p>
67+ <h1>Installation</h1>
68+ <section class="code-example code-overflow">
69+ <nav class="control">
70+ <a href="." class="selected" data-action="ubuntu">Ubuntu</a>
71+ <a href="." class="" data-action="windows">Windows</a>
72+ </nav>
73+ <div class="terminal-wrap">
74+ <div data-section="ubuntu">
75+ <p>To install the latest Charm Tools, you simply need to grab the latest charm-tools package from this PPA:</p>
76+<pre class="prettyprint lang-bash">sudo add-apt-repository ppa:juju/stable
77+sudo apt-get update && sudo apt-get install charm-tools</pre>
78+ </div>
79+ <div data-section="windows">
80+ <p>Currently, version 1.0.0-RC1 is available</p>
81+ <pre>brew install juju</pre>
82+
83+ <p>You can grab the latest pre-relase OSX client from our <a href="https://github.com/juju/juju-core/releases">Github Page</a>. Uncompress the tarball, then you can run the <code>juju</code> command from the terminal. We're in the process of testing these builds to be production ready, so if you have a problem please <a href="https://bugs.launchpad.net/juju-core/+filebug">file a bug</a>.</p>
84+
85+ <p>If you have go installed you can install juju using go get. You can install go via homebrew you'll need bzr too:</p>
86+ <pre>brew install go bzr
87+ export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
88+ </pre>
89+ <p>Once you have go and bzr you can install juju:</p>
90+ <pre>mkdir $HOME/go
91+ export GOPATH=$HOME/go
92+ go get -v launchpad.net/juju-core/...
93+ export PATH=$PATH:$GOPATH/bin
94+ </pre>
95+ <p>be sure to add your go bin dir to your path permanently by adding it to your .bashrc</p>
96+ </div>
97+ </div>
98+ </section>
99+ </section>
100+ <section id="usage">
101+ <h1>Usage</h1>
102+ <p>Charm Tools comes packaged as both a stand alone tool and a juju plugin. For the sake of documentation purposes, the plugin syntax, <code>juju charm</code>, is shown.
103+ If you wish to use the stand alone client, or don't have juju installed, you can replace all instances of <code>juju charm</code> with just <code>charm</code>.</p>
104+ <p>There are several tools available within charm tools itself. At any time you can run <code>juju charm</code> to view the available subcommands and all subcommands have
105+ independent help pages, accesible using either the <code>-h</code> or <code>--help</code> flags.</p>
106+ <h2 id="create">Create</h2>
107+ <pre class="prettyprint lang-bash">juju charm create [-h|--help] CHARM_NAME [CHARMS_DIRECTORY]</pre>
108+ <p>This command, <code>create</code>, will produce a boilerplate template of a charm to expedite the charm creation process. Replace <code>CHARM_NAME</code> with
109+ the name you want the new charm to be. A directory called <code>CHARM_NAME</code> will be created in the <code>[CHARMS_DIRECTORY]</code>, or your current directory
110+ if no <code>[CHARMS_DIRECTORY]</code> is provided.</p>
111+ <h3 id="create-example">Create Example</h3>
112+ <p>Below is an example of the charm structure created during <code>juju charm create</code></p>
113+ <pre class="prettyprint lang-bash">juju charm create my-charm</pre>
114+ <pre class="prettyprint lang-yaml">my-charm
115+├── config.yaml
116+├── hooks
117+│   ├── config-changed
118+│   ├── install
119+│   ├── relation-name-relation-broken
120+│   ├── relation-name-relation-changed
121+│   ├── relation-name-relation-departed
122+│   ├── relation-name-relation-joined
123+│   ├── start
124+│   ├── stop
125+│   └── upgrade-charm
126+├── icon.svg
127+├── metadata.yaml
128+├── README.ex
129+└── revision
130+ </pre>
131+ <hr>
132+ <h2 id="get">Get</h2>
133+ <pre class="prettyprint lang-bash">juju charm get [-h|--help] CHARM_NAME [CHARMS_DIRECTORY]</pre>
134+ <p>If you want to branch one of the charm store charms, use the <code>get</code> command specifying the <code>CHARM_NAME</code> you want to copy and provide an
135+ optional <code>CHARMS_DIRECTORY</code>. Otherwise the current directory will be used</p>
136+ <h3 id="get-example">Get Example</h3>
137+ <pre class="prettyprint lang-bash">juju charm get mysql</pre>
138+ <p>Will download the MySQL charm to a mysql directory within your current path.</p>
139+ <pre class="prettyprint lang-bash">juju charm get wordpress ~/charms/precise/</pre>
140+ <p>Will download the WordPress charm to <code>~/charms/precise/wordpress</code></p>
141+ <hr>
142+ <h2 id="getall">Getall</h2>
143+ <pre class="prettyprint lang-bash">juju charm getall [-h|--help] [CHARMS_DIRECTORY]</pre>
144+ <p>Similar to <a href="#get"><code>get</code></a>, <code>getall</code> will fetch all official charm store charms and place them in the
145+ <code>CHARMS_DIRECTORY</code>, or your current directory if no <code>CHARMS_DIRECTORY</code> is provided. This command can take quite</p>
146+ <hr>
147+ <h2 id="list">List</h2>
148+ <pre class="prettyprint lang-bash">juju charm list [-h|--help]</pre>
149+ <p>Show all charms (both official and person) in the charm store. This produces an exhaustive list of all charms available in the store.</p>
150+ <hr>
151+ <h2 id="promulgate">Promulgate</h2>
152+ <pre class="prettyprint lang-bash">juju charm promulgate [-h|--help] [-b|--branch] [-s|--series] [-v|--verbose] [-u|--unpromulgate] [-f|--force] [-w|--ignore-warnings] [-o|--owner-branch] CHARM_DIRECTORY</pre>
153+ <p>Promulgate is used to promote a charm to the charm store. This command is only available to users in the ~charmers group and is meant to be
154+ run only after a charm passes the review process. <code>CHARM_DIRECTORY</code> is the path to the charm to be promulgated. When promulgating
155+ <a href="#proof"><code>proof</code></a> is run and unless otherwise forced, will prevent promulgation if errors occur.</p>
156+ <h3 id="promulgate-options">Promulgate Options</h3>
157+ <ul>
158+ <li><code>-b</code>, <code>--branch</code>: The location of the charm public branch. Will be determined from the bzr configuration if omitted.</li>
159+ <li><code>-s</code>, <code>--series</code>: The distribution series on which to set the official branch. Defaults to setting it in the current development series (LTS).</li>
160+ <li><code>-v</code>, <code>--verbose</code>: Increase verbosity level.</li>
161+ <li><code>-u</code>, <code>--unpromulgate</code>: Un-promulgate this branch instead of prolugating it.</li>
162+ <li><code>-f</code>, <code>--force</code>: Override warnings and errors. USE WITH EXTREME CARE!</li>
163+ <li><code>-w</code>, <code>--ignore-warnings</code>: Promulgate this branch even with warnings from charm proof.</li>
164+ <li><code>-o</code>, <code>--owner-branch</code>: Promulgate a branch owned by a someone/group other than ~charmers.</li>
165+ </ul>
166+ <hr>
167+ <h2 id="proof">Proof</h2>
168+ <pre class="prettyprint lang-bash">juju charm proof CHARM_DIRECTORY</pre>
169+ <p>Proof is designed to perform a "lint" against a charms structure to validate if it conforms to what the Charm Store thinks a charm structure and layout should be.
170+ <code>proof</code> will provide output at varying levels of severtiy. <code>I</code> is informational. These are things a charm could do but don't currently. <code>W</code>
171+ is a warning. These are things that aren't complete blockers but need to be addressed. <code>E</code> is an error. These are items that are major and need to be
172+ addressed.</p>
173+ <hr>
174+ <h2 id="review-queue">Review-queue</h2>
175+ <pre class="prettyprint lang-bash">juju charm review-queue [-h|--help]</pre>
176+ <p>This provides a copy of the <a href="http://manage.jujucharms.com/review-queue">juju charms review queue</a> which is used by ~charmers to know which charms are available
177+ for review.</p>
178+ <hr>
179+ <h2 id="search">Search</h2>
180+ <pre class="prettyprint lang-bash">juju charm search [-h|--help]</pre>
181+ <p>This provides a copy of the <a href="http://manage.jujucharms.com/review-queue">juju charms review queue</a> which is used by ~charmers to know which charms are available
182+ for review.</p>
183+ <hr>
184+ <h2 id="search">unpromulgate</h2>
185+ <pre class="prettyprint lang-bash">juju charm unpromulgate [-h|--help] [-f|--force]</pre>
186+ <p>This is simply a convience method to running <code>juju charm promulgate --unpromulgate</code>.</p>
187+ <hr>
188+ <h2 id="search">update</h2>
189+ <pre class="prettyprint lang-bash">juju charm update [-h|--help] [-f|--fix] [CHARMS_DIRECTORY]</pre>
190+ <p>Update is used for <code>CHARMS_DIRECTORY</code>, when <code>CHARMS_DIRECTORY</code> is a repository created via <a href="#getall"><code>getall</code></a></p>
191+ </section>
192+ </article>
193+ </div>
194+ </div>
195+ </section>
196+ <div class="shadow"></div>
197+ <footer class="global clearfix" role="contentinfo">
198+ <div class="row">
199+ <div class="inner-wrapper">
200+ <nav role="navigation" class="clearfix">
201+ <ul class="footer-a">
202+ <li class="grid-3 first-col">
203+ <h4><a href="/get-started">Get started</a></h4>
204+ <ul>
205+ <li class="page_item page-item-20"><a href="https://juju.ubuntu.com/get-started/local/">Local</a></li>
206+ <li class="page_item page-item-22"><a href="https://juju.ubuntu.com/get-started/amazon/">Amazon Web Services</a></li>
207+ <li class="page_item page-item-18"><a href="https://juju.ubuntu.com/get-started/hp-cloud/">HP Cloud</a></li>
208+ <li class="page_item page-item-16"><a href="https://juju.ubuntu.com/get-started/rackspace/">Rackspace</a></li>
209+ <li class="page_item page-item-3596"><a href="https://juju.ubuntu.com/get-started/openstack/">Openstack</a></li>
210+ <li class="page_item page-item-3600"><a href="https://juju.ubuntu.com/get-started/maas/">MAAS</a></li>
211+ </ul>
212+ </li>
213+ <li class="grid-3">
214+ <h4><a href="/resources">Resources</a></h4>
215+ <ul>
216+ <li><a href="http://juju.ubuntu.com/docs">Documentation</a></li>
217+ <li><a href="/resources/videos/">Videos</a></li>
218+ <li><a href="http://uistage.jujucharms.com:8080/">Juju GUI demo site</a></li>
219+ </ul>
220+ </li>
221+ <li class="grid-3">
222+ <h4><a href="/community">Community</a></h4>
223+ <ul>
224+ <li class="page_item page-item-28"><a href="https://juju.ubuntu.com/community/juju-blog/">Juju Blog</a></li>
225+ <li class="page_item page-item-4262"><a href="https://juju.ubuntu.com/community/weekly-charm-meeting/">Weekly Charm Meeting</a></li>
226+ <li class="page_item page-item-4036"><a href="https://juju.ubuntu.com/community/charmers/">Charmers</a></li>
227+ <li><a href="https://lists.ubuntu.com/mailman/listinfo/juju">Mailing List</a></li>
228+ <li><a href="http://webchat.freenode.net/?channels=juju">Chat</a></li>
229+ <li><a href="http://askubuntu.com/questions/tagged/juju?sort=faq&pagesize=50">FAQ</a></li>
230+ </ul>
231+ </li>
232+ <li class="grid-3 last-col">
233+ <h4><a href="https://launchpad.net/juju">Code</a></h4>
234+ <ul>
235+ <li><a href="https://launchpad.net/juju-core">Juju Core</a></li>
236+ <li><a href="https://launchpad.net/charms">Charms</a></li>
237+ </ul>
238+ </li>
239+ </ul>
240+ </nav>
241+ </div>
242+ </div>
243+ <div class="row no-border">
244+ <div class="legal inner-wrapper">
245+ <p>&copy; 2013 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.</p>
246+ <p><a href="https://bugs.launchpad.net/juju-website/+filebug">Report a bug on this site</a></p>
247+ </div>
248+ </div>
249+ <script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?skin=sunburst"></script>
250+</footer>
251+
252+ <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
253+ <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script>
254+ <script src="//d38yea5fb4e2oh.cloudfront.net/jquery.stacktack.min.js"></script>
255+ <script type="text/javascript" src="js/main.js"></script>
256+ <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
257+ </body>
258+</html>
259
260=== modified file 'htmldocs/css/main.css'
261--- htmldocs/css/main.css 2013-08-30 19:00:47 +0000
262+++ htmldocs/css/main.css 2013-08-30 19:58:02 +0000
263@@ -437,3 +437,15 @@
264 pre.prettyprint, code.prettyprint {
265 background-color: #222 !important;
266 }
267+
268+hr {
269+ background: #fff;
270+ height: 1px;
271+ margin: 0;
272+ box-shadow: none;
273+ border-bottom: 1px dotted #aea79f;
274+}
275+
276+#content h2 {
277+ font-size: 20px;
278+}

Subscribers

People subscribed via source and target branches