Code Monkey home page Code Monkey logo

fn-helm's Introduction

Fn Project Helm Chart

The Fn project is an open source, container native, and cloud agnostic serverless platform. It’s easy to use, supports every programming language, and is extensible and performant.

Introduction

This chart deploys a fully functioning instance of the Fn platform on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • PV provisioner support in the underlying infrastructure (for persistent data, see below )

  • Install Helm

  • Initialize Helm by installing Tiller, the server portion of Helm, to your Kubernetes cluster

helm init

Installing the Chart

Clone the fn-helm repo:

git clone https://github.com/fnproject/fn-helm.git && cd fn-helm

Install chart dependencies from requirements.yaml:

helm dep build fn

The default chart will install fn as a private service inside your cluster with ephemeral storage, to configure a public endpoint and persistent storage you should look at values.yaml and modify the default settings. An example for Oracle Cloud Infrastructure is here.

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

helm install --name my-release fn

Note: if you do not pass the --name flag, a release name will be auto-generated. You can view releases by running helm list (or helm ls, for short).

Uninstalling the Fn Helm Chart

Assuming your release is named my-release:

helm delete --purge my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

Key Description Default
fn.service.type ClusterIP, NodePort, LoadBalancer LoadBalancer
fn.service.port Fn service port 80
fn.service.annotations Fn Service annotations {}
fnserver.resources Per-node resource requests, see Kubernetes Pod Resources {}
fnserver.nodeSelector Fn node selectors, see Kubernetes Assigning Pods to Nodes {}
fnserver.tolerations Node taint tolerations, see Kubernetes Taints and Tolerations {}
flow.service.type ClusterIP, NodePort, LoadBalancer ClusterIP
flow.service.port Flow Service port 80
flow.service.annotations Flow Service annotations {}
ui.enabled Enable UI components true
ui.service.flowuiPort Fn Flow UI port for ui service 3000
ui.service.fnuiPort Fn UI port for ui service 4000
ui.service.type UI Service type LoadBalancer
rbac.enabled Whether to enable RBAC with a specific cluster role and binding for Fn false
mysql.* See the MySQL chart docs
redis.* See the Redis chart docs

Configuring Database Persistence

Fn persists application data in MySQL. This is configured using the MySQL Helm Chart.

By default this uses container storage. To configure a persistent volume, set mysql.* values in the chart values to that which corresponds to your storage requirements.

e.g. to use an existing persistent volume claim for MySQL storage:

helm install --name testfn --set mysql.persistence.enabled=true,mysql.persistence.existingClaim=tc-fn-mysql fn

fn-helm's People

Contributors

ahma avatar denismakogon avatar derekschultz avatar jan-g avatar mattstep avatar peterj avatar svicenteruiz avatar treeder avatar zootalures avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.