Skip to content

Commit 02e426a

Browse files
committed
fixes prettier and cspell errors
1 parent 9ed3d98 commit 02e426a

8 files changed

+83
-88
lines changed

content/docs/courses.mdx

-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,3 @@ In the span of 10 guides, we'll cover routing, policies, TLS certificates, ident
1414
To get started, complete the [**Quickstart guide**](/docs/quickstart) first.
1515

1616
When you're finished, learn how to [**Build Routes**](/docs/courses/zero-fundamentals/build-routes.mdx) in Pomerium Zero.
17-

content/docs/courses/zero-fundamentals/advanced-policies.mdx

+4-7
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ If you're following these guides sequentially, your current policy only includes
4242
<TabItem value="ppl-editor" label="PPL Editor">
4343

4444
```yaml showLineNumbers
45-
allow:
46-
and:
47-
- domain:
48-
is: example.com
45+
allow:
46+
and:
47+
- domain:
48+
is: example.com
4949
```
5050
5151
</TabItem>
@@ -55,7 +55,6 @@ This policy is a great first step to protecting your services. If you're using a
5555
5656
With Pomerium Policy Language (PPL), you can build richer policies that apply to real-world use cases. Let's cover a few example "real-world" policies below that would fall into the "advanced" category.
5757
58-
5958
### Grant access based on the email criterion
6059
6160
You can build an allowlist so that access is only granted to users with a matching email address:
@@ -132,7 +131,6 @@ Taking the policy you just created, you could create an identical policy that so
132131
</TabItem>
133132
</Tabs>
134133

135-
136134
### Deny based on day of week, time of day
137135

138136
Lastly, we'll create a new policy that denies access to any user on Saturday, Sunday, or weekdays after 5PM.
@@ -199,4 +197,3 @@ In this way, you can chain together multiple policies to add richer access contr
199197
Now that you've seen some advanced policies, you should learn about advanced routes.
200198

201199
Go to [**Advanced Routes**](/docs/courses/zero-fundamentals/advanced-routes).
202-

content/docs/courses/zero-fundamentals/advanced-routes.mdx

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
# cSpell:ignore WORKDIR, workdir, nodeserver
3+
24
id: advanced-routes
35
title: Advanced Routes
46
sidebar_label: 05. Advanced Routes
@@ -102,16 +104,15 @@ To add JWT claim headers in the Zero Console:
102104
1. In **Editing Cluster Settings**, select **Headers**
103105
1. In the **JWT Claim Headers** field, enter the values below:
104106

105-
| **KEY** | **VALUE** |
106-
| :--- | :--- |
107-
| `x-pomerium-claim-email` | `email` |
108-
| `x-pomerium-claim-user` | `user` |
109-
| `x-pomerium-claim-name` | `name` |
110-
111-
For example:
107+
| **KEY** | **VALUE** |
108+
| :----------------------- | :-------- |
109+
| `x-pomerium-claim-email` | `email` |
110+
| `x-pomerium-claim-user` | `user` |
111+
| `x-pomerium-claim-name` | `name` |
112112

113-
![Entering custom JWT claim headers in the Zero Console](./img/advanced-routes/jwt-claim-headers.png)
113+
For example:
114114

115+
![Entering custom JWT claim headers in the Zero Console](./img/advanced-routes/jwt-claim-headers.png)
115116

116117
After you save your changes, apply your changeset, and access your HTTPBin route, inspect the request. You'll see these additional, unsigned HTTP headers added to the response body:
117118

@@ -125,11 +126,11 @@ Now, configure [**Set Request Headers**](/docs/reference/routes/headers#set-requ
125126
1. In **Property Name**, enter `X-SET-REQUEST-HEADERS`
126127
1. In **Property Value**, enter `X-TEST-VALUE`
127128

128-
Next, configure [**Remove Request Headers**](/docs/reference/routes/headers#remove-request-headers) to remove two of the JWT claim headers you set in the previous section.
129+
Next, configure [**Remove Request Headers**](/docs/reference/routes/headers#remove-request-headers) to remove two of the JWT claim headers you set in the previous section.
129130

130131
1. In the **Remove Request Headers** field, enter `X-POMERIUM-CLAIM-NAME` and `X-POMERIUM-CLAIM-USER`.
131132

132-
![Setting and removing HTTP request headers in the Zero Console](./img/advanced-routes/set-and-remove-request-headers.png)
133+
![Setting and removing HTTP request headers in the Zero Console](./img/advanced-routes/set-and-remove-request-headers.png)
133134

134135
Apply your changeset and test the request again. You'll notice that the request header was added to the request, and the specified JWT claim headers were removed:
135136

@@ -159,8 +160,7 @@ TODO
159160
160161
### Direct Response
161162
162-
TODO
163-
You can configure Pomerium to send a small, static HTTP response to the downstream client for a managed route.
163+
TODO You can configure Pomerium to send a small, static HTTP response to the downstream client for a managed route.
164164
165165
## Test prefix and path settings
166166
@@ -326,14 +326,14 @@ services:
326326
networks:
327327
main:
328328
aliases:
329-
- verify.<CLUSTER_SUBDOMAIN>.pomerium.app
330-
- authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app
329+
- verify.<CLUSTER_SUBDOMAIN>.pomerium.app
330+
- authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app
331331
verify:
332332
image: cr.pomerium.com/pomerium/verify:latest
333333
networks:
334334
main:
335335
aliases:
336-
- verify
336+
- verify
337337
grafana:
338338
image: grafana/grafana:latest
339339
ports:

content/docs/courses/zero-fundamentals/build-policies.mdx

+2-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ This guide shows you how to build **Authorization Policies** in Pomerium Zero. W
1313
height="500"
1414
src="https://www.youtube.com/embed/lRpkd20psbk?si=IZj3kIV-t7gbVui5"
1515
title="YouTube video player"
16-
frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
16+
frameborder="0"
17+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
1718
referrerpolicy="strict-origin-when-cross-origin"
1819
allowfullscreen></iframe>
1920

@@ -82,7 +83,6 @@ You can view a policy formatted in YAML using the **PPL Editor** tab:
8283
8384
:::
8485
85-
8686
**Example 2**: Allow access based on the domain criterion
8787
8888
Requiring an exact email address is one way to secure an app, but it won't let anyone else in without that specific email address. This obviously won't scale for an organization where multiple members may require access to the same service.
@@ -130,5 +130,3 @@ If you built your policy correctly, Pomerium should only grant you access if you
130130
Next, you'll learn how to secure your upstream service by verifying the user's identity with a JWT. This adds another layer of security to your application.
131131

132132
Go to [**Single Sign-on**](/docs/courses/zero-fundamentals/single-sign-on).
133-
134-

content/docs/courses/zero-fundamentals/build-routes.mdx

+14-15
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ In Pomerium, **Routing** makes it possible for the Proxy service to manage reque
3232

3333
To route requests and responses to the correct locations, the Proxy service requires two sets of routing instructions:
3434

35-
- The **From** URL. This URL defines the external, publically accessible URL of a proxied request. It tells the Proxy service to listen for requests from this location.
35+
- The **From** URL. This URL defines the external, publicly accessible URL of a proxied request. It tells the Proxy service to listen for requests from this location.
3636
- The **To** URL. This URL defines the destination of the proxied request, or where the Proxy service should direct the origin server's response. It can be an internal or external resource.
3737

3838
## How to build routes in Pomerium Zero
@@ -48,14 +48,14 @@ To learn how to build routes, you'll follow these steps:
4848
The service you'll secure is [Grafana](https://grafana.com/), an open-source observability platform. In the same `docker-compose.yaml` file where you're running Pomerium Zero, add the Grafana configuration below:
4949

5050
```yaml
51-
grafana:
52-
image: grafana/grafana:latest
53-
ports:
54-
- 3000:3000
55-
networks:
56-
main: {}
57-
volumes:
58-
- ./grafana-storage:/var/lib/grafana
51+
grafana:
52+
image: grafana/grafana:latest
53+
ports:
54+
- 3000:3000
55+
networks:
56+
main: {}
57+
volumes:
58+
- ./grafana-storage:/var/lib/grafana
5959
```
6060
6161
### Build a route
@@ -66,12 +66,13 @@ In the Zero Console:
6666
6767
1. In the **From** field, select **https://** from the protocol dropdown. In the next field, enter the external URL. It should follow this format:
6868
69-
`grafana.<CLUSTER_STARTER_DOMAIN>.pomerium.app`
69+
`grafana.<CLUSTER_STARTER_DOMAIN>.pomerium.app`
70+
7071
1. In the **To** field, enter the destination URL: `http://grafana:3000`
7172

7273
1. In the **Policies** field, select **Any Authenticated User**.
7374

74-
![Building your first route in the Zero Console](./img/routes/pz-courses-first-route.png)
75+
![Building your first route in the Zero Console](./img/routes/pz-courses-first-route.png)
7576

7677
Save your route and **apply the changeset**.
7778

@@ -89,7 +90,6 @@ Great job! You successfully built a route in Pomerium Zero. Next, you'll learn h
8990

9091
Go to [Build Policies](/docs/courses/zero-fundamentals/build-policies).
9192

92-
9393
#### Configuration file state
9494

9595
At this point, your Docker Compose file should look like this:
@@ -109,13 +109,13 @@ services:
109109
networks:
110110
main:
111111
aliases:
112-
- verify.<YOUR_CLUSTER_SUBDOMAIN>.pomerium.app
112+
- verify.<YOUR_CLUSTER_SUBDOMAIN>.pomerium.app
113113
verify:
114114
image: cr.pomerium.com/pomerium/verify:latest
115115
networks:
116116
main:
117117
aliases:
118-
- verify
118+
- verify
119119
grafana:
120120
image: grafana/grafana:latest
121121
ports:
@@ -131,4 +131,3 @@ networks:
131131
volumes:
132132
pomerium-cache:
133133
```
134-

content/docs/courses/zero-fundamentals/certificates.mdx

-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ title: Certificates
44
sidebar_label: 07. Certificates
55
sidebar_position: 7
66
---
7-

content/docs/courses/zero-fundamentals/single-sign-on.mdx

+25-24
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
# cSpell:ignore webkitallowfullscreen, mozallowfullscreen
3+
24
id: single-sign-on
35
title: Single Sign On
46
sidebar_label: 03. Single Sign-on with JWTs
@@ -18,8 +20,7 @@ Watch the video for a quick walkthrough or read the guide below for step-by-step
1820
height="500"
1921
webkitallowfullscreen
2022
mozallowfullscreen
21-
allowfullscreen>
22-
</iframe>
23+
allowfullscreen></iframe>
2324

2425
:::note **Before you start**
2526

@@ -93,7 +94,7 @@ In the Zero Console:
9394
1. Select the **Headers** tab
9495
1. Apply the **Pass Identity Headers** setting
9596

96-
![Apply the route-level pass identity headers setting in the Zero Console](./img/sso/pz-courses-apply-pass-id-headers.gif)
97+
![Apply the route-level pass identity headers setting in the Zero Console](./img/sso/pz-courses-apply-pass-id-headers.gif)
9798

9899
:::info
99100

@@ -106,24 +107,25 @@ The [**Pass Identity Headers**](/docs/reference/routes/pass-identity-headers-per
106107
In your Docker Compose file, add the following environment variables to your Grafana service:
107108

108109
```yaml title="docker-compose.yaml" {8-15} showLineNumbers
109-
grafana:
110-
image: grafana/grafana:latest
111-
ports:
112-
- 3000:3000
113-
networks:
114-
main: {}
115-
environment:
116-
- GF_AUTH_SIGNOUT_REDIRECT_URL=https://grafana.<CLUSTER_SUBDOMAIN>.pomerium.app/.pomerium/sign_out
117-
- GF_AUTH_JWT_ENABLED=true
118-
- GF_AUTH_JWT_HEADER_NAME=X-Pomerium-Jwt-Assertion
119-
- GF_AUTH_JWT_EMAIL_CLAIM=email
120-
- GF_AUTH_JWT_USERNAME_CLAIM=sub
121-
- GF_AUTH_JWT_JWK_SET_URL=https://authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app/.well-known/pomerium/jwks.json
122-
- GF_AUTH_JWT_CACHE_TTL=60m
123-
- GF_AUTH_JWT_AUTO_SIGN_UP=true
124-
volumes:
125-
- ./grafana-storage:/var/lib/grafana
110+
grafana:
111+
image: grafana/grafana:latest
112+
ports:
113+
- 3000:3000
114+
networks:
115+
main: {}
116+
environment:
117+
- GF_AUTH_SIGNOUT_REDIRECT_URL=https://grafana.<CLUSTER_SUBDOMAIN>.pomerium.app/.pomerium/sign_out
118+
- GF_AUTH_JWT_ENABLED=true
119+
- GF_AUTH_JWT_HEADER_NAME=X-Pomerium-Jwt-Assertion
120+
- GF_AUTH_JWT_EMAIL_CLAIM=email
121+
- GF_AUTH_JWT_USERNAME_CLAIM=sub
122+
- GF_AUTH_JWT_JWK_SET_URL=https://authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app/.well-known/pomerium/jwks.json
123+
- GF_AUTH_JWT_CACHE_TTL=60m
124+
- GF_AUTH_JWT_AUTO_SIGN_UP=true
125+
volumes:
126+
- ./grafana-storage:/var/lib/grafana
126127
```
128+
127129
> See Grafana's [Configure JWT authentication](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/jwt/) docs for more information about these settings.
128130
129131
:::note
@@ -191,7 +193,6 @@ Great job! You successfully configured SSO in Pomerium. Next, you'll learn how t
191193

192194
Go to [**Build Advanced Policies**](/docs/courses/zero-fundamentals/advanced-policies).
193195

194-
195196
#### Configuration file state
196197

197198
At this point, your Docker Compose file should look like this:
@@ -211,14 +212,14 @@ services:
211212
networks:
212213
main:
213214
aliases:
214-
- verify.<CLUSTER_SUBDOMAIN>.pomerium.app
215-
- authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app
215+
- verify.<CLUSTER_SUBDOMAIN>.pomerium.app
216+
- authenticate.<CLUSTER_SUBDOMAIN>.pomerium.app
216217
verify:
217218
image: cr.pomerium.com/pomerium/verify:latest
218219
networks:
219220
main:
220221
aliases:
221-
- verify
222+
- verify
222223
grafana:
223224
image: grafana/grafana:latest
224225
ports:

content/docs/courses/zero-fundamentals/tcp-routes.mdx

+23-21
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
# cSpell:ignore myssh, linuxkit, aarch, epoll, atomicvar,
3+
24
id: tcp-routes
35
title: TCP Routes
46
sidebar_label: 06. TCP Routes
@@ -72,23 +74,23 @@ Use "pomerium-cli [command] --help" for more information about a command.
7274
Add the Redis and OpenSSH server configurations to your Docker Compose file:
7375

7476
```yaml
75-
redis:
76-
image: redis:latest
77-
networks:
78-
main: {}
79-
expose:
80-
- 6379
81-
82-
myssh:
83-
image: linuxserver/openssh-server:latest
84-
networks:
85-
main: {}
86-
expose:
87-
- 2222
88-
environment:
89-
PASSWORD_ACCESS: "true"
90-
USER_PASSWORD: supersecret
91-
USER_NAME: user
77+
redis:
78+
image: redis:latest
79+
networks:
80+
main: {}
81+
expose:
82+
- 6379
83+
84+
myssh:
85+
image: linuxserver/openssh-server:latest
86+
networks:
87+
main: {}
88+
expose:
89+
- 2222
90+
environment:
91+
PASSWORD_ACCESS: 'true'
92+
USER_PASSWORD: supersecret
93+
USER_NAME: user
9294
```
9395
9496
## Add routes in Pomerium Zero
@@ -98,21 +100,21 @@ Create a Redis route:
98100
1. Create a new route for your Redis database
99101
1. In **From**, select **tcp+https://** in the protocol dropdown menu
100102
1. Enter your external route and append `:6379` to it
101-
1. For example, `redis.super-hero-7645.pomerium.app:6379`
103+
1. For example, `redis.super-hero-7645.pomerium.app:6379`
102104
1. In **To**, enter `tcp://redis:6379`
103105
1. In **Policies**, select `Any Authenticated User`
104106

105-
![Building the Redis route in the Zero Console](./img/tcp/redis-service.png)
107+
![Building the Redis route in the Zero Console](./img/tcp/redis-service.png)
106108

107109
Create an OpenSSH route:
108110

109111
1. Create a new route for the OpenSSH server
110112
1. In **From**, select **tcp+https://** in the protocol dropdown menu
111113
1. Enter your external route and append `:22` to it
112-
1. For example, `myssh.super-hero-7645.pomerium.app:22`
114+
1. For example, `myssh.super-hero-7645.pomerium.app:22`
113115
1. In **To**, enter `tcp://myssh:2222`
114116

115-
![Building the OpenSSH route in the Zero Console](./img/tcp/ssh-server.png)
117+
![Building the OpenSSH route in the Zero Console](./img/tcp/ssh-server.png)
116118

117119
Save your changes and apply them.
118120

0 commit comments

Comments
 (0)