Skip to content

Commit 7e47064

Browse files
committed
Improve docs hierarchy structure
1 parent 9c0c422 commit 7e47064

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

README.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
STAC Auth Proxy is a proxy API that mediates between the client and your internally accessible STAC API to provide flexible authentication, authorization, and content-filtering mechanisms.
99

1010
> [!IMPORTANT]
11+
>
1112
> **We would :heart: to hear from you!**
1213
> Please [join the discussion](https://github.com/developmentseed/eoAPI/discussions/209) and let us know how you're using eoAPI! This helps us improve the project for you and others.
1314
> If you prefer to remain anonymous, you can email us at [email protected], and we'll be happy to post a summary on your behalf.
@@ -25,7 +26,9 @@ STAC Auth Proxy is a proxy API that mediates between the client and your interna
2526

2627
### Running
2728

28-
The simplest way to run the project is by invoking the application via Docker:
29+
#### Docker
30+
31+
The simplest way to run the project is via Docker:
2932

3033
```sh
3134
docker run \
@@ -36,31 +39,42 @@ docker run \
3639
ghcr.io/developmentseed/stac-auth-proxy:latest
3740
```
3841

39-
Alternatively, the module can be invoked directly or the application's factory can be passed to Uvicorn:
42+
#### Python
43+
44+
The installed Python module can be invoked directly:
4045

4146
```sh
4247
python -m stac_auth_proxy
4348
```
4449

50+
#### Uvicorn
51+
52+
The application's factory can be passed to Uvicorn:
53+
4554
```sh
4655
uvicorn --factory stac_auth_proxy:create_app
4756
```
4857

49-
### Docker compose
58+
#### Docker Compose
59+
60+
The codebase ships with a `docker-compose.yaml` file, allowing the proxy to be run locally alongside various supporting services: the database, the STAC API, and a Mock OIDC provider.
61+
62+
##### pgSTAC Backend
5063

51-
Run all of the services required to run the application locally including the the database, STAC API, and Mock OICD provider using Docker compose.
64+
Run the application stack with a pgSTAC backend using [stac-fastapi-pgstac](https://github.com/stac-utils/stac-fastapi-pgstac):
5265

53-
Spin up the application stack with the pgSTAC backend using [stac-fastapi-pgstac](https://github.com/stac-utils/stac-fastapi-pgstac):
5466
```sh
5567
docker compose up
5668
```
5769

58-
and with the OpenSearch backend using [stac-fastapi-elasticsearch-opensearch](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch):
70+
##### OpenSearch Backend
71+
72+
Run the application stack with an OpenSearch backend using [stac-fastapi-elasticsearch-opensearch](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch):
73+
5974
```sh
6075
docker compose --profile os up
6176
```
6277

63-
6478
### Installation
6579

6680
For local development, we use [`uv`](https://docs.astral.sh/uv/) to manage project dependencies and environment.
@@ -83,6 +97,7 @@ pip install -e .
8397
The application is configurable via environment variables.
8498

8599
#### Core
100+
86101
- **`UPSTREAM_URL`**, STAC API URL
87102
- **Type:** HTTP(S) URL
88103
- **Required:** Yes
@@ -114,6 +129,7 @@ The application is configurable via environment variables.
114129
- **Note:** This is independent of the upstream API's path. The proxy will handle removing this prefix from incoming requests and adding it to outgoing links.
115130

116131
#### Authentication
132+
117133
- **`OIDC_DISCOVERY_URL`**, OpenID Connect discovery document URL
118134
- **Type:** HTTP(S) URL
119135
- **Required:** Yes
@@ -155,6 +171,7 @@ The application is configurable via environment variables.
155171
- **Example:** `false`, `1`, `True`
156172

157173
#### OpenAPI / Swagger UI
174+
158175
- **`OPENAPI_SPEC_ENDPOINT`**, path of OpenAPI specification, used for augmenting spec response with auth configuration
159176
- **Type:** string or null
160177
- **Required:** No, defaults to `null` (disabled)
@@ -177,6 +194,7 @@ The application is configurable via environment variables.
177194
- **Example:** `{"clientId": "stac-auth-proxy", "usePkceWithAuthorizationCodeGrant": true}`
178195

179196
#### Filtering
197+
180198
- **`ITEMS_FILTER_CLS`**, CQL2 expression generator for item-level filtering
181199
- **Type:** JSON object with class configuration
182200
- **Required:** No, defaults to `null` (disabled)

0 commit comments

Comments
 (0)