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.
Files changed (62) hide show
  1. package/.jsii +698 -26
  2. package/lib/bastion-host/index.js +1 -1
  3. package/lib/database/index.d.ts +1 -0
  4. package/lib/database/index.js +5 -5
  5. package/lib/index.d.ts +2 -0
  6. package/lib/index.js +3 -1
  7. package/lib/ingestor-api/index.js +1 -1
  8. package/lib/stac-api/index.js +1 -1
  9. package/lib/stac-browser/index.js +1 -1
  10. package/lib/stac-item-loader/index.d.ts +337 -0
  11. package/lib/stac-item-loader/index.js +255 -0
  12. package/lib/stac-item-loader/runtime/Dockerfile +18 -0
  13. package/lib/stac-item-loader/runtime/pyproject.toml +17 -0
  14. package/lib/stac-item-loader/runtime/src/stac_item_loader/handler.py +241 -0
  15. package/lib/stactools-item-generator/index.d.ts +258 -0
  16. package/lib/stactools-item-generator/index.js +208 -0
  17. package/lib/stactools-item-generator/runtime/Dockerfile +20 -0
  18. package/lib/stactools-item-generator/runtime/pyproject.toml +16 -0
  19. package/lib/stactools-item-generator/runtime/src/stactools_item_generator/__init__.py +2 -0
  20. package/lib/stactools-item-generator/runtime/src/stactools_item_generator/handler.py +176 -0
  21. package/lib/stactools-item-generator/runtime/src/stactools_item_generator/item.py +77 -0
  22. package/lib/tipg-api/index.js +1 -1
  23. package/lib/titiler-pgstac-api/index.js +1 -1
  24. package/package.json +1 -1
  25. package/pyproject.toml +45 -0
  26. package/uv.lock +1065 -0
  27. package/.devcontainer/devcontainer.json +0 -4
  28. package/.github/pull_request_template.md +0 -4
  29. package/.github/workflows/build.yaml +0 -73
  30. package/.github/workflows/build_and_release.yaml +0 -13
  31. package/.github/workflows/conventional-pr.yaml +0 -26
  32. package/.github/workflows/deploy.yaml +0 -84
  33. package/.github/workflows/distribute.yaml +0 -46
  34. package/.github/workflows/docs.yaml +0 -26
  35. package/.github/workflows/lint.yaml +0 -26
  36. package/.github/workflows/tox.yaml +0 -26
  37. package/.nvmrc +0 -1
  38. package/.pre-commit-config.yaml +0 -23
  39. package/CHANGELOG.md +0 -471
  40. package/diagrams/bastion_diagram.excalidraw +0 -1416
  41. package/diagrams/bastion_diagram.png +0 -0
  42. package/diagrams/ingestor_diagram.excalidraw +0 -2274
  43. package/diagrams/ingestor_diagram.png +0 -0
  44. package/integration_tests/cdk/README.md +0 -55
  45. package/integration_tests/cdk/app.py +0 -186
  46. package/integration_tests/cdk/cdk.json +0 -32
  47. package/integration_tests/cdk/config.py +0 -52
  48. package/integration_tests/cdk/package-lock.json +0 -42
  49. package/integration_tests/cdk/package.json +0 -7
  50. package/integration_tests/cdk/requirements.txt +0 -7
  51. package/lib/database/lambda/package-lock.json +0 -1324
  52. package/lib/ingestor-api/runtime/tests/conftest.py +0 -270
  53. package/lib/ingestor-api/runtime/tests/test_collection.py +0 -87
  54. package/lib/ingestor-api/runtime/tests/test_collection_endpoint.py +0 -41
  55. package/lib/ingestor-api/runtime/tests/test_ingestor.py +0 -60
  56. package/lib/ingestor-api/runtime/tests/test_registration.py +0 -207
  57. package/lib/ingestor-api/runtime/tests/test_utils.py +0 -35
  58. package/lib/ingestor-api/runtime/tests/test_validators.py +0 -164
  59. package/ruff.toml +0 -23
  60. package/tox.ini +0 -16
  61. package/tsconfig.tsbuildinfo +0 -1
  62. /package/lib/{ingestor-api/runtime/tests → stac-item-loader/runtime/src/stac_item_loader}/__init__.py +0 -0
@@ -1,4 +0,0 @@
1
- {
2
- "name": "VS Code DEV Container for AWS CDK development",
3
- "image": "jsii/superchain:1-buster-slim-node16"
4
- }
@@ -1,4 +0,0 @@
1
- ## :warning: Checklist if your PR is changing anything else than documentation
2
- - [ ] Posted the link to a successful manually triggered deployment workflow (successful including the resources destruction)
3
-
4
- ## Merge request description
@@ -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
@@ -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