From 6626b9959c13d89801442a8afa8f1c538bfa57df Mon Sep 17 00:00:00 2001 From: Craig Brookes Date: Tue, 12 Dec 2023 11:23:08 +0000 Subject: [PATCH 1/2] Update doc/user-guides/secure-protect-connect.md Co-authored-by: Jason Madigan <4467+jasonmadigan@users.noreply.github.com> number and fix link remove uneeded resolve remove unneeded var --- doc/user-guides/secure-protect-connect.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/doc/user-guides/secure-protect-connect.md b/doc/user-guides/secure-protect-connect.md index bb9ec349d..d4e0fe2d9 100644 --- a/doc/user-guides/secure-protect-connect.md +++ b/doc/user-guides/secure-protect-connect.md @@ -2,7 +2,7 @@ ## Pre-requisites -- Completed the [single cluster quick start](https://docs.kuadrant.io/getting-started-single/) +- Completed the [single cluster quick start](https://docs.kuadrant.io/getting-started-single-cluster/) ## Overview @@ -10,14 +10,14 @@ In this guide, we will cover the different policies from Kuadrant and how you ca Here are the steps we will go through: -- [Deploy a sample application](#deploy-the-example-app-we-will-serve-via-our-gateway) -- [Define a new Gateway](#define-a-new-istio-managed-gateway) -- [Ensure TLS based secure connectivity to the gateway with `TLSPolicy`](#define-tlspolicy) -- [Define a default `RateLimitPolicy` to set some infrastructure limits on your gateway](#define-infrastructure-rate-limiting) -- [Define a default `AuthPolicy` to `Deny ALL` access to the gateway](#define-a-gateway-authpolicy) -- [Define `DNSPolicy` to bring traffic to the gateway](#define-dnspolicy) -- [Override the Gateway's Deny ALL `AuthPolicy`](#override-the-gateways-deny-all-authpolicy) -- [Override the Gateway `RateLimits`](#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 `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) 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: @@ -97,7 +97,6 @@ export INGRESS_PORT=$(kubectl get gtw api-gateway -o jsonpath='{.spec.listeners[ export INGRESS_HOST=$(kubectl get gtw api-gateway -o jsonpath='{.status.addresses[0].value}' -n kuadrant-system) -export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT kubectl --context kind-kuadrant-local apply -f - < Date: Tue, 12 Dec 2023 19:01:10 +0100 Subject: [PATCH 2/2] 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 - <