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

  <title>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="http://localhost:4000/css/owl.carousel.css">
  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">

  <link rel="stylesheet" href="http://localhost:4000/css/attach/xterm.css">
  <link rel="stylesheet" href="http://localhost:4000/css/attach/style.css">

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

  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
  <script src="http://localhost:4000/js/jquery.counterup.js"></script>


  <script src="http://localhost:4000/js/attach/xterm.js"></script>
  <script src="http://localhost:4000/js/attach/attach.js"></script>






  <script src="http://localhost:4000/js/main.js"></script>
  <script src="http://localhost:4000/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="http://localhost:4000/">
              <img src="http://localhost:4000/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="http://localhost:4000/about/" >About

				</a></li>


    <li><a href="http://localhost:4000/community/" >Community

				</a></li>


    <li><a href="http://localhost:4000/getting-started/" >Getting Started

				</a></li>


    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs

			 <i class="fa fa-external-link" aria-hidden="true"></i>

				</a></li>


    <li><a href="http://localhost:4000/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">
	<div class="wrap">

		<div class="page-title">
			<h1></h1>

		</div>
		<div class="archive-wrap">
			<div class="page-content">
				<!-- Slider Start -->
<section id="slider">
	<div class="container">
		<div class="row">
			<div class="col-md-10 col-md-offset-2">
				<div class="block">
					<h1 class="animated fadeInUp">Apache ARIA TOSCA <br /> ORCHESTRATION ENGINE</h1>
					<p class="animated fadeInUp"> Embeddable lightweight library and command line tool<br />
					For NFV and Hybrid Cloud Orchestration</p>
				</div>
			</div>

		</div>
	</div>
</section>

<!-- Wrapper Start -->
<section id="intro">
	<div class="container">
		<div class="row">
			<div class="col-md-7 col-sm-12">
				<div class="block">
					<div class="section-title">
						<h2>About Apache ARIA TOSCA</h2>
						<p></p>
					</div>
					<p>ARIA TOSCA is an open, light, CLI-driven library of orchestration tools that other open projects can consume to easily build TOSCA-based orchestration solutions. ARIA is now an incubation project at the Apache Software Foundation.</p>
				</div>
			</div><!-- .col-md-7 close -->
			<div class="col-md-5 col-sm-12">
				<div class="block">
					<img src="images/aria-logo-large.png" alt="Img" />
				</div>
			</div><!-- .col-md-5 close -->
		</div>
	</div>
</section>

<section id="feature">
	<div class="container">
		<div class="row">
			<div class="col-md-6 col-md-offset-6">
				<h2>Open Source, Open Governance</h2>
				<p>OASIS TOSCA offers a vendor neutral standard for modeling cloud based applications, ARIA is an open implementation of the TOSCA specification, allowing complete visibility and free use of all it’s source code https://github.com/apache/incubator-ariatosca</p>
				<p>AIRA is an Apache Software Foundation project in incubation process, aiming to become an independent project governed by it’s active contributors following a meritocratic model. Committers of project will be leading the project’s direction and influencing thought contribution.</p>
				<a href="https://www.apache.org/foundation/how-it-works.html" class="btn btn-view-works">Learn More</a>
			</div>
		</div>
	</div>
</section>




<!-- Call to action Start -->
<section id="call-to-action">
	<div class="container">
		<div class="row">
			<div class="col-md-12">
				<div class="block">
					<h2>Get Started with Apache ARIA TOSCA</h2>
					<p></p>

          <a class="btn btn-default btn-call-to-action" href="/getting-started">Get Started Now</a>

				</div>
			</div>
		</div>
	</div>
</section>

<section id="intro">
	<div class="container">
		<div class="row">

      <div class="container">
        <div id="terminal-container"></div>
      </div>

		</div>
	</div>
</section>



			</div><!-- /.page-content -->
		</div class="archive-wrap"><!-- /.archive-wrap -->
	</div><!-- /.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="http://localhost:4000/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="http://localhost:4000/about/" >About</a></li>


						<li><a href="http://localhost:4000/community/" >Community</a></li>


						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>


						<li><a href="http://localhost:4000/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="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
    <script src="http://localhost:4000/js/jquery.counterup.js"></script>

    <script src="http://localhost:4000/js/main.js"></script>
    <script>

      var term = new Terminal();
      var url = "ws:/localhost:5000/v1.19/containers/a04417594831/attach/ws?logs=1&stream=1&stdin=1&stdout=1&stderr=1";
      sock = new WebSocket(url);
      term.attach(sock);
      term.open(document.getElementById('terminal-container'));
    </script>

  </body>

</html>
