first-commit
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100755
index 0000000..60ba470
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,4 @@
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.2.1 # Apache-2.0
+# releasenotes
+reno>=3.1.0 # Apache-2.0
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.