Skip to content

Commit

Permalink
Merge pull request #118 from simphony/prerelease
Browse files Browse the repository at this point in the history
Release 0.4.0 preparation
  • Loading branch information
stefanoborini authored Jul 18, 2016
2 parents 2f2db15 + 8a43a90 commit d964010
Show file tree
Hide file tree
Showing 15 changed files with 199 additions and 36 deletions.
25 changes: 25 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
SimPhoNy Remote CHANGELOG
=========================

What's new in SimPhoNy Remote 0.4.0
-----------------------------------

Summary
~~~~~~~

- Experimental REST API and CLI program to control containers from the
command line (#7)
- Support for arbitrary database implementations (#66)
- Added remoteappdb `--verify` option to check against the docker repo for
matching images (#58)
- Enabled Foreign Key and on cascade delete for sqlite database (#56)
- Introduced makefile for basic deployment tasks (#68)
- User.orm_user is now User.account (#67)
- Asynchronous user verification with the jupyter hub is now in place (#37)
- Consistently differentiate between url and urlpath in parameters, where
possible (#54)
- Container.host_url now checks for None port (#63)
- Isolated sqlalchemy sessions for the base handler (#71)
- verify_token now returns a dictionary with user details. (#77)
- Bug: ui_names no longer appearing (#64)
- Bug: test error for sqlalchemy usage with multiple threads. (#99)
- Bug: fixed test error message relative to unclosed files. (#60)


What's new in SimPhoNy Remote 0.3.0
-----------------------------------

Expand Down
10 changes: 10 additions & 0 deletions doc/source/api/remoteappmanager.cli.remoteapprest.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
remoteappmanager.cli.remoteapprest package
==========================================

Module contents
---------------

.. automodule:: remoteappmanager.cli.remoteapprest
:members:
:undoc-members:
:show-inheritance:
1 change: 1 addition & 0 deletions doc/source/api/remoteappmanager.cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Subpackages
.. toctree::

remoteappmanager.cli.remoteappdb
remoteappmanager.cli.remoteapprest

Module contents
---------------
Expand Down
16 changes: 8 additions & 8 deletions doc/source/api/remoteappmanager.db.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ remoteappmanager.db package
Submodules
----------

remoteappmanager.db.csv_db module
---------------------------------

.. automodule:: remoteappmanager.db.csv_db
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.db.interfaces module
-------------------------------------

Expand All @@ -20,14 +28,6 @@ remoteappmanager.db.orm module
:undoc-members:
:show-inheritance:

remoteappmanager.db.csv_db module
---------------------------------

.. automodule:: remoteappmanager.db.csv_db
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------
Expand Down
54 changes: 54 additions & 0 deletions doc/source/api/remoteappmanager.rest.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
remoteappmanager.rest package
=============================

Submodules
----------

remoteappmanager.rest.exceptions module
---------------------------------------

.. automodule:: remoteappmanager.rest.exceptions
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.rest.httpstatus module
---------------------------------------

.. automodule:: remoteappmanager.rest.httpstatus
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.rest.registry module
-------------------------------------

.. automodule:: remoteappmanager.rest.registry
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.rest.resource module
-------------------------------------

.. automodule:: remoteappmanager.rest.resource
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.rest.rest_handler module
-----------------------------------------

.. automodule:: remoteappmanager.rest.rest_handler
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: remoteappmanager.rest
:members:
:undoc-members:
:show-inheritance:
30 changes: 30 additions & 0 deletions doc/source/api/remoteappmanager.restresources.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
remoteappmanager.restresources package
======================================

Submodules
----------

remoteappmanager.restresources.application module
-------------------------------------------------

.. automodule:: remoteappmanager.restresources.application
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.restresources.container module
-----------------------------------------------

.. automodule:: remoteappmanager.restresources.container
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: remoteappmanager.restresources
:members:
:undoc-members:
:show-inheritance:
3 changes: 3 additions & 0 deletions doc/source/api/remoteappmanager.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ Subpackages
remoteappmanager.docker
remoteappmanager.handlers
remoteappmanager.logging
remoteappmanager.rest
remoteappmanager.restresources
remoteappmanager.services

Submodules
----------
Expand Down
30 changes: 30 additions & 0 deletions doc/source/api/remoteappmanager.services.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
remoteappmanager.services package
=================================

Submodules
----------

remoteappmanager.services.hub module
------------------------------------

.. automodule:: remoteappmanager.services.hub
:members:
:undoc-members:
:show-inheritance:

remoteappmanager.services.reverse_proxy module
----------------------------------------------

.. automodule:: remoteappmanager.services.reverse_proxy
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: remoteappmanager.services
:members:
:undoc-members:
:show-inheritance:
6 changes: 4 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import sys
sys.path.append(os.path.abspath('../../remoteappmanager'))

from remoteappmanager import __version__, MAJOR, MINOR

# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand Down Expand Up @@ -65,9 +67,9 @@
# built documents.
#
# The short X.Y version.
version = '0.4'
version = '{}.{}'.format(MAJOR, MINOR)
# The full version, including alpha/beta/rc tags.
release = '0.4.0dev0'
release = __version__

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
43 changes: 22 additions & 21 deletions doc/source/deployment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,14 @@ Deployment of the complete system in a single machine/VM.
The following instructions assume a clean up-to-date ubuntu 14.04
system.

#. Install dependencies::

sudo apt-get install npm nodejs-legacy python3-pip python3.4-venv
sudo npm install -g configurable-http-proxy

#. Install the single user session manager::
#. Retrieve the single user session manager::

git clone https://github.com/simphony/simphony-remote

#. Create a venv, activate it::

cd simphony-remote
python3 -mvenv venv
. venv/bin/activate
pip3 install docker-py
python3 setup.py install (or develop)
#. Install dependencies. This will install the dependencies and create
a virtual environment for additional deployment::


.. note::
Install docker-py with pip due to
incorrect setup.py not handling python > 3.3
make deps

#. Generate the SSL certificates if you do not already have them. The
resulting certificates will have names test.* because they are
Expand All @@ -43,13 +30,11 @@ Deployment of the complete system in a single machine/VM.

Once created the certificates, copy them to the jupyterhub directory::

cd ../scripts
sh generate_certificate.sh
cp test.* ../jupyterhub/
make certs

#. Create the database. By default, this is a sqlite file::

remoteappdb --db=~/remoteappmanager.db init
make db

#. Change dir into jupyterhub::

Expand All @@ -65,6 +50,10 @@ Compatible docker containers can be found in DockerHub. Refer to the documentati
of `simphony-remote-docker <https://github.com/simphony/simphony-remote-docker>`_
repository to deploy the images.

Once installed, use the `remoteappdb` program to create users, applications,
and authorize users to start applications. Refer to the :ref:`utilities`
section for details on the use of this program.

Start JupyterHub
----------------

Expand All @@ -76,4 +65,16 @@ Start JupyterHub
If you want to keep the application running, use screen to start
a detachable terminal.

.. note::
Running on OSX or with a separate docker machine requires that the
appropriate environment variables are set before starting jupyterhub.
refer to the command `docker-machine env` to setup the appropriate
environment. In general, invoking::

eval `docker-machine env`

will enable the appropriate environment.
On Linux, by default the host machine and the docker machine coincide,
so this step is not needed.

#. JupyterHub is now running at https://localhost:8000
5 changes: 5 additions & 0 deletions doc/source/developer.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
Developer documentation
=======================

.. toctree::
:maxdepth: 1

api
4 changes: 3 additions & 1 deletion doc/source/utilities.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
.. _utilities:

Utilities
=========

Simphony remote comes with two utility scripts::
Simphony remote comes with two utility scripts:

- *remoteappdb*: Allows to add new applications, create new users, and
specify permissions between users and applications in a database.
Expand Down
2 changes: 1 addition & 1 deletion remoteappmanager/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
MAJOR = 0
MINOR = 4
MICRO = 0
IS_RELEASED = False
IS_RELEASED = True

__version__ = '%d.%d.%d' % (MAJOR, MINOR, MICRO)

Expand Down
2 changes: 1 addition & 1 deletion remoteappmanager/docker/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def from_docker_containers_dict(cls, docker_dict):
Returns
-------
container : Container
container : remoteappmanager.docker.container.Container
Examples
--------
Expand Down
4 changes: 2 additions & 2 deletions remoteappmanager/services/reverse_proxy.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def remove_container(self, container):
Parameters
----------
container : Container
container : remoteappmanager.docker.container.Container
A container object.
"""
proxy = self._reverse_proxy
Expand Down Expand Up @@ -70,7 +70,7 @@ def add_container(self, container):
Parameters
----------
container : Container
container : remoteappmanager.docker.container.Container
A container object.
Returns
Expand Down

0 comments on commit d964010

Please sign in to comment.