From aa6326e8e6709c4143ec2f3c5cb22075f80b1a1c Mon Sep 17 00:00:00 2001 From: Guilherme Cassolato Date: Tue, 12 Dec 2023 19:01:10 +0100 Subject: [PATCH] enhancements to the secure-protect-connect user guide --- doc/user-guides/secure-protect-connect.md | 153 +++++++++++----------- 1 file changed, 74 insertions(+), 79 deletions(-) diff --git a/doc/user-guides/secure-protect-connect.md b/doc/user-guides/secure-protect-connect.md index d4e0fe2d9..41ba75583 100644 --- a/doc/user-guides/secure-protect-connect.md +++ b/doc/user-guides/secure-protect-connect.md @@ -1,35 +1,39 @@ -# Kuadrant Quick Start +# Secure, Protect and Connect services with Kuadrant ## Pre-requisites -- Completed the [single cluster quick start](https://docs.kuadrant.io/getting-started-single-cluster/) +- Completed the [Single-cluster Quick Start](https://docs.kuadrant.io/getting-started-single-cluster/) -## Overview +## Overview -In this guide, we will cover the different policies from Kuadrant and how you can use them to secure, protect and connect an istio controlled gateway in a single cluster and how you can set more refined protection on the HTTPRoutes exposed by that gateway. +In this guide, we will cover the different policies from Kuadrant and how you can use them to secure, protect and connect an Istio-controlled gateway in a single cluster, and how you can set more refined protection on the HTTPRoutes exposed by that gateway. Here are the steps we will go through: -1) [Deploy a sample application](#deploy-the-example-app-we-will-serve-via-our-gateway) -2) [Define a new Gateway](#define-a-new-istio-managed-gateway) -3) [Ensure TLS based secure connectivity to the gateway with `TLSPolicy`](#define-tlspolicy) -4) [Define a default `RateLimitPolicy` to set some infrastructure limits on your gateway](#define-infrastructure-rate-limiting) -5) [Define a default `AuthPolicy` to `Deny ALL` access to the gateway](#define-a-gateway-authpolicy) -6) [Define `DNSPolicy` to bring traffic to the gateway](#define-dnspolicy) -7) [Override the Gateway's Deny ALL `AuthPolicy` with an endpoint specific policy](#override-the-gateways-deny-all-authpolicy) -8) [Override the Gateway `RateLimits` with an endpoint specific policy](#override-the-gateways-ratelimits) +1) [Deploy a sample application](#-deploy-the-example-app-we-will-serve-via-our-gateway) +2) [Define a new Gateway](#-define-a-new-istio-managed-gateway) +3) [Ensure TLS-based secure connectivity to the gateway with a TLSPolicy](#-define-the-tlspolicy) +4) [Define a default RateLimitPolicy to set some infrastructure limits on your gateway](#-define-infrastructure-rate-limiting) +5) [Define a default AuthPolicy to deny all access to the gateway](#-define-the-gateway-authpolicy) +6) [Define a DNSPolicy to bring traffic to the gateway](#-define-the-dnspolicy) +7) [Override the Gateway's deny-all AuthPolicy with an endpoint-specific policy](#-override-the-gateways-deny-all-authpolicy) +8) [Override the Gateway rate limits with an endpoint-specific policy](#-override-the-gateways-ratelimitpolicy) +To help with this walk through, you should set a `KUADRANT_ZONE_ROOT_DOMAIN` environment variable to a domain you want to use. If it you want to try DNSPolicy, this should also be a domain you have access to the DNS for in AWS Route53 or GCP. E.g.: -To help with this walk through, you should set a `KUADRANT_ZONE_ROOT_DOMAIN` environmental variable to a domain you want to use. If it you want to try `DNSPolicy` this should also be a domain you have access to the DNS for in `route53 or GCP`. Example: -```export KUADRANT_ZONE_ROOT_DOMAIN=my.domain.iown``` +```sh +export KUADRANT_ZONE_ROOT_DOMAIN=my.domain.iown +``` -### Deploy the example app we will serve via our gateway +### ❶ Deploy the example app we will serve via our gateway -`kubectl apply -f https://raw.githubusercontent.com/Kuadrant/kuadrant-operator/main/examples/toystore/toystore.yaml` +```sh +kubectl apply -f https://raw.githubusercontent.com/Kuadrant/kuadrant-operator/main/examples/toystore/toystore.yaml +``` -### Define a new Istio managed gateway +### ❷ Define a new Istio-managed gateway -``` +```sh kubectl --context kind-kuadrant-local apply -f - <