Mention other distributions.

pull/1256/head
Michael DeHaan 13 years ago
parent f29db92052
commit 00bf6f1ebf

@ -134,6 +134,7 @@ s.parentNode.insertBefore(ga, s);
<li><a class="reference internal" href="#running-from-checkout">Running From Checkout</a></li> <li><a class="reference internal" href="#running-from-checkout">Running From Checkout</a></li>
<li><a class="reference internal" href="#make-install">Make Install</a></li> <li><a class="reference internal" href="#make-install">Make Install</a></li>
<li><a class="reference internal" href="#via-rpm">Via RPM</a></li> <li><a class="reference internal" href="#via-rpm">Via RPM</a></li>
<li><a class="reference internal" href="#other-package-distributions">Other Package Distributions</a></li>
<li><a class="reference internal" href="#tagged-releases">Tagged Releases</a></li> <li><a class="reference internal" href="#tagged-releases">Tagged Releases</a></li>
</ul> </ul>
</li> </li>
@ -164,12 +165,11 @@ s.parentNode.insertBefore(ga, s);
<div class="section" id="downloads-getting-started"> <div class="section" id="downloads-getting-started">
<h1>Downloads &amp; Getting Started<a class="headerlink" href="#downloads-getting-started" title="Permalink to this headline"></a></h1> <h1>Downloads &amp; Getting Started<a class="headerlink" href="#downloads-getting-started" title="Permalink to this headline"></a></h1>
<p>How to download ansible and get started using it</p>
<div class="section" id="requirements"> <div class="section" id="requirements">
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2> <h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2>
<p>Requirements for Ansible are extremely minimal.</p> <p>Requirements for Ansible are extremely minimal.</p>
<p>If you are running python 2.6 on the <strong>overlord</strong> machine (the machine <p>If you are running python 2.6 on the <strong>overlord</strong> machine (the machine
that you&#8217;ll be talking to the other machines from), you will need:</p> that you&#8217;ll be talking to the remote machines from), you will need:</p>
<ul class="simple"> <ul class="simple">
<li><tt class="docutils literal"><span class="pre">paramiko</span></tt></li> <li><tt class="docutils literal"><span class="pre">paramiko</span></tt></li>
<li><tt class="docutils literal"><span class="pre">PyYAML</span></tt></li> <li><tt class="docutils literal"><span class="pre">PyYAML</span></tt></li>
@ -177,13 +177,10 @@ that you&#8217;ll be talking to the other machines from), you will need:</p>
</ul> </ul>
<p>If you are running less than Python 2.6, you will also need:</p> <p>If you are running less than Python 2.6, you will also need:</p>
<ul class="simple"> <ul class="simple">
<li>The Python 2.4 or 2.5 backport of the <tt class="docutils literal"><span class="pre">multiprocessing</span></tt> module<ul> <li>The Python 2.4 or 2.5 backport of the <tt class="docutils literal"><span class="pre">multiprocessing</span></tt> module (<a class="reference external" href="http://code.google.com/p/python-multiprocessing/wiki/Install">see here</a>)</li>
<li><a class="reference external" href="http://code.google.com/p/python-multiprocessing/wiki/Install">Installation and Testing Instructions</a></li> <li><tt class="docutils literal"><span class="pre">python-simplejson</span></tt></li>
</ul> </ul>
</li> <p>On the managed nodes, to use templates, you will also need:</p>
<li><tt class="docutils literal"><span class="pre">simplejson</span></tt></li>
</ul>
<p>On the managed nodes, to use templating, you will need:</p>
<ul class="simple"> <ul class="simple">
<li><tt class="docutils literal"><span class="pre">python-jinja2</span></tt> (you can easily install this using ansible)</li> <li><tt class="docutils literal"><span class="pre">python-jinja2</span></tt> (you can easily install this using ansible)</li>
</ul> </ul>
@ -192,11 +189,11 @@ that you&#8217;ll be talking to the other machines from), you will need:</p>
<h2>Getting Ansible<a class="headerlink" href="#getting-ansible" title="Permalink to this headline"></a></h2> <h2>Getting Ansible<a class="headerlink" href="#getting-ansible" title="Permalink to this headline"></a></h2>
<p>As the project is still pretty new, you will probably want to clone <p>As the project is still pretty new, you will probably want to clone
the git checkout, so you can keep up with all of the latest features, the git checkout, so you can keep up with all of the latest features,
and also contribute easily back to the project (if you want).</p> and also easily contribute back to the project (if you want).</p>
<p>Instructions for installing from source are below.</p> <p>Instructions for installing from source are below.</p>
<p>You may also wish to follow the <a class="reference external" href="https://github.com/ansible/">Github project</a> if <p>You may also wish to follow the <a class="reference external" href="https://github.com/ansible/ansible">Github project</a> if
you have a github account. This is also where we keep the issue tracker for sharing you have a github account. This is also where we keep the issue tracker for sharing
bugs or feature ideas.</p> bugs and feature ideas.</p>
<div class="section" id="running-from-checkout"> <div class="section" id="running-from-checkout">
<h3>Running From Checkout<a class="headerlink" href="#running-from-checkout" title="Permalink to this headline"></a></h3> <h3>Running From Checkout<a class="headerlink" href="#running-from-checkout" title="Permalink to this headline"></a></h3>
<p>Ansible is trivially easy to run from a checkout, root permissions are not required <p>Ansible is trivially easy to run from a checkout, root permissions are not required
@ -205,7 +202,7 @@ to use it:</p>
$ cd ./ansible $ cd ./ansible
$ source ./hacking/env-setup</pre> $ source ./hacking/env-setup</pre>
</div> </div>
<p>You can optionally specify an inventory file other than /etc/ansible/hosts:</p> <p>You can optionally specify an inventory file (see doc:<cite>patterns</cite>) other than /etc/ansible/hosts:</p>
<div class="highlight-python"><pre>$ cat "127.0.0.1" &gt; ~/ansible_hosts <div class="highlight-python"><pre>$ cat "127.0.0.1" &gt; ~/ansible_hosts
$ export ANSIBLE_HOSTS=~/ansible_hosts</pre> $ export ANSIBLE_HOSTS=~/ansible_hosts</pre>
</div> </div>
@ -215,7 +212,8 @@ $ export ANSIBLE_HOSTS=~/ansible_hosts</pre>
</div> </div>
<div class="section" id="make-install"> <div class="section" id="make-install">
<h3>Make Install<a class="headerlink" href="#make-install" title="Permalink to this headline"></a></h3> <h3>Make Install<a class="headerlink" href="#make-install" title="Permalink to this headline"></a></h3>
<p>You can install Ansible using &#8220;make install&#8221;. This is done through <cite>python-distutils</cite>:</p> <p>If you are not working from a distribution where Ansible is packaged yet, you can install Ansible
using &#8220;make install&#8221;. This is done through <cite>python-distutils</cite>:</p>
<div class="highlight-python"><pre>$ git clone git://github.com/ansible/ansible.git <div class="highlight-python"><pre>$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible $ cd ./ansible
$ sudo make install</pre> $ sudo make install</pre>
@ -223,18 +221,25 @@ $ sudo make install</pre>
</div> </div>
<div class="section" id="via-rpm"> <div class="section" id="via-rpm">
<h3>Via RPM<a class="headerlink" href="#via-rpm" title="Permalink to this headline"></a></h3> <h3>Via RPM<a class="headerlink" href="#via-rpm" title="Permalink to this headline"></a></h3>
<p>In the near future, pre-built RPMs will be available through your <p>In the near future, pre-built packages will be available through your
distribution. Until that time, you can use the <tt class="docutils literal"><span class="pre">make</span> <span class="pre">rpm</span></tt> command:</p> distribution. Until that time, you can use the <tt class="docutils literal"><span class="pre">make</span> <span class="pre">rpm</span></tt> command to
build an RPM you can distribute and install:</p>
<div class="highlight-python"><pre>$ git clone git://github.com/ansible/ansible.git <div class="highlight-python"><pre>$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible $ cd ./ansible
$ make rpm $ make rpm
$ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-*.noarch.rpm</pre> $ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-*.noarch.rpm</pre>
</div> </div>
<p>Note that if you are tracking the upstream source (i.e. git), the RPM revision may not be <p>Note that if you are tracking the upstream source (i.e. git), the RPM revision will not be
bumped with every source code change. To get around this, you can use bumped with every source code change. To get around this, you can use
rpm <cite>-Uvh</cite> with <cite>&#8211;force</cite> when RPM tells you the package is still at the rpm <cite>-Uvh</cite> with <cite>&#8211;force</cite> when RPM tells you the package is still at the
same version. This is perfectly safe to do.</p> same version. This is perfectly safe to do.</p>
</div> </div>
<div class="section" id="other-package-distributions">
<h3>Other Package Distributions<a class="headerlink" href="#other-package-distributions" title="Permalink to this headline"></a></h3>
<p>If you would like to package Ansible for Debian/Ubuntu, Homebrew, or BSD,
please stop by the mailing list and say hi. We&#8217;d love to have that as well
and it shouldn&#8217;t be difficult and would be happy to help.</p>
</div>
<div class="section" id="tagged-releases"> <div class="section" id="tagged-releases">
<h3>Tagged Releases<a class="headerlink" href="#tagged-releases" title="Permalink to this headline"></a></h3> <h3>Tagged Releases<a class="headerlink" href="#tagged-releases" title="Permalink to this headline"></a></h3>
<p>Tagged releases are available as tar.gz files from the Ansible github <p>Tagged releases are available as tar.gz files from the Ansible github
@ -248,6 +253,7 @@ if you want access to all of the latest modules and improvements.</p>
</div> </div>
<div class="section" id="your-first-commands"> <div class="section" id="your-first-commands">
<h2>Your first commands<a class="headerlink" href="#your-first-commands" title="Permalink to this headline"></a></h2> <h2>Your first commands<a class="headerlink" href="#your-first-commands" title="Permalink to this headline"></a></h2>
<p>Now that you&#8217;ve installed Ansible, it&#8217;s time to test it.</p>
<p>Edit (or create) /etc/ansible/hosts and put one or more remote systems in it, for <p>Edit (or create) /etc/ansible/hosts and put one or more remote systems in it, for
which you have your SSH key in <tt class="docutils literal"><span class="pre">authorized_keys</span></tt>:</p> which you have your SSH key in <tt class="docutils literal"><span class="pre">authorized_keys</span></tt>:</p>
<div class="highlight-python"><pre>192.168.1.50 <div class="highlight-python"><pre>192.168.1.50
@ -267,8 +273,9 @@ ssh-add ~/.ssh/id_rsa</pre>
<p>Congratulations. You&#8217;ve just contacted your nodes with Ansible. It&#8217;s <p>Congratulations. You&#8217;ve just contacted your nodes with Ansible. It&#8217;s
now time to read some of the more real-world <a class="reference internal" href="examples.html"><em>Command Line Examples</em></a>, and explore now time to read some of the more real-world <a class="reference internal" href="examples.html"><em>Command Line Examples</em></a>, and explore
what you can do with different modules, as well as the Ansible what you can do with different modules, as well as the Ansible
<a class="reference internal" href="playbooks.html"><em>Playbooks</em></a> language. Ansible is not just about running commands, but <a class="reference internal" href="playbooks.html"><em>Playbooks</em></a> language. Ansible is not just about running commands, it
you already have a working infrastructure!</p> also has powerful configuration and deployment features. There&#8217;s more to
explore, but you already have a fully working infrastructure!</p>
<div class="admonition-see-also admonition seealso"> <div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p> <p class="first admonition-title">See also</p>
<dl class="last docutils"> <dl class="last docutils">

@ -227,6 +227,7 @@ you with questions about Ansible.</p>
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#running-from-checkout">Running From Checkout</a></li> <li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#running-from-checkout">Running From Checkout</a></li>
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#make-install">Make Install</a></li> <li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#make-install">Make Install</a></li>
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#via-rpm">Via RPM</a></li> <li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#via-rpm">Via RPM</a></li>
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#other-package-distributions">Other Package Distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#tagged-releases">Tagged Releases</a></li> <li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#tagged-releases">Tagged Releases</a></li>
</ul> </ul>
</li> </li>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ansible-playbook</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div xml:lang="en" class="refentry" title="ansible-playbook" lang="en"><a id="id472671"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ansible-playbook — run an ansible playbook</p></div><div class="refsynopsisdiv" title="Synopsis"><a id="_synopsis"></a><h2>Synopsis</h2><p>ansible-playbook &lt;filename.yml&gt; … [options]</p></div><div class="refsect1" title="DESCRIPTION"><a id="_description"></a><h2>DESCRIPTION</h2><p><span class="strong"><strong>Ansible playbooks</strong></span> are a configuration and multinode deployment system. Ansible-playbook is the tool <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ansible-playbook</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div xml:lang="en" class="refentry" title="ansible-playbook" lang="en"><a id="id535032"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ansible-playbook — run an ansible playbook</p></div><div class="refsynopsisdiv" title="Synopsis"><a id="_synopsis"></a><h2>Synopsis</h2><p>ansible-playbook &lt;filename.yml&gt; … [options]</p></div><div class="refsect1" title="DESCRIPTION"><a id="_description"></a><h2>DESCRIPTION</h2><p><span class="strong"><strong>Ansible playbooks</strong></span> are a configuration and multinode deployment system. Ansible-playbook is the tool
used to run them. See the project home page (link below) for more information.</p></div><div class="refsect1" title="ARGUMENTS"><a id="_arguments"></a><h2>ARGUMENTS</h2><div class="variablelist"><dl><dt><span class="term"> used to run them. See the project home page (link below) for more information.</p></div><div class="refsect1" title="ARGUMENTS"><a id="_arguments"></a><h2>ARGUMENTS</h2><div class="variablelist"><dl><dt><span class="term">
<span class="strong"><strong>filename.yml</strong></span> <span class="strong"><strong>filename.yml</strong></span>
</span></dt><dd> </span></dt><dd>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ansible</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div xml:lang="en" class="refentry" title="ansible" lang="en"><a id="id303711"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ansible — run a command somewhere else</p></div><div class="refsynopsisdiv" title="Synopsis"><a id="_synopsis"></a><h2>Synopsis</h2><p>ansible &lt;host-pattern&gt; [-f forks] [-m module_name] [-a args]</p></div><div class="refsect1" title="DESCRIPTION"><a id="_description"></a><h2>DESCRIPTION</h2><p><span class="strong"><strong>Ansible</strong></span> is an extra-simple tool/framework/API for doing 'remote things' over <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ansible</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div xml:lang="en" class="refentry" title="ansible" lang="en"><a id="id468234"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ansible — run a command somewhere else</p></div><div class="refsynopsisdiv" title="Synopsis"><a id="_synopsis"></a><h2>Synopsis</h2><p>ansible &lt;host-pattern&gt; [-f forks] [-m module_name] [-a args]</p></div><div class="refsect1" title="DESCRIPTION"><a id="_description"></a><h2>DESCRIPTION</h2><p><span class="strong"><strong>Ansible</strong></span> is an extra-simple tool/framework/API for doing 'remote things' over
SSH.</p></div><div class="refsect1" title="ARGUMENTS"><a id="_arguments"></a><h2>ARGUMENTS</h2><div class="variablelist"><dl><dt><span class="term"> SSH.</p></div><div class="refsect1" title="ARGUMENTS"><a id="_arguments"></a><h2>ARGUMENTS</h2><div class="variablelist"><dl><dt><span class="term">
<span class="strong"><strong>host-pattern</strong></span> <span class="strong"><strong>host-pattern</strong></span>
</span></dt><dd> </span></dt><dd>

@ -1,15 +1,13 @@
Downloads & Getting Started Downloads & Getting Started
=========================== ===========================
How to download ansible and get started using it
Requirements Requirements
```````````` ````````````
Requirements for Ansible are extremely minimal. Requirements for Ansible are extremely minimal.
If you are running python 2.6 on the **overlord** machine (the machine If you are running python 2.6 on the **overlord** machine (the machine
that you'll be talking to the other machines from), you will need: that you'll be talking to the remote machines from), you will need:
* ``paramiko`` * ``paramiko``
* ``PyYAML`` * ``PyYAML``
@ -17,13 +15,10 @@ that you'll be talking to the other machines from), you will need:
If you are running less than Python 2.6, you will also need: If you are running less than Python 2.6, you will also need:
* The Python 2.4 or 2.5 backport of the ``multiprocessing`` module * The Python 2.4 or 2.5 backport of the ``multiprocessing`` module (`see here <http://code.google.com/p/python-multiprocessing/wiki/Install>`_)
* ``python-simplejson``
- `Installation and Testing Instructions <http://code.google.com/p/python-multiprocessing/wiki/Install>`_
* ``simplejson``
On the managed nodes, to use templating, you will need: On the managed nodes, to use templates, you will also need:
* ``python-jinja2`` (you can easily install this using ansible) * ``python-jinja2`` (you can easily install this using ansible)
@ -32,13 +27,13 @@ Getting Ansible
As the project is still pretty new, you will probably want to clone As the project is still pretty new, you will probably want to clone
the git checkout, so you can keep up with all of the latest features, the git checkout, so you can keep up with all of the latest features,
and also contribute easily back to the project (if you want). and also easily contribute back to the project (if you want).
Instructions for installing from source are below. Instructions for installing from source are below.
You may also wish to follow the `Github project <https://github.com/ansible/>`_ if You may also wish to follow the `Github project <https://github.com/ansible/ansible>`_ if
you have a github account. This is also where we keep the issue tracker for sharing you have a github account. This is also where we keep the issue tracker for sharing
bugs or feature ideas. bugs and feature ideas.
Running From Checkout Running From Checkout
+++++++++++++++++++++ +++++++++++++++++++++
@ -50,7 +45,7 @@ to use it::
$ cd ./ansible $ cd ./ansible
$ source ./hacking/env-setup $ source ./hacking/env-setup
You can optionally specify an inventory file other than /etc/ansible/hosts:: You can optionally specify an inventory file (see doc:`patterns`) other than /etc/ansible/hosts::
$ cat "127.0.0.1" > ~/ansible_hosts $ cat "127.0.0.1" > ~/ansible_hosts
$ export ANSIBLE_HOSTS=~/ansible_hosts $ export ANSIBLE_HOSTS=~/ansible_hosts
@ -63,7 +58,8 @@ Now let's test things::
Make Install Make Install
++++++++++++ ++++++++++++
You can install Ansible using "make install". This is done through `python-distutils`:: If you are not working from a distribution where Ansible is packaged yet, you can install Ansible
using "make install". This is done through `python-distutils`::
$ git clone git://github.com/ansible/ansible.git $ git clone git://github.com/ansible/ansible.git
$ cd ./ansible $ cd ./ansible
@ -73,19 +69,27 @@ You can install Ansible using "make install". This is done through `python-dist
Via RPM Via RPM
+++++++ +++++++
In the near future, pre-built RPMs will be available through your In the near future, pre-built packages will be available through your
distribution. Until that time, you can use the ``make rpm`` command:: distribution. Until that time, you can use the ``make rpm`` command to
build an RPM you can distribute and install::
$ git clone git://github.com/ansible/ansible.git $ git clone git://github.com/ansible/ansible.git
$ cd ./ansible $ cd ./ansible
$ make rpm $ make rpm
$ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-*.noarch.rpm $ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-*.noarch.rpm
Note that if you are tracking the upstream source (i.e. git), the RPM revision may not be Note that if you are tracking the upstream source (i.e. git), the RPM revision will not be
bumped with every source code change. To get around this, you can use bumped with every source code change. To get around this, you can use
rpm `-Uvh` with `--force` when RPM tells you the package is still at the rpm `-Uvh` with `--force` when RPM tells you the package is still at the
same version. This is perfectly safe to do. same version. This is perfectly safe to do.
Other Package Distributions
+++++++++++++++++++++++++++
If you would like to package Ansible for Debian/Ubuntu, Homebrew, or BSD,
please stop by the mailing list and say hi. We'd love to have that as well
and it shouldn't be difficult and would be happy to help.
Tagged Releases Tagged Releases
+++++++++++++++ +++++++++++++++
@ -102,6 +106,8 @@ if you want access to all of the latest modules and improvements.
Your first commands Your first commands
``````````````````` ```````````````````
Now that you've installed Ansible, it's time to test it.
Edit (or create) /etc/ansible/hosts and put one or more remote systems in it, for Edit (or create) /etc/ansible/hosts and put one or more remote systems in it, for
which you have your SSH key in ``authorized_keys``:: which you have your SSH key in ``authorized_keys``::
@ -125,8 +131,9 @@ Now run a live command on all of your nodes::
Congratulations. You've just contacted your nodes with Ansible. It's Congratulations. You've just contacted your nodes with Ansible. It's
now time to read some of the more real-world :doc:`examples`, and explore now time to read some of the more real-world :doc:`examples`, and explore
what you can do with different modules, as well as the Ansible what you can do with different modules, as well as the Ansible
:doc:`playbooks` language. Ansible is not just about running commands, but :doc:`playbooks` language. Ansible is not just about running commands, it
you already have a working infrastructure! also has powerful configuration management and deployment features. There's more to
explore, but you already have a fully working infrastructure!
.. seealso:: .. seealso::

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save