Skip to content

Commit 29556c9

Browse files
Merge branch 'main' into removeStamen
2 parents ee7367e + 6f19826 commit 29556c9

File tree

5 files changed

+119
-22
lines changed

5 files changed

+119
-22
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
pre-commit run --all-files
3939
4040
- name: Launch services
41-
run: docker-compose up -d stac raster vector
41+
run: docker compose up -d stac raster vector
4242

4343
- name: install lib postgres
4444
run: |
@@ -67,8 +67,8 @@ jobs:
6767
# see https://github.com/developmentseed/tipg/issues/37
6868
- name: Restart the Vector service
6969
run: |
70-
docker-compose stop vector
71-
docker-compose up -d vector
70+
docker compose stop vector
71+
docker compose up -d vector
7272
7373
- name: Sleep for 10 seconds
7474
run: sleep 10s
@@ -78,7 +78,7 @@ jobs:
7878
run: python -m pytest .github/workflows/tests/
7979

8080
- name: Stop services
81-
run: docker-compose stop
81+
run: docker compose stop
8282

8383

8484
publish-docker:

README.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,20 @@
3333

3434
- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg)
3535

36+
---
37+
38+
## 🌍 eoAPI: An Open-Source Community Project
39+
40+
`eoAPI` is proudly open-source and driven by a dedicated community of contributors. We believe in the power of open collaboration and welcome anyone to contribute, discuss, and grow this tool with us. Join the conversations on [GitHub Discussions](https://github.com/developmentseed/eoAPI/discussions) and make a difference in the Earth Observation realm.
41+
42+
43+
---
3644

3745
## Getting started
3846

3947
- Clone the repository: `git clone https://github.com/developmentseed/eoAPI.git`
4048
- Navigate to the project: `cd eoAPI`
41-
- Run services with `docker-compose up`
49+
- Run services with `docker compose up`
4250
- Follow the [MAXAR open data demo](https://github.com/vincentsarago/MAXAR_opendata_to_pgstac) (or get inspired by the other [demos](./demo/)) to load some data into eoAPI
4351
- Check out the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html))
4452

@@ -62,23 +70,34 @@ Note: services might have incompatible dependencies which you can resolve by usi
6270

6371
## Deployment
6472

65-
This repository has the demonstration runtimes that are consistently updated with new functionality.
73+
This repository has current runtimes that are consistently updated with new functionality.
74+
75+
The services can be deployed locally via docker with `docker-compose up`. The official runtimes can be launched with `docker-compose -f docker-compose.yml -f docker-compose.official.yml up stac-fastapi titiler-pgstac tipg`.
6676

67-
The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s)).
77+
Two Infrastructure as Code (IaC) repositories are available:
78+
- [eoapi-cdk](https://github.com/developmentseed/eoapi-cdk): A set of AWS CDK constructs to deploy eoAPI services
79+
- [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s): IaC and Helm charts for deploying eoAPI services on AWS and GCP
6880

69-
A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template).
81+
Finally, [eoapi-template](https://github.com/developmentseed/eoapi-template) is an AWS CDK app that shows how to configure the eoapi-cdk constructs.
7082

7183
## Contribution & Development
7284

73-
See [CONTRIBUTING.md](https://github.com/developmentseed/eoAPI/blob/main/CONTRIBUTING.md)
85+
We highly value and rely on our community! Whether you're an expert or just getting started, you can make a difference. Here's how:
86+
87+
- **Contribute**: Check out our [CONTRIBUTING.md](https://github.com/developmentseed/eoAPI/blob/main/CONTRIBUTING.md) guide to understand how you can contribute.
88+
- **Engage in Discussions**: Share your ideas, ask questions, or provide feedback through [GitHub Discussions](https://github.com/developmentseed/eoAPI/discussions). This is where most of our project conversations take place.
89+
- **Report Issues**: Found a bug or have a feature request? Raise it on our [issues page](https://github.com/developmentseed/eoAPI/issues).
7490

91+
---
7592
## License
7693

77-
See [LICENSE](https://github.com/developmentseed/eoAPI/blob/main/LICENSE)
94+
At Development Seed, we believe in open collaboration and making tools and data more accessible. In line with this ethos, we've explicitly chosen a MIT license for `eoAPI`.
95+
96+
For full license details, see [LICENSE](https://github.com/developmentseed/eoAPI/blob/main/LICENSE).
7897

7998
## Authors
8099

81-
Created by [Development Seed](<http://developmentseed.org>)
100+
Nurtured by [Development Seed](<http://developmentseed.org>)
82101

83102
See [contributors](https://github.com/developmentseed/eoAPI/graphs/contributors) for a listing of individual contributors.
84103

docs/src/deployment.md

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ hide:
33
- navigation
44
---
55

6-
The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s)).
76

8-
A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template).
7+
## Via [eoapi-cdk](https://github.com/developmentseed/eoapi-cdk)
98

10-
## AWS (Lambda)
119

12-
An example of Cloud Stack is available for AWS (RDS for the database and Lambda for the APIs)
10+
[eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) is a set of AWS CDK constructs to deploy eoAPI services.
11+
12+
[eoapi-template](https://github.com/developmentseed/eoapi-template) is an AWS CDK app that shows how to configure the [eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) constructs.
13+
14+
An example of Cloud Stack is available for AWS (RDS for the database and Lambda for the APIs).
1315

1416
The stack is deployed by the [AWS CDK](https://aws.amazon.com/cdk/) utility. Under the hood, CDK will create the deployment packages required for AWS Lambda, upload it to AWS, and handle the creation of the Lambda and API Gateway resources.
1517

@@ -86,6 +88,73 @@ The example commands here will deploy a CloudFormation stack called `eoAPI-stagi
8688

8789
If you get an error saying that the max VPC's has been reached, this means that you have hit the limit for the amount of VPCs per unique AWS account and region combination. You can change the AWS region to a region that has less VPCs and deploy again to fix this.
8890
89-
## K8S
91+
## Via [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s)
92+
93+
[eoapi-k8s](https://github.com/developmentseed/eoapi-k8s) has the IaC and Helm charts for deploying eoAPI services on AWS and GCP.
94+
95+
**Getting started**
96+
97+
If you don't have a k8s cluster set up on AWS or GCP then follow an IaC guide below that is relevant to you
98+
99+
> &#9432; The helm chart in this repo assumes your cluster has a few third-party add-ons and controllers installed. So
100+
> it's in your best interest to read through the IaC guides to understand what those defaults are
101+
102+
* [AWS EKS Cluster Setup](./docs/aws-eks.md)
90103
91-
A Kubernetes chart is currently being developed at https://github.com/developmentseed/eoapi-k8s
104+
* [TBD: GCP GKE Cluster Setup](./docs/gcp-gke.md)
105+
106+
**Helm Installation**
107+
108+
Once you have a k8s cluster set up you can `helm install` eoAPI as follows
109+
110+
1. `helm install` from this repo's `helm-chart/` folder:
111+
112+
```python
113+
######################################################
114+
# create os environment variables for required secrets
115+
######################################################
116+
$ export GITSHA=$(git rev-parse HEAD | cut -c1-10)
117+
$ export PGUSER=s00pers3cr3t
118+
$ export POSTGRES_USER=s00pers3cr3t
119+
$ export POSTGRES_PASSWORD=superuserfoobar
120+
$ export PGPASSWORD=foobar
121+
122+
$ cd ./helm-chart
123+
124+
$ helm install \
125+
--namespace eoapi \
126+
--create-namespace \
127+
--set gitSha=$GITSHA \
128+
--set db.settings.secrets.PGUSER=$PGUSER \
129+
--set db.settings.secrets.POSTGRES_USER=$POSTGRES_USER \
130+
--set db.settings.secrets.PGPASSWORD=$PGPASSWORD \
131+
--set db.settings.secrets.POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
132+
eoapi \
133+
./eoapi
134+
```
135+
136+
2. or `helm install` from https://devseed.com/eoapi-k8s/:
137+
138+
```python
139+
# add the eoapi helm repo locally
140+
$ helm repo add eoapi https://devseed.com/eoapi-k8s/
141+
142+
# list out the eoapi chart versions
143+
$ helm search repo eoapi
144+
NAME CHART VERSION APP VERSION DESCRIPTION
145+
eoapi/eoapi 0.1.1 0.1.0 Create a full Earth Observation API with Metada...
146+
eoapi/eoapi 0.1.2 0.1.0 Create a full Earth Observation API with Metada...
147+
148+
# add the required secret overrides to an arbitrarily named `.yaml` file (`config.yaml` below)
149+
$ cat config.yaml
150+
db:
151+
settings:
152+
secrets:
153+
PGUSER: "username"
154+
POSTGRES_USER: "username"
155+
PGPASSWORD: "password"
156+
POSTGRES_PASSWORD: "password"
157+
158+
# then run `helm install` with those overrides
159+
helm install eoapi eoapi/eoapi --version 0.1.1 -f config.yaml
160+
```

docs/src/intro.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ hide:
99
<p align="center">Create a full Earth Observation API with Metadata, Raster and Vector services.</p>
1010
</p>
1111

12+
13+
---
14+
1215
## **E**arth **O**bservation **API**
1316

1417
`eoAPI` combines several *state-of-the-art* projects to create a full Earth Observation API. Each service can be used and deployed independently but `eoAPI` creates the interconnections between each service:
@@ -23,6 +26,12 @@ hide:
2326

2427
---
2528

29+
## 🌍 eoAPI: An Open-Source Community Project
30+
31+
`eoAPI` is proudly open-source and driven by a dedicated community of contributors. We believe in the power of open collaboration and welcome anyone to contribute, discuss, and grow this tool with us. Join the conversations on [GitHub Discussions](https://github.com/developmentseed/eoAPI/discussions) and make a difference in the Earth Observation realm.
32+
33+
---
34+
2635
## Why should you use `eoAPI`
2736

2837
- **Focus on your use case:** `eoAPI` is used for large-scale data processing, building geographic information systems (GIS), creating real-time data applications, climate research and environmental monitoring, machine learning model training, and more.
@@ -52,16 +61,16 @@ hide:
5261

5362
See [service details](./services.md) for more information.
5463

55-
*Note: The documentation links referenced require lauching the application with `docker-compose` or another deployment*.
64+
*Note: The documentation links referenced require lauching the application with `docker compose` or another deployment*.
5665

5766
---
5867

5968
## Getting started
6069

6170
- Clone the repository: `git clone https://github.com/developmentseed/eoAPI.git`
6271
- Navigate to the project: `cd eoAPI`
63-
- Run services with `docker-compose up`
64-
- Follow the [MAXAR open data demo](https://github.com/vincentsarago/MAXAR_opendata_to_pgstac) (or get inspired by the other [demos](./demo/)) to load some data into eoAPI
72+
- Run services with `docker compose up`
73+
- Follow the [MAXAR open data demo](https://github.com/vincentsarago/MAXAR_opendata_to_pgstac) (or get inspired by the other [demos](https://github.com/developmentseed/eoAPI/tree/main/demo)) to load some data into eoAPI
6574
- Checkout the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html))
6675

6776
Alternatively, you may launch the application locally:

docs/src/services.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ A custom version of [stac-fastapi.pgstac](https://github.com/stac-utils/stac-fas
1111

1212
The service includes:
1313

14-
- Full **stac-fastapi** implementation - see [docs](http://localhost:8081/docs) if using the `docker-compose` configuration.
14+
- Full **stac-fastapi** implementation - see [docs](http://localhost:8081/docs) if using the `docker compose` configuration.
1515

16-
- Simple STAC Search **viewer** - see [viewer](http://localhost:8081/index.html) if using the `docker-compose` configuration.
16+
- Simple STAC Search **viewer** - see [viewer](http://localhost:8081/index.html) if using the `docker compose` configuration.
1717

1818
- **Proxy** to the Tiler endpoint for STAC Items
1919

0 commit comments

Comments
 (0)