atlan-application-sdk 2.3.0__tar.gz → 2.3.2__tar.gz
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.
- atlan_application_sdk-2.3.2/.cursor/rules/build-security.mdc +35 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/commits.mdc +1 -0
- atlan_application_sdk-2.3.2/.cursor/rules/deepwiki.mdc +53 -0
- atlan_application_sdk-2.3.2/.cursor/rules/documentation.mdc +20 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/setup.mdc +4 -5
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/standards.mdc +2 -2
- atlan_application_sdk-2.3.2/.github/CODEOWNERS +1 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/secure-build-push-apps/action.yaml +2 -2
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/trivy/action.yaml +8 -7
- atlan_application_sdk-2.3.2/.github/actions/trivy-container/action.yaml +107 -0
- atlan_application_sdk-2.3.2/.github/dependabot.yaml +19 -0
- atlan_application_sdk-2.3.2/.github/release_notes.md +9 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/build-image.yaml +3 -1
- atlan_application_sdk-2.3.2/.github/workflows/harbor-release.yaml +74 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/pull_request.yaml +31 -1
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/push.yaml +1 -1
- atlan_application_sdk-2.3.2/.github/workflows/scheduled-vulnerability-scan.yaml +122 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/trivy-container.yaml +13 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.pre-commit-config.yaml +8 -0
- atlan_application_sdk-2.3.2/AGENTS.md +33 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/CHANGELOG.md +20 -0
- atlan_application_sdk-2.3.2/CLAUDE.md +31 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/Dockerfile +26 -12
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/PKG-INFO +18 -3
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/README.md +17 -2
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/query_extraction/sql.py +6 -5
- atlan_application_sdk-2.3.2/application_sdk/common/file_ops.py +122 -0
- atlan_application_sdk-2.3.2/application_sdk/common/path.py +38 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/constants.py +23 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/events.py +12 -3
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/io/json.py +19 -6
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/io/parquet.py +12 -10
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/logger_adaptor.py +2 -1
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/metrics_adaptor.py +30 -104
- atlan_application_sdk-2.3.2/application_sdk/observability/models.py +109 -0
- atlan_application_sdk-2.3.2/application_sdk/observability/segment_client.py +420 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/eventstore.py +116 -1
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/objectstore.py +10 -10
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/statestore.py +5 -4
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/version.py +1 -1
- atlan_application_sdk-2.3.2/docs/agents/coding-standards.md +25 -0
- atlan_application_sdk-2.3.2/docs/agents/commits-prs.md +30 -0
- atlan_application_sdk-2.3.2/docs/agents/deepwiki.md +35 -0
- atlan_application_sdk-2.3.2/docs/agents/dev-commands.md +46 -0
- atlan_application_sdk-2.3.2/docs/agents/docs-updates.md +4 -0
- atlan_application_sdk-2.3.2/docs/agents/project-structure.md +9 -0
- atlan_application_sdk-2.3.2/docs/agents/review.md +3 -0
- atlan_application_sdk-2.3.2/docs/agents/testing.md +5 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/API.md +2 -2
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/sql-application-guide.md +2 -2
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/index.md +3 -3
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/setup/LINUX.md +1 -1
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/setup/MAC.md +1 -1
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/setup/WINDOWS.md +1 -1
- atlan_application_sdk-2.3.2/entrypoint.sh +53 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/README.md +3 -3
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/mkdocs.yml +18 -1
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/pyproject.toml +14 -7
- atlan_application_sdk-2.3.2/requirements.txt +646 -0
- atlan_application_sdk-2.3.2/tests/unit/common/test_file_ops.py +173 -0
- atlan_application_sdk-2.3.2/tests/unit/common/test_path.py +42 -0
- atlan_application_sdk-2.3.2/tests/unit/io/test_writer_data_integrity.py +280 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/observability/test_metrics_adaptor.py +148 -2
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/uv.lock +35 -23
- atlan_application_sdk-2.3.0/.cursor/rules/documentation.mdc +0 -20
- atlan_application_sdk-2.3.0/.github/CODEOWNERS +0 -1
- atlan_application_sdk-2.3.0/.github/actions/trivy-container/action.yaml +0 -50
- atlan_application_sdk-2.3.0/.github/dependabot.yaml +0 -14
- atlan_application_sdk-2.3.0/.github/release_notes.md +0 -11
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.dockerignore +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.env.example +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/release.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/verify-snyk-status.yml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.gitignore +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.vscode/launch.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/LICENSE +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/NOTICE +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/SECURITY.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/common/sql_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/lock_management.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/metadata_extraction/base.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/azure/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/azure/auth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/azure/client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/models.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/redis.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/file_converter.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/types.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/decorators/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/decorators/locks.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/decorators/mcp_tool.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/handlers/base.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/cleanup.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/correlation_context.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/lock.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/interceptors/models.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/io/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/io/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/context.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/mcp/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/mcp/models.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/server/mcp/server.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/atlan_storage.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/services/secretstore.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/README.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/configuration.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/pubsub.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/components/statestore.yaml +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/application.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/common.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/mcp.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/server.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/services.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/configuration.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/index.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-2.3.0/docs → atlan_application_sdk-2.3.2}/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/run_examples.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/conftest.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/common/test_sql_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/activities/test_lock_management.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_azure_auth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_azure_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_redis_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/common/test_file_converter.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/common/test_utils_file_discovery.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/decorators/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/decorators/test_mcp_tool.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/interceptors/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/interceptors/test_correlation_context.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/io/readers/test_json_reader.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/io/readers/test_parquet_reader.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/io/test_base_io.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/io/writers/test_json_writer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/io/writers/test_parquet_writer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/mcp/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/server/mcp/test_mcp_server.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/services/test_atlan_storage.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/services/test_eventstore.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/services/test_objectstore.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/services/test_statestore.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Build & Security Scanning
|
|
2
|
+
|
|
3
|
+
This rule is triggered when working with Docker images, security scanning (Trivy/Grype/Snyk), Dapr configuration, or CI/CD pipelines.
|
|
4
|
+
|
|
5
|
+
> **IMPORTANT**: Always run security scans after Dockerfile changes or dependency updates. CI will block HIGH/CRITICAL vulnerabilities.
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
- **Image base**: `cgr.dev/chainguard-private/python` → golden images → SDK → apps
|
|
10
|
+
- **Dapr runtime**: Installed via Chainguard APK (0 CVEs), configured in Dockerfile
|
|
11
|
+
- **Registries**: Harbor (`registry.atlan.com`) for production, GHCR for CI
|
|
12
|
+
|
|
13
|
+
## Build & Scan Commands
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Build image locally
|
|
17
|
+
docker build -t application-sdk:local .
|
|
18
|
+
|
|
19
|
+
# Scan image
|
|
20
|
+
trivy image application-sdk:local
|
|
21
|
+
grype application-sdk:local
|
|
22
|
+
|
|
23
|
+
# Scan dependencies
|
|
24
|
+
trivy fs uv.lock
|
|
25
|
+
snyk test --file=requirements.txt # requires: uv export --frozen --no-hashes --no-header -o requirements.txt
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## For Full Details
|
|
29
|
+
|
|
30
|
+
Read `docs/build-scan-overview.md` for:
|
|
31
|
+
- Complete image hierarchy and layer details
|
|
32
|
+
- Publishing triggers and tag conventions
|
|
33
|
+
- Dapr Dockerfile configuration
|
|
34
|
+
- CI/CD workflow matrix
|
|
35
|
+
- Snyk/uv.lock workaround
|
|
@@ -114,6 +114,7 @@ This reverts commit abc123def456.
|
|
|
114
114
|
- **Reference issues**: Link commits to relevant GitHub issues when applicable
|
|
115
115
|
- **Test before committing**: Ensure all tests pass before creating a commit
|
|
116
116
|
- **Review the diff**: Always review your changes before committing
|
|
117
|
+
- **Scan before pushing**: For Dockerfile or dependency changes, run security scans before pushing (see [build-security.mdc](mdc:.cursor/rules/build-security.mdc))
|
|
117
118
|
|
|
118
119
|
## Tools
|
|
119
120
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SDK development rules using DeepWiki MCP for verification
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
# SDK Development with DeepWiki MCP
|
|
7
|
+
|
|
8
|
+
DeepWiki MCP provides AI-powered documentation and search for public GitHub repositories.
|
|
9
|
+
|
|
10
|
+
## Available Tools
|
|
11
|
+
|
|
12
|
+
- read_wiki_structure: Get documentation topics for a repository
|
|
13
|
+
- read_wiki_contents: View repository documentation
|
|
14
|
+
- ask_question: Ask questions about a repository (AI-powered, context-grounded)
|
|
15
|
+
|
|
16
|
+
## Core Rule: Always Verify with DeepWiki
|
|
17
|
+
|
|
18
|
+
Never assume SDK implementation details for:
|
|
19
|
+
- atlanhq/atlan-python
|
|
20
|
+
- atlanhq/application-sdk
|
|
21
|
+
|
|
22
|
+
Always use DeepWiki MCP tools to verify against actual source code and documentation.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. Use ask_question for specific implementation questions
|
|
27
|
+
2. Use read_wiki_structure to understand available documentation
|
|
28
|
+
3. Use read_wiki_contents to read detailed documentation
|
|
29
|
+
4. Provide answers based on verified information
|
|
30
|
+
|
|
31
|
+
## When to Use DeepWiki
|
|
32
|
+
|
|
33
|
+
Use for:
|
|
34
|
+
- SDK API usage and method signatures
|
|
35
|
+
- Error debugging
|
|
36
|
+
- Implementation patterns
|
|
37
|
+
- Parameter types and return values
|
|
38
|
+
- Usage examples from actual code
|
|
39
|
+
|
|
40
|
+
## Examples
|
|
41
|
+
|
|
42
|
+
Instead of guessing:
|
|
43
|
+
"How does application-sdk handle authentication?" -> ask_question tool
|
|
44
|
+
"What methods are available in atlan-java Client class?" -> ask_question tool
|
|
45
|
+
"Show me the structure of atlan-python docs" -> read_wiki_structure tool
|
|
46
|
+
|
|
47
|
+
## Response Format
|
|
48
|
+
|
|
49
|
+
When using DeepWiki findings:
|
|
50
|
+
- Reference the repository queried
|
|
51
|
+
- Include specific method/class names found
|
|
52
|
+
- Provide code examples when available
|
|
53
|
+
- Link to relevant documentation sections
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update conceptual documentation when SDK code changes to keep docs synchronized with implementation
|
|
3
|
+
globs: application_sdk/**/*.py
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
# Documentation Updates
|
|
7
|
+
|
|
8
|
+
When modifying SDK code, update corresponding conceptual documentation under `docs/concepts/` to reflect changes.
|
|
9
|
+
|
|
10
|
+
**Module to Concept Doc Mapping:**
|
|
11
|
+
* `application_sdk/application/**` -> `docs/concepts/application.md`
|
|
12
|
+
* `application_sdk/server/**` -> `docs/concepts/server.md`
|
|
13
|
+
* `application_sdk/handlers/**` -> `docs/concepts/handlers.md`
|
|
14
|
+
* `application_sdk/clients/**` -> `docs/concepts/clients.md`
|
|
15
|
+
* `application_sdk/activities/**` -> `docs/concepts/activities.md`
|
|
16
|
+
* `application_sdk/common/**` or `application_sdk/constants.py` -> `docs/concepts/common.md`
|
|
17
|
+
* `application_sdk/io/**` -> `docs/concepts/inputs.md` (for readers) AND `docs/concepts/outputs.md` (for writers)
|
|
18
|
+
* `application_sdk/transformers/**` -> `docs/concepts/transformers.md`
|
|
19
|
+
* `application_sdk/workflows/**` -> `docs/concepts/workflows.md`
|
|
20
|
+
* `application_sdk/worker.py` -> `docs/concepts/worker.md`
|
|
@@ -17,13 +17,12 @@ The Atlan Python Application SDK requires the following components regardless of
|
|
|
17
17
|
|
|
18
18
|
Please follow the appropriate guide for your operating system:
|
|
19
19
|
|
|
20
|
-
- [MAC.md](mdc:docs/
|
|
21
|
-
- [LINUX.md](mdc:docs/
|
|
22
|
-
- [WINDOWS.md](mdc:docs/
|
|
20
|
+
- [MAC.md](mdc:docs/setup/MAC.md)
|
|
21
|
+
- [LINUX.md](mdc:docs/setup/LINUX.md)
|
|
22
|
+
- [WINDOWS.md](mdc:docs/setup/WINDOWS.md)
|
|
23
23
|
|
|
24
|
-
Once the development environment is setup follow the [getting-started.md](mdc:docs/
|
|
24
|
+
Once the development environment is setup follow the [getting-started.md](mdc:docs/guides/getting-started.md) to setup project dependencies and run an example
|
|
25
25
|
|
|
26
26
|
## Need Help?
|
|
27
27
|
|
|
28
28
|
If you encounter any issues during setup, please reach out to us at connect@atlan.com.
|
|
29
|
-
|
|
@@ -24,8 +24,8 @@ This document outlines the development standards for the Application SDK, includ
|
|
|
24
24
|
- Use Google-style docstrings
|
|
25
25
|
- Include type information in docstrings
|
|
26
26
|
- Document all public APIs
|
|
27
|
-
- Build docs using `uv sync --
|
|
28
|
-
- Docs must go under ./docs
|
|
27
|
+
- Build docs using `uv sync --group docs --all-extras && uv run poe generate-apidocs`
|
|
28
|
+
- Docs must go under ./docs
|
|
29
29
|
|
|
30
30
|
- **Single Responsibility**
|
|
31
31
|
- Each function should do exactly one thing
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @stefan-atlan @cmgrote @OnkarVO7
|
|
@@ -310,7 +310,7 @@ runs:
|
|
|
310
310
|
|
|
311
311
|
- name: Run Trivy Scan
|
|
312
312
|
id: trivy_scan
|
|
313
|
-
uses: aquasecurity/trivy-action@0.
|
|
313
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
314
314
|
with:
|
|
315
315
|
# UPDATED: Use the single, primary tag from the step above
|
|
316
316
|
image-ref: ${{ steps.extract_tag.outputs.primary_tag }}
|
|
@@ -549,4 +549,4 @@ runs:
|
|
|
549
549
|
else
|
|
550
550
|
echo "❌ Failed to start import job. HTTP Code: $HTTP_CODE"
|
|
551
551
|
exit 1
|
|
552
|
-
fi
|
|
552
|
+
fi
|
{atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/actions/trivy/action.yaml
RENAMED
|
@@ -18,7 +18,7 @@ runs:
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
- name: Trivy Vulnerability Scan (SARIF)
|
|
21
|
-
uses: aquasecurity/trivy-action@0.
|
|
21
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
22
22
|
with:
|
|
23
23
|
scan-type: 'fs'
|
|
24
24
|
format: 'sarif'
|
|
@@ -31,7 +31,7 @@ runs:
|
|
|
31
31
|
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
32
32
|
|
|
33
33
|
- name: Trivy Vulnerability Scan (JSON)
|
|
34
|
-
uses: aquasecurity/trivy-action@0.
|
|
34
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
35
35
|
with:
|
|
36
36
|
scan-type: 'fs'
|
|
37
37
|
format: 'json'
|
|
@@ -44,7 +44,7 @@ runs:
|
|
|
44
44
|
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
45
45
|
|
|
46
46
|
- name: Trivy Secret Scan (SARIF)
|
|
47
|
-
uses: aquasecurity/trivy-action@0.
|
|
47
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
48
48
|
with:
|
|
49
49
|
scan-type: 'fs'
|
|
50
50
|
format: 'sarif'
|
|
@@ -57,7 +57,7 @@ runs:
|
|
|
57
57
|
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
58
58
|
|
|
59
59
|
- name: Trivy Secret Scan (JSON)
|
|
60
|
-
uses: aquasecurity/trivy-action@0.
|
|
60
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
61
61
|
with:
|
|
62
62
|
scan-type: 'fs'
|
|
63
63
|
format: 'json'
|
|
@@ -119,22 +119,23 @@ runs:
|
|
|
119
119
|
message-id: trivy-secret
|
|
120
120
|
message-path: trivy-secret-results.md
|
|
121
121
|
|
|
122
|
-
- name: Fail on High/Critical Vulnerabilities
|
|
122
|
+
- name: Fail on High/Critical Vulnerabilities (with fix available)
|
|
123
123
|
if: inputs.add-report-comment-to-pr == 'true'
|
|
124
|
-
uses: aquasecurity/trivy-action@0.
|
|
124
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
125
125
|
with:
|
|
126
126
|
scan-type: 'fs'
|
|
127
127
|
format: 'table'
|
|
128
128
|
severity: 'CRITICAL,HIGH'
|
|
129
129
|
exit-code: '1'
|
|
130
130
|
scanners: 'vuln'
|
|
131
|
+
ignore-unfixed: true
|
|
131
132
|
env:
|
|
132
133
|
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db:2
|
|
133
134
|
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
134
135
|
|
|
135
136
|
- name: Fail on Any Secrets Found
|
|
136
137
|
if: inputs.add-report-comment-to-pr == 'true'
|
|
137
|
-
uses: aquasecurity/trivy-action@0.
|
|
138
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
138
139
|
with:
|
|
139
140
|
scan-type: 'fs'
|
|
140
141
|
format: 'table'
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
name: Trivy Container Scan for Atlan Apps
|
|
2
|
+
|
|
3
|
+
description: |
|
|
4
|
+
Runs Trivy security scanner on container images to detect and report vulnerabilities.
|
|
5
|
+
Builds the Docker image with Chainguard base image authentication and scans it.
|
|
6
|
+
Results are uploaded to the GitHub Security tab.
|
|
7
|
+
|
|
8
|
+
inputs:
|
|
9
|
+
chainguard-username:
|
|
10
|
+
description: Chainguard registry username
|
|
11
|
+
required: true
|
|
12
|
+
chainguard-password:
|
|
13
|
+
description: Chainguard registry password
|
|
14
|
+
required: true
|
|
15
|
+
github-token:
|
|
16
|
+
description: GitHub token for Docker build secrets
|
|
17
|
+
required: true
|
|
18
|
+
fail-on-vulns:
|
|
19
|
+
description: Whether to fail if HIGH/CRITICAL vulnerabilities with fixes are found
|
|
20
|
+
required: false
|
|
21
|
+
default: 'false'
|
|
22
|
+
skip-files:
|
|
23
|
+
description: Comma-separated list of files or directories to be skipped
|
|
24
|
+
required: false
|
|
25
|
+
|
|
26
|
+
outputs:
|
|
27
|
+
results-file:
|
|
28
|
+
description: Path to the JSON results file
|
|
29
|
+
value: ${{ steps.scan.outputs.results-file }}
|
|
30
|
+
|
|
31
|
+
runs:
|
|
32
|
+
using: "composite"
|
|
33
|
+
steps:
|
|
34
|
+
- name: Set up Docker Buildx
|
|
35
|
+
uses: docker/setup-buildx-action@v3
|
|
36
|
+
|
|
37
|
+
- name: Log in to Chainguard Container Registry
|
|
38
|
+
uses: docker/login-action@v3
|
|
39
|
+
with:
|
|
40
|
+
registry: cgr.dev
|
|
41
|
+
username: ${{ inputs.chainguard-username }}
|
|
42
|
+
password: ${{ inputs.chainguard-password }}
|
|
43
|
+
|
|
44
|
+
- name: Build Docker image
|
|
45
|
+
uses: docker/build-push-action@v6
|
|
46
|
+
with:
|
|
47
|
+
context: .
|
|
48
|
+
file: ./Dockerfile
|
|
49
|
+
push: false
|
|
50
|
+
load: true
|
|
51
|
+
tags: trivy-scan-target:latest
|
|
52
|
+
cache-from: type=gha
|
|
53
|
+
cache-to: type=gha,mode=max
|
|
54
|
+
secrets: |
|
|
55
|
+
"PRIVATE_REPO_ACCESS_TOKEN=${{ inputs.github-token }}"
|
|
56
|
+
|
|
57
|
+
- name: Run Trivy scan (JSON)
|
|
58
|
+
id: scan
|
|
59
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
60
|
+
with:
|
|
61
|
+
image-ref: 'trivy-scan-target:latest'
|
|
62
|
+
format: 'json'
|
|
63
|
+
output: 'trivy-container-results.json'
|
|
64
|
+
severity: 'CRITICAL,HIGH'
|
|
65
|
+
scanners: 'vuln'
|
|
66
|
+
env:
|
|
67
|
+
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db:2
|
|
68
|
+
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
69
|
+
|
|
70
|
+
- name: Set results file output
|
|
71
|
+
shell: bash
|
|
72
|
+
run: echo "results-file=trivy-container-results.json" >> $GITHUB_OUTPUT
|
|
73
|
+
|
|
74
|
+
- name: Run Trivy scan (SARIF)
|
|
75
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
76
|
+
with:
|
|
77
|
+
image-ref: 'trivy-scan-target:latest'
|
|
78
|
+
format: 'sarif'
|
|
79
|
+
output: 'trivy-container-results.sarif'
|
|
80
|
+
severity: 'CRITICAL,HIGH'
|
|
81
|
+
scanners: 'vuln'
|
|
82
|
+
skip-files: ${{ inputs.skip-files }}
|
|
83
|
+
env:
|
|
84
|
+
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db:2
|
|
85
|
+
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
86
|
+
|
|
87
|
+
- name: Upload scan results to GitHub Security tab
|
|
88
|
+
uses: github/codeql-action/upload-sarif@v3
|
|
89
|
+
if: always()
|
|
90
|
+
continue-on-error: true
|
|
91
|
+
with:
|
|
92
|
+
sarif_file: 'trivy-container-results.sarif'
|
|
93
|
+
category: 'trivy-container'
|
|
94
|
+
|
|
95
|
+
- name: Fail on HIGH/CRITICAL vulnerabilities (with fix available)
|
|
96
|
+
if: inputs.fail-on-vulns == 'true'
|
|
97
|
+
uses: aquasecurity/trivy-action@0.33.1
|
|
98
|
+
with:
|
|
99
|
+
image-ref: 'trivy-scan-target:latest'
|
|
100
|
+
format: 'table'
|
|
101
|
+
severity: 'CRITICAL,HIGH'
|
|
102
|
+
exit-code: '1'
|
|
103
|
+
scanners: 'vuln'
|
|
104
|
+
ignore-unfixed: true
|
|
105
|
+
env:
|
|
106
|
+
TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db:2
|
|
107
|
+
TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db:1
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: pip
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: weekly
|
|
7
|
+
open-pull-requests-limit: 5
|
|
8
|
+
groups:
|
|
9
|
+
python-deps:
|
|
10
|
+
patterns:
|
|
11
|
+
- "*"
|
|
12
|
+
update-types:
|
|
13
|
+
- "minor"
|
|
14
|
+
- "patch"
|
|
15
|
+
|
|
16
|
+
- package-ecosystem: "github-actions"
|
|
17
|
+
directory: "/"
|
|
18
|
+
schedule:
|
|
19
|
+
interval: weekly
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## v2.3.2 (February 04, 2026)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v2.3.1...v2.3.2
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- update codeowner (#954) (by @OnkarVO7 in [3a29977](https://github.com/atlanhq/application-sdk/commit/3a29977))
|
|
8
|
+
- align daft writer behavior with pandas to prevent data loss (BLDX-305) (#953) (by @fyzanshaik-atlan in [1a73d02](https://github.com/atlanhq/application-sdk/commit/1a73d02))
|
|
9
|
+
- tune dependabot settings to reduce noise (#1008) (by @fyzanshaik-atlan in [50e09ac](https://github.com/atlanhq/application-sdk/commit/50e09ac))
|
{atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/build-image.yaml
RENAMED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
name: Application SDK Docker Image
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
+
workflow_dispatch: # Allow manual triggering
|
|
4
5
|
push:
|
|
5
6
|
branches:
|
|
6
7
|
- main
|
|
7
8
|
paths:
|
|
8
9
|
- 'Dockerfile'
|
|
10
|
+
- 'entrypoint.sh'
|
|
9
11
|
|
|
10
12
|
permissions:
|
|
11
13
|
contents: read
|
|
@@ -95,4 +97,4 @@ jobs:
|
|
|
95
97
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
96
98
|
env:
|
|
97
99
|
DOCKER_CLIENT_TIMEOUT: 600
|
|
98
|
-
COMPOSE_HTTP_TIMEOUT: 600
|
|
100
|
+
COMPOSE_HTTP_TIMEOUT: 600
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Publish Harbor Image (Release)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
actions: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
push-to-harbor:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
concurrency:
|
|
16
|
+
group: ${{ github.workflow }}-${{ github.ref }}-harbor
|
|
17
|
+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
|
18
|
+
timeout-minutes: 20
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4.0.0
|
|
21
|
+
with:
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
|
|
24
|
+
- name: Set up Buildx
|
|
25
|
+
id: buildx
|
|
26
|
+
uses: docker/setup-buildx-action@v3
|
|
27
|
+
|
|
28
|
+
- name: Get SDK version
|
|
29
|
+
id: get_version
|
|
30
|
+
run: echo "version=$(awk -F'"' '/^version = / {print $2}' pyproject.toml)" >> $GITHUB_OUTPUT
|
|
31
|
+
|
|
32
|
+
- name: Get short commit SHA
|
|
33
|
+
id: get_sha
|
|
34
|
+
run: echo "sha=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
|
|
35
|
+
|
|
36
|
+
- name: Log in to Atlan Harbor Registry
|
|
37
|
+
uses: docker/login-action@v3
|
|
38
|
+
with:
|
|
39
|
+
registry: registry.atlan.com
|
|
40
|
+
username: ${{ secrets.HARBOR_USERNAME }}
|
|
41
|
+
password: ${{ secrets.HARBOR_PASSWORD }}
|
|
42
|
+
|
|
43
|
+
- name: Log in to Chainguard Container Registry
|
|
44
|
+
uses: docker/login-action@v3
|
|
45
|
+
with:
|
|
46
|
+
registry: cgr.dev
|
|
47
|
+
username: ${{ secrets.CHAINGUARD_USERNAME }}
|
|
48
|
+
password: ${{ secrets.CHAINGUARD_PASSWORD }}
|
|
49
|
+
|
|
50
|
+
- name: Build, scan, and push image to Harbor
|
|
51
|
+
id: harbor_docker_build
|
|
52
|
+
uses: ./.github/actions/secure-build-push-apps
|
|
53
|
+
with:
|
|
54
|
+
branch: main
|
|
55
|
+
snyk-token: ${{ secrets.SNYK_TOKEN_BU_APPS }}
|
|
56
|
+
snyk-ghcr-integration-id: ${{ secrets.SNYK_GHCR_INTEGRATION_ID }}
|
|
57
|
+
snyk-docker-integration-id: ${{ secrets.SNYK_DOCKER_INTEGRATION_ID }}
|
|
58
|
+
snyk-integration-id: ${{ secrets.SNYK_INTEGRATION_ID }}
|
|
59
|
+
snyk-org-id: ${{ secrets.SNYK_ORG_ID }}
|
|
60
|
+
context: .
|
|
61
|
+
file: ./Dockerfile
|
|
62
|
+
push: true
|
|
63
|
+
platforms: linux/amd64,linux/arm64
|
|
64
|
+
tags: |
|
|
65
|
+
registry.atlan.com/public/application-sdk:main-latest
|
|
66
|
+
registry.atlan.com/public/application-sdk:main-${{ steps.get_version.outputs.version }}
|
|
67
|
+
registry.atlan.com/public/application-sdk:sha-${{ steps.get_sha.outputs.sha }}
|
|
68
|
+
build-args: |
|
|
69
|
+
ACCESS_TOKEN_USR=$GITHUB_ACTOR
|
|
70
|
+
ACCESS_TOKEN_PWD=${{ secrets.ORG_PAT_GITHUB }}
|
|
71
|
+
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
72
|
+
env:
|
|
73
|
+
DOCKER_CLIENT_TIMEOUT: 600
|
|
74
|
+
COMPOSE_HTTP_TIMEOUT: 600
|
{atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/pull_request.yaml
RENAMED
|
@@ -14,6 +14,22 @@ permissions:
|
|
|
14
14
|
actions: write
|
|
15
15
|
|
|
16
16
|
jobs:
|
|
17
|
+
# Detect which files changed
|
|
18
|
+
changes:
|
|
19
|
+
name: Detect Changes
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
outputs:
|
|
22
|
+
container: ${{ steps.filter.outputs.container }}
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v5
|
|
25
|
+
- uses: dorny/paths-filter@v3
|
|
26
|
+
id: filter
|
|
27
|
+
with:
|
|
28
|
+
filters: |
|
|
29
|
+
container:
|
|
30
|
+
- 'Dockerfile'
|
|
31
|
+
- 'entrypoint.sh'
|
|
32
|
+
|
|
17
33
|
# Conventional Commits
|
|
18
34
|
commits:
|
|
19
35
|
name: Conventional Commits
|
|
@@ -46,6 +62,20 @@ jobs:
|
|
|
46
62
|
with:
|
|
47
63
|
add-report-comment-to-pr: "true"
|
|
48
64
|
|
|
65
|
+
trivy-container:
|
|
66
|
+
name: Trivy Container Scan
|
|
67
|
+
needs: changes
|
|
68
|
+
if: needs.changes.outputs.container == 'true'
|
|
69
|
+
runs-on: ubuntu-latest
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v5
|
|
72
|
+
- uses: "./.github/actions/trivy-container"
|
|
73
|
+
with:
|
|
74
|
+
chainguard-username: ${{ secrets.CHAINGUARD_USERNAME }}
|
|
75
|
+
chainguard-password: ${{ secrets.CHAINGUARD_PASSWORD }}
|
|
76
|
+
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
77
|
+
fail-on-vulns: 'true'
|
|
78
|
+
|
|
49
79
|
# Testing
|
|
50
80
|
unit:
|
|
51
81
|
name: Unit Tests
|
|
@@ -200,7 +230,7 @@ jobs:
|
|
|
200
230
|
|
|
201
231
|
- name: Upload Docs to Kryptonite Bucket
|
|
202
232
|
run: |
|
|
203
|
-
aws s3 sync ./
|
|
233
|
+
aws s3 sync ./site s3://kryptonite-store/application-sdk/${{ github.head_ref }} --delete
|
|
204
234
|
|
|
205
235
|
- name: Comment Kryptonite URL on PR
|
|
206
236
|
uses: mshick/add-pr-comment@v2
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
name: Scheduled Vulnerability Scan
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Run every Monday at 9 AM UTC
|
|
6
|
+
- cron: '0 9 * * 1'
|
|
7
|
+
workflow_dispatch: # Allow manual trigger
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
issues: write
|
|
12
|
+
security-events: write
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
scan-base-image:
|
|
16
|
+
name: Scan SDK Base Image
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v5
|
|
21
|
+
|
|
22
|
+
- name: Run container vulnerability scan
|
|
23
|
+
id: scan
|
|
24
|
+
uses: "./.github/actions/trivy-container"
|
|
25
|
+
with:
|
|
26
|
+
chainguard-username: ${{ secrets.CHAINGUARD_USERNAME }}
|
|
27
|
+
chainguard-password: ${{ secrets.CHAINGUARD_PASSWORD }}
|
|
28
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
29
|
+
fail-on-vulns: 'false'
|
|
30
|
+
|
|
31
|
+
- name: Check for daprd vulnerabilities
|
|
32
|
+
id: check-daprd
|
|
33
|
+
run: |
|
|
34
|
+
# Extract vulnerabilities specifically from daprd binary
|
|
35
|
+
DAPRD_VULNS=$(cat trivy-container-results.json | jq -r '
|
|
36
|
+
.Results[]
|
|
37
|
+
| select(.Target | contains("daprd"))
|
|
38
|
+
| .Vulnerabilities // []
|
|
39
|
+
| length
|
|
40
|
+
' | awk '{s+=$1} END {print s+0}')
|
|
41
|
+
|
|
42
|
+
echo "daprd_vulns=$DAPRD_VULNS" >> $GITHUB_OUTPUT
|
|
43
|
+
|
|
44
|
+
if [ "$DAPRD_VULNS" -gt 0 ]; then
|
|
45
|
+
echo "::warning::Found $DAPRD_VULNS vulnerabilities in daprd runtime!"
|
|
46
|
+
echo "has_daprd_vulns=true" >> $GITHUB_OUTPUT
|
|
47
|
+
else
|
|
48
|
+
echo "daprd runtime is clean (0 vulnerabilities)"
|
|
49
|
+
echo "has_daprd_vulns=false" >> $GITHUB_OUTPUT
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
- name: Check for CLI vulnerabilities
|
|
53
|
+
id: check-cli
|
|
54
|
+
run: |
|
|
55
|
+
# Extract vulnerabilities from dapr CLI
|
|
56
|
+
CLI_VULNS=$(cat trivy-container-results.json | jq -r '
|
|
57
|
+
.Results[]
|
|
58
|
+
| select(.Target | contains("usr/local/bin/dapr"))
|
|
59
|
+
| .Vulnerabilities // []
|
|
60
|
+
| length
|
|
61
|
+
' | awk '{s+=$1} END {print s+0}')
|
|
62
|
+
|
|
63
|
+
echo "cli_vulns=$CLI_VULNS" >> $GITHUB_OUTPUT
|
|
64
|
+
echo "Found $CLI_VULNS HIGH/CRITICAL vulnerabilities in dapr CLI"
|
|
65
|
+
|
|
66
|
+
- name: Generate scan summary
|
|
67
|
+
run: |
|
|
68
|
+
echo "## Vulnerability Scan Summary" >> $GITHUB_STEP_SUMMARY
|
|
69
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
70
|
+
echo "| Component | HIGH/CRITICAL Vulns | Status |" >> $GITHUB_STEP_SUMMARY
|
|
71
|
+
echo "|-----------|---------------------|--------|" >> $GITHUB_STEP_SUMMARY
|
|
72
|
+
echo "| daprd (runtime) | ${{ steps.check-daprd.outputs.daprd_vulns }} | ${{ steps.check-daprd.outputs.daprd_vulns == '0' && '✅ Clean' || '⚠️ Action Required' }} |" >> $GITHUB_STEP_SUMMARY
|
|
73
|
+
echo "| dapr CLI | ${{ steps.check-cli.outputs.cli_vulns }} | ℹ️ Upstream issue |" >> $GITHUB_STEP_SUMMARY
|
|
74
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
75
|
+
echo "**Note:** CLI vulnerabilities are in unused code paths (Helm packages)." >> $GITHUB_STEP_SUMMARY
|
|
76
|
+
|
|
77
|
+
- name: Create issue if daprd has vulnerabilities
|
|
78
|
+
if: steps.check-daprd.outputs.has_daprd_vulns == 'true'
|
|
79
|
+
uses: actions/github-script@v7
|
|
80
|
+
with:
|
|
81
|
+
script: |
|
|
82
|
+
const title = '🚨 Security: Vulnerabilities detected in daprd runtime';
|
|
83
|
+
const body = `## Vulnerability Alert
|
|
84
|
+
|
|
85
|
+
The scheduled vulnerability scan has detected **HIGH/CRITICAL vulnerabilities** in the daprd runtime binary.
|
|
86
|
+
|
|
87
|
+
### Details
|
|
88
|
+
- **Vulnerabilities found:** ${{ steps.check-daprd.outputs.daprd_vulns }}
|
|
89
|
+
- **Scan date:** ${new Date().toISOString().split('T')[0]}
|
|
90
|
+
|
|
91
|
+
### Recommended Actions
|
|
92
|
+
1. Check if Chainguard has a patched version: \`apk search dapr\`
|
|
93
|
+
2. If available, update Dockerfile to use Chainguard APK
|
|
94
|
+
3. If not, contact Chainguard via their support channel
|
|
95
|
+
|
|
96
|
+
### References
|
|
97
|
+
- [Chainguard DAPR packages](https://images.chainguard.dev/directory/image/dapr-daprd/compare)
|
|
98
|
+
- [DAPR releases](https://github.com/dapr/dapr/releases)
|
|
99
|
+
|
|
100
|
+
/cc @atlanhq/builder-experience
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
// Check if similar issue already exists
|
|
104
|
+
const issues = await github.rest.issues.listForRepo({
|
|
105
|
+
owner: context.repo.owner,
|
|
106
|
+
repo: context.repo.repo,
|
|
107
|
+
state: 'open',
|
|
108
|
+
labels: 'security,daprd-vulnerability'
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
if (issues.data.length === 0) {
|
|
112
|
+
await github.rest.issues.create({
|
|
113
|
+
owner: context.repo.owner,
|
|
114
|
+
repo: context.repo.repo,
|
|
115
|
+
title: title,
|
|
116
|
+
body: body,
|
|
117
|
+
labels: ['security', 'daprd-vulnerability', 'priority:high']
|
|
118
|
+
});
|
|
119
|
+
console.log('Created new security issue');
|
|
120
|
+
} else {
|
|
121
|
+
console.log('Security issue already exists, skipping creation');
|
|
122
|
+
}
|
{atlan_application_sdk-2.3.0 → atlan_application_sdk-2.3.2}/.github/workflows/trivy-container.yaml
RENAMED
|
@@ -7,12 +7,21 @@ on:
|
|
|
7
7
|
secrets:
|
|
8
8
|
ORG_PAT_GITHUB:
|
|
9
9
|
required: true
|
|
10
|
+
CHAINGUARD_USERNAME:
|
|
11
|
+
required: true
|
|
12
|
+
CHAINGUARD_PASSWORD:
|
|
13
|
+
required: true
|
|
10
14
|
|
|
11
15
|
inputs:
|
|
12
16
|
skip-files:
|
|
13
17
|
description: "Comma-separated list of files or directories to be skipped"
|
|
14
18
|
required: false
|
|
15
19
|
type: string
|
|
20
|
+
fail-on-vulns:
|
|
21
|
+
description: "Whether to fail if HIGH/CRITICAL vulnerabilities with fixes are found"
|
|
22
|
+
required: false
|
|
23
|
+
type: string
|
|
24
|
+
default: 'true'
|
|
16
25
|
|
|
17
26
|
permissions:
|
|
18
27
|
contents: read
|
|
@@ -29,4 +38,8 @@ jobs:
|
|
|
29
38
|
|
|
30
39
|
- uses: "atlanhq/application-sdk/.github/actions/trivy-container@main"
|
|
31
40
|
with:
|
|
41
|
+
chainguard-username: ${{ secrets.CHAINGUARD_USERNAME }}
|
|
42
|
+
chainguard-password: ${{ secrets.CHAINGUARD_PASSWORD }}
|
|
32
43
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
44
|
+
skip-files: ${{ inputs.skip-files }}
|
|
45
|
+
fail-on-vulns: ${{ inputs.fail-on-vulns }}
|