Files
fission-src/charts
smruthi2187andTa-Ching Chen 31ba992726 Archive pruner (#471)
All functions have a pkg reference. This can be a package with either source and a deploy archives, or, a deploy archive. Everytime a function is updated, a new package is created. With archive pruner, the archives that are pointed to by old pkg reference can be deleted from the storage.

* High level spec for package pruning.
* Skeleton for archive pruning
* Adding meat 1 to skeleton.
* Adding meat #2. Separated storage service into a httpHandler component and
Storage Layer component.
* Adding meat #3. getOrphanedArchives in pruner and getItems on
stowClient.
* Restructured archivePruner methods.
* Commiting the day's work. Ready for testing #1.
* Fixing compile errors.
* Test ready. added a few logs for debugging.
* Adding a filter for getItems in stowClient.
* After testing.
* Added a test for archivePruner.
* Adding helm value pruneInterval for testing.
* Modified test.
* Final test.
* Fixing interval from seconds to minutes.
* Small change.
* Changing debugs to info.
* Removing the WIP design
* Ran gofmt on all these files.
* Fixing prune_interval as string in ENV var.

* Addressing all comments, but one.

* changing getFile method in stowClient to stream it into a response.

* All comments incorporated.
* Introducing a new flag for running archivePruner.
1. This flag is disabled for archivePruner to run in unit test.
2. This flag is enabled for archivePruner to run in production.
3. Also disabling test_archive_pruner.sh in this PR. Follow up with
next PR to enable it.

* Addressing review comments.

* Changing the command to generate a file dynamically.

* Enabling arching_pruner_test

* giving execute permissions to test_archive_pruner.sh

* Making changes of positional parameters after recent commit.
Change test case permission and removing kubectlPortForward.

* Adding debug to see why test_utils.sh passed junk pruneInterval.

* shell needs special handling for positional parameters from 10.
2018-02-01 18:13:36 +08:00
..
2018-02-01 18:13:36 +08:00
2018-02-01 18:13:36 +08:00

Fission

Fission is a framework for serverless functions on Kubernetes.

Prerequisites

  • Kubernetes 1.8 or later

Helm charts

The following table lists two helm charts for Fission.

Parameter Description
fission-core FaaS essentials, and triggers for HTTP, Timers and Kubernetes Watches
fission-all Log aggregation with fluentd and InfluxDB; NATS for message queue triggers; Fission-UI

Installing the chart

To install the chart with the release name my-release,

$ helm install --name my-release fission-all

Uninstalling the chart

To uninstall/delete chart,

$ helm delete my-release

Configuration

The following table lists the configurable parameters of the Fission chart and their default values.

Parameter Description Default
serviceType Type of service to use LoadBalancer.
image Fission image fission/fission-bundle
imageTag Fission image tag alpha20170124
fetcherImage Fission fetcher image fission/fetcher
fetcherImageTag Fission fetcher image tag latest
controllerPort Fission Controller Service Port 31313
routerPort Fission Router Service Port 31314
functionNamespace Namespace for Fission functions fission-function
builderNamespace Namespace for Fission environment builders fission-builder
  • Extra configuration for fission-all
Parameter Description Default
logger.influxdbAdmin Log database admin username admin.
logger.fluentdImage Logger fluentd image fission/fluentd
fissionUiImage Fission ui image fission/fission-ui:0.1.0
nats.authToken Nats streaming auth token defaultFissionAuthToken
nats.clusterID Nats streaming clusterID fissionMQTrigger

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release --set image=custom/fission-bundle,imageTag=v1 fission-all

If you're using minikube, set serviceType to NodePort:

$ helm install --name my-release --set serviceType=NodePort fission-all

You can also set parameters with a yaml file (see values.yaml for what it should look like):

$ helm install --name my-release -f values.yaml fission-all