diff --git a/Documentation/docs-site/config.toml b/Documentation/docs-site/config.toml index 02d0dd95..ba0d751d 100644 --- a/Documentation/docs-site/config.toml +++ b/Documentation/docs-site/config.toml @@ -1,4 +1,35 @@ -baseURL = "http://fission.io/docs/0.3.0" -languageCode = "en-us" +baseURL = "http://fission.io/docs/0.4.0" +languageCode = "en-US" +defaultContentLanguage = "en" + title = "Fission: Serverless Functions for Kubernetes" -theme = "docdock" +theme = "learn" +metaDataFormat = "yaml" +defaultContentLanguageInSubdir= true + +[params] + editURL = "https://github.com/fission/fission/edit/master/Documentation/docs-site/content/" + description = "Documentation for Fission" + author = "Fission" + showVisitedLinks = true + themeVariant = "fission" + +[outputs] +home = [ "HTML", "RSS", "JSON"] + +[Languages] +[Languages.en] +title = "Serverless Functions for Kubernetes" +weight = 1 +languageName = "English" + +[[Languages.en.menu.shortcuts]] +name = " Github repo" +identifier = "ds" +url = "https://github.com/fission/fission" +weight = 10 + +[[Languages.en.menu.shortcuts]] +name = " Credits" +url = "https://github.com/fission/fission/graphs/contributors" +weight = 11 diff --git a/Documentation/docs-site/content/_header.md b/Documentation/docs-site/content/_header.en.md similarity index 100% rename from Documentation/docs-site/content/_header.md rename to Documentation/docs-site/content/_header.en.md diff --git a/Documentation/docs-site/content/_index.en.md b/Documentation/docs-site/content/_index.en.md new file mode 100644 index 00000000..f9eee575 --- /dev/null +++ b/Documentation/docs-site/content/_index.en.md @@ -0,0 +1,99 @@ +--- +title: Fission +weight: 1 +--- + +Fission: Serverless Functions for Kubernetes +============================================ + +[fission.io](http://fission.io) [@fissionio](http://twitter.com/fissionio) + +Fission is a fast serverless framework for Kubernetes with a focus on +developer productivity and high performance. + +Fission operates on _just the code_: Docker and Kubernetes are +abstracted away under normal operation, though you can use both to +extend Fission if you want to. + +Fission is extensible to any language; the core is written in Go, and +language-specific parts are isolated in something called +_environments_ (more below). Fission currently supports NodeJS, Python, Ruby, Go, +PHP, Bash, and any Linux executable, with more languages coming soon. + +### Performance: 100msec cold start + +Fission maintains a pool of "warm" containers that each contain a +small dynamic loader. When a function is first called, +i.e. "cold-started", a running container is chosen and the function is +loaded. This pool is what makes Fission fast: cold-start latencies +are typically about 100msec. + +### Kubernetes is the right place for Serverless + +We're built on Kubernetes because we think any non-trivial app will +use a combination of serverless functions and more conventional +microservices, and Kubernetes is a great framework to bring these +together seamlessly. + +Building on Kubernetes also means that anything you do for operations +on your Kubernetes cluster — such as monitoring or log +aggregation — also helps with ops on your Fission deployment. + + +Fission Concepts +---------------- + +A _function_ is a piece of code that follows the fission function +interface. + +An _environment_ contains the language- and runtime-specific parts of +running a function. + +The following environments are currently available: + + +| Environment | Image | +| ------------------------------------ | ------------------------- | +| Binary (for executables or scripts) | `fission/binary-env` | +| Go | `fission/go-env` | +| .NET | `fission/dotnet-env` | +| .NET 2.0 | `fission/dotnet20-env` | +| NodeJS (Alpine) | `fission/node-env` | +| NodeJS (Debian) | `fission/node-env-debian` | +| Perl | `fission/perl-env` | +| PHP 7 | `fission/php-env` | +| Python 3 | `fission/python-env` | +| Ruby | `fission/ruby-env` | + + +You can also extend environments or create entirely new +ones if you want. (An environment is essentially just a container +with a webserver and dynamic loader.) + +A _trigger_ is something that maps an event to a function; Fission +supports HTTP routes as triggers today, with upcoming support for +other types of event triggers, such as timers and Kubernetes events. + +Usage +----- + +```bash + + # Add the stock NodeJS env to your Fission deployment + $ fission env create --name nodejs --image fission/node-env + + # A javascript one-liner that prints "hello world" + $ curl https://raw.githubusercontent.com/fission/fission/master/examples/nodejs/hello.js > hello.js + + # Upload your function code to fission + $ fission function create --name hello --env nodejs --code hello.js + + # Map GET /hello to your new function + $ fission route create --method GET --url /hello --function hello + + # Run the function. This takes about 100msec the first time. + $ curl http://$FISSION_ROUTER/hello + Hello, world! +``` + +See the [examples](examples) directory for more. \ No newline at end of file diff --git a/Documentation/docs-site/content/_index.md b/Documentation/docs-site/content/_index.md deleted file mode 100644 index d09b9a44..00000000 --- a/Documentation/docs-site/content/_index.md +++ /dev/null @@ -1,6 +0,0 @@ -## Fission Documentation - - * [Installation guide](install) - - * [Upgrade guide for v0.3 to v0.4](upgrade-from-v0.3) - \ No newline at end of file diff --git a/Documentation/docs-site/content/compilation/_index.en.md b/Documentation/docs-site/content/compilation/_index.en.md new file mode 100644 index 00000000..57e365b2 --- /dev/null +++ b/Documentation/docs-site/content/compilation/_index.en.md @@ -0,0 +1,56 @@ +--- +title: "Compiling Fission" +date: 2017-09-07T20:10:05-07:00 +draft: false +weight: 1 +--- + +[You only need to do this if you're making Fission changes; if you're +just deploying Fission, use fission.yaml which points to prebuilt +images.] + +You'll need the `go` compiler and tools installed, along with the +[glide dependency management +tool](https://github.com/Masterminds/glide#install). 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 to +`$GOPATH/src/github.com/fission/fission`, then from the top level +directory (if you want to build the image with the docker inside +minikube, you'll need to set the proper environment variables with +`eval $(minikube docker-env)`): + +``` + # Get dependencies + $ glide install + + # Build fission server and an image + $ pushd fission-bundle + $ ./build.sh +``` + +You now need to build the docker image for fission. You can use +`push.sh` and push it to a docker hub account. But it's easiest to use +minikube and its built-in docker daemon: + +``` + $ eval $(minikube docker-env) + $ docker build -t minikube/fission-bundle . +``` + +Next, install fission with this image on your kubernetes cluster using the helm chart: + +``` + $ helm install --set "image=minikube/fission-bundle,pullPolicy=IfNotPresent,analytics=false" charts/fission-all +``` + +And if you're changing the CLI too, you can build it with: + +``` + # Build Fission CLI + $ cd fission && go install +``` \ No newline at end of file diff --git a/Documentation/docs-site/content/install.md b/Documentation/docs-site/content/installation/_index.en.md similarity index 99% rename from Documentation/docs-site/content/install.md rename to Documentation/docs-site/content/installation/_index.en.md index 1bedef54..6c22f0f6 100644 --- a/Documentation/docs-site/content/install.md +++ b/Documentation/docs-site/content/installation/_index.en.md @@ -1,7 +1,8 @@ --- -title: "Fission Installation Guide" +title: "Installation Guide" date: 2017-09-07T20:10:05-07:00 draft: false +weight: 20 --- Welcome! This guide will get you up and running with Fission on a diff --git a/Documentation/docs-site/content/kubernetessetup.md b/Documentation/docs-site/content/prerequisite/_index.en.md similarity index 99% rename from Documentation/docs-site/content/kubernetessetup.md rename to Documentation/docs-site/content/prerequisite/_index.en.md index b57a2c5a..a2d79bc1 100644 --- a/Documentation/docs-site/content/kubernetessetup.md +++ b/Documentation/docs-site/content/prerequisite/_index.en.md @@ -1,7 +1,7 @@ --- title: "Kubernetes Quick Install" date: 2017-09-07T20:10:05-07:00 -draft: false +weight: 10 --- This is a quick guide to help you get started running Kubernetes on diff --git a/Documentation/docs-site/content/upgrade/_index.en.md b/Documentation/docs-site/content/upgrade/_index.en.md new file mode 100644 index 00000000..7f56cfb0 --- /dev/null +++ b/Documentation/docs-site/content/upgrade/_index.en.md @@ -0,0 +1,12 @@ +--- +title: "Upgrade" +date: 2017-09-07T20:10:05-07:00 +weight: 30 +--- + +### From v0.1 to v0.2.x + +* [Upgade guide](upgrade-from-v0.1) + +### From v0.3 to v0.4.x +* [Upgrade guide](upgrade-from-v0.3) \ No newline at end of file diff --git a/Documentation/docs-site/content/upgrade-from-v0.1.md b/Documentation/docs-site/content/upgrade/upgrade-from-v0.1.md similarity index 98% rename from Documentation/docs-site/content/upgrade-from-v0.1.md rename to Documentation/docs-site/content/upgrade/upgrade-from-v0.1.md index ac56cd0d..ea085029 100644 --- a/Documentation/docs-site/content/upgrade-from-v0.1.md +++ b/Documentation/docs-site/content/upgrade/upgrade-from-v0.1.md @@ -1,7 +1,8 @@ --- -title: "Upgrading from Fission v0.1 to v0.2.x" +title: "Upgrading from v0.1 to v0.2.x" date: 2017-09-08T16:26:29-07:00 draft: false +weight: 31 --- ## TL;DR diff --git a/Documentation/docs-site/content/upgrade-from-v0.3.md b/Documentation/docs-site/content/upgrade/upgrade-from-v0.3.md similarity index 98% rename from Documentation/docs-site/content/upgrade-from-v0.3.md rename to Documentation/docs-site/content/upgrade/upgrade-from-v0.3.md index 00478c37..9cd4bec5 100644 --- a/Documentation/docs-site/content/upgrade-from-v0.3.md +++ b/Documentation/docs-site/content/upgrade/upgrade-from-v0.3.md @@ -1,7 +1,8 @@ --- -title: "Upgrading from Fission v0.3 to v0.4.x" +title: "Upgrading from v0.3 to v0.4.x" date: 2017-11-04T03:38:29+08:00 draft: false +weight: 32 --- ## Introduction diff --git a/Documentation/docs-site/static/images/favicon.png b/Documentation/docs-site/static/images/favicon.png new file mode 100644 index 00000000..3e6328e5 Binary files /dev/null and b/Documentation/docs-site/static/images/favicon.png differ diff --git a/Documentation/docs-site/static/images/fission-logo.png b/Documentation/docs-site/static/images/fission-logo.png new file mode 100644 index 00000000..d0687c4f Binary files /dev/null and b/Documentation/docs-site/static/images/fission-logo.png differ diff --git a/Documentation/docs-site/themes/docdock/.gitignore b/Documentation/docs-site/themes/docdock/.gitignore deleted file mode 100644 index 9381b76c..00000000 --- a/Documentation/docs-site/themes/docdock/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -public/ diff --git a/Documentation/docs-site/themes/docdock/README.md b/Documentation/docs-site/themes/docdock/README.md deleted file mode 100644 index f1a00e33..00000000 --- a/Documentation/docs-site/themes/docdock/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Hugo docDock Theme - -This repository contains a theme for [Hugo](https://gohugo.io/), based on great [Matcornic Learn theme](https://github.com/matcornic/hugo-theme-learn/). - -Visit the [theme documentation](http://docdock.netlify.com/) to see what is going on. It is actually built with this theme. - -# Main features - -- Search -- **Unlimited menu levels** -- RevealJS presentation from markdown (embededed or fullscreen page) -- Attachments files -- List child pages -- Include segment of content from one page in another (Excerpt) -- Automatic next/prev buttons to navigate through menu entries -- Mermaid diagram -- Icons, Buttons, Alerts, Panels, Tip/Note/Info/Warning boxes -- Image resizing, shadow... -- Customizable look and feel - -## Installation -Navigate to your themes folder in your Hugo site and use the following commands: -``` -$ cd themes -$ git clone https://github.com/vjeantet/hugo-theme-docdock.git docdock -``` - -Check that your Hugo version is minimum `0.25` with `hugo version`. - - - -## Usage - -- [Visit the documentation](http://docdock.netlify.com/) \ No newline at end of file diff --git a/Documentation/docs-site/themes/docdock/archetypes/default.md b/Documentation/docs-site/themes/docdock/archetypes/default.md deleted file mode 100644 index dd9d7941..00000000 --- a/Documentation/docs-site/themes/docdock/archetypes/default.md +++ /dev/null @@ -1,9 +0,0 @@ -+++ -title= "{{ replace .TranslationBaseName "-" " " | title }}" -date= {{ .Date }} -description = "" -draft= true -+++ - -Lorem Ipsum. -Notice `draft` is set to true. diff --git a/Documentation/docs-site/themes/docdock/archetypes/slide.md b/Documentation/docs-site/themes/docdock/archetypes/slide.md deleted file mode 100644 index e40a913d..00000000 --- a/Documentation/docs-site/themes/docdock/archetypes/slide.md +++ /dev/null @@ -1,46 +0,0 @@ -+++ -title = "Slide title" -type="slide" - -theme = "league" -[revealOptions] -transition= 'concave' -controls= true -progress= true -history= true -center= true -+++ - -# Slide 1 - -___ - -## Slide 1.1 - -- Turn off alarm -- Get out of bed - -___ - -## Slide 1.2 - -- Eat eggs -- Drink coffee - ---- - -# Slide 2 - -___ - -## Slide 2.1 - -- Eat spaghetti -- Drink wine - -___ - -## Slide 2.2 - -- Get in bed -- Count sheep \ No newline at end of file diff --git a/Documentation/docs-site/themes/docdock/exampleSite/config.toml b/Documentation/docs-site/themes/docdock/exampleSite/config.toml deleted file mode 100644 index e229f9ce..00000000 --- a/Documentation/docs-site/themes/docdock/exampleSite/config.toml +++ /dev/null @@ -1,43 +0,0 @@ -baseURL = "/" -languageCode = "en-us" -DefaultContentLanguage = "en" - -title = "Docdock" -theme = "hugo-theme-docdock" -themesdir = "../.." - -[params] -editURL = "https://github.com/vjeantet/hugo-theme-docdock/edit/master/exampleSite/content/" -noHomeIcon = false # default is false -noSearch = false # default is false -showVisitedLinks = true # default is false -# themeStyle = "theme" # overide base css -themeVariant = "" # choose theme variant "green", "gold" , "gray", "blue" (default) -ordersectionsby = "weight" # ordersectionsby = "title" - -[outputs] -home = [ "HTML", "RSS", "JSON"] - - -[[menu.shortcuts]] -pre = "