Skip to content

Commit

Permalink
docs: add schemas (#214)
Browse files Browse the repository at this point in the history
Signed-off-by: Charles-Edouard Brétéché <[email protected]>
  • Loading branch information
eddycharly authored Nov 8, 2024
1 parent 26bea83 commit 4ed9714
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions .manifests/policies/demo-policy.example.com.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/kyverno-envoy-plugin/main/.schemas/json/authorizationpolicy-envoy-v1alpha1.json
apiVersion: envoy.kyverno.io/v1alpha1
kind: AuthorizationPolicy
metadata:
Expand Down
4 changes: 3 additions & 1 deletion website/docs/policies/authorization-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@ In this simple rule:
Creates a `CheckResponse` to deny the request with status code `403`

However, we can do a lot more with Envoy's `CheckResponse`.
Envoy can add or remove headers, query parameters, and even change the response body. (TODO)
Envoy can add or remove headers, query parameters, register dynamic metadata passed along the filters chain, and even change the response body. (TODO)

![dynamic metadata](../schemas/dynamic-metadata.png)

### Multiple rules

Expand Down
4 changes: 4 additions & 0 deletions website/docs/quick-start/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ It allows you to enforce Kyverno policies on incoming and outgoing traffic in a

This functionality allows authorization decisions to be offloaded to an external service, which can access the request context. The request context includes details such as the origin and destination of the network activity, as well as specifics of the network request (e.g., HTTP request). This information enables the external service to make a well-informed decision regarding the authorization of the incoming request processed by Envoy.

![overview](../schemas/overview.png)

## What is the Kyverno Envoy Plugin?

The [Kyverno Envoy Plugin](https://github.com/kyverno/kyverno-envoy-plugin) is gRPC server that implements [Envoy External Authorization API](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/ext_authz_filter.html).
Expand All @@ -20,6 +22,8 @@ This allows you to enforce Kyverno policies on incoming and outgoing traffic in

In addition to the Envoy sidecar, your application pods will include a Kyverno Authz Server component, either as a sidecar or as a separate pod. When Envoy receives an API request intended for your microservice, it consults the Kyverno Authz Server to determine whether the request should be permitted or not.

![filters chain](../schemas/filters-chain.png)

Performing policy evaluations locally with Envoy is advantageous, as it eliminates the need for an additional network hop for authorization checks, thus enhancing both performance and availability.

!!!info
Expand Down
Binary file added website/docs/schemas/dynamic-metadata.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/schemas/filters-chain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/schemas/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4ed9714

Please sign in to comment.