Skip to content

[Sandbox] PipeCD #12

Closed
Closed
@khanhtc1202

Description

@khanhtc1202

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

https://github.com/pipe-cd

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

https://pipecd.dev

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

ArgoCD, FluxCD

Product or Service to Project separation

N/A

Project presentations

https://speakerdeck.com/nghialv/a-consistent-delivery-process-with-gitops-style-for-any-application-on-any-platform

Project champions

No response

Additional information

No response

Activity

changed the title [-][Sandbox] PipeCD[/-] [+][WIP] [Sandbox] PipeCD[/+] on Nov 19, 2022
changed the title [-][WIP] [Sandbox] PipeCD[/-] [+][Sandbox] PipeCD[/+] on Nov 29, 2022
khanhtc1202

khanhtc1202 commented on Nov 29, 2022

@khanhtc1202
Author

The application for PipeCD is ready for review, PTAL when you guys have time 🙏

amye

amye commented on Nov 29, 2022

@amye

We'll be reviewing these in January 2023 at the earliest!

dims

dims commented on Jan 6, 2023

@dims
Member

@khanhtc1202 could you please add some notes on how you compare/contrast your submission with flux and argo?

khanhtc1202

khanhtc1202 commented on Jan 11, 2023

@khanhtc1202
Author

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

AloisReitbauer commented on Apr 6, 2023

@AloisReitbauer

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

khanhtc1202 commented on Apr 14, 2023

@khanhtc1202
Author

Thanks @AloisReitbauer; We have sent an application, plz check it out when you have time 😄

justincormack

justincormack commented on May 9, 2023

@justincormack

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

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @dims@amye@AloisReitbauer@justincormack@tegioz

        Issue actions

          [Sandbox] PipeCD · Issue #12 · cncf/sandbox