first-commit
diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst
new file mode 100755
index 0000000..9e8a607
--- /dev/null
+++ b/doc/source/admin/index.rst
@@ -0,0 +1,5 @@
+====================
+Administrators guide
+====================
+
+Administrators guide of staffeln.
diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst
new file mode 100755
index 0000000..5f014e7
--- /dev/null
+++ b/doc/source/cli/index.rst
@@ -0,0 +1,5 @@
+================================
+Command line interface reference
+================================
+
+CLI reference of staffeln.
diff --git a/doc/source/conf.py b/doc/source/conf.py
new file mode 100755
index 0000000..e41b2c9
--- /dev/null
+++ b/doc/source/conf.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# 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.
+
+import os
+import sys
+
+sys.path.insert(0, os.path.abspath('../..'))
+# -- General configuration ----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = [
+    'sphinx.ext.autodoc',
+    'openstackdocstheme',
+    #'sphinx.ext.intersphinx',
+]
+
+# autodoc generation is a bit aggressive and a nuisance when doing heavy
+# text edit cycles.
+# execute "export SPHINX_DEBUG=1" in your terminal to disable
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'staffeln'
+copyright = u'2017, OpenStack Developers'
+
+# openstackdocstheme options
+openstackdocs_repo_name = 'openstack/staffeln'
+openstackdocs_bug_project = 'replace with the name of the project on Launchpad or the ID from Storyboard'
+openstackdocs_bug_tag = ''
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+add_module_names = True
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'native'
+
+# -- Options for HTML output --------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+# html_theme_path = ["."]
+# html_theme = '_theme'
+# html_static_path = ['static']
+html_theme = 'openstackdocs'
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = '%sdoc' % project
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass
+# [howto/manual]).
+latex_documents = [
+    ('index',
+     '%s.tex' % project,
+     u'%s Documentation' % project,
+     u'OpenStack Developers', 'manual'),
+]
+
+# Example configuration for intersphinx: refer to the Python standard library.
+#intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/doc/source/configuration/index.rst b/doc/source/configuration/index.rst
new file mode 100755
index 0000000..4736612
--- /dev/null
+++ b/doc/source/configuration/index.rst
@@ -0,0 +1,5 @@
+=============
+Configuration
+=============
+
+Configuration of staffeln.
diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst
new file mode 100755
index 0000000..48dd47b
--- /dev/null
+++ b/doc/source/contributor/contributing.rst
@@ -0,0 +1,69 @@
+============================
+So You Want to Contribute...
+============================
+
+For general information on contributing to OpenStack, please check out the
+`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
+It covers all the basics that are common to all OpenStack projects: the accounts
+you need, the basics of interacting with our Gerrit review system, how we
+communicate as a community, etc.
+
+Below will cover the more project specific information you need to get started
+with replace with the service it implements.
+
+Communication
+~~~~~~~~~~~~~
+.. This would be a good place to put the channel you chat in as a project; when/
+   where your meeting is, the tags you prepend to your ML threads, etc.
+
+Contacting the Core Team
+~~~~~~~~~~~~~~~~~~~~~~~~
+.. This section should list the core team, their irc nicks, emails, timezones
+   etc. If all this info is maintained elsewhere (i.e. a wiki), you can link to
+   that instead of enumerating everyone here.
+
+New Feature Planning
+~~~~~~~~~~~~~~~~~~~~
+.. This section is for talking about the process to get a new feature in. Some
+   projects use blueprints, some want specs, some want both! Some projects
+   stick to a strict schedule when selecting what new features will be reviewed
+   for a release.
+
+Task Tracking
+~~~~~~~~~~~~~
+.. This section is about where you track tasks- launchpad? storyboard? is there
+   more than one launchpad project? what's the name of the project group in
+   storyboard?
+
+We track our tasks in Launchpad
+
+   https://bugs.launchpad.net/replace with the name of the project on Launchpad or the ID from Storyboard
+
+If you're looking for some smaller, easier work item to pick up and get started
+on, search for the 'low-hanging-fruit' tag.
+
+.. NOTE: If your tag is not 'low-hanging-fruit' please change the text above.
+
+Reporting a Bug
+~~~~~~~~~~~~~~~
+.. Pretty self explanatory section, link directly to where people should report
+   bugs for your project.
+
+You found an issue and want to make sure we are aware of it? You can do so on
+`Launchpad
+<https://bugs.launchpad.net/replace with the name of the project on Launchpad or the ID from Storyboard>`_.
+
+Getting Your Patch Merged
+~~~~~~~~~~~~~~~~~~~~~~~~~
+.. This section should have info about what it takes to get something merged. Do
+   you require one or two +2's before +W? Do some of your repos require unit
+   test changes with all patches? etc.
+
+Project Team Lead Duties
+~~~~~~~~~~~~~~~~~~~~~~~~
+.. this section is where you can put PTL specific duties not already listed in
+   the common PTL guide (linked below), or if you already have them written
+   up elsewhere you can link to that doc here.
+
+All common PTL duties are enumerated in the `PTL guide
+<https://docs.openstack.org/project-team-guide/ptl.html>`_.
diff --git a/doc/source/contributor/index.rst b/doc/source/contributor/index.rst
new file mode 100755
index 0000000..036e449
--- /dev/null
+++ b/doc/source/contributor/index.rst
@@ -0,0 +1,9 @@
+===========================
+ Contributor Documentation
+===========================
+
+.. toctree::
+   :maxdepth: 2
+
+   contributing
+
diff --git a/doc/source/index.rst b/doc/source/index.rst
new file mode 100755
index 0000000..77b2ca9
--- /dev/null
+++ b/doc/source/index.rst
@@ -0,0 +1,30 @@
+.. staffeln documentation master file, created by
+   sphinx-quickstart on Tue Jul  9 22:26:36 2013.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+========================================
+Welcome to the documentation of staffeln
+========================================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+
+   readme
+   install/index
+   library/index
+   contributor/index
+   configuration/index
+   cli/index
+   user/index
+   admin/index
+   reference/index
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/doc/source/install/common_configure.rst b/doc/source/install/common_configure.rst
new file mode 100755
index 0000000..3144e8e
--- /dev/null
+++ b/doc/source/install/common_configure.rst
@@ -0,0 +1,10 @@
+2. Edit the ``/etc/staffeln/staffeln.conf`` file and complete the following
+   actions:
+
+   * In the ``[database]`` section, configure database access:
+
+     .. code-block:: ini
+
+        [database]
+        ...
+        connection = mysql+pymysql://staffeln:STAFFELN_DBPASS@controller/staffeln
diff --git a/doc/source/install/common_prerequisites.rst b/doc/source/install/common_prerequisites.rst
new file mode 100755
index 0000000..280200a
--- /dev/null
+++ b/doc/source/install/common_prerequisites.rst
@@ -0,0 +1,75 @@
+Prerequisites
+-------------
+
+Before you install and configure the replace with the service it implements service,
+you must create a database, service credentials, and API endpoints.
+
+#. To create the database, complete these steps:
+
+   * Use the database access client to connect to the database
+     server as the ``root`` user:
+
+     .. code-block:: console
+
+        $ mysql -u root -p
+
+   * Create the ``staffeln`` database:
+
+     .. code-block:: none
+
+        CREATE DATABASE staffeln;
+
+   * Grant proper access to the ``staffeln`` database:
+
+     .. code-block:: none
+
+        GRANT ALL PRIVILEGES ON staffeln.* TO 'staffeln'@'localhost' \
+          IDENTIFIED BY 'STAFFELN_DBPASS';
+        GRANT ALL PRIVILEGES ON staffeln.* TO 'staffeln'@'%' \
+          IDENTIFIED BY 'STAFFELN_DBPASS';
+
+     Replace ``STAFFELN_DBPASS`` with a suitable password.
+
+   * Exit the database access client.
+
+     .. code-block:: none
+
+        exit;
+
+#. Source the ``admin`` credentials to gain access to
+   admin-only CLI commands:
+
+   .. code-block:: console
+
+      $ . admin-openrc
+
+#. To create the service credentials, complete these steps:
+
+   * Create the ``staffeln`` user:
+
+     .. code-block:: console
+
+        $ openstack user create --domain default --password-prompt staffeln
+
+   * Add the ``admin`` role to the ``staffeln`` user:
+
+     .. code-block:: console
+
+        $ openstack role add --project service --user staffeln admin
+
+   * Create the staffeln service entities:
+
+     .. code-block:: console
+
+        $ openstack service create --name staffeln --description "replace with the service it implements" replace with the service it implements
+
+#. Create the replace with the service it implements service API endpoints:
+
+   .. code-block:: console
+
+      $ openstack endpoint create --region RegionOne \
+        replace with the service it implements public http://controller:XXXX/vY/%\(tenant_id\)s
+      $ openstack endpoint create --region RegionOne \
+        replace with the service it implements internal http://controller:XXXX/vY/%\(tenant_id\)s
+      $ openstack endpoint create --region RegionOne \
+        replace with the service it implements admin http://controller:XXXX/vY/%\(tenant_id\)s
diff --git a/doc/source/install/get_started.rst b/doc/source/install/get_started.rst
new file mode 100755
index 0000000..ce6cba6
--- /dev/null
+++ b/doc/source/install/get_started.rst
@@ -0,0 +1,9 @@
+=======================================================
+replace with the service it implements service overview
+=======================================================
+The replace with the service it implements service provides...
+
+The replace with the service it implements service consists of the following components:
+
+``staffeln-api`` service
+  Accepts and responds to end user compute API calls...
diff --git a/doc/source/install/index.rst b/doc/source/install/index.rst
new file mode 100755
index 0000000..c6f3ab7
--- /dev/null
+++ b/doc/source/install/index.rst
@@ -0,0 +1,17 @@
+=================================================================
+replace with the service it implements service installation guide
+=================================================================
+
+.. toctree::
+   :maxdepth: 2
+
+   get_started.rst
+   install.rst
+   verify.rst
+   next-steps.rst
+
+The replace with the service it implements service (staffeln) provides...
+
+This chapter assumes a working setup of OpenStack following the
+`OpenStack Installation Tutorial
+<https://docs.openstack.org/project-install-guide/ocata/>`_.
diff --git a/doc/source/install/install-obs.rst b/doc/source/install/install-obs.rst
new file mode 100755
index 0000000..a37d85a
--- /dev/null
+++ b/doc/source/install/install-obs.rst
@@ -0,0 +1,34 @@
+.. _install-obs:
+
+
+Install and configure for openSUSE and SUSE Linux Enterprise
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the replace with the service it implements service
+for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1.
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+   .. code-block:: console
+
+      # zypper --quiet --non-interactive install
+
+.. include:: common_configure.rst
+
+
+Finalize installation
+---------------------
+
+Start the replace with the service it implements services and configure them to start when
+the system boots:
+
+.. code-block:: console
+
+   # systemctl enable openstack-staffeln-api.service
+
+   # systemctl start openstack-staffeln-api.service
diff --git a/doc/source/install/install-rdo.rst b/doc/source/install/install-rdo.rst
new file mode 100755
index 0000000..ee3ecde
--- /dev/null
+++ b/doc/source/install/install-rdo.rst
@@ -0,0 +1,33 @@
+.. _install-rdo:
+
+Install and configure for Red Hat Enterprise Linux and CentOS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+This section describes how to install and configure the replace with the service it implements service
+for Red Hat Enterprise Linux 7 and CentOS 7.
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+   .. code-block:: console
+
+      # yum install
+
+.. include:: common_configure.rst
+
+Finalize installation
+---------------------
+
+Start the replace with the service it implements services and configure them to start when
+the system boots:
+
+.. code-block:: console
+
+   # systemctl enable openstack-staffeln-api.service
+
+   # systemctl start openstack-staffeln-api.service
diff --git a/doc/source/install/install-ubuntu.rst b/doc/source/install/install-ubuntu.rst
new file mode 100755
index 0000000..ebf1f2c
--- /dev/null
+++ b/doc/source/install/install-ubuntu.rst
@@ -0,0 +1,31 @@
+.. _install-ubuntu:
+
+Install and configure for Ubuntu
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the replace with the service it implements
+service for Ubuntu 14.04 (LTS).
+
+.. include:: common_prerequisites.rst
+
+Install and configure components
+--------------------------------
+
+#. Install the packages:
+
+   .. code-block:: console
+
+      # apt-get update
+
+      # apt-get install
+
+.. include:: common_configure.rst
+
+Finalize installation
+---------------------
+
+Restart the replace with the service it implements services:
+
+.. code-block:: console
+
+   # service openstack-staffeln-api restart
diff --git a/doc/source/install/install.rst b/doc/source/install/install.rst
new file mode 100755
index 0000000..e95a8b7
--- /dev/null
+++ b/doc/source/install/install.rst
@@ -0,0 +1,20 @@
+.. _install:
+
+Install and configure
+~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the
+replace with the service it implements service, code-named staffeln, on the controller node.
+
+This section assumes that you already have a working OpenStack
+environment with at least the following components installed:
+.. (add the appropriate services here and further notes)
+
+Note that installation and configuration vary by distribution.
+
+.. toctree::
+   :maxdepth: 2
+
+   install-obs.rst
+   install-rdo.rst
+   install-ubuntu.rst
diff --git a/doc/source/install/next-steps.rst b/doc/source/install/next-steps.rst
new file mode 100755
index 0000000..b3cd12c
--- /dev/null
+++ b/doc/source/install/next-steps.rst
@@ -0,0 +1,9 @@
+.. _next-steps:
+
+Next steps
+~~~~~~~~~~
+
+Your OpenStack environment now includes the staffeln service.
+
+To add additional services, see
+https://docs.openstack.org/project-install-guide/ocata/.
diff --git a/doc/source/install/verify.rst b/doc/source/install/verify.rst
new file mode 100755
index 0000000..dbbb21b
--- /dev/null
+++ b/doc/source/install/verify.rst
@@ -0,0 +1,24 @@
+.. _verify:
+
+Verify operation
+~~~~~~~~~~~~~~~~
+
+Verify operation of the replace with the service it implements service.
+
+.. note::
+
+   Perform these commands on the controller node.
+
+#. Source the ``admin`` project credentials to gain access to
+   admin-only CLI commands:
+
+   .. code-block:: console
+
+      $ . admin-openrc
+
+#. List service components to verify successful launch and registration
+   of each process:
+
+   .. code-block:: console
+
+      $ openstack replace with the service it implements service list
diff --git a/doc/source/library/index.rst b/doc/source/library/index.rst
new file mode 100755
index 0000000..f176873
--- /dev/null
+++ b/doc/source/library/index.rst
@@ -0,0 +1,7 @@
+========
+Usage
+========
+
+To use staffeln in a project::
+
+    import staffeln
diff --git a/doc/source/readme.rst b/doc/source/readme.rst
new file mode 100755
index 0000000..a6210d3
--- /dev/null
+++ b/doc/source/readme.rst
@@ -0,0 +1 @@
+.. include:: ../../README.rst
diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst
new file mode 100755
index 0000000..8132b28
--- /dev/null
+++ b/doc/source/reference/index.rst
@@ -0,0 +1,5 @@
+==========
+References
+==========
+
+References of staffeln.
diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst
new file mode 100755
index 0000000..0127fc6
--- /dev/null
+++ b/doc/source/user/index.rst
@@ -0,0 +1,5 @@
+===========
+Users guide
+===========
+
+Users guide of staffeln.