|
1 | | -# pgSTAC CDK construct |
| 1 | +# eoAPI CDK Construct |
| 2 | + |
| 3 | +eoapi-cdk is a package of [AWS CDK constructs](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/constructs-best-practices.html) designed to encapsulate eoAPI services and best practices as simple reusable components. |
| 4 | + |
| 5 | + |
| 6 | +For more background on the included services see [The Earth Observation API](https://eoapi.dev/) |
| 7 | + |
| 8 | +## Included constructs |
| 9 | +Detailed API docs for the constructs can be found [here](https://developmentseed.org/cdk-pgstac/). |
| 10 | + |
| 11 | +### [pgSTAC Database](https://developmentseed.org/cdk-pgstac/#pgstacdatabase-) |
| 12 | +An [RDS](https://aws.amazon.com/rds/) instance with [pgSTAC](https://github.com/stac-utils/pgstac) installed and the Postgres parameters optimized for the selected instance type. |
| 13 | + |
| 14 | +### [STAC API](https://developmentseed.org/cdk-pgstac/#pgstacapilambda-) |
| 15 | +A STAC API implementation using [stac-fastapi](https://github.com/stac-utils/stac-fastapi) with a [pgSTAC backend](https://github.com/stac-utils/stac-fastapi-pgstac). Packaged as a complete runtime for deployment with API Gateway and Lambda. |
| 16 | + |
| 17 | +### [pgSTAC Titiler API](https://developmentseed.org/cdk-pgstac/#titilerpgstacapilambda-) |
| 18 | +A complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct. |
| 19 | + |
| 20 | +### [STAC Ingestor](https://developmentseed.org/cdk-pgstac/#stacingestor-) |
| 21 | +An API for large scale STAC data ingestion and validation into a pgSTAC instance. |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | +Authentication for the STAC Ingestor API can be configured with JWTs authenticated by JWKS. To learn more about securing FastAPI applications with this approach see [Securing FastAPI with JWKS (AWS Cognito, Auth0)](https://alukach.com/posts/fastapi-rs256-jwt/). |
| 26 | + |
| 27 | +A sample Cognito-based authentication system is available at [aws-asdi-auth](https://github.com/developmentseed/aws-asdi-auth). |
| 28 | + |
| 29 | +### [Bastion Host](https://developmentseed.org/cdk-pgstac/#bastionhost-) |
| 30 | +A bastion host is a secure gateway that provides access to resources in a private subnet. In this case it provides the ability to make administrative connections to eoAPI's pgSTAC instance. |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | +For more background on bastion hosts in AWS see [this article](https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63). |
| 35 | + |
| 36 | +And for configuration instructions for this construct see [the docs](https://developmentseed.org/cdk-pgstac/#bastionhost-). |
| 37 | + |
2 | 38 |
|
3 | 39 | ## Published Packages |
4 | 40 |
|
|
10 | 46 | Versioning is automatically handled via [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and [Semantic Release](https://semantic-release.gitbook.io/semantic-release/). |
11 | 47 |
|
12 | 48 | _Warning_: If you rebase `main`, you must ensure that the commits referenced by tags point to commits that are within the `main` branch. If a commit references a commit that is no longer on the `main` branch, Semantic Release will fail to detect the correct version of the project. [More information](https://github.com/semantic-release/semantic-release/issues/1121#issuecomment-517945233). |
| 49 | + |
| 50 | + |
0 commit comments