pipecd

module
v0.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: Apache-2.0

README

OpenSSF Best Practices Build Test Go Report Card codecov Release License Documentation Slack Twitter

A GitOps style continuous delivery platform that provides consistent deployment and operations experience for any applications
Explore PipeCD docs » Play with live demo »

Overview

PipeCD provides a unified continuous delivery solution for multiple application kinds on multi-cloud that empowers engineers to deploy faster with more confidence, a GitOps tool that enables doing deployment operations by pull request on Git.

Why PipeCD?
  • Simple, unified and easy to use but powerful pipeline definition to construct your deployment
  • Same deployment interface to deploy applications of any platform, including Kubernetes, Terraform, GCP Cloud Run, AWS Lambda, AWS ECS
  • No CRD or applications' manifest changes are required; Only need a pipeline definition along with your application manifests
  • No deployment credentials are exposed or required outside the application cluster
  • Built-in deployment analysis as part of the deployment pipeline to measure impact based on metrics, logs, emitted requests
  • Easy to interact with any CI; The CI tests and builds artifacts, PipeCD takes the rest
  • Insights show metrics like lead time, deployment frequency, MTTR and change failure rate to measure delivery performance
  • Designed to manage thousands of cross-platform applications in multi-cloud for company scale but also work well for small projects

And many more, please explore in docs.

Getting Started
  • The quickstart guide shows how to set up PipeCD components and deploy a hello-world application with PipeCD for testing purposes.
  • The tutorial shows how to run PipeCD locally for introduction.
  • The installation guide explains and helps set up PipeCD for your real-life use environment.

Community and development
  • Check out the PipeCD website for the complete documentation and helpful links.
  • Join our Slack workspace to get help and to discuss features.
  • Tweet @pipecd_dev on Twitter/X.
  • Create Github Issues or Discussions to report bugs or request features.
  • Join our upcoming PipeCD Development and Community Meeting where we share the latest project news, demos, answer questions, and triage issues (meeting access and agenda).

Participation in PipeCD project is governed by the CNCF Code of Conduct.

Contributing

We'd love you to join us! Please see the Contributing docs to get started.

Adopters

You can find a list of publicly recognized users of the PipeCD in the ADOPTERS.md file. We strongly encourage all PipeCD users to add their names to this list, as we love to see the community's growing success!

Thanks to the contributors of PipeCD!

We are a Cloud Native Computing Foundation sandbox project.

The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

License

FOSSA Status

Directories

Path Synopsis
cmd
pkg
admin
Package admin provides an HTTP server for exposing internal information of the current service.
Package admin provides an HTTP server for exposing internal information of the current service.
app/ops/firestoreindexensurer
Package firestoreindexensurer automatically creates/deletes the needed composite indexes for Google Firestore, based on well-defined JSON format indexes list.
Package firestoreindexensurer automatically creates/deletes the needed composite indexes for Google Firestore, based on well-defined JSON format indexes list.
app/ops/handler
Package handler is a generated GoMock package.
Package handler is a generated GoMock package.
app/piped/analysisprovider/http
Package http provides a way to analyze with http requests.
Package http provides a way to analyze with http requests.
app/piped/chartrepo
Package chartrepo manages a list of configured helm repositories.
Package chartrepo manages a list of configured helm repositories.
app/piped/controller
Package controller provides a piped component that handles all of the not completed deployments by managing a pool of planners and schedulers.
Package controller provides a piped component that handles all of the not completed deployments by managing a pool of planners and schedulers.
app/piped/driftdetector
Package driftdetector provides a piped component that continuously checks configuration drift between the current live state and the state defined at the latest commit of all applications.
Package driftdetector provides a piped component that continuously checks configuration drift between the current live state and the state defined at the latest commit of all applications.
app/piped/eventwatcher
Package eventwatcher provides facilities to update config files when new event found.
Package eventwatcher provides facilities to update config files when new event found.
app/piped/livestatereporter
Package livestatereporter provides a piped component that reports the changes as well as full snapshot about live state of registered applications.
Package livestatereporter provides a piped component that reports the changes as well as full snapshot about live state of registered applications.
app/piped/livestatestore
Package livestatestore provides a piped component that watches the live state of applications in the cluster to construct it cache data that will be used to provide data to another components quickly.
Package livestatestore provides a piped component that watches the live state of applications in the cluster to construct it cache data that will be used to provide data to another components quickly.
app/piped/logpersister
Package logpersister provides a piped component that enqueues all log blocks from running stages and then periodically sends to the control plane.
Package logpersister provides a piped component that enqueues all log blocks from running stages and then periodically sends to the control plane.
app/piped/notifier
Package notifier provides a piped component that sends notifications to the configured targets.
Package notifier provides a piped component that sends notifications to the configured targets.
app/piped/planner
Package planner provides a piped component that decides the deployment pipeline of a deployment.
Package planner provides a piped component that decides the deployment pipeline of a deployment.
app/piped/platformprovider/kubernetes/kubernetestest
Package kubernetestest is a generated GoMock package.
Package kubernetestest is a generated GoMock package.
app/piped/statsreporter
Package statsreporter provides a piped component that periodically reports local metrics to control-plane.
Package statsreporter provides a piped component that periodically reports local metrics to control-plane.
app/piped/toolregistry
Package toolregistry installs and manages the needed tools such as kubectl, helm...
Package toolregistry installs and manages the needed tools such as kubectl, helm...
app/piped/trigger
Package trigger provides a piped component that detects a list of application should be synced (by new commit, sync command or configuration drift) and then sends request to the control-plane to create a new Deployment.
Package trigger provides a piped component that detects a list of application should be synced (by new commit, sync command or configuration drift) and then sends request to the control-plane to create a new Deployment.
app/pipedv1/controller
Package controller provides a piped component that handles all of the not completed deployments by managing a pool of planners and schedulers.
Package controller provides a piped component that handles all of the not completed deployments by managing a pool of planners and schedulers.
app/pipedv1/eventwatcher
Package eventwatcher provides facilities to update config files when new event found.
Package eventwatcher provides facilities to update config files when new event found.
app/pipedv1/livestatestore
Package livestatestore provides a piped component that watches the live state of applications in the cluster to construct it cache data that will be used to provide data to another components quickly.
Package livestatestore provides a piped component that watches the live state of applications in the cluster to construct it cache data that will be used to provide data to another components quickly.
app/pipedv1/notifier
Package notifier provides a piped component that sends notifications to the configured targets.
Package notifier provides a piped component that sends notifications to the configured targets.
app/pipedv1/plugin/kubernetes/toolregistry
Package toolregistry installs and manages the needed tools such as kubectl, helm...
Package toolregistry installs and manages the needed tools such as kubectl, helm...
app/pipedv1/statsreporter
Package statsreporter provides a piped component that periodically reports local metrics to control-plane.
Package statsreporter provides a piped component that periodically reports local metrics to control-plane.
app/pipedv1/trigger
Package trigger provides a piped component that detects a list of application should be synced (by new commit, sync command or configuration drift) and then sends request to the control-plane to create a new Deployment.
Package trigger provides a piped component that detects a list of application should be synced (by new commit, sync command or configuration drift) and then sends request to the control-plane to create a new Deployment.
cache/cachetest
Package cachetest is a generated GoMock package.
Package cachetest is a generated GoMock package.
cli
datastore/datastoretest
Package datastoretest is a generated GoMock package.
Package datastoretest is a generated GoMock package.
filestore/filestoretest
Package filestoretest is a generated GoMock package.
Package filestoretest is a generated GoMock package.
git
git/gittest
Package gittest is a generated GoMock package.
Package gittest is a generated GoMock package.
insight/insighttest
Package insightstoretest is a generated GoMock package.
Package insightstoretest is a generated GoMock package.
jwt
jwt/jwttest
Package jwttest is a generated GoMock package.
Package jwttest is a generated GoMock package.
log
model
Package model contains definitions of model objects that are stored in the datastore.
Package model contains definitions of model objects that are stored in the datastore.
plugin/api/v1alpha1
Package planner provides a piped component that decides the deployment pipeline of a deployment.
Package planner provides a piped component that decides the deployment pipeline of a deployment.
plugin/logpersister
Package logpersister provides a piped component that enqueues all log blocks from running stages and then periodically sends to the control plane.
Package logpersister provides a piped component that enqueues all log blocks from running stages and then periodically sends to the control plane.
redis/redistest
Package redistest is a generated GoMock package.
Package redistest is a generated GoMock package.
rpc
tool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL