Pipelines Feedback Core is a framework for developing your own controller, we together maintain universal and powerful tools for integrating CI/CD Pipelines with external systems. Using this framework you can create an Open/Closed Source integration like e.g. Slack notifications or Tekton support.
See documentation of each component by visiting its directory in this repository.
Components:
- Receivers: Connector to a party that receives the feedback. Default implementation is
jxscm
which handlesGitea
,Gitlab
,Github
, etc. - Providers: Pipeline data providers. Default implementation is collecting labelled
kind: Job
from the cluster and parsing their status. Feel free to implement your kinds to support e.g.Tekton
,Argo Workflows
orJenkins X
- ConfigurationCollector: Provides settings & secrets to access the Receiver (e.g. credentials to log-in into Gitlab to post a PR update)
- Store: State storage (key-value) that stores values not available in Kubernetes manifests. Default backends:
memory
,redis
API:
- Bootstrapping your own controller
- Contract of objects used inside Pipelines Feedback - the API
- Logger interface available in your component
- Kubernetes Annotations parser - use it when parsing your custom kind/crd
- ConfigurationProvider - reads configuration data and provides it to your component (see also the ConfigurationProvider code)