docs(day-2): Operator talk

This commit is contained in:
2026-03-21 12:06:31 +01:00
parent 5c0eeda05b
commit 81b49c4489

View File

@@ -0,0 +1,45 @@
---
title: Solving Operator Extensibility: A gRPC Plugin Framework for kubernetes
weight: 4
tags:
- rejekts
- operatopr
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
From the guys at EDB (the comercial offerin connected to CNPG).
If you haven't hear of CNPG: Use it, please
## Why
- Modify beyond CRDs (Inject Sidecars, run modifications, ...)
- Smarter reconciliation: Pause/Skip on evernal logic
- Integrate with third party sdks (backup management, storeage, ...)
## Current Options
- Patch it upstream -> and hope they agree with your PR)
- Fork it -> now you have to maintain it
- Mutating Webhooks -> Doesn't know about the working of the operator ans just blindly forces resource modifications
## Sample Use-Case
- Project: CloudNativePG
- Goal: Extend backup functionality
- Solution: CNPG-I (inspired by CSI)
- Protobuf contract
- Decoule of lifecycle/deplyoment: Plugins run as pods in the cnpg namespace
- Capability based dicovocery: Automatic registration and it will be called only if needed
- Orchestrated delegation: Operator is still "the brain" but can delegate
TODO: Steal diagram from slides
## Operator Hooks
- Lifecycle: During reconcile -> Modify
- Reconciler: Interaction during the reconciliation loop -> Stop, Requeue, Continue
- Metrics Collection: Register additional metrics
- Backups: Execute the backup
- WAL Archiving: Handle WAL archiving externally