Description
Application contact emails
khanhtc1202@gmail.com, nghialv2607@gmail.com, kenta.kozuka@gmail.com, nao.7ken@gmail.com, stormcat24@stormcat.io
Project Summary
One CD for All {applications, platforms, operations}
Project Description
PipeCD is a GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any application.
The idea of PipeCD is to make a unified interface to deploy different kinds of applications (currently PipeCD supports Kubernetes, Terraform, GCP Cloud Run, AWS Lambda, and AWS ECS). The reason behind that idea is we are faced with systems that mix multiple platforms running applications, and also at the company scale, not every team has the same idea/experience/taste when choosing the team stack (CD included), and all gaps and diversity between teams’ decisions should be respected and treated carefully.
With the introduction of PipeCD, we will have a standard and easy option to archive requirements for a CD at the company level.
Characteristics of the project
Visibility
- Deployment pipeline UI shows clarify what is happening
- Separate logs viewer for each individual deployment
- Realtime visualization of application state
- Deployment notifications to slack, webhook endpoints
- Insights show metrics like lead time, deployment frequency, MTTR, and change failure rate to measure delivery performance
Automation
- Automated deployment analysis to measure deployment impact based on metrics, logs, emitted requests
- Automatically roll back to the previous state as soon as analysis or a pipeline stage fails
- Automatically detect configuration drift to notify and render the changes
- Automatically trigger a new deployment when a defined event has occurred (e.g. container image pushed, helm chart published, etc)
Safety and Security
- Support single sign-on and role-based access control
- Credentials are not exposed outside the cluster and not saved in the control-plane
- Piped makes only outbound requests and can run inside a restricted network
- Built-in secrets management
Multi-provider & Multi-Tenancy
- Support multiple application kinds on multi-cloud including Kubernetes, Terraform, Cloud Run, AWS Lambda
- Support multiple analysis providers including Prometheus, Datadog, Stackdriver, and more
- Easy to operate multi-cluster, multi-tenancy by separating control-plane and piped
Org repo URL
Project repo URL
https://github.com/pipe-cd/pipecd
Additional repos
https://github.com/pipe-cd/examples
https://github.com/pipe-cd/actions-plan-preview
https://github.com/pipe-cd/actions-event-register
https://github.com/pipe-cd/orb-pipecd
Website URL
Live demo or playground
https://play.pipecd.dev/applications?project=play
Roadmap
For the next few releases (until next year's first quarter):
- Support deployment chain: enable to trigger deployment for a chain of applications, which's not necessary in the same kind)
- Add Insights feature that helps users understand the delivery performance of every single application or the whole project.
For further releases (next year):
- Support more applications kind based on users' requests.
- Deployment plugin - Allow executing user-created deployment plugin
Roadmap context
No response
Contributing Guide
https://pipecd.dev/docs/contribution-guidelines/
Code of Conduct (CoC)
https://github.com/pipe-cd/pipecd/blob/master/CODE_OF_CONDUCT.md
Adopters
No response
Contributing or Sponsoring Org
No response
Maintainers file
https://github.com/pipe-cd/pipecd/blob/master/MAINTAINERS.md
IP Policy
- If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
- If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
Currently, PipeCD is at production-ready stage with several nice features that we thought many developers would love to have for a CD based on our experience while developing it. By joining CNCF, we are seeking visibility and community adoption so that we can have a better point of view on what we built. With the aim we list in the roadmap, we wish for community ideas and contributions to make it comes true. We also wish for guidance from CNCF while building the PipeCD community as well.
Benefit to the Landscape
First of all, the PipeCD's idea is to support a wide range (aim to open support all) of cloud-native platforms. It’s not just about deployment for Kubernetes applications which already had many contributions and support from the community but other kinds of applications as well. By introducing a unified interface to deploy different kinds of applications, the cost to migrate between platforms, human error while deploying, etc would be reduced. The PipeCD's idea respects the diversity of the existing systems as well.
Besides, adding a new option as a CD tool will help accelerate the evolution of the CD area, the community would notice more about supporting different kinds of applications.
Cloud Native 'Fit'
PipeCD is built for cloud-native applications, it supports cloud-native applications in mind.
Cloud Native 'Integration'
PipeCD works well as the CD for Kubernetes, Knative app (GCP CloudRun), Terraform, and so on.
Internally, PipeCD uses Helm (and also Kustomize) to manage deployments for applications that run on Kubernetes platform.
Cloud Native Overlap
No response
Similar projects
Product or Service to Project separation
N/A
Project presentations
Project champions
No response
Additional information
No response
Activity
[-][Sandbox] PipeCD[/-][+][WIP] [Sandbox] PipeCD[/+][-][WIP] [Sandbox] PipeCD[/-][+][Sandbox] PipeCD[/+]khanhtc1202 commentedon Nov 29, 2022
The application for PipeCD is ready for review, PTAL when you guys have time 🙏
amye commentedon Nov 29, 2022
We'll be reviewing these in January 2023 at the earliest!
dims commentedon Jan 6, 2023
@khanhtc1202 could you please add some notes on how you compare/contrast your submission with flux and argo?
khanhtc1202 commentedon Jan 11, 2023
Hi @dims, sorry for the late!
About the comparison between my submission (pipecd) with other CNCF projects (flux and argo in this case), it's different in the vision at first:
flux and argo focus more on GitOps syncing that keeps the things in the cluster synced with the defined manifests; progressive deployment is added later as a plugin/extension (rollout for argo and flagger for flux), while pipecd is one tool for both GitOps & progressive deployment.
flux and argo focus on k8s (and they were designed to be part of k8s), while pipecd is an independent tool that's available to be installed on k8s (and can be used on other platforms as well). Pipecd also supports deploying applications to multiple platforms (currently k8s, ecs, cloud run, lambda, and terraform)
The vision of pipecd is to be a tool that allows developers to deploy and manage any application to any platform. It is a bit as same as another project called Waypoint (https://www.waypointproject.io/), but we focus only on CD (which means there will be no build processes supported)
Besides, we have a FAQ for comparison in some specified fields; it can be accessed from here
https://pipecd.dev/docs/faq/#4-what-are-the-differences-between-pipecd-and-fluxcd
https://pipecd.dev/docs/faq/#5-what-are-the-differences-between-pipecd-and-argocd
AloisReitbauer commentedon Apr 6, 2023
Feel free to also submit a lighting talk for the TAG App Delivery workshop at KubeCon: https://docs.google.com/forms/d/e/1FAIpQLSc2ruf4q2k7nWCZyEp0Wy_nW9z5bsf0ES0ARqZrhwnKEkk5Ig/viewform
khanhtc1202 commentedon Apr 14, 2023
Thanks @AloisReitbauer; We have sent an application, plz check it out when you have time 😄
justincormack commentedon May 9, 2023
It is unclear to me who currently owns the code, there is no "Contributing or Sponsoring Org" but there is a CLA https://github.com/pipe-cd/pipecd/blob/master/CLA.md but that only refers to "The Project". Does CyberAgent Inc own any rights to the code?
30 remaining items