<commit_before>Fission
=======

Fission is a fast serverless framework for Kubernetes with a focus on
developer productivity and high performance.

It's customizable (with sensible defaults), extensible to any
language, and interoperates well with other infrastructure.

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.

### 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.

### 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  
  $ fission function create --name hello --env nodejs --code hello.js
  $ fission route create --method GET --url /hello --function hello
  $ curl http://$FISSION_ROUTER/hello
  Hello, world!<commit_msg>Ensure markdown doesn't re-wrap lines that are commands<commit_after>Fission
=======

Fission is a fast serverless framework for Kubernetes with a focus on
developer productivity and high performance.

It's customizable (with sensible defaults), extensible to any
language, and interoperates well with other infrastructure.

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.

### 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.

### 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  

  $ fission function create --name hello --env nodejs --code hello.js
  
  $ fission route create --method GET --url /hello --function hello
  
  $ curl http://$FISSION_ROUTER/hello
  Hello, world!

{'fraction_non_alphanumeric': 0.11900826446280992, 'fraction_numerical': 0.0019834710743801653, 'mean_word_length': 3.436950146627566, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5662667', 'n_tokens_mistral': 904, 'n_tokens_neox': 838, 'n_words': 336}