Enhanced Rollouts features for application automation.
Go to file
Ai Ranthem 402cb9cd90
Chore: upgrade e2e ubuntu version from 20.04 to 22.04 (#268)
Signed-off-by: AiRanthem <zhongtianyun.zty@alibaba-inc.com>
2025-05-08 12:41:00 +08:00
.github Chore: upgrade e2e ubuntu version from 20.04 to 22.04 (#268) 2025-05-08 12:41:00 +08:00
.license Add licenses and fix manifests generation (#21) 2022-03-10 19:55:42 +08:00
api fix the pod-recreate issue in partition style 2024-12-27 10:00:08 +08:00
config support bluegreen release: support workload of deployment and cloneSet (#238) 2024-12-24 19:38:52 +08:00
docs new v1beta1 apis (#184) 2023-12-04 14:56:47 +08:00
hack rollout v1beta1 apis (#182) 2023-11-03 13:38:55 +08:00
lua_configuration Add composite provider to support multiple network providers (#224) 2024-11-01 11:28:58 +08:00
pkg Fix order of object in batchrelease event handler (#265) 2025-04-10 16:24:51 +08:00
scripts Code optimization (#25) 2022-04-20 20:22:38 +08:00
test Fix: blue-green batch-id e2e fails sometime (#261) 2025-04-01 13:20:48 +08:00
.dockerignore init project (#1) 2022-01-14 13:38:36 +08:00
.gitignore * inject headerModifier to the luaData (#223) 2024-07-22 10:47:18 +08:00
.golangci.yml Code optimization (#25) 2022-04-20 20:22:38 +08:00
.lift.toml Implementing a generic Ingress based on Lua And A/B Testing Release (#86) 2022-11-22 11:22:43 +08:00
CHANGELOG.md v0.5.1 changelog 2025-03-20 18:03:41 +08:00
CONTRIBUTING.md Add contributing and debug docs (#131) 2023-03-27 13:04:37 +08:00
Dockerfile upgrade: gateway-api(0.5.1=>0.7.1), along with controller-runtime(0.12.1=>0.14.6) (#237) 2024-11-13 09:38:49 +08:00
Dockerfile_multiarch rollout v0.5.0 changelog (#190) 2023-12-21 15:23:02 +08:00
LICENSE Initial commit 2022-01-11 14:58:14 +08:00
Makefile upgrade: gateway-api(0.5.1=>0.7.1), along with controller-runtime(0.12.1=>0.14.6) (#237) 2024-11-13 09:38:49 +08:00
OWNERS Add workflow actions and update Makefile (#20) 2022-03-10 19:28:49 +08:00
PROJECT rollout configs 2022-02-21 20:13:40 +08:00
README.md Add contributing and debug docs (#131) 2023-03-27 13:04:37 +08:00
go.mod upgrade: gateway-api(0.5.1=>0.7.1), along with controller-runtime(0.12.1=>0.14.6) (#237) 2024-11-13 09:38:49 +08:00
go.sum upgrade: gateway-api(0.5.1=>0.7.1), along with controller-runtime(0.12.1=>0.14.6) (#237) 2024-11-13 09:38:49 +08:00
main.go dump to v1beta1 gatewayapis (#189) 2023-12-18 15:30:00 +08:00
rollouts.rollouts.kruise.io-rollouts-demo.yaml add e2e tests for custom network provider (#177) 2023-10-27 14:16:48 +08:00

README.md

Rollouts

License

Introduction

Kruise Rollouts is a Bypass component that offers Advanced Progressive Delivery Features. Its support for canary, multi-batch, and A/B testing delivery modes can be helpful in achieving smooth and controlled rollouts of changes to your application, while its compatibility with Gateway API and various Ingress implementations makes it easier to integrate with your existing infrastructure. Overall, Kruise Rollouts is a valuable tool for Kubernetes users looking to optimize their deployment processes!

Why Kruise Rollouts?

  • Functionality

    • Supports canary and multi-batch delivery for various workloads, such as Deployment, CloneSet, and StatefulSet.
    • Supports Fine-grained traffic orchestration of application with Kubernetes Ingress and Gateway API.
  • Flexibility:

    • Handles both incremental and existing workloads with ease.
    • Be compatible with workload-referencing components like HPA, allowing for easy deployment and management of workloads.
    • Supports plug-and-play and hot-swapping, with immediate effect upon application, and the flexibility to be easily deleted at any stage, including during the rollout process.
  • Extensibility:

    • Extend to other workloads and traffic types easily with pluggable lua scripts.

Quick Start

Contributing

You are warmly welcome to hack on Kruise Rollout. We have prepared a detailed guide CONTRIBUTING.md.

Community

Active communication channels:

  • Slack: OpenKruise channel (English)
  • DingTalkSearch GroupID 23330762 (Chinese)
  • WeChat: Search User openkruise and let the robot invite you (Chinese)
  • Bi-weekly Community Meeting (APAC, Chinese):
  • Bi-weekly Community Meeting (English): TODO

Acknowledge

  • The global idea is from both OpenKruise and KubeVela communities, and the basic code of rollout is inherited from the KubeVela Rollout.
  • This project is maintained by both contributors from OpenKruise and KubeVela.

License

Kruise Rollout is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.