picasso/docs/source/deployment_guide.rst

2.3 KiB

Picasso deployment guide

DevStack

See full install guide in devstack_plugin

Existing OpenStack

Required software:

* Python 3.5 or greater
* Go 1.7 or greater
* Glide
* OpenStack Identity (Keystone)
* Docker (single instance or clustered)

Software that will be installed:

* IronFunctions
* Picasso

IronFunctions installation

IronFunctions is a core component of Picasso that interacts with the Docker API.

Run the following commands to install IronFunctions:

export GOPATH=~/go
export FUNCTIONS_DIR=$GOPATH/src/github.com/iron-io/functions
mkdir -p $FUNCTIONS_DIR
pushd $FUNCTIONS_DIR && GOPATH=${GOPATH} make all; popd

Running $FUNCTIONS_DIR/functions will start IronFunctions using an embedded Bolt database running on port 8080.

See IronFunctions configuration options

Installing Picasso

Picasso is a lightweight ReST API service to work with IronFunctions using the OpenStack Identity (Keystone) model.

Run the following commands to install Picasso:

git clone git@github.com:openstack/picasso.git
pip3 install -r requirements.txt
pip3 install -e .

Review the Picasso README for how to get started.

OpenStack Identity (Keystone) configuration

Create a new functions service in Keystone using the OpenStack_CLI This will enable the Picasso API by resolving its endpoint through the service catalog.

Running IronFunctions in production

From a deployment perspective IronFunctions is nothing more than an internal service, so its API should not be exposed to OpenStack users.

Running Picasso in production

Required software:

Load balancer such as HaProxy or Nginx

The Picasso API endpoint should be available to OpenStack users, therefore it is suggested to run the API behind a load balancer.