eoapi-cdk 8.1.1 → 8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +698 -26
- package/lib/bastion-host/index.js +1 -1
- package/lib/database/index.d.ts +1 -0
- package/lib/database/index.js +5 -5
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/ingestor-api/index.js +1 -1
- package/lib/stac-api/index.js +1 -1
- package/lib/stac-browser/index.js +1 -1
- package/lib/stac-item-loader/index.d.ts +337 -0
- package/lib/stac-item-loader/index.js +255 -0
- package/lib/stac-item-loader/runtime/Dockerfile +18 -0
- package/lib/stac-item-loader/runtime/pyproject.toml +17 -0
- package/lib/stac-item-loader/runtime/src/stac_item_loader/handler.py +241 -0
- package/lib/stactools-item-generator/index.d.ts +258 -0
- package/lib/stactools-item-generator/index.js +208 -0
- package/lib/stactools-item-generator/runtime/Dockerfile +20 -0
- package/lib/stactools-item-generator/runtime/pyproject.toml +16 -0
- package/lib/stactools-item-generator/runtime/src/stactools_item_generator/__init__.py +2 -0
- package/lib/stactools-item-generator/runtime/src/stactools_item_generator/handler.py +176 -0
- package/lib/stactools-item-generator/runtime/src/stactools_item_generator/item.py +77 -0
- package/lib/tipg-api/index.js +1 -1
- package/lib/titiler-pgstac-api/index.js +1 -1
- package/package.json +1 -1
- package/pyproject.toml +45 -0
- package/uv.lock +1065 -0
- package/.devcontainer/devcontainer.json +0 -4
- package/.github/pull_request_template.md +0 -4
- package/.github/workflows/build.yaml +0 -73
- package/.github/workflows/build_and_release.yaml +0 -13
- package/.github/workflows/conventional-pr.yaml +0 -26
- package/.github/workflows/deploy.yaml +0 -84
- package/.github/workflows/distribute.yaml +0 -46
- package/.github/workflows/docs.yaml +0 -26
- package/.github/workflows/lint.yaml +0 -26
- package/.github/workflows/tox.yaml +0 -26
- package/.nvmrc +0 -1
- package/.pre-commit-config.yaml +0 -23
- package/CHANGELOG.md +0 -471
- package/diagrams/bastion_diagram.excalidraw +0 -1416
- package/diagrams/bastion_diagram.png +0 -0
- package/diagrams/ingestor_diagram.excalidraw +0 -2274
- package/diagrams/ingestor_diagram.png +0 -0
- package/integration_tests/cdk/README.md +0 -55
- package/integration_tests/cdk/app.py +0 -186
- package/integration_tests/cdk/cdk.json +0 -32
- package/integration_tests/cdk/config.py +0 -52
- package/integration_tests/cdk/package-lock.json +0 -42
- package/integration_tests/cdk/package.json +0 -7
- package/integration_tests/cdk/requirements.txt +0 -7
- package/lib/database/lambda/package-lock.json +0 -1324
- package/lib/ingestor-api/runtime/tests/conftest.py +0 -270
- package/lib/ingestor-api/runtime/tests/test_collection.py +0 -87
- package/lib/ingestor-api/runtime/tests/test_collection_endpoint.py +0 -41
- package/lib/ingestor-api/runtime/tests/test_ingestor.py +0 -60
- package/lib/ingestor-api/runtime/tests/test_registration.py +0 -207
- package/lib/ingestor-api/runtime/tests/test_utils.py +0 -35
- package/lib/ingestor-api/runtime/tests/test_validators.py +0 -164
- package/ruff.toml +0 -23
- package/tox.ini +0 -16
- package/tsconfig.tsbuildinfo +0 -1
- /package/lib/{ingestor-api/runtime/tests → stac-item-loader/runtime/src/stac_item_loader}/__init__.py +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
name: Build & package workflow
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_call:
|
|
5
|
-
inputs:
|
|
6
|
-
release:
|
|
7
|
-
required: false
|
|
8
|
-
type: boolean
|
|
9
|
-
default: false
|
|
10
|
-
secrets:
|
|
11
|
-
DS_RELEASE_BOT_ID:
|
|
12
|
-
required: false
|
|
13
|
-
DS_RELEASE_BOT_PRIVATE_KEY:
|
|
14
|
-
required: false
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
build_and_package:
|
|
18
|
-
name: Build and package
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
steps:
|
|
21
|
-
- uses: actions/checkout@v4
|
|
22
|
-
|
|
23
|
-
- uses: actions/setup-node@v4
|
|
24
|
-
with:
|
|
25
|
-
node-version: 18
|
|
26
|
-
cache: "npm"
|
|
27
|
-
|
|
28
|
-
- name: Install Dependencies
|
|
29
|
-
run: npm run install:all
|
|
30
|
-
|
|
31
|
-
- name: Compile project
|
|
32
|
-
run: npm run build
|
|
33
|
-
|
|
34
|
-
- name: Generate distribution packages
|
|
35
|
-
run: npm run package
|
|
36
|
-
|
|
37
|
-
- name: Generate documentation
|
|
38
|
-
run: npm run docgen
|
|
39
|
-
|
|
40
|
-
- uses: actions/upload-artifact@v4
|
|
41
|
-
with:
|
|
42
|
-
name: docs
|
|
43
|
-
path: docs
|
|
44
|
-
|
|
45
|
-
- uses: actions/upload-artifact@v4
|
|
46
|
-
with:
|
|
47
|
-
name: python
|
|
48
|
-
path: dist/python/*
|
|
49
|
-
|
|
50
|
-
- uses: actions/upload-artifact@v4
|
|
51
|
-
with:
|
|
52
|
-
name: js
|
|
53
|
-
path: dist/js/*
|
|
54
|
-
|
|
55
|
-
- uses: actions/upload-artifact@v4
|
|
56
|
-
with:
|
|
57
|
-
name: jsii
|
|
58
|
-
path: .jsii
|
|
59
|
-
|
|
60
|
-
- name: Get Release Bot Token
|
|
61
|
-
id: get-token
|
|
62
|
-
if: ${{ inputs.release }}
|
|
63
|
-
uses: getsentry/action-github-app-token@v1
|
|
64
|
-
with:
|
|
65
|
-
app_id: ${{ secrets.DS_RELEASE_BOT_ID }}
|
|
66
|
-
private_key: ${{ secrets.DS_RELEASE_BOT_PRIVATE_KEY }}
|
|
67
|
-
|
|
68
|
-
- name: Maybe Release 🚀
|
|
69
|
-
if: "${{ inputs.release }}"
|
|
70
|
-
run: |
|
|
71
|
-
npm run semantic-release
|
|
72
|
-
env:
|
|
73
|
-
GITHUB_TOKEN: ${{ steps.get-token.outputs.token }}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
name: Build & try to release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
|
|
6
|
-
jobs:
|
|
7
|
-
package:
|
|
8
|
-
uses: ./.github/workflows/build.yaml
|
|
9
|
-
with:
|
|
10
|
-
release: true
|
|
11
|
-
secrets:
|
|
12
|
-
DS_RELEASE_BOT_ID: ${{ secrets.DS_RELEASE_BOT_ID }}
|
|
13
|
-
DS_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.DS_RELEASE_BOT_PRIVATE_KEY }}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: conventional-pr
|
|
2
|
-
on:
|
|
3
|
-
pull_request:
|
|
4
|
-
branches:
|
|
5
|
-
- main
|
|
6
|
-
- master
|
|
7
|
-
types:
|
|
8
|
-
- opened
|
|
9
|
-
- edited
|
|
10
|
-
- synchronize
|
|
11
|
-
jobs:
|
|
12
|
-
lint-pr:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v4
|
|
16
|
-
|
|
17
|
-
- name: Get Release Bot Token
|
|
18
|
-
id: get-token
|
|
19
|
-
uses: getsentry/action-github-app-token@v3
|
|
20
|
-
with:
|
|
21
|
-
app_id: ${{ secrets.DS_RELEASE_BOT_ID }}
|
|
22
|
-
private_key: ${{ secrets.DS_RELEASE_BOT_PRIVATE_KEY }}
|
|
23
|
-
|
|
24
|
-
- uses: CondeNast/conventional-pull-request-action@v0.2.0
|
|
25
|
-
env:
|
|
26
|
-
GITHUB_TOKEN: ${{ steps.get-token.outputs.token }}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
name: Deployment
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
|
|
6
|
-
jobs:
|
|
7
|
-
build_package_and_deploy:
|
|
8
|
-
name: Build, package and deploy
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
timeout-minutes: 90
|
|
11
|
-
env:
|
|
12
|
-
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION_DEPLOY }}
|
|
13
|
-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_DEPLOY }}
|
|
14
|
-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_DEPLOY }}
|
|
15
|
-
AWS_DEFAULT_ACCOUNT: ${{ secrets.AWS_ACCOUNT_ID }}
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v4
|
|
18
|
-
|
|
19
|
-
- uses: actions/setup-node@v4
|
|
20
|
-
with:
|
|
21
|
-
node-version: 18
|
|
22
|
-
cache: "npm"
|
|
23
|
-
|
|
24
|
-
- name: Install All Dependencies
|
|
25
|
-
run: npm run install:all
|
|
26
|
-
|
|
27
|
-
- name: Compile project
|
|
28
|
-
run: npm run build
|
|
29
|
-
|
|
30
|
-
- name: Generate distribution packages
|
|
31
|
-
run: npm run package
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- name: Install deployment environment
|
|
35
|
-
id: install_deploy_env
|
|
36
|
-
run: |
|
|
37
|
-
# install deployment environment with eoapi-cdk from build
|
|
38
|
-
python -m venv .deployment_venv
|
|
39
|
-
source .deployment_venv/bin/activate
|
|
40
|
-
pip install dist/python/*.gz
|
|
41
|
-
cd integration_tests/cdk
|
|
42
|
-
pip install -r requirements.txt
|
|
43
|
-
npm install
|
|
44
|
-
deactivate
|
|
45
|
-
cd -
|
|
46
|
-
|
|
47
|
-
# use short commit SHA to name stacks
|
|
48
|
-
- uses: benjlevesque/short-sha@v3.0
|
|
49
|
-
id: short-sha
|
|
50
|
-
with:
|
|
51
|
-
length: 6
|
|
52
|
-
|
|
53
|
-
- name: Deploy test stack
|
|
54
|
-
id: deploy_step
|
|
55
|
-
env:
|
|
56
|
-
PROJECT_ID: ${{ steps.short-sha.outputs.sha }}
|
|
57
|
-
run: |
|
|
58
|
-
source .deployment_venv/bin/activate
|
|
59
|
-
|
|
60
|
-
# synthesize the stack
|
|
61
|
-
cd integration_tests/cdk
|
|
62
|
-
npx cdk synth --debug --all --require-approval never
|
|
63
|
-
|
|
64
|
-
# deploy the stack
|
|
65
|
-
npx cdk deploy --ci --all --require-approval never
|
|
66
|
-
deactivate
|
|
67
|
-
cd -
|
|
68
|
-
|
|
69
|
-
- name: Tear down any infrastructure
|
|
70
|
-
if: always()
|
|
71
|
-
env:
|
|
72
|
-
PROJECT_ID: ${{ steps.short-sha.outputs.sha }}
|
|
73
|
-
run: |
|
|
74
|
-
cd integration_tests/cdk
|
|
75
|
-
# run this only if we find a 'cdk.out' directory, which means there might be things to tear down
|
|
76
|
-
if [ -d "cdk.out" ]; then
|
|
77
|
-
cd -
|
|
78
|
-
source .deployment_venv/bin/activate
|
|
79
|
-
cd integration_tests/cdk
|
|
80
|
-
# see https://github.com/aws/aws-cdk/issues/24946
|
|
81
|
-
# this didn't work : rm -f cdk.out/synth.lock
|
|
82
|
-
# so we just duplicate the cdk output to cdk-destroy.out
|
|
83
|
-
npx cdk destroy --output cdk-destroy.out --ci --all --force
|
|
84
|
-
fi
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
name: Distribute
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
release:
|
|
5
|
-
types:
|
|
6
|
-
- released
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
package:
|
|
10
|
-
uses: ./.github/workflows/build.yaml
|
|
11
|
-
|
|
12
|
-
distribute-python:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
needs: package
|
|
15
|
-
steps:
|
|
16
|
-
|
|
17
|
-
- uses: actions/download-artifact@v4
|
|
18
|
-
with:
|
|
19
|
-
name: python
|
|
20
|
-
path: dist
|
|
21
|
-
|
|
22
|
-
- run: pip install "twine>=6.1.0" "packaging>=24.2"
|
|
23
|
-
|
|
24
|
-
- run: twine upload dist/*
|
|
25
|
-
env:
|
|
26
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
27
|
-
TWINE_USERNAME: __token__
|
|
28
|
-
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
29
|
-
|
|
30
|
-
distribute-js:
|
|
31
|
-
runs-on: ubuntu-latest
|
|
32
|
-
needs: package
|
|
33
|
-
steps:
|
|
34
|
-
- uses: actions/download-artifact@v4
|
|
35
|
-
with:
|
|
36
|
-
name: js
|
|
37
|
-
path: dist
|
|
38
|
-
|
|
39
|
-
- uses: actions/setup-node@v3
|
|
40
|
-
with:
|
|
41
|
-
node-version: 16
|
|
42
|
-
registry-url: "https://registry.npmjs.org"
|
|
43
|
-
|
|
44
|
-
- run: npm publish dist/*
|
|
45
|
-
env:
|
|
46
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: Build Docs
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
package:
|
|
10
|
-
uses: ./.github/workflows/build.yaml
|
|
11
|
-
|
|
12
|
-
update-docs:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
needs: package
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v4
|
|
17
|
-
|
|
18
|
-
- uses: actions/download-artifact@v4
|
|
19
|
-
with:
|
|
20
|
-
name: docs
|
|
21
|
-
path: docs
|
|
22
|
-
|
|
23
|
-
- name: Deploy 🚀
|
|
24
|
-
uses: JamesIves/github-pages-deploy-action@v4
|
|
25
|
-
with:
|
|
26
|
-
folder: docs
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: Lint
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
pull_request:
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
lint:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
14
|
-
|
|
15
|
-
- name: Set up Python 3.11
|
|
16
|
-
uses: actions/setup-python@v5
|
|
17
|
-
with:
|
|
18
|
-
python-version: 3.11
|
|
19
|
-
|
|
20
|
-
- name: Install dependencies
|
|
21
|
-
run: |
|
|
22
|
-
python -m pip install --upgrade pip
|
|
23
|
-
python -m pip install pre-commit
|
|
24
|
-
|
|
25
|
-
- name: Run pre-commit
|
|
26
|
-
run: pre-commit run --all-files
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: Tox
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
|
|
6
|
-
jobs:
|
|
7
|
-
test:
|
|
8
|
-
env:
|
|
9
|
-
AWS_DEFAULT_REGION: us-west-2
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
strategy:
|
|
12
|
-
matrix:
|
|
13
|
-
python: [3.11]
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v4
|
|
16
|
-
- name: Setup Python
|
|
17
|
-
uses: actions/setup-python@v5
|
|
18
|
-
with:
|
|
19
|
-
python-version: ${{ matrix.python }}
|
|
20
|
-
|
|
21
|
-
- name: Install Tox and any other packages
|
|
22
|
-
run: pip install tox
|
|
23
|
-
|
|
24
|
-
- name: Run Tox
|
|
25
|
-
# Run tox using the version of Python in `PATH`
|
|
26
|
-
run: tox -e py
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
18
|
package/.pre-commit-config.yaml
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# See https://pre-commit.com for more information
|
|
2
|
-
# See https://pre-commit.com/hooks.html for more hooks
|
|
3
|
-
|
|
4
|
-
# Optionally both commit and push
|
|
5
|
-
default_stages: [commit]
|
|
6
|
-
|
|
7
|
-
# Regex for files to exclude
|
|
8
|
-
# Don't lint the generated JSON metadata files
|
|
9
|
-
exclude: "diagrams/"
|
|
10
|
-
|
|
11
|
-
repos:
|
|
12
|
-
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
13
|
-
rev: v4.0.1
|
|
14
|
-
hooks:
|
|
15
|
-
- id: trailing-whitespace
|
|
16
|
-
- id: end-of-file-fixer
|
|
17
|
-
|
|
18
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
19
|
-
rev: v0.4.4
|
|
20
|
-
hooks:
|
|
21
|
-
- id: ruff
|
|
22
|
-
args: [--fix, --exit-non-zero-on-fix]
|
|
23
|
-
- id: ruff-format
|