eoapi-cdk 5.0.0

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 (67) hide show
  1. package/.devcontainer/devcontainer.json +4 -0
  2. package/.github/workflows/build.yaml +73 -0
  3. package/.github/workflows/conventional-pr.yaml +26 -0
  4. package/.github/workflows/distribute.yaml +45 -0
  5. package/.github/workflows/docs.yaml +26 -0
  6. package/.github/workflows/test.yaml +13 -0
  7. package/.github/workflows/tox.yaml +24 -0
  8. package/.jsii +5058 -0
  9. package/.nvmrc +1 -0
  10. package/CHANGELOG.md +195 -0
  11. package/README.md +50 -0
  12. package/diagrams/bastion_diagram.excalidraw +1416 -0
  13. package/diagrams/bastion_diagram.png +0 -0
  14. package/diagrams/ingestor_diagram.excalidraw +2274 -0
  15. package/diagrams/ingestor_diagram.png +0 -0
  16. package/lib/bastion-host/index.d.ts +117 -0
  17. package/lib/bastion-host/index.js +162 -0
  18. package/lib/bootstrapper/index.d.ts +57 -0
  19. package/lib/bootstrapper/index.js +73 -0
  20. package/lib/bootstrapper/runtime/Dockerfile +18 -0
  21. package/lib/bootstrapper/runtime/handler.py +235 -0
  22. package/lib/database/index.d.ts +60 -0
  23. package/lib/database/index.js +84 -0
  24. package/lib/database/instance-memory.json +525 -0
  25. package/lib/index.d.ts +6 -0
  26. package/lib/index.js +19 -0
  27. package/lib/ingestor-api/index.d.ts +54 -0
  28. package/lib/ingestor-api/index.js +147 -0
  29. package/lib/ingestor-api/runtime/dev_requirements.txt +2 -0
  30. package/lib/ingestor-api/runtime/requirements.txt +12 -0
  31. package/lib/ingestor-api/runtime/src/__init__.py +0 -0
  32. package/lib/ingestor-api/runtime/src/collection.py +36 -0
  33. package/lib/ingestor-api/runtime/src/config.py +46 -0
  34. package/lib/ingestor-api/runtime/src/dependencies.py +94 -0
  35. package/lib/ingestor-api/runtime/src/handler.py +9 -0
  36. package/lib/ingestor-api/runtime/src/ingestor.py +82 -0
  37. package/lib/ingestor-api/runtime/src/loader.py +21 -0
  38. package/lib/ingestor-api/runtime/src/main.py +125 -0
  39. package/lib/ingestor-api/runtime/src/schemas.py +148 -0
  40. package/lib/ingestor-api/runtime/src/services.py +44 -0
  41. package/lib/ingestor-api/runtime/src/utils.py +52 -0
  42. package/lib/ingestor-api/runtime/src/validators.py +72 -0
  43. package/lib/ingestor-api/runtime/tests/__init__.py +0 -0
  44. package/lib/ingestor-api/runtime/tests/conftest.py +271 -0
  45. package/lib/ingestor-api/runtime/tests/test_collection.py +35 -0
  46. package/lib/ingestor-api/runtime/tests/test_collection_endpoint.py +41 -0
  47. package/lib/ingestor-api/runtime/tests/test_ingestor.py +60 -0
  48. package/lib/ingestor-api/runtime/tests/test_registration.py +198 -0
  49. package/lib/ingestor-api/runtime/tests/test_utils.py +35 -0
  50. package/lib/stac-api/index.d.ts +50 -0
  51. package/lib/stac-api/index.js +60 -0
  52. package/lib/stac-api/runtime/requirements.txt +8 -0
  53. package/lib/stac-api/runtime/src/__init__.py +0 -0
  54. package/lib/stac-api/runtime/src/app.py +58 -0
  55. package/lib/stac-api/runtime/src/config.py +96 -0
  56. package/lib/stac-api/runtime/src/handler.py +9 -0
  57. package/lib/titiler-pgstac-api/index.d.ts +33 -0
  58. package/lib/titiler-pgstac-api/index.js +67 -0
  59. package/lib/titiler-pgstac-api/runtime/Dockerfile +20 -0
  60. package/lib/titiler-pgstac-api/runtime/dev_requirements.txt +1 -0
  61. package/lib/titiler-pgstac-api/runtime/requirements.txt +3 -0
  62. package/lib/titiler-pgstac-api/runtime/src/__init__.py +3 -0
  63. package/lib/titiler-pgstac-api/runtime/src/handler.py +23 -0
  64. package/lib/titiler-pgstac-api/runtime/src/utils.py +26 -0
  65. package/package.json +81 -0
  66. package/tox.ini +52 -0
  67. package/tsconfig.tsbuildinfo +18116 -0
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "VS Code DEV Container for AWS CDK development",
3
+ "image": "jsii/superchain:1-buster-slim-node16"
4
+ }
@@ -0,0 +1,73 @@
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@v3
22
+
23
+ - uses: actions/setup-node@v3
24
+ with:
25
+ node-version: 16
26
+ cache: "npm"
27
+
28
+ - name: Install Dependencies
29
+ run: npm ci
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@v3
41
+ with:
42
+ name: docs
43
+ path: docs
44
+
45
+ - uses: actions/upload-artifact@v3
46
+ with:
47
+ name: python
48
+ path: dist/python/*
49
+
50
+ - uses: actions/upload-artifact@v3
51
+ with:
52
+ name: js
53
+ path: dist/js/*
54
+
55
+ - uses: actions/upload-artifact@v3
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 }}
@@ -0,0 +1,26 @@
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@v2
16
+
17
+ - name: Get Release Bot Token
18
+ id: get-token
19
+ uses: getsentry/action-github-app-token@v1
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 }}
@@ -0,0 +1,45 @@
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
+ - uses: actions/download-artifact@v3
17
+ with:
18
+ name: python
19
+ path: dist
20
+
21
+ - run: pip install twine
22
+
23
+ - run: twine upload dist/*
24
+ env:
25
+ github_token: ${{ secrets.GITHUB_TOKEN }}
26
+ TWINE_USERNAME: __token__
27
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
28
+
29
+ distribute-js:
30
+ runs-on: ubuntu-latest
31
+ needs: package
32
+ steps:
33
+ - uses: actions/download-artifact@v3
34
+ with:
35
+ name: js
36
+ path: dist
37
+
38
+ - uses: actions/setup-node@v3
39
+ with:
40
+ node-version: 16
41
+ registry-url: "https://registry.npmjs.org"
42
+
43
+ - run: npm publish dist/*
44
+ env:
45
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,26 @@
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@v3
17
+
18
+ - uses: actions/download-artifact@v3
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
@@ -0,0 +1,13 @@
1
+ name: Test & Build
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 }}
@@ -0,0 +1,24 @@
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.9]
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Setup Python
17
+ uses: actions/setup-python@v2
18
+ with:
19
+ python-version: ${{ matrix.python }}
20
+ - name: Install Tox and any other packages
21
+ run: pip install tox
22
+ - name: Run Tox
23
+ # Run tox using the version of Python in `PATH`
24
+ run: tox -e py