.. Copyright (c) 2013 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ============================================== Welcome to Murano API Service! ============================================== Murano API is a project that provides access to engine via API. This document describes Murano API for contributors of the project, and assumes that you are already familiar with Murano API from an `end-user perspective`_. .. _`end-user perspective`: http://murano.mirantis.com/ This documentation is generated by the Sphinx toolkit and lives in the source tree. Installation Guide ================== Install ------- 1. Check out sources to some directory (/murano):: user@work:~/$ git clone https://github.com/Mirantis/murano-api.git 2. Install Murano API:: user@work:~/$ cd murano/api && sudo python setup.py install Configure --------- 1. Open first configuration file for editing:: user@work:~/$ cd murano/api/etc && nano murano-api.conf 2. Configure according to you environment (please note rabbitmq section):: [DEFAULT] # Show more verbose log output (sets INFO log level output) verbose = True # Show debugging output in logs (sets DEBUG log level output) debug = True # Address to bind the server to bind_host = 0.0.0.0 # Port the bind the server to bind_port = 8082 # Log to this file. Make sure the user running skeleton-api has # permissions to write to this file! log_file = /tmp/murano-api.log #A valid SQLAlchemy connection string for the metadata database sql_connection = sqlite:///murano.sqlite [reports] results_exchange = task-results results_queue = task-results reports_exchange = task-reports reports_queue = task-reports [rabbitmq] host = localhost port = 5672 # RabbitMQ credentials. Fresh RabbitMQ installation has "guest" account with "guest" password. # It is recommended to create dedicated user account for Murano using RabbitMQ web console or command line utility login = guest password = guest # RabbitMQ virtual host (vhost). Fresh RabbitMQ installation has "/" vhost preconfigured. # It is recommended to create dedicated vhost for Murano using RabbitMQ web console or command line utility virtual_host = / ssl = False ca_certs = 3. Open second configuration file for editing:: smelikyan@work:~/cd murano/api/etc && nano murano-api.conf 4. Configure according to you environment (please note filter:authtoken section):: [pipeline:murano-api] pipeline = authtoken context apiv1app [app:apiv1app] paste.app_factory = muranoapi.api.v1.router:API.factory [filter:context] paste.filter_factory = muranoapi.api.middleware.context:ContextMiddleware.factory [filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = localhost auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = password signing_dir = /tmp/keystone-signing-muranoapi Run ---- Run Murano API and supply valid configuration file:: user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf Man Pages ========= .. toctree:: :maxdepth: 1 man/muranoapi