Skip to content

Commit

Permalink
Merge pull request #1 from Kuadrant/nav-enhancements
Browse files Browse the repository at this point in the history
navigation, welcome page and footer enhancements
  • Loading branch information
guicassolato authored Jul 5, 2023
2 parents 19bd572 + 8f2c5bd commit 6b33b80
Show file tree
Hide file tree
Showing 10 changed files with 203 additions and 23 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 docs/assets/images/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added docs/assets/images/redhat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions docs/assets/stylesheets/extra.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
.md-header--shadow {
background-color: #37517e;
padding: 1em;
}

#footer {
background: #262626;
color: #fff;
padding: 2.3em;
}

#footer .copyright {
font-size: 1.4em;
float: left;
}

#footer .sponsored-by {
float: right;
}

#footer .sponsored-by p {
font-size: 1em;
line-height: 2em;
margin: 0;
}

#footer .sponsored-by .logo {
height: auto;
margin-left: 0.5em;
max-width: 125px;
vertical-align: middle;
}
39 changes: 34 additions & 5 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,38 @@
# Welcome
# Overview

Kuadrant brings together [Gateway API](https://gateway-api.sigs.k8s.io/) and [Open Cluster Management](https://open-cluster-management.io/) to help you scale, load-balance and secure your Ingress Gateways as a key part of your application connectivity, in the single or multi-cluster environment.

## Single-cluster

Kuadrant can be used to protect ingress gateways based on [Gateway API](https://gateway-api.sigs.k8s.io/)[^1] with policy enforcement (rate limit and auth) in a Kuberentes cluster.

[^1]: <b>Supported implementations:</b> <a href="https://istio.io/">Istio</a>, <a href="https://www.redhat.com/en/technologies/cloud-computing/openshift/what-is-openshift-service-mesh">OpenShift Service Mesh</a>.</sup>

<details>
<summary>Topology</summary>

<img src="assets/images/architecture-single-cluster.png" alt="Single cluster architecture"/>
</details>

## Multi-cluster

In the multi-cluster environment[^2], you can utilize Kuadrant to manage DNS-based north-south connectivity, which can provide global load balancing underpinned by your cluster topology. Kuadrant's multi-cluster functionality also ensures gateway and policy consistency across clusters, focusing on critical aspects like TLS and application health.

[^2]: Based on <a href="https://open-cluster-management.io/">Open Cluster Management</a>.

<details>
<summary>Topology</summary>

<img src="assets/images/architecture-multi-cluster.png" alt="Multi cluster architecture"/>
</details>

## Component Documentation

* [Authorino](/authorino)
* [Limitador](/limitador)
* [Kuadrant Operator](/kuadrant-operator)
* [Multicluster Gateway Controller](/multicluster-gateway-controller/how-to/ocm-control-plane-walkthrough/)
* [Kuadrant Operator](/kuadrant-operator)<br/>
Install and manage the lifecycle of the Kuadrant deployments and core Kuadrant policies for the data plane.
* [Authorino](/authorino)<br/>
Flexible, cloud-native, and lightweight external authorization server to implement identity verification (Kubernetes TokenReview, OIDC, OAuth2, API key, mTLS) and authorization policy rules (Kuberentes SubjectAccessReview, JWT claims, OPA, request pattern-matching, resource metadata, RBAC, ReBAC, ABAC, etc).
* [Limitador](/limitador)<br/>
Fast rate-limiter implemented in Rust, that can be used as a library, or as a service plugged in to the API gateway.
* [Multicluster Gateway Controller](/multicluster-gateway-controller)<br/>
Manage multi-cluster gateways, integrate with DNS providers, TLS providers and OCM (Open Cluster Management).
3 changes: 0 additions & 3 deletions docs/stylesheets/extra.css

This file was deleted.

141 changes: 126 additions & 15 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
site_name: Kuadrant Documentation
site_url: https://docs.kuadrant.io/
repo_url: https://github.com/kuadrant
theme:
name: material
logo: assets/logo.png
logo: assets/images/logo.png
custom_dir: overrides
extra_css:
- stylesheets/extra.css
- assets/stylesheets/extra.css
watch:
- overrides
markdown_extensions:
- pymdownx.highlight:
anchor_linenums: true
Expand All @@ -17,21 +21,128 @@ markdown_extensions:
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- footnotes
plugins:
- search
- multirepo:
cleanup: true
keep_docs_dir: true
repos:
- section: Kuadrant Operator
import_url: 'https://github.com/kuadrant/kuadrant-operator?edit_uri=/blob/main/&branch=main&docs_dir=doc/*&extra_imports=["README.md"]'
- section: Authorino
import_url: 'https://github.com/kuadrant/authorino?edit_uri=/blob/main/&branch=main&extra_imports=["README.md"]'
- section: Authorino Operator
import_url: 'https://github.com/kuadrant/authorino-operator?edit_uri=/blob/main/&branch=main&extra_imports=["README.md"]'
- section: Limitador
import_url: 'https://github.com/kuadrant/limitador?edit_uri=/blob/main/&branch=main&docs_dir=doc/*&extra_imports=["README.md"]'
- section: Multicluster Gateway Controller
import_url: 'https://github.com/kuadrant/multicluster-gateway-controller?edit_uri=/blob/main/&branch=main&extra_imports=["README.md"]'
- section: Architecture
import_url: 'https://github.com/kuadrant/architecture?edit_uri=/blob/main/&branch=main&extra_imports=["README.md"]'
nav_repos:
- name: kuadrant-operator
import_url: 'https://github.com/kuadrant/kuadrant-operator?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- /doc/*
- name: authorino
import_url: 'https://github.com/kuadrant/authorino?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- /docs/*
- /docs/user-guides/*
- name: authorino-operator
import_url: 'https://github.com/kuadrant/authorino-operator?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- name: limitador
import_url: 'https://github.com/kuadrant/limitador?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- /doc/*
- /limitador-server/README.md
- /limitador-server/docs/*
- /limitador/README.md
- name: limitador-operator
import_url: 'https://github.com/kuadrant/limitador-operator?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- /doc/*
- name: multicluster-gateway-controller
import_url: 'https://github.com/kuadrant/multicluster-gateway-controller?edit_uri=/blob/main/&branch=main'
imports:
- /README.md
- /docs/*
- name: architecture
import_url: 'https://github.com/kuadrant/architecture?edit_uri=/blob/main/&branch=main'
imports:
- /rfcs/*
nav:
- 'Getting Started': index.md
- 'Kuadrant Operator':
- 'Overview': kuadrant-operator/README.md
- 'How-to':
- kuadrant-operator/doc/user-guides/simple-rl-for-api-owners.md
- kuadrant-operator/doc/user-guides/gateway-rl-for-cluster-operators.md
- kuadrant-operator/doc/user-guides/authenticated-rl-for-api-owners.md
- kuadrant-operator/doc/user-guides/authenticated-rl-with-jwt-and-k8s-authnz.md
- kuadrant-operator/doc/logging.md
- 'Reference':
- 'RateLimitPolicy Overview': kuadrant-operator/doc/rate-limiting.md
- 'RateLimitPolicy (v1beta1)': kuadrant-operator/doc/ratelimitpolicy-reference.md
- 'RateLimitPolicy (v1beta2)': architecture/rfcs/0001-rlp-v2.md
- "Developer's Guide": kuadrant-operator/doc/development.md
- 'Authorino':
- 'Overview': authorino/README.md
- 'Authorino Operator': authorino-operator/README.md
- 'Getting Started': authorino/docs/getting-started.md
- 'Architecture': authorino/docs/architecture.md
- 'Reference': authorino/docs/features.md
- 'How-to':
- 'Hello World': authorino/docs/user-guides/hello-world.md
- 'Authentication with Kubernetes tokens (TokenReview API)': authorino/docs/user-guides/kubernetes-tokenreview.md
- 'Authentication with API keys': authorino/docs/user-guides/api-key-authentication.md
- 'Authentication with X.509 certificates and mTLS': authorino/docs/user-guides/mtls-authentication.md
- 'OpenID Connect Discovery and authentication with JWTs': authorino/docs/user-guides/oidc-jwt-authentication.md
- 'OAuth 2.0 token introspection (RFC 7662)': authorino/docs/user-guides/oauth2-token-introspection.md
- 'Passing credentials (`Authorization` header, cookie headers and others)': authorino/docs/user-guides/passing-credentials.md
- 'HTTP "Basic" Authentication (RFC 7235)': authorino/docs/user-guides/http-basic-authentication.md
- 'Anonymous access': authorino/docs/user-guides/anonymous-access.md
- 'Token normalization': authorino/docs/user-guides/token-normalization.md
- 'Edge Authentication Architecture (EAA)': authorino/docs/user-guides/edge-authentication-architecture-festival-wristbands.md
- 'Fetching auth metadata from external sources': authorino/docs/user-guides/external-metadata.md
- 'OpenID Connect UserInfo': authorino/docs/user-guides/oidc-user-info.md
- 'Resource-level authorization with User-Managed Access (UMA) resource registry': authorino/docs/user-guides/resource-level-authorization-uma.md
- 'Simple pattern-matching authorization policies': authorino/docs/user-guides/json-pattern-matching-authorization.md
- 'OpenID Connect (OIDC) and Role-Based Access Control (RBAC) with Authorino and Keycloak': authorino/docs/user-guides/oidc-rbac.md
- 'Open Policy Agent (OPA) Rego policies': authorino/docs/user-guides/opa-authorization.md
- 'Kubernetes RBAC for service authorization (SubjectAccessReview API)': authorino/docs/user-guides/kubernetes-subjectaccessreview.md
- 'Authorization with Keycloak Authorization Services': authorino/docs/user-guides/keycloak-authorization-services.md
- 'Integration with Authzed/SpiceDB': authorino/docs/user-guides/authzed.md
- 'Injecting data in the request': authorino/docs/user-guides/injecting-data.md
- 'Authenticated rate limiting (with Envoy Dynamic Metadata)': authorino/docs/user-guides/authenticated-rate-limiting-envoy-dynamic-metadata.md
- 'Redirecting to a login page': authorino/docs/user-guides/deny-with-redirect-to-login.md
- 'Mixing Envoy built-in filter for auth and Authorino': authorino/docs/user-guides/envoy-jwt-authn-and-authorino.md
- 'Host override via context extension': authorino/docs/user-guides/host-override.md
- 'Using Authorino as ValidatingWebhook service': authorino/docs/user-guides/validating-webhook.md
- 'Reducing the operational space: sharding, noise and multi-tenancy': authorino/docs/user-guides/sharding.md
- 'Caching': authorino/docs/user-guides/caching.md
- 'Observability': authorino/docs/user-guides/observability.md
- "Developer's Guide": authorino/docs/contributing.md
- 'Limitador':
- 'Overview': limitador/README.md
- 'How it works': limitador/doc/how-it-works.md
- 'Topologies': limitador/doc/topologies.md
- 'Server':
- 'Overview': limitador/limitador-server/README.md
- 'Sandbox': limitador/limitador-server/docs/sandbox.md
- 'Crate': limitador/limitador/README.md
- 'Limitador Operator':
- 'Overview': limitador-operator/README.md
- 'Storage': limitador-operator/doc/storage.md
- 'Rate limit headers': limitador-operator/doc/rate-limit-headers.md
- "Developer's Guide": limitador-operator/doc/development.md
- limitador-operator/doc/logging.md
- 'Multicluster Gateway Controller':
- 'Overview': multicluster-gateway-controller/README.md
- 'How-to':
- multicluster-gateway-controller/docs/how-to/ocm-control-plane-walkthrough.md
- multicluster-gateway-controller/docs/how-to/kuadrant-addon-walkthrough.md
- multicluster-gateway-controller/docs/how-to/managedZone.md
- multicluster-gateway-controller/docs/how-to/ratelimiting-shared-redis.md
- multicluster-gateway-controller/docs/how-to/submariner-poc-hub-gateway-walkthrough.md
- multicluster-gateway-controller/docs/how-to/submariner-poc-2-gateways-resiliency-walkthrough.md
- multicluster-gateway-controller/docs/how-to/vscode-debugging.md
- 'Reference':
- multicluster-gateway-controller/docs/proposals/DNSPolicy.md
- multicluster-gateway-controller/docs/proposals/DNSRecordStructure.md
- multicluster-gateway-controller/docs/proposals/multiple-dns-provider-support.md
- multicluster-gateway-controller/docs/proposals/status-aggregation.md
11 changes: 11 additions & 0 deletions overrides/partials/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<footer id="footer" class="footer">
<div class="copyright">
© Copyright 2023 <strong><span>Kuadrant contributors</span></strong>. All Rights Reserved.
</div>

<div class="sponsored-by">
<p>
Sponsored by: <a href="https://www.redhat.com"><img src="/assets/images/redhat.png" class="logo" alt="Red Hat logo"></a>
</p>
</div>
</footer>

0 comments on commit 6b33b80

Please sign in to comment.