Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weaveworks/pipeline-controller
This repository contains the Pipeline CRD and associated controller for Weave GitOps Enterprise.
https://github.com/weaveworks/pipeline-controller
cd pipelines weave-gitops-enterprise
Last synced: about 2 months ago
JSON representation
This repository contains the Pipeline CRD and associated controller for Weave GitOps Enterprise.
- Host: GitHub
- URL: https://github.com/weaveworks/pipeline-controller
- Owner: weaveworks
- Created: 2022-08-10T14:05:40.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T12:26:37.000Z (9 months ago)
- Last Synced: 2024-06-21T14:23:16.452Z (7 months ago)
- Topics: cd, pipelines, weave-gitops-enterprise
- Language: Go
- Homepage:
- Size: 1.23 MB
- Stars: 1
- Watchers: 7
- Forks: 3
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Pipeline Controller
The pipeline-controller is a Kubernetes controller offering an API (in terms of the `Pipeline` CRD) and automation for implementing continuous delivery (CD) pipelines in an unopinionated fashion. The API allows for defining a pipeline comprised of multiple environments and deployment targets, typically different clusters serving different purposes, e.g. "dev", "staging", "prod". The controller then tracks applications deployed to those environments and provides visibility into their progress while they make their way through the environments.
## Pipelines
One part of this project is an API to define a continuous delivery pipeline. Please see [the Go types here](api/v1alpha1/pipeline_types.go) for details on this API.
## Promotion
Another part this project offers is an API and machinery for promoting applications through environments. The following image provides an overview of how the promotion flow is implemented (an editable version of this image is maintained in [Miro](https://miro.com/app/board/uXjVPE5kjdU=/?share_link_id=65605735742)):
![Promotion Flow](/docs/img/promotion-flow.jpg)
## Getting Started
1. Install the CRD on your cluster:
```sh
make install
```
2. Run the controller:
```sh
make run
```## Create example pipeline
To make it easier to develop on the controller, you can add example pipeline
resources:```bash
# Github
kubectl apply --recursive -f e2e/testdata/pipelines/github/# Gitlab
kubectl apply --recursive -f e2e/testdata/pipelines/gitlab/
```## Contributing
Check out [how to contribute](CONTRIBUTING.md) to the project.