aws-event-sources

module
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2020 License: Apache-2.0

README

Release Downloads CircleCI Go Report Card License

TriggerMesh Knative Lambda Sources

What: Knative Lambda Sources (KLASS) are Knative event sources for AWS services.

Why: You may be using some Cloud services on AWS but still interested to run workloads within Kubernetes and soon via Knative to benefit from features such as scale to zero and source-to-url FaaS functionality. To trigger those workloads when events happen in your AWS service you need to have an event source that can consume AWS events and send them to your workload. This is a key principle in Knative eventing.

How: The sources listed in this repo are fully open source and can be used in any Knative cluster. They consist of Go event consumers for various AWS services. Most of them are packaged as Container Sources and make use of CloudEvents

List of event sources

AWS service Support level
CodeCommit alpha
CognitoUserPool alpha
CognitoIdentity alpha
DynamoDB alpha
IoT alpha/WIP
Kinesis alpha
SNS alpha
SQS alpha

Usage

Each individual event source can be found in a sub-directory under cmd/. Most sources have the following structure:

cmd/awscodecommitsource
├── Dockerfile
├── Makefile
├── README.md
└── main.go
  • README.md contains the usage instructions for the event source. You should probably start by checking that file.
  • main.go contains the entry point code that starts the execution of the event source.
  • Dockerfile contains the directives necessary for building a container image for the event source.
  • Makefile contains goals for building, verifying and testing the code of the event source. Try make help to show all available goals for the event source.

For detailed usage instructions about a particular source, please refer to its own README.md file.

Caveat

AWS events are very rich. AWS SNS and AWS CloudWatch can be used with almost every AWS service, hence there are many different ways to consume and/or receive AWS events. These sources represent one way of doing it.

TriggerMesh Cloud Early Access

These container sources can be used as is from this repo. You can also use them from our Cloud https://cloud.triggermesh.io where we have developed an enjoyable UI to configure them. Check out this snapshot:

TM cloud sources

Roadmap

  • Add a more generic SNS source using an operator architecture
  • Add a CloudWatch source using an operator architecture
  • Use goroutines to make the sources more performant

Support

We would love your feedback and help on these sources, so don't hesitate to let us know what is wrong and how we could improve them, just file an issue or join those of use who are maintaining them and submit a PR

Commercial Support

TriggerMesh Inc supports those sources commercially, email info@triggermesh.com to get more details.

Code of Conduct

This plugin is by no means part of CNCF but we abide by its code of conduct

Contributing

Refer to DEVELOPMENT.md.

Directories

Path Synopsis
cmd
hack
pkg
adapter/common
Package common contains various helpers for adapters.
Package common contains various helpers for adapters.
apis/sources/v1alpha1
Package v1alpha1 contains API Schema definitions for the sources/v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the sources/v1alpha1 API group.
client/generated/clientset/internalclientset
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/generated/clientset/internalclientset/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/generated/clientset/internalclientset/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/generated/clientset/internalclientset/typed/sources/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/generated/clientset/internalclientset/typed/sources/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
reconciler/common
Package common contains constants shared by reconcilers.
Package common contains constants shared by reconcilers.
reconciler/common/event
Package event contains functions for generating Kubernetes API events.
Package event contains functions for generating Kubernetes API events.
reconciler/common/resource
Package resource contains helpers to generate Kubernetes API objects.
Package resource contains helpers to generate Kubernetes API objects.
reconciler/testing
Package testing contains test helpers for reconcilers.
Package testing contains test helpers for reconcilers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL