dispatch

module
v0.0.2-solo Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2018 License: Apache-2.0

README

Dispatch

ATTENTION: This is the Solo branch of Dispatch. Read the Dispatch Solo section to understand what that means.

Dispatch is a framework for deploying and managing serverless style applications. The intent is a framework which enables developers to build applications which are defined by functions which handle business logic and services which provide all other functionality:

  • State (Databases)
  • Messaging/Eventing (Queues)
  • Ingress (Api-Gateways)
  • Etc.

Our goal is to provide a substrate which can be built upon and extended to serve as a framework for serverless applications. Additionally, the framework must provide tools and features which aid the developer in building, debugging and maintaining their serverless application.

Dispatch Solo

Dispatch Solo is a simplified branch of Dispatch. The objective is to remove as many dependencies as possible while maintaining functionlity. Dispatch Solo is a single binary which only relies on Docker as dependency. The trade-off of this simplification is scale and persistence. However, it is the perfect platform for evaluation and learning.

Documentation and Quickstart

Checkout the detailed documentation including a quickstart guide.

Architecture

The diagram below illustrates the different components which make up the Dispatch project:

dispatch solo architecture diagram

Installation

For a quickstart see the developer documentation

Building

Prerequisites

  • Golang
  • Docker

Clone the repository and update your GOPATH:

mkdir -p $HOME/dispatch/go/src/github.com/vmware
cd $HOME/dispatch/go/src/github.com/vmware
git clone git@github.com:vmware/dispatch.git
cd dispatch
git checkout origin/solo
export GOPATH=$HOME/dispatch/go

Build and run Dispatch CLI and server (Mac):

make darwin
cp ./bin/dispatch-darwin /usr/local/bin/dispatch
./bin/dispatch-server-darwin

Build and run Dispatch CLI and server (Linux):

make linux
cp ./bin/dispatch-linux /usr/local/bin/dispatch
./bin/dispatch-server-linux

Create dispatch config file $HOME/.dispatch/config.json like this:

mkdir $HOME/.dispatch
cat << EOF > $HOME/.dispatch/config.json
{
    "current": "solo",
    "contexts": {
        "solo": {
            "port": 8080,
            "scheme": "http",
            "organization": "dispatch-server",
            "cookie": "cookie",
            "insecure": true
        }
    }
}
EOF

Testing

To run the end to end tests:

API_GATEWAY_HTTP_HOST=http://localhost:8081 ./e2e/scripts/run-e2e.sh e2e/tests

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our FAQ.

Before you start to code, we recommend discussing your plans through a GitHub issue or discuss it first with the official project maintainers via the #Dispatch Slack Channel, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

License

Dispatch is available under the Apache 2 license.

Directories

Path Synopsis
cmd
examples
pkg
api
api-manager/gen/restapi
Package restapi API Manager VMware Dispatch - API Manager APIs Schemes: http https Host: localhost BasePath: /v1/api Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
Package restapi API Manager VMware Dispatch - API Manager APIs Schemes: http https Host: localhost BasePath: /v1/api Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
api/v1
Package v1 Dispatch API.
Package v1 Dispatch API.
event-manager/gen/restapi
Package restapi Event Manager VMware Dispatch Event Manager Schemes: http https Host: localhost BasePath: /v1/event Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
Package restapi Event Manager VMware Dispatch Event Manager Schemes: http https Host: localhost BasePath: /v1/event Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
function-manager/gen/restapi
Package restapi Function Manager VMware Dispatch Function Manager Schemes: http https Host: localhost BasePath: /v1 Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
Package restapi Function Manager VMware Dispatch Function Manager Schemes: http https Host: localhost BasePath: /v1 Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
identity-manager/gen/restapi
Package restapi Identity Manager VMware Dispatch Identity Manager Schemes: http https Host: localhost BasePath: / Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
Package restapi Identity Manager VMware Dispatch Identity Manager Schemes: http https Host: localhost BasePath: / Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
image-manager/gen/restapi
Package restapi Image Manager VMware Dispatch Image Manager Schemes: http https Host: localhost BasePath: /v1 Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
Package restapi Image Manager VMware Dispatch Image Manager Schemes: http https Host: localhost BasePath: /v1 Version: 1.0.0 Contact: <dispatch@vmware.com> Consumes: - application/json Produces: - application/json swagger:meta
secret-store/gen/restapi
Package restapi Secret Store VMware Dispatch Secret Store Schemes: http Host: localhost BasePath: /v1/secret Version: 0.0.1 Consumes: - application/json Produces: - application/json swagger:meta
Package restapi Secret Store VMware Dispatch Secret Store Schemes: http Host: localhost BasePath: /v1/secret Version: 0.0.1 Consumes: - application/json Produces: - application/json swagger:meta

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL