Writing an eventing source the hard way

This tutorial walks you through creating an event source for Knative Eventing “the hard way”, without using helper objects like ContainerSource ( Go to ContainerSource sample to see how to create an event source using ContainerSource ).

After completing through this tutorial, you’ll have a basic working event source controller and dispatcher (TODO) based on the Kubebuilder framework.

Just want to see the code? The reference project is https://github.com/grantr/sample-source.

Target Audience

The target audience is already familiar with Kubernetes and Go development and wants to develop a new event source for use with Knative Eventing.

Before you begin

You’ll need these tools installed:


  1. Bootstrap Project
  2. Define The Source Resource
  3. Reconcile Sources
  4. Publish to Cluster
  5. (TODO) Dispatching Events


Kubebuilder not your thing? Prefer the easy way? Check out these alternatives.