Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

triggermesh/triggermesh-core

Repository files navigation

TriggerMesh Logo

CodeQL Static Go Report Card Release Slack

The TriggerMesh Core components conform the basis for creating event driven applications declaratively at Kubernetes.

Installation

To install TriggerMesh Core at a Kubernetes cluster apply manifests for both CRDs and Controller:

# Install TriggerMesh Core CRDs
kubectl apply -f https://github.com/triggermesh/triggermesh-core/releases/latest/download/triggermesh-core-crds.yaml

# Install TriggerMesh Core Controller
kubectl apply -f https://github.com/triggermesh/triggermesh-core/releases/latest/download/triggermesh-core.yaml

Refer to releases for further information.

Development Version

Development version can be installed using ko

ko apply -f ./config

Namespaced installation

TriggerMesh Core controller can be configured to work with a single namespace set at the WORKING_NAMESPACE environment variable, which can be added editing the deployment manifest.

        - name: WORKING_NAMESPACE
          value: my-namespace

When working with a single namespace, all ClusterRoleBindings should also be modified adding the namespace to limit the scope of the granted permissions.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: triggermesh-core-controller
  namespace: working
...

Concepts

TriggerMesh core contains Kubernetes objects for Brokers and Triggers:

The brokers are used to ingest events and route them to targets. To ingest events, they must conform to the CloudEvents specification using the HTTP binding, and must use the HTTP address exposed by the Broker.

Events consumption is done asynchronously by configuring Triggers that reference a Broker object. A Trigger must also include information about the consumer address, either a Kubernetes object or an HTTP address, and optionally can include an event filter.

Usage

Contributing

Please refer to our guidelines for contributors.

Commercial Support

TriggerMesh Inc. offers commercial support for the TriggerMesh platform. Email us at info@triggermesh.com to get more details.

License

This software is licensed under the Apache License, Version 2.0.

Additionally, the End User License Agreement included in the EULA.pdf file applies to compiled executables and container images released by TriggerMesh Inc.