Skip to content

Commit 5403c66

Browse files
committed
customize from eoapi
1 parent 49ec34d commit 5403c66

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4471
-181
lines changed

.env-local

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# STAC
2+
APP_HOST=0.0.0.0
3+
APP_PORT=8082
4+
EOAPI_STAC_TITILER_ENDPOINT=http://127.0.0.1:8082
5+
6+
# PG / STAC / VECTOR / RASTER
7+
# DB_MAX_CONN_SIZE need to be at least the same size as WEB_CONCURRENCY
8+
DB_MIN_CONN_SIZE=1
9+
DB_MAX_CONN_SIZE=1
10+
11+
WEB_CONCURRENCY=1
12+
WORKERS_PER_CORE=1
13+
14+
ENVIRONMENT=local
15+
POSTGRES_USER=username
16+
POSTGRES_PASS=password
17+
POSTGRES_DBNAME=postgis
18+
19+
# For stac-fastapi
20+
POSTGRES_HOST_READER=127.0.0.1
21+
POSTGRES_HOST_WRITER=127.0.0.1
22+
POSTGRES_HOST=127.0.0.1
23+
POSTGRES_PORT=5439
24+
25+
# RASTER
26+
AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
27+
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
28+
CPL_TMPDIR=/tmp
29+
GDAL_CACHEMAX=75%
30+
GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR
31+
GDAL_HTTP_MERGE_CONSECUTIVE_RANGES=YES
32+
GDAL_HTTP_MULTIPLEX=YES
33+
GDAL_HTTP_VERSION=2
34+
PYTHONWARNINGS=ignore
35+
VSI_CACHE=TRUE
36+
VSI_CACHE_SIZE=536870912
37+
MOSAIC_CONCURRENCY=1
38+
EOAPI_RASTER_ENABLE_MOSAIC_SEARCH=TRUE
39+
40+
EOAPI_STAC_EXTENSIONS='["filter", "query", "sort", "fields", "pagination", "transaction"]'

.env.example

-35
This file was deleted.

.github/workflows/ci.yml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: CI
2+
3+
# On every pull request, but only on push to main
4+
on:
5+
push:
6+
branches:
7+
- main
8+
tags:
9+
- '*'
10+
paths:
11+
- 'runtimes/**'
12+
- 'docker-compose.*'
13+
- '.github/workflows/ci.yml'
14+
- '.pre-commit-config.yaml'
15+
pull_request:
16+
17+
jobs:
18+
tests:
19+
runs-on: ubuntu-latest
20+
strategy:
21+
fail-fast: false
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Set up Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: '3.11'
28+
29+
- name: Run pre-commit
30+
run: |
31+
python -m pip install --upgrade pip
32+
python -m pip install pre-commit
33+
pre-commit run --all-files
34+
35+
- name: Launch services
36+
run: docker compose up -d
37+
38+
- name: install lib postgres
39+
uses: nyurik/action-setup-postgis@v1
40+
41+
- name: Install python dependencies
42+
run: |
43+
python -m pip install pytest httpx pypgstac==0.8.5 psycopg[pool]
44+
45+
- name: Ingest Stac Items/Collection
46+
run: |
47+
pypgstac pgready --dsn postgresql://username:[email protected]:5439/postgis
48+
pypgstac load collections .github/workflows/data/noaa-emergency-response.json --dsn postgresql://username:[email protected]:5439/postgis --method insert_ignore
49+
pypgstac load items .github/workflows/data/noaa-eri-nashville2020.json --dsn postgresql://username:[email protected]:5439/postgis --method insert_ignore
50+
psql postgresql://username:[email protected]:5439/postgis -f .github/workflows/data/my_data.sql
51+
52+
- name: Sleep for 10 seconds
53+
run: sleep 10s
54+
shell: bash
55+
56+
- name: Integrations tests
57+
run: python -m pytest .github/workflows/tests/
58+
59+
- name: Stop services
60+
run: docker compose -f docker-compose.custom.yml stop

.github/workflows/data/my_data.sql

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
SET standard_conforming_strings = OFF;
2+
DROP TABLE IF EXISTS "public"."my_data" CASCADE;
3+
DELETE FROM geometry_columns WHERE f_table_name = 'my_data' AND f_table_schema = 'public';
4+
BEGIN;
5+
CREATE TABLE "public"."my_data" ( "ogc_fid" SERIAL, CONSTRAINT "my_data_pk" PRIMARY KEY ("ogc_fid") );
6+
SELECT AddGeometryColumn('public','my_data','geom',4326,'GEOMETRY',2);
7+
CREATE INDEX "my_data_geom_geom_idx" ON "public"."my_data" USING GIST ("geom");
8+
ALTER TABLE "public"."my_data" ADD COLUMN "id" VARCHAR;
9+
ALTER TABLE "public"."my_data" ADD COLUMN "datetime" TIMESTAMP;
10+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E6100000010000001B0000003670CC05599B25C03A92CB7F483F54408907944DB9F221C0D9CEF753E315544069D68681BE5B22C0355D864BD1145440984C2580F45C27C062327530C20754409CB396CA942C30C08E6EC42E50F05340F32225E11DCB30C07C98C2D614ED5340075F984C15FC30C0075F984C15EC53400AA1BD9D6AD732C03439A530F50B5440D8BFC6C0170533C00414E74C050F54407650100F7C0E33C0B199D586A60F5440A01BF45DE29634C0B61719B9F6295440838D3D254B5D35C0DC611EC044375440B8A6A26802F135C06705618A2C4154407CBD21E2CF3136C09B1B77FC844554402CD49AE61D3736C076711B0DE045544039117CFD650136C001AEC11005475440DC27DD0AB9C935C0F45E61C1344854406182187FE9BA35C03AF2E08A854854400736A0D273F130C050CF32FAA1625440ED137AA9497230C0441F419D576554401D9FC06CB06E2BC0B1930B183C745440017C2AECC5F92AC01E2006F67A7554401895D40968822AC0986E1283C07654405D44620EE0782AC0E00B92AC54765440FAACE2F3F95C27C0CDCE93B2275354400D2FBCF61DD226C0385BB99C044D54403670CC05599B25C03A92CB7F483F5440', '0', '2004-10-19 10:23:54');
11+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E61000000100000019000000984067B8143E3DC043C2B8B8F40B5440ACEF9DFAC14B3DC0E950B3BEBB0C544070CE88D2DE503DC01B2FDD24060D544034C8A112A4243DC064CC7707650E54409232AD9551103DC079704A40060F5440A630DBCBFBF43CC0E22ABE1BDF0F5440AC95A5A7DFA638C09E34007606325440FE987A2A9D7238C05D165F0DA5335440D1BF9E64C80A38C0FF6D3AC6DC3654409ACC3E07335D36C0578150C82C4454407CBD21E2CF3136C09B1B77FC8445544039117CFD650136C001AEC110054754401EA7E8482ECF35C07F6ABC7493485440DC27DD0AB9C935C0F45E61C134485440A2F3387764C135C09C775737A44754405526CE34BBDB34C047F7C465133854408DF37646C5EA33C0F10FDC85BE2754406D6485236BA431C08C72AF36460054403EE8D9ACFA9C30C07CF2B0506BEE5340F32225E11DCB30C07C98C2D614ED5340FE41CA2BA27737C016B27D9C8ABB5340C442AD69DEA137C05F07CE1951BA5340F9CBEEC9C30A38C07E078C8947C05340898D7238194D38C059C5B4D10CC45340984067B8143E3DC043C2B8B8F40B5440', '1', '2004-10-20 10:23:54');
12+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E61000000100000013000000C0155236C40A38C052F1FFE1D8C75340B244B5A16EC837C014EBB5CD0CC4534073D712F2414F37C0D3BCE3141DBD5340FE41CA2BA27737C016B27D9C8ABB5340A2728C64C30A38C03BFB4402D0B553400C6AB4D7723A3DC0BDA377861D82534058CA32C4B15E3DC062105839B48053402A2097D1F19641C0EAE96F4E58CC5340F0A7C64B379941C07F6ABC7493CC5340E11AE2531A8741C01F2670501DCE5340CED31A45F57241C03EC92059D3CF534009E08D47F1E83FC0EAC3384350F05340DFE755925F713EC036A2858243005440ACEF9DFAC14B3DC0E950B3BEBB0C544034C8A112A4243DC064CC7707650E5440F602E719D4063DC0AE877727A90F54400A68226C78FA3CC0234A7B832F105440A630DBCBFBF43CC0E22ABE1BDF0F5440C0155236C40A38C052F1FFE1D8C75340', '2', '2004-10-21 10:23:54');
13+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E610000001000000110000001B2CBE53855542C051F99E0E805D534049A5CD2EAE0644C03857A7D846865340462575029A0844C0A60A46257586534063B4EEABC4F943C08D992E511D8853409C72BC6BC5E843C0920AAB5C038A5340721D3749863342C03D0220C7DABA53402A2097D1F19641C0EAE96F4E58CC5340E11AE2531A8741C01F2670501DCE534068226C787A7541C0075F984C15D05340CED31A45F57241C03EC92059D3CF534048E17A14AE173DC06B2BF697DD8353400C6AB4D7723A3DC0BDA377861D825340A03E0335AD283FC0314A54553C6953409C6F1F2DEA1541C00EA6095E6A425340BEC11726532541C0BE9F1A2FDD405340EB51B81E853342C0302C67AA4C5A53401B2CBE53855542C051F99E0E805D5340', '3', '2004-10-22 10:23:54');
14+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E610000001000000110000000A4C8422590E46C0B656FB86F03B5340D5E76A2BF60F46C0075F984C153C5340FA28B2217F0346C0CE0A257ADB3D5340BEE6287052F545C01AA33BF2DF3F5340F25A937BB7D244C009CB92853C69534049A5CD2EAE0644C03857A7D84686534063B4EEABC4F943C08D992E511D88534034A2B437F8EA43C0F54A5986388A53409C72BC6BC5E843C0920AAB5C038A534050AF9465883342C0363B85F6B5605340D43E0032881142C02A5884BF7F5D5340F4FDD478E90641C007F01648504453409C6F1F2DEA1541C00EA6095E6A4253404E4E9C88873342C06DC6E4C7471E53403EDF52396E3443C0DC9EAF2DC7FD524044696FF0854143C032772D211FFC52400A4C8422590E46C0B656FB86F03B5340', '4', '2004-10-23 10:23:54');
15+
INSERT INTO "public"."my_data" ("geom" , "id", "datetime") VALUES ('0103000020E6100000010000000D000000BBE9944235C347C0EBF06E7961EE52406ADE718A8EC447C0D122DBF97EEE5240942D6301ECB947C05B59871F60F0524086CAEEF61AAE47C0BDEF3BBB76F252400A4C8422590E46C0B656FB86F03B5340FA28B2217F0346C0CE0A257ADB3D534057EC2FBB27F745C02B1895D409405340BEE6287052F545C01AA33BF2DF3F53401D386744692743C07958A835CDFF52403EDF52396E3443C0DC9EAF2DC7FD5240B9E39237FD0645C0574B4E2543B552400AD7A3703D1245C03A234A7B83B35240BBE9944235C347C0EBF06E7961EE5240', '5', '2004-10-24 10:23:54');
16+
COMMIT;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"id":"noaa-emergency-response", "title": "NOAA Emergency Response Imagery", "description":"NOAA Emergency Response Imagery hosted on AWS Public Dataset.","stac_version":"1.0.0","license":"public-domain","links":[],"extent":{"spatial":{"bbox":[[-180,-90,180,90]]},"temporal":{"interval":[["2005-01-01T00:00:00Z",null]]}}}

0 commit comments

Comments
 (0)