Skip to content
Merged
Show file tree
Hide file tree
Changes from 108 commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
c12b441
fix: experimenting with stac auth proxy configure_app
botanical Sep 19, 2025
b5aed61
fix: lint issues
botanical Sep 19, 2025
324ad7f
Update stac_api/runtime/src/app.py
botanical Sep 22, 2025
b6016c1
Update stac_api/runtime/src/app.py
botanical Sep 22, 2025
c09aaed
fix: update app configuration
botanical Sep 22, 2025
5683d2b
fix: enable auth, remove unused imports
botanical Sep 22, 2025
af680e1
fix: disable auth on stac api
botanical Sep 22, 2025
61047af
fix: disable root path on configure app
botanical Sep 22, 2025
0c4b130
fix: add back mysterious fix for KeyError paths aka root_path setting
botanical Sep 22, 2025
1e9d041
Update stac_api/runtime/src/app.py
botanical Sep 22, 2025
986d72c
fix: add root path to upstream url and try to enable logging
botanical Sep 22, 2025
e9b7ef0
fix: merge conflicts
botanical Sep 22, 2025
828f509
fix: formatting
botanical Sep 22, 2025
46bf970
fix: try enabling debug logging at root level
botanical Sep 22, 2025
af0c7db
fix: increment httpx version to be compatible with stac auth proxy, r…
botanical Sep 23, 2025
c8a0304
fix: clean up app.py
botanical Sep 23, 2025
8417e06
fix: remove env_file specification in docker-compose.yml
botanical Sep 23, 2025
ebf5c17
fix: revert httpx version change for test
botanical Sep 23, 2025
7211ebe
fix: attempt to fix tests
botanical Sep 23, 2025
416a26d
fix: rewrite tenant filter middleware and account for trailing slashes
botanical Sep 23, 2025
b2dadc9
fix: route rewriting logic and comments
botanical Sep 23, 2025
4932a5d
fix: formatting
botanical Sep 24, 2025
907db7e
fix: add url rewriting for tenant urls
botanical Sep 24, 2025
c2e9409
feat: somewhat functioning custom landing page
botanical Sep 25, 2025
97e9a3b
feat: update to capture trailing slash landing page and simplify _is_…
botanical Sep 25, 2025
85642b7
fix: update to fix tenant customization
botanical Sep 25, 2025
4333e05
fix: update testing parameters, exclude more standard endpoints
botanical Sep 26, 2025
cc45ef8
fix: update based on feedback
botanical Oct 2, 2025
54bcfee
fix: resolve merge conflicts
botanical Oct 2, 2025
9297219
fix: resolve merge conflicts
botanical Oct 2, 2025
e1b771e
fix: add health check back for integration tests
botanical Oct 2, 2025
9b8c0fc
fix: remove endpoint, not needed
botanical Oct 2, 2025
ef8cae2
fix: add feature flag
botanical Oct 2, 2025
a6dbc74
fix: update oidc mock in test fixture
botanical Oct 2, 2025
9adf8b5
fix: add compression middleware when stac-auth-proxy is not enabled
botanical Oct 2, 2025
ce0ed86
fix: update config description for enable_transactions and enable_sta…
botanical Oct 6, 2025
38f5bdb
feat: update middleware to accomodate item link injection
botanical Oct 7, 2025
aac1015
fix: rewrite item link url rewriting, check for geo+json
botanical Oct 7, 2025
d67bc00
fix: remove unused import
botanical Oct 7, 2025
994547f
fix: remove redunant swagger ui settings
botanical Oct 7, 2025
1a8ca6b
fix: add back dashboard check for link injection
botanical Oct 7, 2025
9436f25
fix: refactor and update to account for trailing slashes
botanical Oct 8, 2025
1a33f36
chore: reduce web concurrency during dev
alukach Oct 8, 2025
166d6b5
chore: match production root path in dev
alukach Oct 8, 2025
19367fa
fix: break up middleware, rm cql2 filtering
alukach Oct 8, 2025
3f69d07
Support internal oidc provider (eg containerized environments)
alukach Oct 9, 2025
b5b5db5
fix: account for additional path with no trailing slash
botanical Oct 9, 2025
9636930
Re-add disabled middleware
alukach Oct 9, 2025
4944a2a
fix: disable compression on stac-auth-proxy
alukach Oct 9, 2025
d3f625c
fix: run tenant middleware before stac-auth-proxy middleware
alukach Oct 9, 2025
4dea340
feat: add filters
alukach Oct 9, 2025
f9ce41f
fix: support root path when parsing URLs
alukach Oct 9, 2025
f25d3ad
chore: reduce log level
alukach Oct 9, 2025
6b923b3
chore(docker): Add mock oidc server
alukach Oct 9, 2025
08d14fa
chore(docker): mount code to docker image for easier restarts
alukach Oct 9, 2025
d538274
chore: format dockerfile
alukach Oct 9, 2025
cbd5c03
chore(filters): derive paths from imported filters
alukach Oct 9, 2025
6534fa5
Merge branch 'jt/tenant-filtering-stac-auth-proxy' into alukach/tenan…
alukach Oct 9, 2025
8413fd3
fix: add feature flag fixes, add prefix redirect middleware, fix tena…
botanical Oct 10, 2025
7d2d7d0
fix: add root path to test endpoints
botanical Oct 10, 2025
6d69617
fix: add prefix redirect middleware (#536)
botanical Oct 10, 2025
6b08cb3
fix: tenant filtering via stac auth proxy (#535)
alukach Oct 10, 2025
dce311f
Update prefix_redirect_middleware.py
alukach Oct 10, 2025
02ac52f
fix: update test fixtures for stac and ingest api, add mocking
botanical Oct 10, 2025
04b8d66
fix: udpate datetime to actual value
botanical Oct 10, 2025
b415fd3
fix: check for root_path before extracting or removing tenant
botanical Oct 10, 2025
52978e4
add private endpoints
smohiudd Oct 10, 2025
a149efb
fix: add root path to test environment
botanical Oct 10, 2025
5bcc06c
Merge branch 'jt/tenant-filtering-stac-auth-proxy' of https://github.…
botanical Oct 10, 2025
feae63f
fix: add allowed_jwt_audiences to configure_app
botanical Oct 10, 2025
ba5fd7b
Update prefix_redirect_middleware.py (#537)
alukach Oct 10, 2025
15bb411
Require auth proxy to be enabled if transactions are enabled
alukach Oct 10, 2025
fd40416
fix(redirect-middleware): bad variables
alukach Oct 10, 2025
b1a884b
test: Update tests to check tenant filtering
alukach Oct 10, 2025
eeee8bc
Update test_filters.py
alukach Oct 11, 2025
0e0b7af
try async
alukach Oct 11, 2025
d9b99a7
breakup tests
alukach Oct 11, 2025
aefb3c2
fix: add asyncio and update mocking oidc
botanical Oct 11, 2025
5873f48
fix: remove print statement
botanical Oct 11, 2025
ecc5acc
Expand fixture data
alukach Oct 11, 2025
897ed9a
Mv tests to integration tests
alukach Oct 11, 2025
eb090dc
fix collections filter, support pagination
alukach Oct 11, 2025
80365f9
simplify logs
alukach Oct 11, 2025
9cb9630
Simplify workflow
alukach Oct 11, 2025
2e04d9c
fix collections filter, support pagination
alukach Oct 11, 2025
b210a50
simplify logs
alukach Oct 11, 2025
a3518b9
Redescribe tests
alukach Oct 11, 2025
dc26506
Revert "Simplify workflow"
alukach Oct 11, 2025
398e292
fix filters
alukach Oct 11, 2025
970fe61
Merge branch 'jt/tenant-filtering-stac-auth-proxy' into alukach/funct…
alukach Oct 11, 2025
2088624
Attempt to speed up tests
alukach Oct 11, 2025
237ef2d
Revert "test: Update tests to check tenant filtering"
alukach Oct 11, 2025
93e3b6a
Get tests to pass
alukach Oct 11, 2025
e15f3c1
Update test_stac.py
botanical Oct 13, 2025
5679c29
legibility improvements
alukach Oct 14, 2025
f5b652d
add test for links
alukach Oct 14, 2025
6c516c4
fix: only add tenant to local links (e.g. ignore links to tiler)
alukach Oct 14, 2025
00117e5
fix: cleanup after test
alukach Oct 14, 2025
1e4fce9
Ensure valid_stac_item belngs to valid_stac_collection
alukach Oct 14, 2025
dc5fd6c
test: functional tenant filter tests (#538)
alukach Oct 14, 2025
71afaa6
Add cache for item filter lookup
alukach Oct 12, 2025
71b6653
Expose failing test
alukach Oct 14, 2025
0fb1eaf
Use cachetools for caching
alukach Oct 14, 2025
f831741
Update stac-auth-proxy to avoid bulk-insert failure
alukach Oct 14, 2025
22433e5
Remove TenantContext
alukach Oct 14, 2025
dfdebba
Merge branch 'jt/tenant-filtering-stac-auth-proxy' into alukach/cache…
alukach Oct 14, 2025
c5b61c9
refactor: Remove TenantContext (#541)
alukach Oct 14, 2025
52619e4
feat: cache collections lookup (#540)
alukach Oct 15, 2025
7268d45
fix: remove unused TENANT_ITEM_LINK_TEMPLATES, update config variable…
botanical Oct 15, 2025
c068969
fix: add back custom host default setting
botanical Oct 15, 2025
71377bd
fix: update ItemFilter to use async cache
botanical Oct 15, 2025
a7aff1d
fix: lint errors
botanical Oct 15, 2025
85c0fb1
fix: set custom host in stac lambda
botanical Oct 15, 2025
e68a80a
fix: add protocol to custom host if missing
botanical Oct 15, 2025
4825ea7
fix: use async-lru
botanical Oct 16, 2025
aa0af07
fix: consider root_path when determining if link should be transformed
alukach Oct 21, 2025
fb57094
refactor: eliminate need to pass in root_path into middleware (root p…
alukach Oct 21, 2025
6a5556a
fix: lint error
alukach Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/actions/cdk-deploy/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,14 @@ runs:
working-directory: ${{ inputs.dir }}
run: docker compose up --build -d

- name: Sleep for 10 seconds
- name: Wait for STAC API to be ready
if: ${{ inputs.skip_tests == false }}
shell: bash
working-directory: ${{ inputs.dir }}
run: sleep 10s
run: |
echo "Waiting for STAC API to be available at localhost:8081..."
timeout 120 bash -c 'until curl -f http://localhost:8081/api/stac/_mgmt/ping 2>/dev/null; do sleep 0.25; done'
echo "STAC API is ready!"

- name: Integrations tests
if: ${{ inputs.skip_tests == false }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/data/CMIP245-winter-median-pr-items.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{"id": "CMIP6ensembleMedian_diff_winter_pr_ssp245_20850214.cog", "bbox": [-126.0, 30.0, -104.0, 51.0], "type": "Feature", "assets": {"cog_default": {"href": "s3://veda-data-store/CMIP245-winter-median-pr/CMIP6ensembleMedian_diff_winter_pr_ssp245_20850214.cog.tif", "type": "image/tiff; application=geotiff", "roles": ["data", "layer"], "title": "Default COG Layer", "proj:bbox": [-126.0, 51.0, -104.0, 30.0], "proj:epsg": 4326, "proj:wkt2": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]", "proj:shape": [84, 88], "description": "Cloud optimized default layer to display on map", "raster:bands": [{"scale": 1.0, "nodata": "nan", "offset": 0.0, "sampling": "area", "data_type": "float32", "histogram": {"max": 34.99339294433594, "min": -19.078174591064453, "count": 11, "buckets": [53, 120, 205, 611, 1170, 1659, 1357, 885, 156, 16]}, "statistics": {"mean": 10.601603869143132, "stddev": 8.277524687036419, "maximum": 34.99339294433594, "minimum": -19.078174591064453, "valid_percent": 84.3073593073593}}], "proj:geometry": {"type": "Polygon", "coordinates": [[[-126.0, 51.0], [-104.0, 51.0], [-104.0, 30.0], [-126.0, 30.0], [-126.0, 51.0]]]}, "proj:projjson": {"id": {"code": 4326, "authority": "EPSG"}, "name": "WGS 84", "type": "GeographicCRS", "datum": {"name": "World Geodetic System 1984", "type": "GeodeticReferenceFrame", "ellipsoid": {"name": "WGS 84", "semi_major_axis": 6378137, "inverse_flattening": 298.257223563}}, "$schema": "https://proj.org/schemas/v0.4/projjson.schema.json", "coordinate_system": {"axis": [{"name": "Geodetic latitude", "unit": "degree", "direction": "north", "abbreviation": "Lat"}, {"name": "Geodetic longitude", "unit": "degree", "direction": "east", "abbreviation": "Lon"}], "subtype": "ellipsoidal"}}, "proj:transform": [0.25, 0.0, -126.0, 0.0, 0.25, 30.0, 0.0, 0.0, 1.0]}, "rendered_preview": {"title": "Rendered preview", "href": "https://test.openveda.cloud/api/raster/collections/CMIP245-winter-median-pr/items/CMIP6ensembleMedian_diff_winter_pr_ssp245_20850214.cog/preview.png?bidx=1&assets=cog_default&nodata=nan&rescale=-60%2C60&resampling=bilinear&colormap_name=rdbu", "rel": "preview", "roles": ["overview"], "type": "image/png"}}, "geometry": {"type": "Polygon", "coordinates": [[[-126, 30], [-104, 30], [-104, 51], [-126, 51], [-126, 30]]]}, "collection": "CMIP245-winter-median-pr", "properties": {"end_datetime": "2085-03-31T12:00:00+00:00", "start_datetime": "2085-01-01T00:00:00+00:00"}, "stac_version": "1.0.0", "stac_extensions": ["https://stac-extensions.github.io/raster/v1.1.0/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json"]}
{"id": "CMIP6ensembleMedian_diff_winter_pr_ssp245_20650214.cog", "bbox": [-126.0, 30.0, -104.0, 51.0], "type": "Feature", "assets": {"cog_default": {"href": "s3://veda-data-store/CMIP245-winter-median-pr/CMIP6ensembleMedian_diff_winter_pr_ssp245_20650214.cog.tif", "type": "image/tiff; application=geotiff", "roles": ["data", "layer"], "title": "Default COG Layer", "proj:bbox": [-126.0, 51.0, -104.0, 30.0], "proj:epsg": 4326, "proj:wkt2": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]", "proj:shape": [84, 88], "description": "Cloud optimized default layer to display on map", "raster:bands": [{"scale": 1.0, "nodata": "nan", "offset": 0.0, "sampling": "area", "data_type": "float32", "histogram": {"max": 29.58148956298828, "min": -47.315879821777344, "count": 11, "buckets": [2, 1, 6, 25, 68, 320, 992, 2507, 1996, 315]}, "statistics": {"mean": 11.100733863526958, "stddev": 7.5786284393107595, "maximum": 29.58148956298828, "minimum": -47.315879821777344, "valid_percent": 84.3073593073593}}], "proj:geometry": {"type": "Polygon", "coordinates": [[[-126.0, 51.0], [-104.0, 51.0], [-104.0, 30.0], [-126.0, 30.0], [-126.0, 51.0]]]}, "proj:projjson": {"id": {"code": 4326, "authority": "EPSG"}, "name": "WGS 84", "type": "GeographicCRS", "datum": {"name": "World Geodetic System 1984", "type": "GeodeticReferenceFrame", "ellipsoid": {"name": "WGS 84", "semi_major_axis": 6378137, "inverse_flattening": 298.257223563}}, "$schema": "https://proj.org/schemas/v0.4/projjson.schema.json", "coordinate_system": {"axis": [{"name": "Geodetic latitude", "unit": "degree", "direction": "north", "abbreviation": "Lat"}, {"name": "Geodetic longitude", "unit": "degree", "direction": "east", "abbreviation": "Lon"}], "subtype": "ellipsoidal"}}, "proj:transform": [0.25, 0.0, -126.0, 0.0, 0.25, 30.0, 0.0, 0.0, 1.0]}, "rendered_preview": {"title": "Rendered preview", "href": "https://test.openveda.cloud/api/raster/collections/CMIP245-winter-median-pr/items/CMIP6ensembleMedian_diff_winter_pr_ssp245_20650214.cog/preview.png?bidx=1&assets=cog_default&nodata=nan&rescale=-60%2C60&resampling=bilinear&colormap_name=rdbu", "rel": "preview", "roles": ["overview"], "type": "image/png"}}, "geometry": {"type": "Polygon", "coordinates": [[[-126, 30], [-104, 30], [-104, 51], [-126, 51], [-126, 30]]]}, "collection": "CMIP245-winter-median-pr", "properties": {"end_datetime": "2065-03-31T12:00:00+00:00", "start_datetime": "2065-01-01T00:00:00+00:00"}, "stac_version": "1.0.0", "stac_extensions": ["https://stac-extensions.github.io/raster/v1.1.0/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json"]}
{"id": "CMIP6ensembleMedian_diff_winter_pr_ssp245_20450214.cog", "bbox": [-126.0, 30.0, -104.0, 51.0], "type": "Feature", "assets": {"cog_default": {"href": "s3://veda-data-store/CMIP245-winter-median-pr/CMIP6ensembleMedian_diff_winter_pr_ssp245_20450214.cog.tif", "type": "image/tiff; application=geotiff", "roles": ["data", "layer"], "title": "Default COG Layer", "proj:bbox": [-126.0, 51.0, -104.0, 30.0], "proj:epsg": 4326, "proj:wkt2": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]", "proj:shape": [84, 88], "description": "Cloud optimized default layer to display on map", "raster:bands": [{"scale": 1.0, "nodata": "nan", "offset": 0.0, "sampling": "area", "data_type": "float32", "histogram": {"max": 25.966957092285156, "min": -68.7627182006836, "count": 11, "buckets": [2, 1, 0, 5, 7, 39, 671, 2575, 2843, 89]}, "statistics": {"mean": 5.419395985438062, "stddev": 6.422355859077124, "maximum": 25.966957092285156, "minimum": -68.7627182006836, "valid_percent": 84.3073593073593}}], "proj:geometry": {"type": "Polygon", "coordinates": [[[-126.0, 51.0], [-104.0, 51.0], [-104.0, 30.0], [-126.0, 30.0], [-126.0, 51.0]]]}, "proj:projjson": {"id": {"code": 4326, "authority": "EPSG"}, "name": "WGS 84", "type": "GeographicCRS", "datum": {"name": "World Geodetic System 1984", "type": "GeodeticReferenceFrame", "ellipsoid": {"name": "WGS 84", "semi_major_axis": 6378137, "inverse_flattening": 298.257223563}}, "$schema": "https://proj.org/schemas/v0.4/projjson.schema.json", "coordinate_system": {"axis": [{"name": "Geodetic latitude", "unit": "degree", "direction": "north", "abbreviation": "Lat"}, {"name": "Geodetic longitude", "unit": "degree", "direction": "east", "abbreviation": "Lon"}], "subtype": "ellipsoidal"}}, "proj:transform": [0.25, 0.0, -126.0, 0.0, 0.25, 30.0, 0.0, 0.0, 1.0]}, "rendered_preview": {"title": "Rendered preview", "href": "https://test.openveda.cloud/api/raster/collections/CMIP245-winter-median-pr/items/CMIP6ensembleMedian_diff_winter_pr_ssp245_20450214.cog/preview.png?bidx=1&assets=cog_default&nodata=nan&rescale=-60%2C60&resampling=bilinear&colormap_name=rdbu", "rel": "preview", "roles": ["overview"], "type": "image/png"}}, "geometry": {"type": "Polygon", "coordinates": [[[-126, 30], [-104, 30], [-104, 51], [-126, 51], [-126, 30]]]}, "collection": "CMIP245-winter-median-pr", "properties": {"end_datetime": "2045-03-31T12:00:00+00:00", "start_datetime": "2045-01-01T00:00:00+00:00"}, "stac_version": "1.0.0", "stac_extensions": ["https://stac-extensions.github.io/raster/v1.1.0/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json"]}
{"id": "CMIP6ensembleMedian_diff_winter_pr_ssp245_20250214.cog", "bbox": [-126.0, 30.0, -104.0, 51.0], "type": "Feature", "assets": {"cog_default": {"href": "s3://veda-data-store/CMIP245-winter-median-pr/CMIP6ensembleMedian_diff_winter_pr_ssp245_20250214.cog.tif", "type": "image/tiff; application=geotiff", "roles": ["data", "layer"], "title": "Default COG Layer", "proj:bbox": [-126.0, 51.0, -104.0, 30.0], "proj:epsg": 4326, "proj:wkt2": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]", "proj:shape": [84, 88], "description": "Cloud optimized default layer to display on map", "raster:bands": [{"scale": 1.0, "nodata": "nan", "offset": 0.0, "sampling": "area", "data_type": "float32", "histogram": {"max": 21.338512420654297, "min": -45.57268524169922, "count": 11, "buckets": [1, 2, 0, 3, 5, 149, 1538, 3207, 1270, 57]}, "statistics": {"mean": 4.095137119905328, "stddev": 4.791830768422549, "maximum": 21.338512420654297, "minimum": -45.57268524169922, "valid_percent": 84.3073593073593}}], "proj:geometry": {"type": "Polygon", "coordinates": [[[-126.0, 51.0], [-104.0, 51.0], [-104.0, 30.0], [-126.0, 30.0], [-126.0, 51.0]]]}, "proj:projjson": {"id": {"code": 4326, "authority": "EPSG"}, "name": "WGS 84", "type": "GeographicCRS", "datum": {"name": "World Geodetic System 1984", "type": "GeodeticReferenceFrame", "ellipsoid": {"name": "WGS 84", "semi_major_axis": 6378137, "inverse_flattening": 298.257223563}}, "$schema": "https://proj.org/schemas/v0.4/projjson.schema.json", "coordinate_system": {"axis": [{"name": "Geodetic latitude", "unit": "degree", "direction": "north", "abbreviation": "Lat"}, {"name": "Geodetic longitude", "unit": "degree", "direction": "east", "abbreviation": "Lon"}], "subtype": "ellipsoidal"}}, "proj:transform": [0.25, 0.0, -126.0, 0.0, 0.25, 30.0, 0.0, 0.0, 1.0]}, "rendered_preview": {"title": "Rendered preview", "href": "https://test.openveda.cloud/api/raster/collections/CMIP245-winter-median-pr/items/CMIP6ensembleMedian_diff_winter_pr_ssp245_20250214.cog/preview.png?bidx=1&assets=cog_default&nodata=nan&rescale=-60%2C60&resampling=bilinear&colormap_name=rdbu", "rel": "preview", "roles": ["overview"], "type": "image/png"}}, "geometry": {"type": "Polygon", "coordinates": [[[-126, 30], [-104, 30], [-104, 51], [-126, 51], [-126, 30]]]}, "collection": "CMIP245-winter-median-pr", "properties": {"end_datetime": "2025-03-31T12:00:00+00:00", "start_datetime": "2025-01-01T00:00:00+00:00"}, "stac_version": "1.0.0", "stac_extensions": ["https://stac-extensions.github.io/raster/v1.1.0/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json"]}
70 changes: 70 additions & 0 deletions .github/workflows/data/CMIP245-winter-median-pr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"id": "CMIP245-winter-median-pr",
"type": "Collection",
"links": [],
"title": "Projected changes to winter (January, February, and March) cumulative daily precipitation",
"assets": {
"thumbnail": {
"href": "https://thumbnails.openveda.cloud/CMIP-winter-median.jpeg",
"type": "image/jpeg",
"roles": ["thumbnail"],
"title": "Thumbnail",
"description": "Photo by Justin Pflug (Photo of Nisqually glacier)"
}
},
"extent": {
"spatial": { "bbox": [[-126.0, 30.0, -104.0, 51.0]] },
"temporal": {
"interval": [["2025-01-01T00:00:00+00:00", "2085-03-31T12:00:00+00:00"]]
}
},
"license": "MIT",
"renders": {
"dashboard": {
"bidx": [1],
"title": "VEDA Dashboard Render Parameters",
"assets": ["cog_default"],
"nodata": "nan",
"rescale": [[-60, 60]],
"resampling": "bilinear",
"colormap_name": "rdbu"
}
},
"providers": [
{
"url": "https://www.nccs.nasa.gov/services/data-collections/land-based-products/nex-gddp-cmip6",
"name": "NASA Center for Climate Simulation (NCCS)",
"roles": ["producer", "processor", "licensor"]
},
{
"url": "https://www.earthdata.nasa.gov/dashboard/",
"name": "NASA VEDA",
"roles": ["host"]
}
],
"summaries": {
"datetime": [
"2025-01-01T00:00:00Z",
"2045-01-01T00:00:00Z",
"2065-01-01T00:00:00Z",
"2085-01-01T00:00:00Z"
]
},
"description": "Differences in winter (January, February, and March) cumulative daily precipitation between a historical period (1995 - 2014) and multiple 20-year periods from an ensemble of CMIP6 climate projections (SSP2-4.5) downscaled by NASA Earth Exchange (NEX-GDDP-CMIP6)",
"item_assets": {
"cog_default": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": ["data", "layer"],
"title": "Default COG Layer",
"description": "Cloud optimized default layer to display on map"
}
},
"stac_version": "1.0.0",
"stac_extensions": [
"https://stac-extensions.github.io/render/v1.0.0/schema.json",
"https://stac-extensions.github.io/item-assets/v1.0.0/schema.json",
"https://stac-extensions.github.io/authentication/v1.1.0/schema.json"
],
"dashboard:is_periodic": false,
"dashboard:time_density": "year"
}
1 change: 1 addition & 0 deletions .github/workflows/data/barc-thomasfire-items.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "id": "thomas_fire_barc_201712", "bbox": [ -119.7279834250452, 34.19572604525683, -118.88724142537933, 34.72668711929945 ], "type": "Feature", "links": [ { "rel": "collection", "type": "application/json", "href": "https://test.openveda.cloud/api/stac/collections/barc-thomasfire" }, { "rel": "parent", "type": "application/json", "href": "https://test.openveda.cloud/api/stac/collections/barc-thomasfire" }, { "rel": "root", "type": "application/json", "href": "https://test.openveda.cloud/api/stac/" }, { "rel": "self", "type": "application/geo+json", "href": "https://test.openveda.cloud/api/stac/collections/barc-thomasfire/items/thomas_fire_barc_201712" }, { "title": "Map of Item", "href": "https://test.openveda.cloud/api/raster/collections/barc-thomasfire/items/thomas_fire_barc_201712/WebMercatorQuad/map?assets=cog_default&nodata=nan&rescale=1%2C4&colormap_name=rdylgn_r", "rel": "preview", "type": "text/html" } ], "assets": { "cog_default": { "href": "s3://veda-data-store/barc-thomasfire/thomas_fire_barc_201712.cog.tiff", "type": "image/tiff; application=geotiff", "roles": ["data", "layer"], "title": "Default COG Layer", "proj:bbox": [ -119.7279834250452, 34.19572604525683, -118.88724142537933, 34.72668711929945 ], "proj:epsg": 4326, "proj:wkt2": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4326\"]]", "proj:shape": [2475, 3919], "description": "Cloud optimized default layer to display on map", "raster:bands": [ { "scale": 1.0, "nodata": 255.0, "offset": 0.0, "sampling": "area", "data_type": "float64", "histogram": { "max": 4.0, "min": 1.0, "count": 11, "buckets": [18444, 0, 0, 50305, 0, 0, 90606, 0, 0, 1620] }, "statistics": { "mean": 2.468408137909613, "stddev": 0.7058915628449338, "maximum": 4.0, "minimum": 1.0, "valid_percent": 24.2970863118238 } } ], "proj:geometry": { "type": "Polygon", "coordinates": [ [ [-119.7279834250452, 34.19572604525683], [-118.88724142537933, 34.19572604525683], [-118.88724142537933, 34.72668711929945], [-119.7279834250452, 34.72668711929945], [-119.7279834250452, 34.19572604525683] ] ] }, "proj:projjson": { "id": { "code": 4326, "authority": "EPSG" }, "name": "WGS 84", "type": "GeographicCRS", "datum": { "name": "World Geodetic System 1984", "type": "GeodeticReferenceFrame", "ellipsoid": { "name": "WGS 84", "semi_major_axis": 6378137, "inverse_flattening": 298.257223563 } }, "$schema": "https://proj.org/schemas/v0.4/projjson.schema.json", "coordinate_system": { "axis": [ { "name": "Geodetic latitude", "unit": "degree", "direction": "north", "abbreviation": "Lat" }, { "name": "Geodetic longitude", "unit": "degree", "direction": "east", "abbreviation": "Lon" } ], "subtype": "ellipsoidal" } }, "proj:transform": [ 0.00021452972688590515, 0.0, -119.7279834250452, 0.0, -0.00021452972688590648, 34.72668711929945, 0.0, 0.0, 1.0 ] }, "rendered_preview": { "title": "Rendered preview", "href": "https://test.openveda.cloud/api/raster/collections/barc-thomasfire/items/thomas_fire_barc_201712/preview.png?assets=cog_default&nodata=nan&rescale=1%2C4&colormap_name=rdylgn_r", "rel": "preview", "roles": ["overview"], "type": "image/png" } }, "geometry": { "type": "Polygon", "coordinates": [ [ [-119.7279834250452, 34.19572604525683], [-118.88724142537933, 34.19572604525683], [-118.88724142537933, 34.72668711929945], [-119.7279834250452, 34.72668711929945], [-119.7279834250452, 34.19572604525683] ] ] }, "collection": "barc-thomasfire", "properties": { "datetime": "2017-12-01T00:00:00+00:00" }, "stac_version": "1.0.0", "stac_extensions": [ "https://stac-extensions.github.io/raster/v1.1.0/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json" ] }
Loading