pipecd

module
v0.36.0 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2022 License: Apache-2.0

README

Build Test Release Documentation Slack

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.

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

License

Apache License 2.0, see LICENSE.

Contributing

We'd love you to join us! Please see the Contributor Guide.

Thanks to the contributors of PipeCD!

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/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.
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/insightstore/insightstoretest
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.
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