Use glide for dependency mgmt; update README
And compilation instructions to README.
This commit is contained in:
@@ -13,44 +13,52 @@ See https://fission.io for more.
|
||||
Running Fission
|
||||
===============
|
||||
|
||||
On your own Kubernetes cluster
|
||||
------------------------------
|
||||
|
||||
### Setup Kubernetes
|
||||
|
||||
On your laptop:
|
||||
|
||||
```
|
||||
https://github.com/kubernetes/minikube
|
||||
```
|
||||
|
||||
Or use Google Container Engine to get a cluster.
|
||||
|
||||
Or use Google Container Engine.
|
||||
|
||||
### Verify access to the cluster
|
||||
|
||||
```
|
||||
$ kubectl version
|
||||
```
|
||||
|
||||
### Get and Run Fission
|
||||
|
||||
If you're using GKE, use the fission.yaml unmodified. If you're using
|
||||
minikube, change all instances of LoadBalancer services to NodePort.
|
||||
|
||||
|
||||
```
|
||||
$ curl http://fission.io/fission.yaml | kubectl create -f -
|
||||
|
||||
$ kubectl --namespace fission get services
|
||||
```
|
||||
|
||||
Save the external IP addresses of controller and router services in
|
||||
FISSION_URL and FISSION_ROUTER, respectively.
|
||||
FISSION_URL and FISSION_ROUTER, respectively. FISSION_URL is used by
|
||||
the fission CLI to find the server. (FISSION_ROUTER is only needed
|
||||
for the examples below to work.)
|
||||
|
||||
### Install the client CLI
|
||||
|
||||
```
|
||||
$ curl http://fission.io/fission > fission
|
||||
|
||||
$ chmod +x fission
|
||||
|
||||
$ sudo mv fission /usr/local/bin/
|
||||
```
|
||||
|
||||
### Run an example
|
||||
|
||||
```
|
||||
$ fission env create --name nodejs --image fission/node-env
|
||||
|
||||
$ echo 'module.exports = function(context, callback) { callback(200, "Hello, world!\n"); }' > hello.js
|
||||
@@ -61,12 +69,53 @@ FISSION_URL and FISSION_ROUTER, respectively.
|
||||
|
||||
$ curl http://$FISSION_ROUTER/hello
|
||||
Hello, world!
|
||||
```
|
||||
|
||||
Compiling Fission
|
||||
=================
|
||||
|
||||
You'll need go installed, along with the glide dependecy management
|
||||
tool. You'll also need docker for building images.
|
||||
|
||||
The server side is compiled as one binary ("fission-bundle") which
|
||||
contains controller, poolmgr and router; it invokes the right one
|
||||
based on command-line arguments.
|
||||
|
||||
To build fission-bundle: clone this repo, then from the top level
|
||||
directory:
|
||||
|
||||
```
|
||||
# Get dependencies
|
||||
$ glide install
|
||||
|
||||
# Build fission server and an image
|
||||
$ pushd fission-bundle
|
||||
$ ./build.sh
|
||||
|
||||
# Edit push.sh to point to your registry
|
||||
$ $EDITOR push.sh
|
||||
$ ./push.sh
|
||||
$ popd
|
||||
|
||||
# To install, update fission.yaml to point to your compiled image
|
||||
$ $EDITOR fission.yaml
|
||||
$ kubectl create -f fission.yaml
|
||||
```
|
||||
|
||||
If you're changing the CLI:
|
||||
|
||||
```
|
||||
# Build Fission CLI
|
||||
$ cd fission-cli && go install
|
||||
```
|
||||
|
||||
Status
|
||||
======
|
||||
|
||||
Fission is in early alpha. Watch this space for announcements soon!
|
||||
Fission is in early alpha. Don't use it in production just yet, but
|
||||
play with it and give us feedback!
|
||||
|
||||
|
||||
|
||||
|
||||
Performance
|
||||
|
||||
Reference in New Issue
Block a user