mirror of
https://github.com/FlipsideCrypto/convox.git
synced 2026-02-06 10:56:56 +00:00
* upgrade kubernetes client * cleanup provider helpers * use kubernetes patch to avoid update races |
||
|---|---|---|
| .. | ||
| pkg | ||
| templates | ||
| atom.go | ||
| controller.go | ||
| interface.go | ||
| Makefile | ||
| mock_Interface.go | ||
| README.md | ||
atom
Transactional updates and rollbacks of Kubernetes objects
State Machine
┌ ─ ─ ─ updating ─ ─ ┐
│ ┌───────────────┐ │
│ Pending │◀───────────────────────────────┐
│ └───────┬───────┘ │ │
▼ │
│ ┌───────────────┐ │ │
│ Updating ├──────────────────┐ │
│ └───────┬───────┘ │ │ │
│ │ │
└ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ┘ │ │
│ │ │
┌───────────────────┬───────────────────┤ │ │
┌ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ┐ │
▼ ▼ ▼ ▼ │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ │ ┌───────────────┐ │ │
│ Cancelled │ │ Deadline │ │ Error │ │ Running ├─────┤
│ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ └───────────────┘ │ │
│ │ │ │
│ └───────────────────┼───────────────────┘ │ │ ┌───────────────┐ │ │
▼ ┌───▶│ Reverted ├─────┤
│ ┌───────────────┐ │ │ │ └───────────────┘ │ │
│ Rollback ├─────────────────────────┤ │
│ └───────────────┘ │ │ │ ┌───────────────┐ │ │
└───▶│ Failure ├─────┘
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ rollback ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ └───────────────┘ │
└ ─ ─ ─ running ─ ─ ─ ┘