Conversation
f318f58 to
8209ae1
Compare
There was a problem hiding this comment.
Pull request overview
Updates the project README to present the framework’s architecture using a Mermaid diagram, aiming to make the controller → component → primitive relationship easier to visualize for new readers.
Changes:
- Renames the “Mental Model” section to “Architecture”.
- Replaces the ASCII architecture sketch with a Mermaid diagram showing reconciler, components, primitives, and the Kubernetes API.
- Adds a short legend for the diagram’s color/icon meanings.
| ## Architecture | ||
|
|
||
| An operator built with this framework has two layers between the controller and raw Kubernetes objects: | ||
|
|
There was a problem hiding this comment.
The new Mermaid diagram replaces the previous layer/responsibility table; as a result, the README no longer explains what each layer (controller/component/primitive) is responsible for. Consider restoring the responsibility table (or equivalent prose) under the diagram so readers can understand the semantics, not just the structure.
| An operator built with this framework has two layers between the controller and raw Kubernetes objects: | ||
|
|
||
| ``` | ||
| Controller | ||
| └─ Component | ||
| └─ Resource Primitive | ||
| └─ Kubernetes Object | ||
| ```mermaid | ||
| graph TB | ||
| subgraph controller [" "] | ||
| R["⚪ Your Reconciler"] | ||
| end | ||
|
|
||
| subgraph components [" "] | ||
| C1["🔵 Web Interface component"] | ||
| C2["🔵 Monitoring component"] | ||
| end | ||
|
|
||
| subgraph primitives [" "] | ||
| P1["🟢 ConfigMap"] | ||
| P2["🟢 Deployment"] | ||
| P3["🟢 Service"] | ||
| P4["🟢 ServiceAccount"] | ||
| P5["🟢 DaemonSet"] | ||
| end | ||
|
|
||
| subgraph cluster [" "] | ||
| K["⚪ Kubernetes API"] | ||
| end | ||
|
|
||
| R --> C1 & C2 | ||
| C1 --> P1 & P2 & P3 | ||
| C2 --> P4 & P5 | ||
| P1 & P2 & P3 & P4 & P5 --> K |
There was a problem hiding this comment.
The text says there are "two layers between the controller and raw Kubernetes objects", but the diagram terminates at "Kubernetes API" and shows primitives as the objects (ConfigMap/Deployment/etc). Please align the wording and the diagram target (e.g., end at Kubernetes objects, or change the sentence to refer to the API/server) to avoid confusing readers about what the primitive layer wraps.
No description provided.