services/cluster: Add vkube command.

This is a prototype that implements the basic functionality of a cluster
manager. The vkube command can be used to:
 - start / stop the cluster agent.
 - start / update / stop vanadium applications.
 - build docker images for cluster & pod agents.

When vanadium application are started, vkube creates a new secret key on
the cluster agent, and a Secret object on Kubernetes.

This Secret object is then added to the user-provided
replication-controller config, along with a pod agent container and all
the hooks necessary for the vanadium app to talk to the pod agent.

Tested manually against a Kubernetes cluster. Still need to add a lot
tests.

Change-Id: I8fa6c00e8011c996eefe074184a2d8bdf1ba087f
9 files changed
tree: 6c9ccab2cf3fb0dbc98353249701d72917175e3c
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.