Kubernetes Native Serverless Framework

Overview

Kubeless logo

CircleCI Slack

kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting and more.

Kubeless stands out as we use a Custom Resource Definition to be able to create functions as custom kubernetes resources. We then run an in-cluster controller that watches these custom resources and launches runtimes on-demand. The controller dynamically injects the functions code into the runtimes and make them available over HTTP or via a PubSub mechanism.

Kubeless is purely open-source and non-affiliated to any commercial organization. Chime in at anytime, we would love the help and feedback !

Tools

Quick start

Check out the instructions for quickly set up Kubeless here.

Building

Consult the developer's guide for a complete set of instruction to build kubeless.

Compatibility Matrix with Kubernetes

Kubeless fully supports Kubernetes versions greater than 1.9 (tested until 1.15). For other versions some of the features in Kubeless may not be available. Our CI run tests against two different platforms: GKE (1.12) and Minikube (1.15). Other platforms are supported but fully compatibiliy cannot be assured.

Roadmap

We would love to get your help, feel free to lend a hand. We are currently looking to implement the following high level features:

  • Add other runtimes, currently Golang, Python, NodeJS, Ruby, PHP, .NET and Ballerina are supported. We are also providing a way to use custom runtime. Please check this doc for more details.
  • Investigate other messaging bus (e.g SQS, rabbitMQ)
  • Optimize for functions startup time
  • Add distributed tracing (maybe using istio)

Community

Issues: If you find any issues, please file it.

Slack: We're fairly active on slack and you can find us in the #kubeless channel.

Issues
  • How does kubeless achieve parallelism for function execution?

    How does kubeless achieve parallelism for function execution?

    Kubeless provides the following cmd to deploy a function

    $ kubeless function deploy test --runtime python2.7 \
                                    --handler test.foobar \
                                    --from-file test.py \
                                    --trigger-topic test-topic
    

    This cmd tells k8s to create a corresponding deployment for the function. However, this cmd doesn't specify the replica, so only one consumer will be created for the function handler. kafka cluster uses multi-consumer to achieve parallelism, does kubeless support multi-consumer?

    thanks!

    opened by ahriy 48
  • Document custom runtime flavors

    Document custom runtime flavors

    Issue Ref: #900

    Description:

    Document how to create custom runtimes based on official ones.

    TODOs:

    • [X] Ready to review ~~- [ ] Automated Tests~~
    • [X] Docs
    opened by andresmgot 39
  • Use existing Kafka cluster

    Use existing Kafka cluster

    I'm a maintainer of https://github.com/Yolean/kubernetes-kafka, so naturally we have a cluster already :) Also https://github.com/kubernetes/charts/tree/master/incubator/kafka is quite widely adopted, judging by the number of pulls from https://hub.docker.com/r/solsson/kafka/.

    I disagree with https://github.com/kubeless/kubeless/issues/32. Kafka is an excellent choice of events backend, with semantics that fit nicely with serverless function execution (can strive for exactly once). Also it makes it easy to integrate with other services in a streaming platform.

    Can Kubeless use an existing Kafka cluster? You'd basically only need to specify any requirements on kafka config, and decouple kafka from the rest of Kubeless through a bootstrap brokers config. Maybe have some naming convention for topics.

    starter documentation v1.0.0-alpha.1 
    opened by solsson 25
  • Can not create Java functions

    Can not create Java functions

    Is this a BUG REPORT or FEATURE REQUEST?: BUG REPORT

    What happened: Creating Java function will make function as NOT_READY and pod is marked as Init:CrashLoopBackOff

    What you expected to happen: Function should have been created successfully

    How to reproduce it (as minimally and precisely as possible): Create Java file. Hello.java

    package io.kubeless;
    
    import io.kubeless.Event;
    import io.kubeless.Context;
    
    import java.lang.RuntimeException;
    
    public class Hello {
        public String hello(Event event, Context context) {
            return "Hello world!";
        }
    }
    

    Add pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <artifactId>function</artifactId>
      <name>function</name>
      <version>1.0-SNAPSHOT</version>
      <dependencies>
        <dependency>
          <groupId>io.kubeless</groupId>
          <artifactId>params</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>
      </dependencies>
      <parent>
        <groupId>io.kubeless</groupId>
        <artifactId>kubeless</artifactId>
        <version>1.0-SNAPSHOT</version>
      </parent>
    </project>
    

    Deploy function

    kubeless function deploy hello-java -f Hello.java -d pom.xml --handler Hello.hello -r java1.8
    INFO[0000] Deploying function...
    INFO[0000] Function hello-java submitted for deployment
    INFO[0000] Check the deployment status executing 'kubeless function ls hello-java'
    

    Kubeless function list

    kubeless function ls
    NAME            NAMESPACE       HANDLER         RUNTIME         DEPENDENCIES                                            STATUS
    hello           default         hello.world     python2.7                                                               1/1 READY
    hello-java      default         Hello.hello     java1.8         <project xmlns="http://maven.apache.org/POM/4.0.0"      0/1 NOT READY
                                                                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins...
                                                                    xsi:schemaLocation="http://maven.apache.org/POM...
                                                                    http://maven.apache.org/xsd/maven-4.0.0.xsd">
                                                                      <modelVersion>4.0.0</modelVersion>
                                                                      <artifactId>function</artifactId>
                                                                      <name>function</name>
                                                                      <version>1.0-SNAPSHOT</version>
                                                                      <dependencies>
                                                                        <dependency>
                                                                          <groupId>io.kubeless</groupId>
                                                                          <artifactId>params</artifactId>
                                                                          <version>1.0-SNAPSHOT</version>
                                                                        </dependency>
                                                                      </dependencies>
                                                                      <parent>
                                                                        <groupId>io.kubeless</groupId>
                                                                        <artifactId>kubeless</artifactId>
                                                                        <version>1.0-SNAPSHOT</version>
                                                                      </parent>
                                                                    </project>
    nodejs          default         node.less       nodejs8                                                                 1/1 READY
    

    Pod status

    NAME                                                READY     STATUS                  RESTARTS   AGE
    hello-94657547f-4th28                               1/1       Running                 0          1h
    hello-java-57c87d8cd-s9l65                          0/1       Init:CrashLoopBackOff   3          1m
    nodejs-798475b6cf-g6k4h                             1/1       Running                 0          38m
    

    Pod description

    kubectl.exe describe pods hello-java-57c87d8cd-s9l65
    Name:           hello-java-57c87d8cd-s9l65
    Namespace:      default
    Node:           docker-for-desktop/192.168.65.3
    Start Time:     Tue, 27 Nov 2018 13:36:45 +0530
    Labels:         created-by=kubeless
                    function=hello-java
                    pod-template-hash=137438478
    Annotations:    prometheus.io/path=/metrics
                    prometheus.io/port=8080
                    prometheus.io/scrape=true
    Status:         Pending
    IP:             10.1.16.188
    Controlled By:  ReplicaSet/hello-java-57c87d8cd
    Init Containers:
      prepare:
        Container ID:  docker://348af8d0208fb87aeabdc962da9fa1c3b225b0a84ee5933c3a9f7e0c9fd91503
        Image:         kubeless/[email protected]:f162c062973cca05459834de6ed14c039d45df8cdb76097f50b028a1621b3697
        Image ID:      docker-pullable://kubeless/[email protected]:f162c062973cca05459834de6ed14c039d45df8cdb76097f50b028a1621b3697
        Port:          <none>
        Host Port:     <none>
        Command:
          sh
          -c
        Args:
          echo '73cae57c53af18d70df64876eda1d4efd7b14e490fecbbf50851ad930bfc9b49  /src/Hello.java' > /tmp/func.sha256 && sha256sum -c /tmp/func.sha256 && cp /src/Hello.java /kubeless/Hello.java && cp /src/pom.xml /kubeless
        State:          Terminated
          Reason:       Completed
          Exit Code:    0
          Started:      Tue, 27 Nov 2018 13:36:47 +0530
          Finished:     Tue, 27 Nov 2018 13:36:47 +0530
        Ready:          True
        Restart Count:  0
        Environment:    <none>
        Mounts:
          /kubeless from hello-java (rw)
          /src from hello-java-deps (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-l2t6z (ro)
      compile:
        Container ID:  docker://e6281ba7ec3c188b56ea31ffa0234e8b35096d32e5e530ef9c586e243d894cf5
        Image:         kubeless/[email protected]:a14d846bfe53f359f706a260b95f0a9a755883b053dbd17b724e7a3cdff5bae6
        Image ID:      docker-pullable://kubeless/[email protected]:a14d846bfe53f359f706a260b95f0a9a755883b053dbd17b724e7a3cdff5bae6
        Port:          <none>
        Host Port:     <none>
        Command:
          sh
          -c
        Args:
          /compile-function.sh
        State:       Waiting
          Reason:    CrashLoopBackOff
        Last State:  Terminated
          Reason:    Error
          Message:   [INFO] Scanning for projects...
    [ERROR] [ERROR] Some problems were encountered while processing the POMs:
    [ERROR] Child module /kubeless/function/params of /kubeless/function/pom.xml does not exist @
    [ERROR] Child module /kubeless/function/function of /kubeless/function/pom.xml does not exist @
    [ERROR] Child module /kubeless/function/handler of /kubeless/function/pom.xml does not exist @
     @
    [ERROR] The build could not read 1 project -> [Help 1]
    [ERROR]
    [ERROR]   The project io.kubeless:kubeless:1.0-SNAPSHOT (/kubeless/function/pom.xml) has 3 errors
    [ERROR]     Child module /kubeless/function/params of /kubeless/function/pom.xml does not exist
    [ERROR]     Child module /kubeless/function/function of /kubeless/function/pom.xml does not exist
    [ERROR]     Child module /kubeless/function/handler of /kubeless/function/pom.xml does not exist
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
    
          Exit Code:    1
          Started:      Tue, 27 Nov 2018 13:40:09 +0530
          Finished:     Tue, 27 Nov 2018 13:40:11 +0530
        Ready:          False
        Restart Count:  5
        Environment:
          KUBELESS_INSTALL_VOLUME:  /kubeless
          KUBELESS_FUNC_NAME:       hello
        Mounts:
          /kubeless from hello-java (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-l2t6z (ro)
    Containers:
      hello-java:
        Container ID:
        Image:          kubeless/[email protected]:d2a59e50e8181174ad3c6096cd5d3ce82f46b7e22a6f3a109b0816787e7190d9
        Image ID:
        Port:           8080/TCP
        Host Port:      0/TCP
        State:          Waiting
          Reason:       PodInitializing
        Ready:          False
        Restart Count:  0
        Liveness:       http-get http://:8080/healthz delay=3s timeout=1s period=30s #success=1 #failure=3
        Environment:
          FUNC_HANDLER:             hello
          MOD_NAME:                 Hello
          FUNC_TIMEOUT:             180
          FUNC_RUNTIME:             java1.8
          FUNC_MEMORY_LIMIT:        0
          FUNC_PORT:                8080
          KUBELESS_INSTALL_VOLUME:  /kubeless
        Mounts:
          /kubeless from hello-java (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-l2t6z (ro)
    Conditions:
      Type           Status
      Initialized    False
      Ready          False
      PodScheduled   True
    Volumes:
      hello-java:
        Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
        Medium:
      hello-java-deps:
        Type:      ConfigMap (a volume populated by a ConfigMap)
        Name:      hello-java
        Optional:  false
      default-token-l2t6z:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  default-token-l2t6z
        Optional:    false
    QoS Class:       BestEffort
    Node-Selectors:  <none>
    Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                     node.kubernetes.io/unreachable:NoExecute for 300s
    Events:
      Type     Reason                 Age              From                         Message
      ----     ------                 ----             ----                         -------
      Normal   Scheduled              4m               default-scheduler            Successfully assigned hello-java-57c87d8cd-s9l65 to docker-for-desktop
      Normal   SuccessfulMountVolume  4m               kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "hello-java"
      Normal   SuccessfulMountVolume  4m               kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "default-token-l2t6z"
      Normal   SuccessfulMountVolume  4m               kubelet, docker-for-desktop  MountVolume.SetUp succeeded for volume "hello-java-deps"
      Normal   Pulled                 4m               kubelet, docker-for-desktop  Container image "kubeless/[email protected]:f162c062973cca05459834de6ed14c039d45df8cdb76097f50b028a1621b3697" already present on machine
      Normal   Created                4m               kubelet, docker-for-desktop  Created container
      Normal   Started                4m               kubelet, docker-for-desktop  Started container
      Normal   Created                2m (x4 over 4m)  kubelet, docker-for-desktop  Created container
      Normal   Started                2m (x4 over 4m)  kubelet, docker-for-desktop  Started container
      Warning  BackOff                2m (x6 over 3m)  kubelet, docker-for-desktop  Back-off restarting failed container
      Normal   Pulled                 2m (x5 over 4m)  kubelet, docker-for-desktop  Container image "kubeless/[email protected]:a14d846bfe53f359f706a260b95f0a9a755883b053dbd17b724e7a3cdff5bae6" already present on machine
    

    Anything else we need to know?:

    Environment:

    • Kubernetes version (use kubectl version):
    Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
    Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
    
    • Kubeless version (use kubeless version): Kubeless version: v1.0.0
    • Cloud provider or physical cluster: Using kubernetes on docker edge channel for windows.
    opened by dheerajjoshim 23
  • Kubeless is creating one pod per function - is this normal for serverless?

    Kubeless is creating one pod per function - is this normal for serverless?

    I observed that kubeless is creating one pod per function even though both functions are based on python27 runtime. is this normal? or do you have any plan to refactor to use pool of runtime pods in future?

    opened by debianmaster 22
  • Function can not be created/updated: Kubernetes 1.16

    Function can not be created/updated: Kubernetes 1.16

    BUG REPORT:

    What happened: Unable to deploy function on k8s 1.16

    How to reproduce it (as minimally and precisely as possible): Follow example function for python

    time="2019-10-02T10:43:20Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=error msg="Function can not be created/updated: the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=error msg="Error processing default/hello (will retry): the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=error msg="Function can not be created/updated: the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=error msg="Error processing default/hello (will retry): the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:20Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:21Z" level=error msg="Function can not be created/updated: the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:21Z" level=error msg="Error processing default/hello (will retry): the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:21Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:22Z" level=error msg="Function can not be created/updated: the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:22Z" level=error msg="Error processing default/hello (will retry): the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:22Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:23Z" level=error msg="
    time="2019-10-02T10:43:23Z" level=error msg="Error processing default/hello (will retry): the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:23Z" level=info msg="Processing change to Function default/hello" pkg=function-controller
    time="2019-10-02T10:43:24Z" level=error msg="Function can not be created/updated: the server could not find the requested resource" pkg=function-controller
    time="2019-10-02T10:43:24Z" level=error msg="Error processing default/hello (giving up): the server could not find the requested resource" pkg=function-controller
    ERROR: logging before flag.Parse: E1002 10:43:24.900416       1 function_controller.go:185] the server could not find the requested resource
    

    Environment:

    • Kubernetes version (use kubectl version): 1.16.0
    • Kubeless version (use kubeless version):v1.0.4-dirty
    • Cloud provider or physical cluster: minikube and physical cluster
    bug help wanted 
    opened by masarliev 21
  • CrashLoopBackOff

    CrashLoopBackOff

    Is this a BUG REPORT or FEATURE REQUEST?: BUG REPORT What happened: Initially created kubeless as rbac,

    kubectl get pod -n kubeless NAME READY STATUS RESTARTS AGE kubeless-controller-manager-7c7bcb8db4-l26kr 0/3 CrashLoopBackOff 6 116s

    kubectl logs kubeless-controller-manager-7c7bcb8db4-l26kr -n kubeless -c kubeless-function-controller time="2019-01-08T06:59:40Z" level=info msg="Running Kubeless controller manager version: v1.0.1" time="2019-01-08T07:00:10Z" level=fatal msg="Unable to read the configmap: Error while fetching config location: Get https://10.96.0.1:443/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/functions.kubeless.io: dial tcp 10.96.0.1:443: i/o timeout" What you expected to happen:

    How to reproduce it (as minimally and precisely as possible):

    Anything else we need to know?: curl https://10.96.0.1:443/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/functions.kubeless.io curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.haxx.se/docs/sslcerts.html

    curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option. Environment:

    • Kubernetes version (use kubectl version): v1.13.1
    • Kubeless version (use kubeless version): v1.0.1
    • Cloud provider or physical cluster: physical cluste
    opened by SequinYF 20
  • decoupling Function, Trigger and Runtimes

    decoupling Function, Trigger and Runtimes

    Issue Ref: [Issue number related to this PR or None]

    Basic issues this PR addresses are detailed/or dicussed in this proposal

    Description:

    This PR is result of collabrative development effort from @andresmgot, @ngtuna and @murali-reddy

    What problems does this PR address?

    decoupling function and event sources

    In the current design of Kubeless, there is just Function abstraction, respresented as CRD. This object is used to specify both function details (like function handler, code, runtime etc) and event source details (like Kafkat topic to which this function to be called, cron job etc).

    This PR brings in notion of Triggers as concept in to Kubeless. A Trigger is basically represents the details on the event source and the associated function that needs to be called when event occurs. Existing supported event sources (Kafka, cron job, http) are modelled in to seperate triggers. Corresponding to each trigger there will be seperate CRD controller. This seperation at API layer, provides clean seperation of concerns of functions and event sources.

    Also this seperation enables Kubeless to support n:m association between the function and event sources. For e.g, Kafka trigger object uses label selector to express the set of functions that need to be associated with trigger.

    decoupling event source listener and runtimes

    In the current Kubeless architecture, pod that is deployed to run the function, also has the event source listener code (like Kafka client subsribing to a particualr topic. Problem with this approach is we need to maintain a separate image for each language, language version, event source combination.

    With this PR each pod that is deployed to run function exposes a http endpoint, irrespective of event source and language type. Also fuction singature has been altered to carry event data and conext information.

    design changes

    Some notes on the design to help the reviewer.

    • Each trigger object has a corresponding CRD controller. Controller watches for add/delete/update events from the k8s api server and process the update to reflect to desired state expressed by the user.
    • Tigger object CRD controllers, also watches for Function object updates. Controller will take an action only if required. For e.g, when a function is deleted, Kafka trigger controller checks if there is any Kafka trigger object is associated. If there is Kafka trigger object associated then it will stop sending topic message to the function service.
    • By default CRD objects (like core objects) are deleted by API server when they are deleted by API. It's not possible for controllers to sync/clean-up when the object is gone. Kubernetes provides a declarative patterns of Finalizers which provides a mechansim through which interested controller can request for soft delete of the API object. This PR leverages Finalizers to process the deleted objects. Please see PVC protection controller for a reference.
    • kubeless-controller has been renamed to kubeless-controller-manager, and includes controllers for http triggers and cronjob triggers.
    • a new deployment manifest is added for Kafka. When deployed, it creates seperate deployment afka-trigger-controller, which has Kafka trigger controller CRD.

    Known Issue

    • CI is failing for GKE and Kafka build. I will fix it. But the reviews for the PR can get started.
    • Some inconsistent behaviour in edge cases was seen with API machinery for CRD controllers (for instance https://github.com/kubernetes/kubernetes/issues/60538). If any issue found we need to workaround or get it fixed upstream.
    • No explict CLI support for trigger creation in this PR. Kubeless function deploy implicitly creats the trigger objects as well. You can use API to create trigger object directly. CLI support will be added in seperatle PR.

    TODOs:

    • [x] Ready to review
    • [x] Automated Tests
    • [ ] Docs
    opened by murali-reddy 20
  • Unable to use Kafka topic after minikube restart

    Unable to use Kafka topic after minikube restart

    I have deployed the basic function that shows the received context from here and the function works properly.

    But it seems that the function's CPU usage is too high.

    If I do docker stats inside the minikube instance I get 89% CPU usage.

    CONTAINER           CPU %               MEM USAGE / LIMIT       MEM %               NET I/O               BLOCK I/O           PIDS
    4fd0c2093ed2        89.26%              11.46 MiB / 1.953 GiB   0.57%               238.5 MB / 313.3 MB   0 B / 0 B           2
    

    And from within the container I can see that the python process is the responsible from that spike in usage.

    top - 00:20:21 up 18 min,  0 users,  load average: 1.22, 1.32, 1.01
    Tasks:   3 total,   2 running,   1 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 40.1 us,  8.6 sy,  0.0 ni, 48.1 id,  0.0 wa,  0.0 hi,  3.2 si,  0.0 st
    KiB Mem:   2048076 total,  1923396 used,   124680 free,    52064 buffers
    KiB Swap:  1023996 total,   275216 used,   748780 free.   551052 cached Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                                                                                            
        1 root      20   0  176188   8844   1320 R  73.6  0.4  12:09.61 python                                                                                                                                                                                                                                             
       24 root      20   0   21972   3524   3020 S   0.0  0.2   0:00.00 bash                                                                                                                                                                                                                                               
       29 root      20   0   23696   2756   2280 R   0.0  0.1   0:00.00 top                                                                                                                                                                                                                                                
    

    And this is the small handler that can be found in the container

    cat /kubeless/pubsub.py 
    def handler(context):
        return context
    

    Is there any way to change the logging level to see what's going on in the function wrapper itself?

    bug 
    opened by migmartri 18
  • Scheduled function not running periodically in k8s 1.8

    Scheduled function not running periodically in k8s 1.8

    I have a simple python function:

    $ cat hello.py
    def handler():
        print("Hello, I'm a cronjob!")
    
    

    Deployed with kubeless (0.2.3) to a GKE cluster (1.8.1-gke.0):

    $ kubeless function deploy hello --runtime python2.7 --from-file hello.py --handler hello.handler --schedule "* * * * *"
    
    $ kubeless function ls
    NAME 	NAMESPACE	HANDLER      	RUNTIME  	TYPE     	TOPIC	DEPENDENCIES
    hello	default  	hello.handler	python2.7	Scheduled	     	            
    
    $ kubectl get pod
    NAME                     READY     STATUS        RESTARTS   AGE
    hello-68f8bbd8cb-88krg   1/1       Terminating   0          38s
    hello-68f8bbd8cb-gr9jq   0/1       Terminating   0          41s
    hello-68f8bbd8cb-p726b   1/1       Running       0          36s
    hello-68f8bbd8cb-xwl5l   1/1       Terminating   0          42s
    
    $ kubeless function logs hello
    Bottle v0.12.13 server starting up (using CherryPyServer())...
    Listening on http://0.0.0.0:8080/
    Hit Ctrl-C to quit.
    
    10.8.1.1 - - [31/Oct/2017:09:49:23 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/149
    10.8.1.1 - - [31/Oct/2017:09:49:53 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/236
    10.8.1.1 - - [31/Oct/2017:09:50:23 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/115
    10.8.1.1 - - [31/Oct/2017:09:50:53 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/279
    10.8.1.1 - - [31/Oct/2017:09:51:23 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/101
    10.8.1.1 - - [31/Oct/2017:09:51:53 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/102
    10.8.1.1 - - [31/Oct/2017:09:52:23 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/128
    10.8.1.1 - - [31/Oct/2017:09:52:53 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/131
    10.8.1.1 - - [31/Oct/2017:09:53:23 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/117
    10.8.1.1 - - [31/Oct/2017:09:53:53 +0000] "GET /healthz HTTP/1.1" 200 2 "" "kube-probe/1.8+" 0/117
    
    $ kubectl get cronjobs
    No resources found.
    
    

    The function pod is running, but never called periodically, and no CronJobs is created in the Kubernetes cluster.

    bug enhancement 
    opened by ccll 17
  • kubeless on Openshift/Minishift 3.6

    kubeless on Openshift/Minishift 3.6

    I try to run kubeless on the latest Minishift release:

    oc v3.6.0+c4dd4cf kubernetes v1.6.1+5115d708d7 features: Basic-Auth

    Server https://192.168.64.5:8443 openshift v3.6.0+c4dd4cf kubernetes v1.6.1+5115d708d7

    For kubeless version 0.2.3 there seems to be a compatibility issue with Openshift. As far as I understood kubeless uses a new Custom Resource Definition (of Kubernetes v1.7.0+, according to the release notes) from version 0.2.0 on. This probably breaks compatibility with Openshift because version 3.6 is based on Kubernetes 1.6. I run into this issue:

    ➜ ~ oc create -f https://github.com/kubeless/kubeless/releases/download/v0.2.3/kubeless-rbac-v0.2.3.yaml
    clusterrole "kubeless-controller-deployer" created
    clusterrolebinding "kubeless-controller-deployer" created
    service "broker" created
    statefulset "kafka" created
    service "kafka" created
    statefulset "zoo" created
    deployment "kubeless-controller" created
    serviceaccount "controller-acct" created
    service "zoo" created
    service "zookeeper" created
    error: unable to recognize "https://github.com/kubeless/kubeless/releases/download/v0.2.3/kubeless-rbac-v0.2.3.yaml": no matches for apiextensions.k8s.io/, Kind=CustomResourceDefinition
    

    I can deploy the 0.1.0 kubeless version on the Openshift cluster without errors. However, if I then run a kubeless function ls command I get an ...server could not find... error. Same if I try to deploy something with kubeless.

    ➜  oc create -f https://github.com/kubeless/kubeless/releases/download/v0.1.0/kubeless-rbac-v0.1.0.yaml
    deployment "kubeless-controller" created
    clusterrole "kubeless-controller-deployer" created
    service "kafka" created
    service "zoo" created
    service "zookeeper" created
    statefulset "zoo" created
    serviceaccount "controller-acct" created
    clusterrolebinding "kubeless-controller-deployer" created
    service "broker" created
    statefulset "kafka" created
    thirdpartyresource "function.k8s.io" created
    
    ➜  ./kubeless_1.0 version
    Kubeless version: v0.1.0 (a1e1fab)
    ➜  ./kubeless_1.0 function ls
    FATA[0000] the server could not find the requested resource (get functions.k8s.io) 
    

    Does anyone know if/how I can make kubeless work on a minishift instance? Thank you for your help!

    enhancement 
    opened by jberggg 16
Releases(v1.0.8)
  • v1.0.8(Jan 19, 2021)

    This release includes the following commits and features:

    • 579f8485 Update trigger controllers (#1215)
    • 51d84f30 Use bundled deps file with function file(url+zip etc.) (#1206)
    • 8eb6b466 use only 'function' and 'created-by' labels as deployment matchLabels (#1212)
    • c7ee7b57 Strict deployment loading from configmap (#1199)
    • 40088e83 Added completions for zsh, fish and powershell (#1193)
    • babd9c88 use --no-cache-dir flag to pip in dockerfiles to save space (#1189)
    • 50c2dc1c Use --depth flag to git clone in Dockerfiles, to save space (#1188)
    • 1fc330d2 architecture.md : fixing some typos (#1186)
    • 7b2c26d5 Build with Go 1.15 (#1143)
    • ffd182fb update kubectl logs cmmand and it's output (#1180)
    • 71df7727 update the deployment url of Kong (#1182)
    • 97854236 add AWS Kinesis Trigger (#1181)
    • b4d4c2b3 update the deployment.yaml url of NATS operator (#1178)
    • 1c5d1d48 update available triggers (#1177)
    • 583bf98f update the url of kinesis-trigger manifest (#1176)
    • 3320e4a2 update yaml output of CRD functions.kubeless.io (#1175)
    • 25d6376c Add secrets to runtime configuration (#1169)
    • b87adf86 Added support for function deployment from gzip/bzip2/xz compressed tar files (#1168)
    • d838585f Added option in kubeless command to specify service-account (#1165)
    • cab7c64f Display function list command with namespace argument after deploy/update. (#1161)
    • 900832af kubeless function deploy/update: add option to specify node selectors. (#1159)
    • 7bbd2bbe fix: function controller config spec template (#1151)
    • 8e8dea2d Update README.md (#1149)
    • be686971 Update kubeless-non-rbac.jsonnet (#1145)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-v1.0.8.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-non-rbac-v1.0.8.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-openshift-v1.0.8.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kafka-zookeeper-openshift-v1.0.8.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.8.yaml(14.82 KB)
    kubeless-openshift-v1.0.8.yaml(16.44 KB)
    kubeless-v1.0.8.yaml(16.44 KB)
    kubeless_darwin-amd64.zip(8.03 MB)
    kubeless_linux-amd64.zip(8.09 MB)
    kubeless_windows-amd64.zip(8.13 MB)
  • v1.0.7(Jun 30, 2020)

    Breaking Change: The runtime for Golang has been updated from 1.10, 1.11 and 1.12 to 1.13 and 1.14 and it now uses go.mod files to specify dependencies. More info here: https://kubeless.io/docs/runtimes/#go

    This release includes the following commits and features:

    • 788ed2be Use runtime go1.14 in integration tests (#1140)
    • 99e950c0 Fix link to K8s API reference (#1139)
    • 2e3605d9 Update golang docs (#1138)
    • 78d3cedd Feature: CronJob Triggers docs + CronJob create --payload arg (#1127)
    • 2644ad50 Fixed the issue of metrics for golang runtime (#1126)
    • 58b2d229 Update README.md (#1123)
    • 6d8a9d2c Doc fixen (#1120)
    • ec2aac18 If HPA already exists, perform an update. (#1117)
    • 3eff84c6 Add soft pod anti affinity (#1115)
    • ac91c1ed Merge deployment containers as well (#1114)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.7/kubeless-v1.0.7.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.7/kubeless-non-rbac-v1.0.7.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.7/kubeless-openshift-v1.0.7.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.7/kafka-zookeeper-openshift-v1.0.7.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.7.yaml(15.36 KB)
    kubeless-openshift-v1.0.7.yaml(16.98 KB)
    kubeless-v1.0.7.yaml(16.98 KB)
    kubeless_darwin-amd64.zip(9.48 MB)
    kubeless_linux-amd64.zip(9.54 MB)
    kubeless_windows-amd64.zip(9.48 MB)
  • v1.0.6(Jan 22, 2020)

    This release includes the following commits and features:

    • ff0ba5bb Perform a graceful shutdown for the function proxy on SIGINT & SIGTERM. (#1108)
    • f3191b29 Quote curl URL (#1097)
    • e701fe19 fixes bug so that configmap volumemounts are merged in deployment (#1093)
    • 673b7388 Use new endpoint for the current deployment (#1090)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.6/kubeless-v1.0.6.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.6/kubeless-non-rbac-v1.0.6.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.6/kubeless-openshift-v1.0.6.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.6/kafka-zookeeper-openshift-v1.0.6.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.6.yaml(15.94 KB)
    kubeless-openshift-v1.0.6.yaml(17.56 KB)
    kubeless-v1.0.6.yaml(17.56 KB)
    kubeless_darwin-amd64.zip(9.48 MB)
    kubeless_linux-amd64.zip(9.54 MB)
    kubeless_windows-amd64.zip(9.47 MB)
  • v1.0.5(Oct 16, 2019)

    This release includes a fix for supporting Kubeless in Kubernetes 1.16.

    This is the list of commits and features included in this release:

    • 3460f038 Use new apps/v1 endpoint (#1087)
    • 1465369c Update README.md
    • ba4c1a02 consider resources for initContainers if provided in function deploym… (#1074)
    • 0a0b3329 Include information about nuget.config in .NET Core documentation (#1072)
    • d7708df4 README - quick typo fix (#1068)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.5/kubeless-v1.0.5.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.5/kubeless-non-rbac-v1.0.5.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.5/kubeless-openshift-v1.0.5.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.5/kafka-zookeeper-openshift-v1.0.5.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.5.yaml(15.50 KB)
    kubeless-openshift-v1.0.5.yaml(17.12 KB)
    kubeless-v1.0.5.yaml(17.12 KB)
    kubeless_darwin-amd64.zip(9.48 MB)
    kubeless_linux-amd64.zip(9.54 MB)
    kubeless_windows-amd64.zip(9.46 MB)
  • v1.0.4(Jul 2, 2019)

    This release includes several new versions and improvements for the existing runtimes:

    • NodeJS:
      • Two new versions are now available (nodejs10 and nodejs12). These new versions are based on the bitnami/node instead that the official node image since the bitnami image save ~400MB. Be wary when upgrading since some system packages may not be available.
      • Added support for multipart requests. See an example here. Thanks @diugalde for the contribution!
    • Golang: New versions go1.11 and go1.12
    • Java: New version java11
    • PHP: New version php73
    • Ruby: New version ruby26

    Apart from that, the Golang version used to compile Kubeless and the different triggers has been updated to 1.12 and the officially supported versions for Kubernetes have been updated.

    This is the list of commits included in this core repository:

    • e668da7f Update use-existing-kafka.md (#1056)
    • 4f605f63 Update http and cronjob trigger controllers (#1054)
    • 7ab056d1 Cleanup scripts (#1052)
    • 1eb9dc61 Upgrade GKE version in tests (#1051)
    • f849e98e Upgrade Minikube version (#1050)
    • e1774276 Update Go version, migrate to go mod (#1048)
    • a31e19b0 Replace base image for unzip (#1047)
    • 2c847c48 Update runtimes.md (#968)
    • 3246a1fa Passing Container env variables to Compile container (#1030)
    • 5a2f87e2 updated custom runtime documentation links (#1028)
    • cd1d8f98 Update info to retrieve available runtimes (#1024)
    • 0df80948 Update dev-guide.md
    • 84fa853f improve code format (#1018)
    • 57ab07ac change 'go vet' to 'go tool vet' (#1019)
    • f6cca9be fix spelling error of docs/function-controller-configuration.md (#1017)
    • d0006bc0 fix 404 not fund (#1011)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.4/kubeless-v1.0.4.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.4/kubeless-non-rbac-v1.0.4.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.4/kubeless-openshift-v1.0.4.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.4.yaml(15.51 KB)
    kubeless-openshift-v1.0.4.yaml(17.12 KB)
    kubeless-v1.0.4.yaml(17.13 KB)
    kubeless_darwin-amd64.zip(9.48 MB)
    kubeless_linux-amd64.zip(9.54 MB)
    kubeless_windows-amd64.zip(9.46 MB)
  • v1.0.3(Mar 14, 2019)

    This release includes the following commits and features:

    • 4064c413 Add CORS support (#1008)
    • 56772bd0 Bump http-trigger controller version (#1010)
    • 2df5c61e Fix typo in quick-start.md (#1009)
    • c81374ae use go 1.11 for building (#998)

    Thanks to @imishravmw and @gimlet2 for their contributions!

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.3/kubeless-v1.0.3.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.3/kubeless-non-rbac-v1.0.3.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.3/kubeless-openshift-v1.0.3.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.3.yaml(12.35 KB)
    kubeless-openshift-v1.0.3.yaml(13.97 KB)
    kubeless-v1.0.3.yaml(13.97 KB)
    kubeless_darwin-amd64.zip(8.78 MB)
    kubeless_linux-amd64.zip(8.84 MB)
    kubeless_windows-amd64.zip(8.77 MB)
  • v1.0.2(Feb 4, 2019)

    This is a maintenance release that includes the following commits:

    • 7d708297 Remove unused deps (#995)
    • 8b433ef0 Added import for all client-go auth plugins (#991)
    • 25afd67b Disable runtime check if has no permissions to do so (#992)
    • 6d371ae5 Differentiate service port and target port for container (#993)
    • daf18149 Fixes evaluation of the file suffix for functions with base64 content type (#987)

    Thanks to @me-viper, @gimlet2, @dimm0 and @mpalumbo7 for their contributions!

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.2/kubeless-v1.0.2.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.2/kubeless-non-rbac-v1.0.2.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.2/kubeless-openshift-v1.0.2.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.2.yaml(12.36 KB)
    kubeless-openshift-v1.0.2.yaml(13.98 KB)
    kubeless-v1.0.2.yaml(13.98 KB)
    kubeless_darwin-amd64.zip(7.63 MB)
    kubeless_linux-amd64.zip(7.69 MB)
    kubeless_windows-amd64.zip(7.65 MB)
  • v1.0.1(Dec 17, 2018)

    This release includes several new versions/bug fixes:

    • [CronJob Trigger] Allow the set CPU and memory requirements
    • [.NET] New version 2.1
    • [Python] New version 3.7
    • [Java] Allow to specify Maven options.
    • [NodeJS Distroless] Fix image reference

    This is the list of commits includes in this repository:

    • 9a7482bd Increase logs size in examples checking (#981)
    • 38ddb055 Change CGO_ENABLED var in binary task (#977)
    • 026071aa Update CronJob trigger controller (#965)
    • 22890896 Fix minor docs format
    • 58e82cc4 Update docs

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.1/kubeless-v1.0.1.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.1/kubeless-non-rbac-v1.0.1.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.1/kubeless-openshift-v1.0.1.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.1.yaml(11.93 KB)
    kubeless-openshift-v1.0.1.yaml(13.55 KB)
    kubeless-v1.0.1.yaml(13.55 KB)
    kubeless_darwin-amd64.zip(7.32 MB)
    kubeless_linux-amd64.zip(7.38 MB)
    kubeless_windows-amd64.zip(7.34 MB)
  • v1.0.0(Nov 7, 2018)

    After several pre-releases of Kubeless v1.0.0 we think is time to finally release v1.0.0! This release includes a fix for the kubeless cli --env flag and several changes in some runtimes:

    • [refactor] Runtimes are now developed in https://github.com/kubeless/runtimes. That allows to separate the development of the different runtimes from the core of Kubeless.
    • [NodeJS] Support for CloudEvents 0.1. That support has been added as a new runtime to avoid breaking changes. Check the documentation here.
    • [NodeJS] Allow to set extra configuration for npm through the env var NPM_CONFIG_EXTRA.
    • [Python] Allow any subpath.
    • [Ruby] New versions: 2.3 and 2.5.
    • [Golang] Allow CORS requests.
    • [Java] Print errors in pod logs.

    These are the commits and features included in this release:

    • f7736a43 Allow underscore in runtimes. Remove flaky test (#951)
    • bf2871f3 Fix typos and clean up (#938)
    • a6b84855 Split runtimes (#949)
    • a13a6a41 docs: fix typo && maximum size of etcd record (#937)
    • e48a7c96 Python wildcard route support (#928)
    • 7e7075a1 Add ruby 2.3 and ruby 2.5 runtimes (#926)
    • c8bbbb96 Avoid error installing golint (#929)
    • 3abd5433 Remove outdated guide
    • 0fcf6cfe Update sample package.json (#920)
    • 6f7a1d6d Remove GKE hardcoded version
    • 95cbfe27 Update example npm module
    • ef802234 Remove necessary ignore for Gopkg files (#914)
    • 2581ccb3 require() deployed nodejs function instead of executing inline (#789)
    • 64acdd4c Fix --env flag for arrays (#908)
    • 436fecae Update AKS guide
    • 291ac68e Fix broken link
    • 9487cc41 Document custom runtime flavors (#901)
    • 346cea4b Point to RBAC manifest in quickstart guide (#895)
    • e8094644 Fix formatting issue in use-existing-kafka.md (#894)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0/kubeless-v1.0.0.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0/kubeless-non-rbac-v1.0.0.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0/kubeless-openshift-v1.0.0.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.0.yaml(11.00 KB)
    kubeless-openshift-v1.0.0.yaml(12.62 KB)
    kubeless-v1.0.0.yaml(12.62 KB)
    kubeless_darwin-amd64.zip(7.32 MB)
    kubeless_linux-amd64.zip(7.38 MB)
    kubeless_windows-amd64.zip(7.34 MB)
  • v1.0.0-alpha.8(Aug 21, 2018)

    This release include new authentication methods for supporting platforms like EKS (or others based on tokens). It also includes several bug fixes.

    These are the commits and features included in this release:

    • c67245df 877 allow controller to use token (#885)
    • 89b32fd7 Remove description for CRDs (#887)
    • abb03b4b Delete glide.yaml
    • 71b54beb Update GKE version
    • 88e75ade Update ballerina version to 0.981.0 (#884)
    • ee19c2ca Update client-go version (#873)
    • bdad9b81 Print functions as an array (#875)
    • 21b76572 Add configuration to listen in a namespace (#876)
    • a422bb6b Remove outdated info
    • 9bc24c83 Remove duplicated triggers code (#871)
    • 3d1c0cd1 Fix several paths in KUBECONFIG (#870)
    • 8beda89c BUGFIX: Extending PYTHONPATH to fix local imports (#863)
    • f83503c9 [WIP] dryrun (#822)
    • eaf8f4ea Cmdtop2 (#853)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.8/kubeless-v1.0.0-alpha.8.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.8/kubeless-non-rbac-v1.0.0-alpha.8.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.8/kubeless-openshift-v1.0.0-alpha.8.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-non-rbac-v1.0.0-alpha.8.yaml(8.74 KB)
    kubeless-openshift-v1.0.0-alpha.8.yaml(10.35 KB)
    kubeless-v1.0.0-alpha.8.yaml(10.36 KB)
    kubeless_darwin-amd64.zip(7.32 MB)
    kubeless_linux-amd64.zip(7.38 MB)
    kubeless_windows-amd64.zip(7.34 MB)
  • v1.0.0-alpha.7(Jul 13, 2018)

    This release includes several improvements for runtimes like NodeJS and Ballerina and it includes a new runtime JVM.

    These are the commits and features included in this release:

    • e040d650 Add note for the command kubeless topic
    • f1af2234 Update ballerina docker registry (#851)
    • 0f7fcd59 remove 386 from the build (#850)
    • 0daecd1b JVM-Runtime (#837) (thanks to @caraboides!)
    • 7de24471 Update ballerina runtime to 0.980.0 (#848)
    • 4c88cd28 Update K8s GKE version (#843)
    • bbac988e Fix GKE build for CircleCI (#841)
    • b6b130c1 Ruby example is outdated (#840) from kingdonb
    • a70cc4c3 kubeless function describe panic (#839)
    • 8acb6bbf Fixes in documentation (#833)
    • 5e6dc8a6 Update supported runtimes
    • f4953323 FEAT: Add streaming support for nodejs runtime. (#805)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.7/kubeless-v1.0.0-alpha.7.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.7/kubeless-non-rbac-v1.0.0-alpha.7.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.7/kubeless-openshift-v1.0.0-alpha.7.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.7/kafka-zookeeper-openshift-v1.0.0-alpha.7.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.7.yaml(4.15 KB)
    kafka-zookeeper-v1.0.0-alpha.7.yaml(4.65 KB)
    kinesis-v1.0.0-alpha.7.yaml(1.49 KB)
    kubeless-non-rbac-v1.0.0-alpha.7.yaml(7.59 KB)
    kubeless-openshift-v1.0.0-alpha.7.yaml(9.21 KB)
    kubeless-v1.0.0-alpha.7.yaml(9.22 KB)
    kubeless_darwin-amd64.zip(7.18 MB)
    kubeless_linux-amd64.zip(7.23 MB)
    kubeless_windows-amd64.zip(7.20 MB)
    nats-v1.0.0-alpha.7.yaml(1.43 KB)
  • v1.0.0-alpha.6(Jun 25, 2018)

    This release includes the following commits and features:

    • 25c043b5 Move ballerina compilation to a script (#831)
    • ee208e91 Update ballerina runtime version to 0.975.0 (#828)
    • 4ec2a5fb Nodejs: make maximum request size configurable (#825)
    • 663418e6 Show function statistics in CLI (#823)
    • 8b0ef09c Minor doc format fix

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.6/kubeless-v1.0.0-alpha.6.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.6/kubeless-non-rbac-v1.0.0-alpha.6.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.6/kubeless-openshift-v1.0.0-alpha.6.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.6/kafka-zookeeper-openshift-v1.0.0-alpha.6.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.6.yaml(4.15 KB)
    kafka-zookeeper-v1.0.0-alpha.6.yaml(4.65 KB)
    kinesis-v1.0.0-alpha.6.yaml(1.49 KB)
    kubeless-non-rbac-v1.0.0-alpha.6.yaml(7.11 KB)
    kubeless-openshift-v1.0.0-alpha.6.yaml(8.73 KB)
    kubeless-v1.0.0-alpha.6.yaml(8.73 KB)
    kubeless_darwin-386.zip(6.61 MB)
    kubeless_darwin-amd64.zip(7.18 MB)
    kubeless_linux-386.zip(6.66 MB)
    kubeless_linux-amd64.zip(7.23 MB)
    kubeless_windows-386.zip(6.61 MB)
    kubeless_windows-amd64.zip(7.20 MB)
    nats-v1.0.0-alpha.6.yaml(1.43 KB)
  • v1.0.0-alpha.5(Jun 15, 2018)

    This release includes the following features:

    • Ballerina.io as supported runtime. Thanks to @anuruddhal
    • NodeJS distroless variant. Minimum image size for NodeJS functions. Thanks to @Henrike42
    • TLS and SASL support for the Kafka controller. Thanks to @ryarnyah
    • .NET core compilation improvements. Thanks to @allantargino

    This is the detailed list of PRs and commits included:

    • 2b9b08ea Add TLS & SASL configuration for existing kafka brokers (#799)
    • e993277b Avoid to overwrite existing resources (#814)
    • b3013cc7 Update adv deployment doc (#809)
    • 10477c7c Add kubeless package to ballerina central (#802)
    • 8a9fdded add integration test: get-nodejs-distroless-deps (#801)
    • cc4f5d7f fix slack link (#800)
    • 2507dc8b 760 make healthcheck configurable (#795)
    • b06c647b Add ballerina runtime support (#788)
    • c2763653 Nodejs Runtime: Use bare minimum base image (#792)
    • 40126233 .NET Core runtime using compilation (#791)
    • 323f0905 Merge pull request #787 from lducazu/master
    • 55899a8a Update runtimes.md
    • 5f5178c9 Add kinesis yaml in the release process. Other minor fixes (#786)
    • 16cb7ea3 Fix docs format

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.5/kubeless-v1.0.0-alpha.5.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.5/kubeless-non-rbac-v1.0.0-alpha.5.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.5/kubeless-openshift-v1.0.0-alpha.5.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.5/kafka-zookeeper-openshift-v1.0.0-alpha.5.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.5.yaml(4.15 KB)
    kafka-zookeeper-v1.0.0-alpha.5.yaml(4.65 KB)
    kinesis-v1.0.0-alpha.5.yaml(1.49 KB)
    kubeless-non-rbac-v1.0.0-alpha.5.yaml(7.11 KB)
    kubeless-openshift-v1.0.0-alpha.5.yaml(8.73 KB)
    kubeless-v1.0.0-alpha.5.yaml(8.73 KB)
    kubeless_darwin-386.zip(6.57 MB)
    kubeless_darwin-amd64.zip(7.14 MB)
    kubeless_linux-386.zip(6.63 MB)
    kubeless_linux-amd64.zip(7.20 MB)
    kubeless_windows-386.zip(6.58 MB)
    kubeless_windows-amd64.zip(7.16 MB)
    nats-v1.0.0-alpha.5.yaml(1.43 KB)
  • v1.0.0-alpha.4(May 28, 2018)

    This release adds support for AWS Kinesis as event source. This is the list of commits included:

    • 6bc1dde4 fix function name in quick start (#784)
    • d4f1703e Remove duplicated chart (#776)
    • 1066b292 AWS Kinesis streaming triggers (#766)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.4/kubeless-v1.0.0-alpha.4.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.4/kubeless-non-rbac-v1.0.0-alpha.4.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.4/kubeless-openshift-v1.0.0-alpha.4.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.4/kafka-zookeeper-openshift-v1.0.0-alpha.4.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.4.yaml(4.15 KB)
    kafka-zookeeper-v1.0.0-alpha.4.yaml(4.65 KB)
    kinesis-v1.0.0-alpha.4.yaml(1.49 KB)
    kubeless-non-rbac-v1.0.0-alpha.4.yaml(6.24 KB)
    kubeless-openshift-v1.0.0-alpha.4.yaml(7.86 KB)
    kubeless-v1.0.0-alpha.4.yaml(7.86 KB)
    kubeless_darwin-386.zip(6.57 MB)
    kubeless_darwin-amd64.zip(7.14 MB)
    kubeless_linux-386.zip(6.63 MB)
    kubeless_linux-amd64.zip(7.20 MB)
    kubeless_windows-386.zip(6.58 MB)
    kubeless_windows-amd64.zip(7.16 MB)
    nats-v1.0.0-alpha.4.yaml(1.43 KB)
  • v1.0.0-alpha.3(May 22, 2018)

    This release includes:

    • Support for Java and .NET (thanks to @allantargino!) as runtimes.
    • Runtimes like Ruby and PHP now expose Prometheus metrics (#747).
    • Support for URLs in the flag --from-file of the deploy command (thanks to @tkeech1).

    This is the detailed list of commits and features:

    • fd935b49 Fix GKE cluster name with circleci tag
    • 52e4ec2c Set test link to master branch
    • aba3ae9c Move nodejs zip example file to the Kubeless repo (#773)
    • a5e99ade Add shorthand flags (#767)
    • 0ca7d3b8 Remove travis file (#768)
    • d52df4bb Setup docker in GKE build (#771)
    • 473f2e2e .NET Core runtime major fixes (#697)
    • 472f9f2a Go wrapper for incomplete runtimes (#747)
    • d3794217 java support with prometheus and dependency management with maven (#738)
    • baa14570 Utils refactor (#734)
    • a650c4c3 Added URL support to --from-file command line flag (#726)
    • b61f3a06 [CI] Build only images when needed (#755)
    • 63e9a092 bump up kubernetes code generator version (#753)
    • 8f011e4e Add ca-certificates to Golang runtime image (#749)
    • 1d2f73a5 CircleCI integration (#743)
    • 8b266a2f Add response object to function event (#745)
    • 8e0e0060 <cmd/kubeless/logs>: change some typo and judge all containers in pod (#742)
    • e2e9bcf6 <cmd/function>: make user be able to choose image-pull-policy (#741)
    • 082209d8 <script/binary>: print more information when building (#739)

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.3/kubeless-v1.0.0-alpha.3.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.3/kubeless-non-rbac-v1.0.0-alpha.3.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.3/kubeless-openshift-v1.0.0-alpha.3.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.3/kafka-zookeeper-openshift-v1.0.0-alpha.3.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.3.yaml(4.15 KB)
    kafka-zookeeper-v1.0.0-alpha.3.yaml(4.65 KB)
    kubeless-non-rbac-v1.0.0-alpha.3.yaml(6.24 KB)
    kubeless-openshift-v1.0.0-alpha.3.yaml(7.86 KB)
    kubeless-v1.0.0-alpha.3.yaml(7.86 KB)
    kubeless_darwin-386.zip(6.12 MB)
    kubeless_darwin-amd64.zip(6.62 MB)
    kubeless_linux-386.zip(6.16 MB)
    kubeless_linux-amd64.zip(6.67 MB)
    kubeless_windows-386.zip(6.12 MB)
    kubeless_windows-amd64.zip(6.64 MB)
    nats-v1.0.0-alpha.3.yaml(1.43 KB)
  • v1.0.0-alpha.2(May 8, 2018)

    This release includes some permission fixes for Openshift (#721).

    Apart from that, it includes the following commits and features:

    • 147424da Point to latest release in quick-start guide
    • d9c23bef pv for kafka (#735)
    • 8d1966c4 fix cmd/kubeless/autoscale some typo (#729)
    • 13da68be change some terms in architecture.md (#728)
    • 435e2ff2 Adapt some docs format
    • c591c23d Improve docs (#722)
    • 44c2cbaf Fix Openshift permission issues (#721)
    • 552a11c6 Update Proxy URL format for k8s v1.10 (#725)
    • 398d0ee7 Merge pull request #723 from tkeech1/docupdate
    • 1440a121 updated kubeless AAvailable Commands section to include completion
    • ca888477 Update quick-start version
    • 3751618d Generate release manifest

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.2/kubeless-v1.0.0-alpha.2.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.2/kubeless-non-rbac-v1.0.0-alpha.2.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.2/kubeless-openshift-v1.0.0-alpha.2.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.2/kafka-zookeeper-openshift-v1.0.0-alpha.2.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.2.yaml(4.14 KB)
    kafka-zookeeper-v1.0.0-alpha.2.yaml(4.65 KB)
    kubeless-non-rbac-v1.0.0-alpha.2.yaml(5.25 KB)
    kubeless-openshift-v1.0.0-alpha.2.yaml(6.87 KB)
    kubeless-v1.0.0-alpha.2.yaml(6.87 KB)
    kubeless_darwin-386.zip(6.02 MB)
    kubeless_darwin-amd64.zip(6.51 MB)
    kubeless_linux-386.zip(6.07 MB)
    kubeless_linux-amd64.zip(6.56 MB)
    kubeless_windows-386.zip(6.04 MB)
    kubeless_windows-amd64.zip(6.53 MB)
    nats-v1.0.0-alpha.2.yaml(1.43 KB)
  • v1.0.0-alpha.1(Apr 26, 2018)

    This release is the first one of the release series prior to 1.0.0. The goal is to gather community feedback of the features to include in 1.0.0 and discover possible bugs. It doesn't include breaking changes since 0.6.0. It includes the following commits and features:

    • fac4bb8f Update docs for using an existing Kafka (#720)
    • 1d171104 Document YAML deployment for functions (#719)
    • e83b1d42 how to add a new trigger to Kubeless (#718)
    • 55577c4f Allow plain text in calls (#717)
    • 7fd6a648 added bash completion commands. modified kubeless.go to include compl… (#716)
    • 35f8d008 Remove golint provisional fix
    • bfb47428 Move unzip image to config (#713)
    • 2d2c677f Update Kong http-trigger configuration (#715)
    • 65885f16 Fix release issues (#710)
    • 772c80ef Update chart values (#702)
    • 51004264 Update Kubeless version in quick-start readme

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.1/kubeless-v1.0.0-alpha.1.yaml 
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.1/kubeless-non-rbac-v1.0.0-alpha.1.yaml 
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.1/kubeless-openshift-v1.0.0-alpha.1.yaml 
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v1.0.0-alpha.1/kafka-zookeeper-openshift-v1.0.0-alpha.1.yaml 
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v1.0.0-alpha.1.yaml(4.14 KB)
    kafka-zookeeper-v1.0.0-alpha.1.yaml(4.65 KB)
    kubeless-non-rbac-v1.0.0-alpha.1.yaml(5.25 KB)
    kubeless-openshift-v1.0.0-alpha.1.yaml(6.82 KB)
    kubeless-v1.0.0-alpha.1.yaml(6.87 KB)
    kubeless_darwin-386.zip(6.02 MB)
    kubeless_darwin-amd64.zip(6.51 MB)
    kubeless_linux-386.zip(6.07 MB)
    kubeless_linux-amd64.zip(6.56 MB)
    kubeless_windows-386.zip(6.04 MB)
    kubeless_windows-amd64.zip(6.53 MB)
    nats-v1.0.0-alpha.1.yaml(1.43 KB)
  • v0.6.0(Apr 17, 2018)

    Summary of changes introduced in v0.6.0:

    • Add NATS as supported event source. Check how to use it in the quick start guide.
    • Add Golang as supported runtime. See examples.
    • Breaking change [Security] Functions now run with an unprivileged user (UID 1000). See more details in the runtimes specification
    • Support for TLS and Basic Authentication for HTTP triggers. Check out how to enable it here.
    • Add Kong as a supported Ingress Controller. Added support for Kong plugins.

    This is the detailed list of commits and PRs included:

    • 3bec4b65 push nats controller image :latest tag as well (#701)
    • 298ad522 Avoid downtime when updating functions (#699)
    • 9e2c235e fix docker tag for nats controller (#700)
    • 3dcd6710 add NATS support (#689)
    • c832c460 Fix issues in dev guide (#696)
    • 9e89bfb5 Add Kong as supported Ingress Controller. Minor fixes. (#687)
    • 0c840f11 Update start-test-environment (#691)
    • 6a3ba82a doc typo fixes (#693)
    • e07f0f73 Fix docs relative links (#686)
    • 30fd75ee Run functions as an unprivileged user (#681)
    • 8dc5ee92 Fix spurious errors in CI (#685)
    • 6835e991 Generate kafka-zookeeper-openshift.yaml (#683)
    • c79d01ca Adapt to skopeo 0.1.29 (#684)
    • 30da457e Fix secrets CLI option (#682)
    • fa245874 Rename kubeless.yaml to kubeless-non-rbac.yaml (#680)
    • 65f0ae21 Add golang runtime (#671)
    • d94d0e26 HTTP trigger: TLS with existing certificates (#679)
    • 68b140f7 integration test for basic-auth with Nginx (#673)
    • deac9a6c Fix image push. Clean up cluster roles (#675)
    • fd95fbff Push ":latest" images just once
    • 241a8d16 Push builder and kafka latest images (#670)
    • 87e262bb move kafka crd, rbac from kubeless.jsonnet and kubeless-rbac.jsonnet to kafka-zookeeper.jsonnet (#665)
    • d8344bae Add IT and docs for local image registry (#667)
    • 7ed4b51e in controllers log the version of binary they are running (#666)
    • f7dfe63c Update Kafka (#663)
    • 38f0e457 fix quick-start.md (#659)
    • 6366d9f0 Add import to allow OIDC auth (#661)
    • 84056299 Basic Authentication Support for HTTP Triggers (#658)
    • 542db717 Add kafka instructions to the release notes (#657)
    • 4e0216b5 Update chart
    • 598febf5 Adapt docs format
    • 1263351f Update quick-start.md
    • 1ba453b7 Use official repository for function-image-builder

    To install this latest version, use the manifest that is part of the release:

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v0.6.0/kubeless-v0.6.0.yaml
    

    WITHOUT RBAC:

    kubectl create ns kubeless
    kubectl create -f https://github.com/kubeless/kubeless/releases/download/v0.6.0/kubeless-non-rbac-v0.6.0.yaml
    

    OPENSHIFT:

    oc create ns kubeless
    oc create -f https://github.com/kubeless/kubeless/releases/download/v0.6.0/kubeless-openshift-v0.6.0.yaml
    # Kafka
    oc create -f https://github.com/kubeless/kubeless/releases/download/v0.6.0/kafka-zookeeper-openshift-v0.6.0.yaml
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v0.6.0.yaml(4.14 KB)
    kafka-zookeeper-v0.6.0.yaml(4.64 KB)
    kubeless-non-rbac-v0.6.0.yaml(5.14 KB)
    kubeless-openshift-v0.6.0.yaml(6.71 KB)
    kubeless-v0.6.0.yaml(6.76 KB)
    kubeless_darwin-386.zip(6.02 MB)
    kubeless_darwin-amd64.zip(6.51 MB)
    kubeless_linux-386.zip(6.07 MB)
    kubeless_linux-amd64.zip(6.56 MB)
    kubeless_windows-386.zip(6.04 MB)
    kubeless_windows-amd64.zip(6.53 MB)
    nats-v0.6.0.yaml(1.42 KB)
  • v0.5.0(Mar 28, 2018)

    Summary of changes introduced in v0.5.0:

    • Breaking change: Functions have a new standard interface! It is required to adapt existing functions to the new format. Check out more info about the new interface and examples.
    • Kubeless now supports PHP functions. Thanks to @paolomainardi! You can check PHP examples here.
    • Alpha feature: It is now possible to generate redistributable Docker images with Kubeless functions. Check out how to do it here.
    • Kafka and Zookeeper are now optional. If you want to use Kafka for triggering functions using the PubSub method follow the instructions below.
    • Breaking change: Kubeless fully support Kubernetes 1.9. The support for 1.7 is now limited. Check the compatibility matrix to know more about features and versions supported.
    • Breaking change: Function Triggers have now their own Custom Resources. The same function can now be triggered from several event sources using a single Function deployment. That means that it is required to create a specific Custom Resource to trigger functions using Kafka messages or with a scheduled cron task. There are new commands available to do so, check kubeless trigger --help to discover these commands. Architecture details can be found here.
    • Breaking change: The flag --trigger-http has been removed from the kubeless function deploy command since every function will now expose a cluster-internal HTTP endpoint.
    • Breaking change: The command kubeless route has been replaced with kubeless trigger http. This will create a new Ingress rule to expose a function outside the cluster. You can now also specify a path to deploy your function. More info here

    This is the detailed list of commits included in this release:

    • a3006eaf new CLI for triggers create/delete/update/list and new IT tests (#643)
    • f5d65344 Remove --trigger-http flag (#654)
    • 7709a30e Add troubleshoot guide for Kafka and Zookeeper PV (#653)
    • 46c86cce Use default version with minikube (#652)
    • 2c479f68 Minor refactor of http_trigger. Add unit tests (#651)
    • 5d16a156 Kafka consumer tests (#648)
    • 2c7bf47a Improve function interface docs (#650)
    • 517502ad Update Kubernetes supported versions to 1.8 (GKE) and 1.9 (Minikube) (#646)
    • fab33b72 Minor refactor for cronjobtrigger. Add some tests (#640)
    • ecfb9268 Function Image Builder (#621)
    • d0698ca3 Path Definition for Ingress Enabled HTTP Triggers (#639)
    • cf3f36eb decoupling Function, Trigger and Runtimes (#620)
    • 88b60ab7 Avoid to write in ConfigMap volume (#636)
    • d3c362d5 Update kafka and zookeeper (#628)
    • 30fa399e Fix travis GKE version and secure vars (#629)
    • 7ad9fa19 Make kubeless cli access function crd for ns and cm (#626)
    • b9bacbcf Add PHP to supported runtimes (#625)
    • ce1acf1d replaced k8s.io with kubeless.io/v1 (#619)
    • 57347da3 Merge pull request #613 from vermapratyush/patch-1
    • c981fefb Add CPU limit argument to function commands (#606)
    • a655545e Adapt docs to the new docs site (#610)
    • 842d2608 Update Kubeless chart (#603)
    • de603a3a Update README.md (#604)
    • cb1c58f4 Update GKE version (#602)
    • 15fa27d0 add openshift special oc command to release notes (#597)
    • 62b0626e add kafka-zookeeper-.yaml to release (#592)
    • 5844c40a PHP runtime (#581)
    • 52f1cee3 Merge pull request #591 from ngtuna/kafka-doc
    • 284985a6 link to the doc on README
    • 0aa61ec7 add a doc for existing kafka
    • c667d0ca Merge pull request #570 from ngtuna/kafka-optional

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.5.0/kubeless-v0.5.0.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.5.0/kubeless-rbac-v0.5.0.yaml | kubectl create -f -
    

    KAFKA:

    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.5.0/kafka-zookeeper-v0.5.0.yaml | kubectl create -f -
    

    OPENSHIFT:

    oc create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.5.0/kubeless-openshift-v0.5.0.yaml | oc create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kafka-zookeeper-openshift-v0.5.0.yaml(3.16 KB)
    kafka-zookeeper-v0.5.0.yaml(3.71 KB)
    kubeless-openshift-v0.5.0.yaml(6.43 KB)
    kubeless-rbac-v0.5.0.yaml(6.48 KB)
    kubeless-v0.5.0.yaml(4.84 KB)
    kubeless_darwin-386.zip(5.87 MB)
    kubeless_darwin-amd64.zip(6.35 MB)
    kubeless_linux-386.zip(5.92 MB)
    kubeless_linux-amd64.zip(6.40 MB)
    kubeless_windows-386.zip(5.89 MB)
    kubeless_windows-amd64.zip(6.38 MB)
  • v0.4.0(Feb 13, 2018)

    Summary of changes introduced in v0.4.0:

    • Breaking change Function CRD now uses the group kubeless.io and the version v1beta1 instead of the previous k8s.io/v1.
    • Breaking change Function specification contains a Deployment instead of a PodTemplate. This enables customization for the entire deployment when deploying a function.
    • Breaking change Function service port name is now called http-function-port instead of function-port to ease the integration with Istio.
    • Now the references for the runtimes supported and their images are stored in a Config Map kubeless-config in the kubeless namespace by default. Users can modify this configuration to use custom base images or use private images instead of the default ones.
    • When deploying a function it is now possible to use the flag --secrets to specify the list of secrets that will be mounted in the runtime container.
    • Fix the deployment manifest for Openshift.

    This is the complete list of the changes included in this release:

    • 4f4f531f Update Go version (#586)
    • 5ffe6699 Fix sample config map for configuring function deployment (#584)
    • 1a8ce85b Restore compatibility with Kubernetes 1.7 (#585)
    • 7503f8b5 Save runtimes in configmaps (#575)
    • 439725f0 Merge pull request #583 from deissnerk/fix_readme
    • cb39f47a Merge pull request #582 from sroze/patch-1
    • 065080b7 Merge pull request #580 from sameersbn/fix-openshift-deploy
    • 600dac46 Changed Function struct with v1beta2/Deploy and apply deployment config from a ConfigMap (#577)
    • b6948dad Delete duplicated examples (#574)
    • 00e3b5df Merge pull request #576 from ngtuna/autoscaling-doc
    • 38dafdf8 Secrets cli (#572)
    • df40da3e Change service port name to use prefix http to support Istio (#560)
    • 0bd92441 Merge pull request #545 from ngtuna/topic
    • 04dcc9a1 updated documentation about rebuilding k8s manifests file (#563)
    • e5a79511 Merge pull request #537 from murali-reddy/crd-controller-refactor
    • 79bc383c Remove typos in release flow (#555)

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.4.0/kubeless-v0.4.0.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.4.0/kubeless-rbac-v0.4.0.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.4.0.yaml(8.74 KB)
    kubeless-rbac-v0.4.0.yaml(9.30 KB)
    kubeless-v0.4.0.yaml(8.09 KB)
    kubeless_darwin-386.zip(5.74 MB)
    kubeless_darwin-amd64.zip(6.20 MB)
    kubeless_linux-386.zip(5.79 MB)
    kubeless_linux-amd64.zip(6.25 MB)
    kubeless_windows-386.zip(5.76 MB)
    kubeless_windows-amd64.zip(6.23 MB)
  • v0.3.4(Jan 15, 2018)

    This release includes several bug fixes, documentation changes and CI improvements. In particular it contains fixes for:

    • Deleting monitoring resources when RBAC is enabled.
    • Updating autoscale settings with the kubeless function update command.
    • Executing scheduled functions.

    This is the detailed list of commits and features:

    • d16de3f6 Update README.md
    • 4a00d3df Use curl instead of wget for triggering scheduled functions (#552)
    • 18026df8 [PROPOSAL] Decoupling triggers proposal (#396)
    • 6c0bb888 Refactor update command to properly use default values (#547)
    • ab21e60c Allow the controller to manage monitoring resources when RBAC is enabled (#551)
    • f5534fee Update GKE cluster version. Fix condition for enabling Kafka tests (#550)
    • 281de959 Fix Travis tests to use the correct image tag (#549)
    • 8e6a11ba Merge pull request #536 from ngtuna/travis-fix
    • a4987fdd Merge pull request #546 from ngtuna/makefile-1
    • 31a479d3 minor fix to run script/integration-tests locally on minikube
    • daaf4cf1 Merge pull request #543 from ryuheechul/patch-2
    • eae6305e Add --env option

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.4/kubeless-v0.3.4.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.4/kubeless-rbac-v0.3.4.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.3.4.yaml(5.34 KB)
    kubeless-rbac-v0.3.4.yaml(5.89 KB)
    kubeless-v0.3.4.yaml(4.69 KB)
    kubeless_darwin-386.zip(6.92 MB)
    kubeless_darwin-amd64.zip(7.48 MB)
    kubeless_linux-386.zip(6.97 MB)
    kubeless_linux-amd64.zip(7.54 MB)
    kubeless_windows-386.zip(6.93 MB)
    kubeless_windows-amd64.zip(7.51 MB)
  • v0.3.3(Jan 3, 2018)

    This release contains a bug fix for backward incompatibility occurred in v0.3.2 if you use old versions of kubeless CLI. In particular, we introduced serviceSpec embedded into CRD function object in v0.3.2 so if the old kubeless CLI (v0.3.1 or older) is used to deploy function, there will be error that service.spec.ports field is required. This release gives a bug fix for that by creating default serviceSpec for function if it isn't declared so function will be deployed smoothly. Please consider to upgrade v0.3.3 if you get that problem with v0.3.2

    This release includes the following commits and features:

    • 2820d21c Merge pull request #538 from ngtuna/default-svcSpec
    • 6faab8eb use default svcSpec if it doesn't present in function spec
    • 4da8e9c6 Merge pull request #530 from ngtuna/readme-1
    • 9ba800b1 Merge pull request #527 from ngtuna/issue-temp
    • 6deb857d Merge pull request #533 from ngtuna/version-fix
    • 26b5ad4b build script: fix versioning
    • f0416c8a update README to v0.3.2
    • 493c87f8 add issue template

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.3/kubeless-v0.3.3.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.3/kubeless-rbac-v0.3.3.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.3.3.yaml(5.22 KB)
    kubeless-rbac-v0.3.3.yaml(5.77 KB)
    kubeless-v0.3.3.yaml(4.69 KB)
    kubeless_darwin-386.zip(6.92 MB)
    kubeless_darwin-amd64.zip(7.48 MB)
    kubeless_linux-386.zip(6.97 MB)
    kubeless_linux-amd64.zip(7.54 MB)
    kubeless_windows-386.zip(6.93 MB)
    kubeless_windows-amd64.zip(7.51 MB)
  • v0.3.2(Dec 27, 2017)

    Summary of changes introduced in v0.3.2:

    • introduce ServiceSpec in the FunctionSpec
    • introduce HorizontalPodAutoscalerSpec in the FunctionSpec
    • introduce configmap for the kubeless controller
    • introduce runtime python 3.6
    • support custom port and headless service for the function
    • rename command kubeless ingress to kubeless route

    And several bug fixes, validations and minor refactors.

    This is the detailed list of commits and features:

    • fef344fc Merge pull request #397 from phsiao/add_servicespec_to_functionspec
    • 443e2025 update langruntime back to kubeless org, add test for python3.6
    • 5373f294 add more tests
    • ae5bfad2 update digests for langruntime
    • dcef02f7 add integration test for custom port
    • a9a040c7 update tests for route creation
    • 85100747 update ingress creation for custom svc port
    • 47f38d5d Add ServiceSpec to FunctionSpec so it can support creating Service with customization.
    • 2d384fd8 Merge pull request #524 from skunkwerk/master
    • 75153bf9 Merge pull request #521 from andresmgot/releaseFlow
    • 1e55509f add custom port to the runtime
    • 68953374 all HTTP methods
    • a3fe518c Python 3.6
    • 64b61358 Merge pull request #424 from phsiao/trigger_http_runtime_customize_port
    • 5e743fe8 Update release-flow notes
    • 9a6d0bee Merge pull request #509 from ngtuna/cmd-folder-refactor
    • 0b4a1807 fix gofmt, golint
    • 8902a467 sort of cmd files
    • 01d0ca51 Merge pull request #520 from cmdshepard/update-helm-chart
    • a07b47bc Update Helm chart to use CRD
    • b30ca67a Merge pull request #502 from ngtuna/route-list
    • 662f870b fix GetFunctionImage from environment variable (#518)
    • 4869605a kubeless deploy command must ensure minimum required fields are sepcified (#444)
    • 67a9f67b funcPort to be int, not string
    • f9473a83 Split Kafka tests in a different Travis build (#511)
    • cb7dac12 Increase resources for e2e tests (#514)
    • c55276ba runtime: update runtime to use FUNC_PORT for custom port
    • bda79d6d Merge pull request #516 from sebgoa/nodeimages
    • f06d15dc Merge pull request #513 from ngtuna/kubeless-gke-1.8.x
    • bf40c7fb Update nodejs runtime to move away from alpine
    • 74d1ba27 Merge pull request #515 from joek/master
    • aca30a2e Changed nodejs images from alpine to debian.
    • 8f6aacb7 update GKE guideline for 1.8.x
    • 188f08d5 Update README.md
    • 44206631 Delete functions after verifying (#506)
    • a82ee53c GKE deployment guide (#503)
    • 8ed04719 Add GKE end-to-end tests (#499)
    • 8ba8ffe1 fix link to routing doc (#501)
    • 2f91802a update route display
    • 8674257c Merge pull request #491 from Henrike42/master
    • dbae23de Use previous Travis environment (#495)
    • d2de887e Improve metrics labels for runtime nodejs event-trigger
    • af836460 Move HorizontalPodAutoscaler creation to the controller (#477)
    • 64e549fc Improve metrics labels for runtime nodejs http-trigger
    • 900f4e02 Merge pull request #483 from ngtuna/ingress-route
    • 9a3bfa9b fiixing typo
    • f9c83f46 rename files
    • 2d9a82e4 Merge pull request #486 from murali-reddy/configmap
    • b63b24a8 Merge pull request #461 from murali-reddy/http-triggers-proposal
    • 4f2ecf46 kubeless.jsonnet changes to add kubless controller configmap
    • 093120e1 update integration test for ingress
    • 013f38ea update docs
    • 471d7017 rename ingress to route
    • 1b91af7c http trigger improvements

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.2/kubeless-v0.3.2.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.2/kubeless-rbac-v0.3.2.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.3.2.yaml(5.22 KB)
    kubeless-rbac-v0.3.2.yaml(5.77 KB)
    kubeless-v0.3.2.yaml(4.69 KB)
    kubeless_darwin-386.zip(6.92 MB)
    kubeless_darwin-amd64.zip(7.48 MB)
    kubeless_linux-386.zip(6.97 MB)
    kubeless_linux-amd64.zip(7.54 MB)
    kubeless_windows-386.zip(6.93 MB)
    kubeless_windows-amd64.zip(7.51 MB)
  • v0.3.1(Dec 11, 2017)

    This release includes several bug fixes. In particular, it includes fixes for #460 and #480 that prevented Kafka and Zookeeper from being successfully deployed in GKE and the latest version of Minikube.

    This is the detailed list of commits and features:

    • 6e022e21 Use an init container instead of securityContext (#485)
    • 4a4e978d Add label created-by=kubeless to all objects for filtering (#413)
    • 822510b6 Use REST API endpoint for CronJobs (#466)
    • 7f97dea7 Update Kafka image (#473)
    • ed57a751 add Community section to README (#407)
    • df5aa070 Run examples deployment in parallel (#470)
    • 68ce153b Add dev environment (#458)
    • 710348f3 Add dependencies flag to update command (#468)
    • 68e327fd Remove unused manifests (#469)
    • 3c3ca960 Bump client-go to v4.0.0 (#419)
    • 99546d26 Document --enableTLSAcme flag (#459)
    • 2c223dfb Grafana Dashboard (#448)

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.1/kubeless-v0.3.1.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.1/kubeless-rbac-v0.3.1.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.3.1.yaml(4.61 KB)
    kubeless-rbac-v0.3.1.yaml(5.16 KB)
    kubeless-v0.3.1.yaml(4.22 KB)
    kubeless_darwin-386.zip(6.98 MB)
    kubeless_darwin-amd64.zip(7.55 MB)
    kubeless_linux-386.zip(7.03 MB)
    kubeless_linux-amd64.zip(7.60 MB)
    kubeless_windows-386.zip(6.99 MB)
    kubeless_windows-amd64.zip(7.57 MB)
  • v0.3.0(Nov 24, 2017)

    Summary of changes introduced in v0.3.0:

    • Breaking change: It is now possible to specify a maximum timeout for NodeJS, Python and Ruby functions. The default timeout is set to 180 seconds: if a function takes more than that the execution will be terminated. The default timeout can be modified specifying the flag --timeout when deploying or updating functions.
    • The default trigger type has been set to HTTP (if no trigger is specified when deploying a function).
    • Fix data persistence for Kafka after being restarted.
    • Enabled Kafka topic deletion through Kubeless CLI.
    • Fix for GKE authorization.
    • Validation for some commands flags in the CLI.

    This is the detailed list of features included:

    • 3103df24 Add Buffer global to NodeJS functions (#452)
    • 7e046337 Temporarily disable dotnet tests (#451)
    • 0d9e03f5 Use Google authorization plugin (#450)
    • 779aa529 Add max number of jobs history (#445)
    • 4c0c40c2 Maximum timeout for python functions (#433)
    • 9e9f3146 Maximum timeout for NodeJS functions (#442)
    • 2a3f2033 Add maximum timeout for ruby runtime (#434)
    • 9516f814 Fix validate-vet script exit code (#446)
    • 2025b232 Handle race condition while updating components (#428)
    • f0be2a23 Modify default trigger to be --trigger-http (#415)
    • ce3a3a97 perform input validation for kubeless deploy and update (#441)
    • d438126d Add template for PRs (#438)
    • e540c981 Fix for Kafka data loss after restarting (#437)
    • f9d6e80c Multi file example. Documentation update (#430)
    • 9f1e576d adding requirement for PV for kafka pod to be scheduled (#416)
    • 8063d0b3 use latest "spf13/cobra" that has the ability mark the required flags (#422)
    • 1e3c7e28 use the namespace set in current kubecfg context as default (#431)
    • 06c445a5 Enable topic deletion. Fixes #389 (#427)
    • b5ee610a Use relevant URL function to find hostname (#382)

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.0/kubeless-v0.3.0.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.3.0/kubeless-rbac-v0.3.0.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.3.0.yaml(4.70 KB)
    kubeless-rbac-v0.3.0.yaml(4.75 KB)
    kubeless-v0.3.0.yaml(3.81 KB)
    kubeless_darwin-386.zip(6.55 MB)
    kubeless_darwin-amd64.zip(7.10 MB)
    kubeless_linux-386.zip(6.60 MB)
    kubeless_linux-amd64.zip(7.15 MB)
    kubeless_windows-386.zip(6.57 MB)
    kubeless_windows-amd64.zip(7.12 MB)
  • v0.2.4(Nov 13, 2017)

    The new release v0.2.4 includes:

    • Support for specifying zip files when using the flag --from-file. The file size is limited by the maximum size allowed for an entry in the Kubernetes etcd database.
    • Checksum validation of functions.
    • Deployment feedback when executing kubeless function deploy and kubeless function ls.
    • Updated vendor dependencies.
    • Simplified kubeless function call command to avoid the PortForward tunnel.
    • A fix for resolving the Kubernetes config on Windows.

    This is the detailed list of features included:

    • 3bcf7246 Use different handlers for pubsub examples (#425)
    • 115f2195 Use ConsumerGroup for NodeJS event-based image with a GroupID (#423)
    • f0c5c0a9 Allow to specify a Zip file (#400)
    • eab3d802 Update resources (#410)
    • 8953694c Return deployment status (#414)
    • abc486ed Refactor call method to avoid hardcoded URL (#411)
    • c88e16a1 Merge pull request #412 from ngtuna/quick-fix-readme
    • 8d346657 Substitute TPR with CRD in code (#409)
    • f008a266 Split k8sutils functions into different pkgs (#408)
    • 43ceb591 Merge pull request #387 from anguslees/rmkubectl
    • 431ae116 Merge pull request #381 from anguslees/vendorup
    • 8187b22f First experience enhancements (#378)
    • 40245f0b Merge pull request #377 from jjo/jjo-add-simple-ingress_and_autoscale-testing
    • 7394b932 Add error reporting to Slack messages rather than fail silently (#391)
    • f7519b29 Rely on k8s' atomic logic rather than our own check-before-do (#384)
    • 9701d8bb [jjo] fix RBAC roles (#376)
    • ec218ced Bump client-go to v3.0.0 and glide up
    • bbd8c1de Merge pull request #380 from rodcloutier/fix-ingress-gke
    • 63e28313 ingress create command: fixed host parsing when no port is defined. Fixes #379
    • 25891049 Merge pull request #374 from ngtuna/autoscaling-cm
    • e6676c92 Improve Installation documentation (#372)
    • 7a2343a8 doc: highlight kubeless/functions/ and its incubator (#369)
    • e37b6440 small tweaks in readme for tgif (#368)
    • 3f985a00 add READMEs in examples and docs (#366)
    • e6597a8a Merge pull request #360 from ngtuna/windows-kubeconfig
    • d4d1896b Development setup enhancements (#363)
    • 66a34789 docs: ingress: update links (#362)
    • ff54b2dd Simplify call command (#348)

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.4/kubeless-v0.2.4.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.4/kubeless-rbac-v0.2.4.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.2.4.yaml(4.26 KB)
    kubeless-rbac-v0.2.4.yaml(4.31 KB)
    kubeless-v0.2.4.yaml(3.48 KB)
    kubeless_darwin-386.zip(6.45 MB)
    kubeless_darwin-amd64.zip(6.98 MB)
    kubeless_linux-386.zip(6.46 MB)
    kubeless_linux-amd64.zip(7.00 MB)
    kubeless_windows-386.zip(6.42 MB)
    kubeless_windows-amd64.zip(6.96 MB)
  • v0.2.3(Oct 11, 2017)

    This release includes the following commits and features:

    • a454772b doc: replace tpr by crd (#358)
    • fcd8985d Update fix (#352)
    • 9b8d3284 Merge pull request #253 from ngtuna/autoscaling
    • 7f5b8a49 dev-guide: remove kubeless install (#351)
    • 695c9601 owners files (#350)

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.3/kubeless-v0.2.3.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.3/kubeless-rbac-v0.2.3.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.2.3.yaml(3.97 KB)
    kubeless-rbac-v0.2.3.yaml(4.03 KB)
    kubeless-v0.2.3.yaml(3.48 KB)
    kubeless_darwin-386.zip(10.01 MB)
    kubeless_darwin-amd64.zip(10.89 MB)
    kubeless_linux-386.zip(10.09 MB)
    kubeless_linux-amd64.zip(10.97 MB)
    kubeless_windows-386.zip(10.07 MB)
    kubeless_windows-amd64.zip(10.96 MB)
  • v0.2.2(Oct 9, 2017)

    This release include the following commits and features:

    • ae5437d0 Update command refactor (#340)
    • d922f447 Adding contributing documentation (#346)
    • abb6223d Add support for custom runtime images in CLI (#323)
    • ec6e5385 Fix deployment recreation (#332)
    • 6c26babf Supporting comma separated values in environment variables on command-line (#316)
    • 5e1736e0 PubSub: Avoid the need to scape characters when publishing messages (#338)
    • db8391f9 Allow to use a custom npm scope and registry (#328)
    • e4be8f53 Print parsed dependencies (#335)
    • a985ec81 Add autoscaling manifests (#269)

    To install this latest version, use the manifest that is part of the release: NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.2/kubeless-v0.2.2.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.2/kubeless-rbac-v0.2.2.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.2.2.yaml(3.97 KB)
    kubeless-rbac-v0.2.2.yaml(4.03 KB)
    kubeless-v0.2.2.yaml(3.48 KB)
    kubeless_darwin-386.zip(9.98 MB)
    kubeless_darwin-amd64.zip(10.86 MB)
    kubeless_linux-386.zip(10.06 MB)
    kubeless_linux-amd64.zip(10.95 MB)
    kubeless_windows-386.zip(10.04 MB)
    kubeless_windows-amd64.zip(10.94 MB)
  • v0.2.1(Sep 26, 2017)

    This release includes several bug fixes.

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.1/kubeless-v0.2.1.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.1/kubeless-rbac-v0.2.1.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.2.1.yaml(3.97 KB)
    kubeless-rbac-v0.2.1.yaml(4.03 KB)
    kubeless-v0.2.1.yaml(3.48 KB)
    kubeless_darwin-386.zip(9.98 MB)
    kubeless_darwin-amd64.zip(10.86 MB)
    kubeless_linux-386.zip(10.06 MB)
    kubeless_linux-amd64.zip(10.95 MB)
    kubeless_windows-386.zip(10.04 MB)
    kubeless_windows-amd64.zip(10.93 MB)
  • v0.2.0(Sep 21, 2017)

    New features:

    • Use Custom Resource Definition (Kubernetes v1.7.0+)
    • Scheduled functions, via Kubernetes CronJobs alpha features
    • Python 3.4 runtime
    • Ruby PubSub runtime

    Various bug fixes.

    To install this latest version, use the manifest that is part of the release:

    NO RBAC:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.0/kubeless-v0.2.0.yaml | kubectl create -f -
    

    WITH RBAC ENABLED:

    kubectl create ns kubeless
    curl -sL https://github.com/kubeless/kubeless/releases/download/v0.2.0/kubeless-rbac-v0.2.0.yaml | kubectl create -f -
    
    Source code(tar.gz)
    Source code(zip)
    kubeless-openshift-v0.2.0.yaml(3.95 KB)
    kubeless-rbac-v0.2.0.yaml(4.00 KB)
    kubeless-v0.2.0.yaml(3.48 KB)
    kubeless_darwin-386.zip(9.98 MB)
    kubeless_darwin-amd64.zip(10.86 MB)
    kubeless_linux-386.zip(10.06 MB)
    kubeless_linux-amd64.zip(10.95 MB)
    kubeless_windows-386.zip(10.04 MB)
    kubeless_windows-amd64.zip(10.93 MB)
Owner
Kubeless
Kubernetes Native Serverless Framework
Kubeless
The OCI Service Operator for Kubernetes (OSOK) makes it easy to connect and manage OCI services from a cloud native application running in a Kubernetes environment.

OCI Service Operator for Kubernetes Introduction The OCI Service Operator for Kubernetes (OSOK) makes it easy to create, manage, and connect to Oracle

Oracle 22 Jun 17, 2022
Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications

Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications Explore PipeCD docs » Overview PipeCD provides a unified co

PipeCD 607 Jul 27, 2022
Kubernetes-native framework for test definition and execution

████████ ███████ ███████ ████████ ██ ██ ██ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████

kubeshop 410 Aug 9, 2022
Deploy 2 golang aws lambda functions using serverless framework.

Deploy 2 golang aws lambda functions using serverless framework.

NguyenTheAnh 0 Jan 20, 2022
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

null 0 Oct 19, 2021
Kubernetes OS Server - Kubernetes Extension API server exposing OS configuration like sysctl via Kubernetes API

KOSS is a Extension API Server which exposes OS properties and functionality using Kubernetes API, so it can be accessed using e.g. kubectl. At the moment this is highly experimental and only managing sysctl is supported. To make things actually usable, you must run KOSS binary as root on the machine you will be managing.

Mateusz Gozdek 3 May 19, 2021
An Easy to use Go framework for Kubernetes based on kubernetes/client-go

k8devel An Easy to use Go framework for Kubernetes based on kubernetes/client-go, see examples dir for a quick start. How to test it ? Download the mo

null 10 Mar 25, 2022
Kubernetes Operator for a Cloud-Native OpenVPN Deployment.

Meerkat is a Kubernetes Operator that facilitates the deployment of OpenVPN in a Kubernetes cluster. By leveraging Hashicorp Vault, Meerkat securely manages the underlying PKI.

Oliver Borchert 31 Jun 25, 2022
Kubernetes Native Policy Management

Kyverno Kubernetes Native Policy Management Kyverno is a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations u

Kyverno 2.7k Aug 8, 2022
Cloud Native Configurations for Kubernetes

CNCK CNCK = Cloud Native Configurations for Kubernetes Make your Kubernetes applications more cloud native by injecting runtime cluster information in

Tal Liron 5 Nov 4, 2021
gokp aims to install a GitOps Native Kubernetes Platform

gokp gokp aims to install a GitOps Native Kubernetes Platform. This project is a Proof of Concept centered around getting a GitOps aware Kubernetes Pl

Christian Hernandez 24 Jul 1, 2022
OpenYurt - Extending your native Kubernetes to edge(project under CNCF)

openyurtio/openyurt English | 简体中文 What is NEW! Latest Release: September 26th, 2021. OpenYurt v0.5.0. Please check the CHANGELOG for details. First R

OpenYurt 1.3k Aug 11, 2022
Frisbee is a Kubernetes-native platform for exploring, testing, and benchmarking distributed applications.

Why Frisbee ? Frisbee is a next generation platform designed to unify chaos testing and perfomance benchmarking. We address the key pain points develo

Computer Architecture and VLSI Systems (CARV) Laboratory 35 Jul 18, 2022
Cloud Native Electronic Trading System built on Kubernetes and Knative Eventing

Ingenium -- Still heavily in prototyping stage -- Ingenium is a cloud native electronic trading system built on top of Kubernetes and Knative Eventing

Mark Winter 5 Dec 23, 2021
Kubernetes-native automatic dashboard for Ingress

ingress-dashboard Automatic dashboard generation for Ingress objects. Features: No JS Supports OIDC (Keycloak, Google, Okta, ...) and Basic authorizat

Aleksandr Baryshnikov 55 Jun 24, 2022
Kueue: Kubernetes-native Job Queueing

Kueue Kueue is a set of APIs and controller for job queueing. It is a job-level

Kubernetes SIGs 252 Aug 12, 2022
A serverless cluster computing system for the Go programming language

Bigslice Bigslice is a serverless cluster data processing system for Go. Bigslice exposes composable API that lets the user express data processing ta

GRAIL 505 Aug 12, 2022
Putting serverless on your server

Matterless: putting serverless on your server Serverless computing enables you to build applications that automatically scale with demand, and your wa

Zef Hemel 25 Mar 20, 2022
Serviço de consulta de CEP Serverless usando Lambda function em Golang

Consulta CEP Serverless Consulta CEP foi desenvolvido com o objetivo de facilitar a vida do desenvolvedor que precisa de um serviço de consulta de CEP

Otavio Baldan 1 Oct 26, 2021