Deploy Consul, Controller, Kafka, Zookeeper and Invoker in Kubernete (#22)

* Able to deploy Consul to Kubernetes for OpenWhisk

* Deploy Consul and seed the database.
* Restructure how to override required ansible deployment files.
  Copy all of OpenWhisk deployment files and replace specific files
  for Kube.
* Update cleanup script to include consul.
* Add all group-vars so that the properties file can
  be generated.

* Able to deploy Kafka for OpenWhisk in Kuberentes

* cleanup Consul key values for invoker hosts
* properly seed kafka with correct invoker topics
* dynamically use correct kafka pod names

* Able to deploy OpenWhisk Controller in Kube.

* Able to deploy Invoker on Kubernetes.

* Deploy the Invoker via a Kube StatefulSet
* Invoker pulls all of the required OpenWhisk images
* Updated to Consul so all of the process Hostnames are correct

* Only deploy CouchDB if it doesn't exist.

* Allow more time to deploy in travis

* Split Zookeeper and Kafka into different Kube deployments.

* This fixes issues where Kube DNS cannot route to itself.

* Add retries for obtaining pod names

* Use public openwhisk/invoker image

* Remove instructions from README about building custom OpenWhisk images.
34 files changed
tree: b61fc73f0cd3f9b4bc58bd8d1bca88c0759fc995
  1. docker-compose/
  2. kubernetes/
  3. .gitignore
  4. .travis.yml
  5. CONTRIBUTING.md
  6. LICENSE.txt
  7. README.md
README.md

Developer tools for OpenWhisk

Installing OpenWhisk

  • Using Docker-Compose. See the README for more details.

    Build Status

    cd docker-compose
    make quick-start
    

    This is useful for creating local development environments. The build downloads by default the latest code from the master branch, but it also allows developers to work with their local clones by providing the local path to the OpenWhisk repo:

    PROJECT_HOME=/path/to/openwhisk make quick-start
    

Travis builds

Each tool in this repository has to provide travis build scripts inside a .travis folder. The folder should define 2 scripts:

  • setup.sh - invoked during before_install phase
  • build.sh - invokes during script phase

For an example check out docker-compose/.travis folder.