pipe

module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2020 License: Apache-2.0

README

PipeCD

Continuous Delivery for Declarative Kubernetes Application and Infrastructure

Proposal

https://docs.google.com/document/d/1Z3NqnsxgraD9f55F0TK6e4oLV4296Hd7xUb5GxwdaJQ

Status

This project is under PROTOTYPE development phase.

Overview

This project aims to explore and develop a unified delivery infrastructure for CA projects.

Powerful

  • Unified Deployment System: kubernetes (plain-yaml, helm, kustomize), terraform, lambda, cloudrun...
  • Progressive Deployment Strategies: canary, bluegreen, rolling update
  • Automated Analysis: by metrics, log, smoke test...
  • Automated Rollback
  • Automated Configuration Drift Detection
  • Insights shows Delivery Perfomance
  • Support Webhook and Slack notifications

Easy to Use

  • Operations by Pull Request: scale, rollout, rollback by PR
  • Realtime Visualization of application state
  • Deployment Pipeline to see what is happenning
  • Intuitive UI

Easy to Operate

  • Two seperate components: single binary piped and control-plane
  • piped can be run in a Kubernetes cluster, a single VM or even a local machine
  • Easy to operate multi-tenancy, multi-cluster

Safety and Security

  • Support single sign-on (SSO) and role-based access control (RBAC)
  • Your credentials are not exposed outside your cluster and not saved in control-plane

License

Apache License 2.0, see LICENSE.

Directories

Path Synopsis
cmd
api command
helloworld command
piped command
web command
dockers
chart-releaser command
static command
hack
gen-go-strings command
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/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/containerregistry
Package containerregistry watches the configured container registry for the new images.
Package containerregistry watches the configured container registry for the new images.
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/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/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.
cli
git
jwt
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.
rpc

Jump to

Keyboard shortcuts

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