diff --git a/content/docs/deploy/k8s/quickstart.mdx b/content/docs/deploy/k8s/quickstart.mdx
index 70bd40fb4..b4f89863a 100644
--- a/content/docs/deploy/k8s/quickstart.mdx
+++ b/content/docs/deploy/k8s/quickstart.mdx
@@ -27,16 +27,18 @@ import Tabs from '@theme/Tabs';
Deploy Pomerium Core with [Kubernetes].
-This quickstart guide uses our [**Hosted Authenticate Service**](/docs/capabilities/authentication) so you don't need to configure an identity provider or authenticate service URL.
+:::tip
-If you want to self-host, see the [**Self-Hosted Authenticate Service**](/docs/capabilities/authentication) page.
+This quickstart guide uses our [**Hosted Authenticate Service**](/docs/capabilities/authentication#hosted-authenticate-service). If you want to use a different identity provider, see [**Custom IdP**](/docs/capabilities/authentication#custom-idp).
+
+:::
## Prerequisites
- [Install kubectl].
- A Kubernetes provider.
- A cluster, with your local `kubectl` authorized to interact with it.
-- A domain space. The steps below use `*.localhost.pomerium.io` as a placeholder value. We have set DNS records for this domain space to point to `127.0.0.1` (localhost), so you can use this domain space when testing Pomerium locally.
+- A wildcard domain name. The steps below use `*.localhost.pomerium.io` as a placeholder value. We have set DNS records for this domain to point to `127.0.0.1` (localhost), so you can use this domain when testing Pomerium locally.
- [TLS certificates]. If you don't yet have a production environment with trusted certificates, this page will cover using [mkcert] to create locally trusted certificates.
## Certificates
@@ -57,60 +59,62 @@ mkcert "*.localhost.pomerium.io"
1. Install Pomerium to your cluster:
-```sh
-kubectl apply -k github.com/pomerium/ingress-controller/config/default\?ref=0-33-0
-```
-
-This will create all the components of Pomerium in the `pomerium` namespace, as well as a bootstrap secret:
+ ```sh
+ kubectl apply -k github.com/pomerium/ingress-controller/config/default\?ref=0-33-0
+ ```
-```sh
-namespace/pomerium created
-customresourcedefinition.apiextensions.k8s.io/pomerium.ingress.pomerium.io created
-serviceaccount/pomerium-controller created
-serviceaccount/pomerium-gen-secrets created
-clusterrole.rbac.authorization.k8s.io/pomerium-controller created
-clusterrole.rbac.authorization.k8s.io/pomerium-gen-secrets created
-clusterrolebinding.rbac.authorization.k8s.io/pomerium-controller created
-clusterrolebinding.rbac.authorization.k8s.io/pomerium-gen-secrets created
-service/pomerium-metrics created
-service/pomerium-proxy created
-deployment.apps/pomerium created
-job.batch/pomerium-gen-secrets created
-ingressclass.networking.k8s.io/pomerium created
-```
+ This will create all the components of Pomerium in the `pomerium` namespace, as well as a bootstrap secret:
+
+ ```sh
+ namespace/pomerium created
+ customresourcedefinition.apiextensions.k8s.io/pomerium.ingress.pomerium.io created
+ serviceaccount/pomerium-controller created
+ serviceaccount/pomerium-gen-secrets created
+ clusterrole.rbac.authorization.k8s.io/pomerium-controller created
+ clusterrole.rbac.authorization.k8s.io/pomerium-gen-secrets created
+ clusterrolebinding.rbac.authorization.k8s.io/pomerium-controller created
+ clusterrolebinding.rbac.authorization.k8s.io/pomerium-gen-secrets created
+ service/pomerium-metrics created
+ service/pomerium-proxy created
+ deployment.apps/pomerium created
+ job.batch/pomerium-gen-secrets created
+ ingressclass.networking.k8s.io/pomerium created
+ ```
2. Add the certificate [created earlier](#certificates) and key to the cluster as a Secret:
-```sh
-kubectl create secret tls pomerium-wildcard-tls --namespace=pomerium \
- --cert=./_wildcard.localhost.pomerium.io.pem --key=./_wildcard.localhost.pomerium.io-key.pem
-```
+ ```sh
+ kubectl create secret tls pomerium-wildcard-tls --namespace=pomerium \
+ --cert=./_wildcard.localhost.pomerium.io.pem --key=./_wildcard.localhost.pomerium.io-key.pem
+ ```
3. Define the global Pomerium settings:
-
+
-4. Apply the global settings:
+ (If you are using your own domain, replace `localhost.pomerium.io` with your domain.)
-```sh
-kubectl apply -f pomerium.yaml
-```
+4. Apply the global settings:
-The Pomerium Proxy service should now be running in your cluster:
+ ```sh
+ kubectl apply -f pomerium.yaml
+ ```
-```sh {1}
-kubectl describe pomerium
-Name: global
-Namespace:
-Labels:
-Annotations:
-API Version: ingress.pomerium.io/v1
-Kind: Pomerium
-Metadata:
- ...
-```
+ The Pomerium Proxy service should now be running in your cluster:
+
+ ```sh {1}
+ kubectl describe pomerium
+ Name: global
+ Namespace:
+ Labels:
+ Annotations:
+ API Version: ingress.pomerium.io/v1
+ Kind: Pomerium
+ Metadata:
+ ...
+ ```
-You should now be able to access `https://authenticate.pomerium.app` which, after signing in with our hosted IdP, should redirect you to the `.pomerium` endpoint.
+You should now be able to access https://authenticate.localhost.pomerium.io. This should prompt you to sign in with our hosted IdP, and then redirect you to the `.pomerium` endpoint.
## Test Service
diff --git a/content/examples/kubernetes/pomerium-global-settings.md b/content/examples/kubernetes/pomerium-global-settings.md
index 91f107013..e31e234a2 100644
--- a/content/examples/kubernetes/pomerium-global-settings.md
+++ b/content/examples/kubernetes/pomerium-global-settings.md
@@ -5,6 +5,8 @@ metadata:
name: global
spec:
secrets: pomerium/bootstrap
+ authenticate:
+ url: https://authenticate.localhost.pomerium.io
identityProvider:
provider: hosted
certificates: