<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <title>Getting Started with ARIA TOSCA • Apache ARIA TOSCA</title>

  
  
  

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->

  <!-- CSS -->
  <link rel="stylesheet" href="/css/owl.carousel.css">
  <link rel="stylesheet" href="/css/bootstrap.min.css">
  <link rel="stylesheet" href="/css/font-awesome.min.css">
  <link rel="stylesheet" href="/css/style.css">
  <link rel="stylesheet" href="/css/ionicons.min.css">
  <link rel="stylesheet" href="/css/animate.css">
  <link rel="stylesheet" href="/css/responsive.css">


  <!-- Js -->
  <script src="/js/vendor/modernizr-2.6.2.min.js"></script>
  <script src="/js/vendor/jquery-1.10.2.min.js"></script>
  <script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
  <script src="/js/bootstrap.min.js"></script>
  <script src="/js/owl.carousel.min.js"></script>
  <script src="/js/plugins.js"></script>

  <script src="/js/min/waypoints.min.js"></script>
  <script src="/js/jquery.counterup.js"></script>






  <script src="/js/main.js"></script>
  <script src="/js/plugins/jquery.mixitup.min.js"></script>

</head>

  <body id="js-body">
    

    <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->

    <!-- Header Start -->
<header>
<div class="container">
  <div class="row">
    <div class="col-md-12">
      <!-- header Nav Start -->
      <nav class="navbar navbar-default">
        <div class="container-fluid">
          <!-- Brand and toggle get grouped for better mobile display -->
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/">
              <img src="/images/aria-logo.png" alt="Apache ARIA TOSCA">
            </a>
          </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

              <nav role="navigation" class="menu top-menu">
                  <ul class="nav navbar-nav navbar-right">
	<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
	
    
    <li><a href="/about/" >About</a></li>
  
    
    <li><a href="/community/" >Community</a></li>
  
    
    <li><a href="/getting-started/" >Getting Started</a></li>
  
    
    <li><a href="/getting-started/" >Docs</a></li>
  
    
    <li><a href="/roadmap/" >Roadmap</a></li>
  
</ul>

              </nav>
            </div><!-- /.navbar-collapse -->
          </div><!-- /.container-fluid -->
        </nav>
      </div>
    </div>
  </div>
</header><!-- header close -->



    <div id="page-wrapper">
      <div id="main" role="main">
	<article class="wrap" itemscope itemtype="http://schema.org/Article">
		
		

		<section id="global-header">
			<div class="container">
				<div class="row">
					<div class="col-md-12">
						<div class="block">
							<h1>Getting Started with ARIA TOSCA</h1>
							<p></p>
						</div>
					</div>
				</div>
			</div>
		</section>



		<div class="inner-wrap">
			<div id="content" class="page-content" itemprop="articleBody">
				<section id="intro">
		      <div class="container">
		        <div class="row">
								<h2 id="installation">Installation</h2>

<p>ARIA is <a href="https://pypi.python.org/pypi/apache-ariatosca">available on PyPI</a>.</p>

<p>ARIA requires Python 2.6/2.7. Python 3 is currently not supported.</p>

<p>To install ARIA directly from PyPI (using a <code class="highlighter-rouge">wheel</code>), use::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>pip install --upgrade pip setuptools
pip install apache-ariatosca
</code></pre>
</div>

<p>To install ARIA from source, download the source tarball from
<a href="https://pypi.python.org/pypi/apache-ariatosca">PyPI</a>, extract and <code class="highlighter-rouge">cd</code> into the extract dir, and run::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>pip install --upgrade pip setuptools
pip install .
</code></pre>
</div>

<table>
  <tbody>
    <tr>
      <td>The source package comes along with relevant examples, documentation, <code class="highlighter-rouge">requirements.txt</code> (for installing specifically the frozen dependencies’ versions with which ARIA was tested) and more.</td>
    </tr>
    <tr>
      <td> </td>
    </tr>
    <tr>
      <td> </td>
    </tr>
    <tr>
      <td>ARIA has additional optional dependencies. These are required for running operations over SSH.</td>
    </tr>
    <tr>
      <td>Below are instructions on how to install these dependencies, including required system dependencies per OS.</td>
    </tr>
    <tr>
      <td> </td>
    </tr>
    <tr>
      <td>Note: These dependencies may have varying licenses which may not be compatible with Apache license 2.0.</td>
    </tr>
    <tr>
      <td> </td>
    </tr>
  </tbody>
</table>

<p><strong>Ubuntu/Debian</strong> (tested on Ubuntu14.04, Ubuntu16.04)::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>apt-get install -y python-dev gcc libffi-dev libssl-dev
pip install aria[ssh]
</code></pre>
</div>

<p><strong>Centos</strong> (tested on Centos6.6, Centos7)::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>yum install -y python-devel gcc libffi-devel openssl-devel
pip install aria[ssh]
</code></pre>
</div>

<p><strong>Archlinux</strong>::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>pacman -Syu --noconfirm python2 gcc libffi openssl
pip2 install aria[ssh]
</code></pre>
</div>

<p><strong>Windows</strong> (tested on Win10)::</p>

<div class="highlighter-rouge"><pre class="highlight"><code># no additional system requirements are needed
pip install aria[ssh]
</code></pre>
</div>

<p><strong>MacOS</strong>::</p>

<div class="highlighter-rouge"><pre class="highlight"><code># TODO
</code></pre>
</div>

<p>To install <code class="highlighter-rouge">pip</code>, either use your distro’s package management system, or run::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>wget http://bootstrap.pypa.io/get-pip.py
python get-pip.py
</code></pre>
</div>

<h2 id="getting-started">Getting Started</h2>

<p>This section will describe how to run a simple “Hello World” example.</p>

<p>First, provide ARIA with the ARIA “hello world”(can be download <a href="https://github.com/apache/incubator-ariatosca/tree/master/examples/hello-world">here</a>) service-template and name it (e.g.
<code class="highlighter-rouge">my-service-template</code>)::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>aria service-templates store examples/hello-world/helloworld.yaml my-service-template
</code></pre>
</div>

<p>Now create a service based on this service-template and name it (e.g. <code class="highlighter-rouge">my-service</code>)::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>aria services create my-service -t my-service-template
</code></pre>
</div>

<p>Finally, start an <code class="highlighter-rouge">install</code> workflow execution on <code class="highlighter-rouge">my-service</code> like so::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>aria executions start install -s my-service
</code></pre>
</div>

<p>You should now have a simple web-server running on your local machine. You can try visiting
<code class="highlighter-rouge">http://localhost:9090</code> to view your deployed application.</p>

<p>To uninstall and clean your environment, follow these steps::</p>

<div class="highlighter-rouge"><pre class="highlight"><code>aria executions start uninstall -s my-service
aria services delete my-service
aria service-templates delete my-service-template
</code></pre>
</div>

<h2 id="license">License</h2>

<p>ARIA is licensed under the
<a href="https://github.com/apache/incubator-ariatosca/blob/master/LICENSE">Apache License 2.0</a>.</p>

		        </div>
		      </div>
		    </section>
				<hr />
				<footer class="page-footer">
					
					
					
				</footer><!-- /.footer -->
				<aside>
					
				</aside>
			</div><!-- /.content -->
		</div><!-- /.inner-wrap -->
		
	</article><!-- ./wrap -->
</div><!-- /#main -->

      

<!-- Wrapper Start -->
<section id="intro" style="padding-top:30px; padding-bottom:30px">
	<div class="container">
		<div class="row">
			<div class="col-md-10 col-sm-12">
				<div class="block">
					<p>
						Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
					</p>
				</div>
			</div><!-- .col-md-7 close -->
			<div class="col-md-2 col-sm-12">
				<div class="block" valign="middle" style="vertical-align: middle;">
					<img src="/images/incubator_power_ring.png" alt="ARIA Podling"  >
				</div>
			</div><!-- .col-md-5 close -->
		</div>
	</div>
</section>

<footer>
	<div class="container">
		<div class="row">
			<div class="col-md-12">
				<div class="footer-manu">

					<ul class="menu-item">
					
			      
						<li><a href="/about/" >About</a></li>
					
			      
						<li><a href="/community/" >Community</a></li>
					
			      
						<li><a href="/getting-started/" >Getting Started</a></li>
					
			      
						<li><a href="/roadmap/" >Roadmap</a></li>
					
					</ul>
				</div>

				<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
				    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
			</div>
		</div>
	</div>
</footer>

    </div>

    <script src="/js/vendor/jquery-1.10.2.min.js"></script>
    <script src="/js/plugins/jquery.mixitup.min.js"></script>
    <script src="/js/owl.carousel.min.js"></script>
    <script src="/js/jquery.counterup.js"></script>

    <script src="/js/main.js"></script>

  </body>

</html>
