flippy

command module
v0.0.0-...-70bd64a Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

README

Flippy

Go Report Card codecov

Flippy is a kubernetes operator which restarts deployments that are Service Mesh enabled if the sidecar container’s docker image doesn’t match the expected docker image. This is useful for forcing Istio data plane upgrades after a control plane upgrade if required.

Why Flippy?

There are two parts for mesh, the control plane and the data plane. The control plane changes are rolled out as a part of the IKS2 Istio add-on, but data plane changes occur with pod restarts. New sidecar containers are installed at the time pods are created. The control plane dictates which docker image gets installed as a sidecar container, but the Istio control plane does not rotate data plane pods.

How Flippy works?

Flippy provides automatic restart capability to pods based on configuration like image name change

Flippy monitors a CRD which stores the desired container image. As configmap value changes flippy operators get triggered. Flippy operators examine deployments which are mesh enabled. It restarts the mesh-injected deployments one by one asynchronously, which doesn’t block the kubernetes cluster upgrade process.
CRD have more wider filtering which can be used to solve more generic solutions instead of just istio/mesh targeted solutions.

Block Diagram

Demo

Flippy demoed in Service Mesh end-user community. Please feel free to watch the demo.

We demoed the old version which was based upon Kubernetes ConfigMap. We have improved over time and provided more advanced filters and support with Kubernetes CRD-based approach.

Docs

Who uses Flippy?

Organizations below are officially using Flippy. Please send a PR with your organization name if you are using Flippy.

Contributing

Refer to Contributing doc

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1
Package v1 contains API Schema definitions for the webapp v1 API group +kubebuilder:object:generate=true +groupName=keikoproj.io
Package v1 contains API Schema definitions for the webapp v1 API group +kubebuilder:object:generate=true +groupName=keikoproj.io
pkg

Jump to

Keyboard shortcuts

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