<!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="/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>
