Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to match the new /docs/README.md Triggers Overview from PR 972 #975

Merged
merged 1 commit into from
Feb 26, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 29 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,78 +8,39 @@
<img src="tekton-triggers.png" alt="Tekton Triggers logo (Tekton cat playing with a ball)"></img>
</p>

Triggers is a Kubernetes
Tekton Triggers is a Kubernetes
[Custom Resource Definition](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
(CRD) controller that allows you to extract information from events payloads (a
"trigger") to create Kubernetes resources. If you are looking to start with triggers
please take a look at the [getting started guide](./docs/getting-started/README.md).
(CRD) controller that allows you to create Kubernetes resources based on information it extracts from event payloads.

The contents of this repo originated from implementing
[this design](https://docs.google.com/document/d/1fngeNn3kGD4P_FTZjAnfERcEajS7zQhSEUaN7BYIlTw/edit#heading=h.iyqzt1brkg3o)
(visible to members of
[the Tekton mailing list](https://github.com/tektoncd/community/blob/master/contact.md#mailing-list)).
Tekton Triggers originates from the implementaiton of [this design](https://docs.google.com/document/d/1fngeNn3kGD4P_FTZjAnfERcEajS7zQhSEUaN7BYIlTw/edit#heading=h.iyqzt1brkg3o)
(visible to members of [the Tekton mailing list](https://github.com/tektoncd/community/blob/master/contact.md#mailing-list)).

* [Background](#background)
* [Want to start using Triggers?](#want-to-start-using-tekton-triggers)
* [Getting Started](#getting-started)
* [Want to contribute?](#want-to-contribute)
* [Project roadmap](roadmap.md)

## Background

[Tekton](https://github.com/tektoncd/pipeline) is a **Kubernetes-native**,
continuous integration and delivery (CI/CD) framework that enables you to create
containerized, composable, and configurable workloads declaratively through
CRDs. Naturally, CI/CD events contain information that should:

- Identify the kind of event (GitHub Push, GitLab Issue, Docker Hub Webhook,
etc.)
- Be accessible from and map to particular pipelines (Take SHA from payload to
use it in pipeline X)
- Deterministically trigger pipelines (Events/pipelines that trigger pipelines
based on certain payload values)

The Tekton API enables functionality to be separated from configuration (e.g.
[Pipelines](https://github.com/tektoncd/pipeline/blob/master/docs/pipelines.md)
vs
[PipelineRuns](https://github.com/tektoncd/pipeline/blob/master/docs/pipelineruns.md))
such that steps can be reusable, but it does not provide a mechanism to generate
the resources (notably,
[PipelineRuns](https://github.com/tektoncd/pipeline/blob/master/docs/pipelineruns.md)
and
[PipelineResources](https://github.com/tektoncd/pipeline/blob/master/docs/resources.md#pipelineresources))
that encapsulate these configurations dynamically. Triggers extends the Tekton
architecture with the following CRDs:

- [`TriggerTemplate`](docs/triggertemplates.md) - Templates resources to be
created (e.g. Create PipelineResources and PipelineRun that uses them)
- [`TriggerBinding`](docs/triggerbindings.md) - Validates events and extracts
payload fields
- [`EventListener`](docs/eventlisteners.md) - Connects `TriggerBindings` and
`TriggerTemplates` into an
[addressable](https://github.com/knative/eventing/blob/master/docs/spec/interfaces.md)
endpoint (the event sink). It uses the extracted event parameters from each
`TriggerBinding` (and any supplied static parameters) to create the resources
specified in the corresponding `TriggerTemplate`. It also optionally allows an
external service to pre-process the event payload via the `interceptor` field.
- [`ClusterTriggerBinding`](docs/clustertriggerbindings.md) - A cluster-scoped
TriggerBinding

Using `tektoncd/triggers` in conjunction with `tektoncd/pipeline` enables you to
easily create full-fledged CI/CD systems where the execution is defined
**entirely** through Kubernetes resources.

You can learn more by checking out the [docs](docs/README.md)

## Want to start using Tekton Triggers

[Install](./docs/install.md) Triggers, check out the
[installation guide](./docs/install.md), [examples](./examples/README.md) or
follow the [getting started guide](./docs/getting-started/README.md) to become
familiar with the project. The getting started guide walks through setting up an
end-to-end image building solution, which will be triggered from GitHub `push`
events.

### Read the docs
[Tekton](https://github.com/tektoncd/pipeline) is a Kubernetes-native continuous integration and delivery
(CI/CD) framework that allows you to create containerized, composable, and configurable workloads declaratively
through Kubernetes CRDs. When integrated with Tekton Triggers, Tekton allows you to easily create fully fledged CI/CD systems in which you
define all mechanics exclusively using Kubernetes resources.

To learn more, see the [Tekton Triggers Overview](docs/README.md).

## Getting Started

To get started with Tekton Triggers, see the following:

* [Overview of Tekton Triggers](./docs/README.md)
* [Setting Up Tekton Triggers](./docs/install.md)
* [Getting Started with Tekton Triggers](.docs/getting-started/README.md)
* [Tekton Triggers code examples](./examples/README.md)

The "Getting Started with Tekton Triggers" guide walks you through setting up an end-to-end image building solution triggered via GitHub's `push` events.

### Documentation

| Version | Docs | Examples | Getting Started |
| ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
Expand All @@ -104,13 +65,11 @@ events.
| [v0.2.1](https://github.com/tektoncd/triggers/releases/tag/v0.2.1) | [Docs @ v0.2.1](https://github.com/tektoncd/triggers/tree/v0.2.1/docs#tekton-triggers) | [Examples @ v0.2.1](https://github.com/tektoncd/triggers/tree/v0.2.1/examples#examples) | [Getting Started @ v0.2.1](https://github.com/tektoncd/triggers/tree/v0.2.1/docs/getting-started#getting-started-with-triggers) |
| [v0.1.0](https://github.com/tektoncd/triggers/releases/tag/v0.1.0) | [Docs @ v0.1.0](https://github.com/tektoncd/triggers/tree/v0.1.0/docs#tekton-triggers) | [Examples @ v0.1.0](https://github.com/tektoncd/triggers/tree/v0.1.0/examples#examples) | [Getting Started @ v0.1.0](https://github.com/tektoncd/triggers/tree/v0.1.0/docs/getting-started#getting-started-with-triggers) |

## Want to contribute
## Want to contribute?

Hooray!

- See [CONTRIBUTING.md](CONTRIBUTING.md) for an overview of our processes
- See [DEVELOPMENT.md](DEVELOPMENT.md) for how to get started
- Look at our
[good first issues](https://github.com/tektoncd/triggers/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
and our
[help wanted issues](https://github.com/tektoncd/triggers/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
- See [CONTRIBUTING.md](CONTRIBUTING.md) for an overview of our processes.
- See [DEVELOPMENT.md](DEVELOPMENT.md) to get started.
- Look at our [good first issues](https://github.com/tektoncd/triggers/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
and our [help wanted issues](https://github.com/tektoncd/triggers/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) to help improve Tekton Triggers.