Skip to content

Commit 0ffe37a

Browse files
committed
Updated chain diagram
1 parent 57cd0f5 commit 0ffe37a

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Mermaid source for authorizer-chain-computation image
2+
3+
This diagram was rendered on https://www.mermaidchart.com/play, not using the
4+
native GitHub mermaid renderer so that the image was more visually clear.
5+
Mermaid layout configs are not respected by GitHub.
6+
7+
8+
```mermaid
9+
---
10+
config:
11+
layout: elk
12+
title: Kubernetes with Conditional Authorization
13+
---
14+
flowchart LR
15+
subgraph ChainAuthorizer["ChainAuthorizer"]
16+
direction TB
17+
AuthzAllow["Allow"]
18+
AuthzConditional["Conditional"]
19+
AuthzDeny["Deny"]
20+
AuthzNoOpinion["NoOpinion"]
21+
end
22+
subgraph WithAuthorization["WithAuthorization"]
23+
direction TB
24+
ServeHTTP["ServeHTTP"]
25+
ServeHTTPWithConditions["ServeHTTP + ctx conditions"]
26+
CannotBecomeAuthz["CannotBecomeAuthz"]
27+
end
28+
subgraph ChainAuthorizerEval["ChainAuthorizerEval"]
29+
NoOpinion2["NoOpinion"]
30+
Allow2["Allow"]
31+
Conditional2["Conditional"]
32+
Deny2["Deny"]
33+
end
34+
subgraph ValidatingAdmission["ValidatingAdmission"]
35+
direction TB
36+
AdmissionAllow["Allow"]
37+
AdmissionEvaluate["Evaluate"]
38+
AdmissionNoOpinion["NoOpinion"]
39+
AdmissionDeny["Deny"]
40+
ChainAuthorizerEval
41+
end
42+
Request["Request"] --> ChainAuthorizer
43+
AuthzNoOpinion --> Request
44+
AuthzAllow --> ServeHTTP
45+
ServeHTTPWithConditions --> AdmissionEvaluate
46+
AdmissionEvaluate --> AdmissionNoOpinion & AdmissionAllow & AdmissionDeny
47+
AdmissionNoOpinion --> ChainAuthorizerEval
48+
NoOpinion2 --> AdmissionNoOpinion
49+
Allow2 --> AdmissionAllow
50+
Conditional2 --> AdmissionEvaluate
51+
Deny2 --> AdmissionDeny
52+
AdmissionDeny --> 403(["403"])
53+
ServeHTTP -- Allowed --> AdmissionAllow["Allow"]
54+
AuthzConditional -- 1+ Allow --> ServeHTTPWithConditions
55+
AuthzConditional -- 0 Allow --> CannotBecomeAuthz
56+
AuthzDeny --> CannotBecomeAuthz
57+
CannotBecomeAuthz --> 403
58+
AdmissionAllow --> Storage(["Storage"])
59+
```
173 KB
Loading

0 commit comments

Comments
 (0)