Refactor and enhance Azure Opex Dashboard functionality#290
Conversation
…tion, and OA3 resolver
…ate tests to verify behavior
…ation utilities and implementing Zod schemas for improved type safety and validation
…to utils, and update references in resolver and endpoint-parser
…line the project structure
…edundant comments and streamline resource group naming
… consolidate dashboard generation to use AzureDashboardCdkBuilder
…amline command handling and improve error reporting
…orts to use module syntax and improve error handling
…emove unused cdktf.json, and enhance error handling in OA3Resolver
…ons; enhance tsup configuration for better output
…dency for opex-dashboard-ts and upgrade cdktf provider version
…ted imports; remove unused azure-opex-cdk.ts file
- Created metadata.json for the Opex Dashboard stack, defining various availability and response time alerts. - Implemented addAzureDashboard function to initialize the AzureOpexStack with validated configuration and parsed endpoints. - Integrated OpenAPI spec resolution and endpoint parsing for dynamic dashboard generation.
- Separate domain, application, and infrastructure layers - Implement ports & adapters pattern - Move business logic to domain services - Create adapters for external dependencies - Update tests and documentation - All tests passing
…orAdapter; refactor related services and update exports
|
| path | ||
| .replace(/\{[^}]+\}/g, "[^/]+") // Replace {param} with [^/]+ |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
|
|
||
| /* Convert placeholders like {serviceId} or {ServiceID} to {service_id} for display */ | ||
| export function normalizePathPlaceholders(path: string): string { | ||
| return path.replace(/\{([^}]+)\}/g, (_, name) => `{${toSnakeCase(name)}}`); |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
| input | ||
| .trim() | ||
| // remove leading slashes to avoid leading underscores later | ||
| .replace(/^\/+/, "") | ||
| // normalize spaces and unsupported chars | ||
| .replace(/\s+/g, "-") | ||
| .replace(/[{}]/g, "") | ||
| .replace(/[^a-zA-Z0-9-_/]/g, "-") | ||
| // drop trailing slashes first | ||
| .replace(/\/+$/g, "") |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
|
|
||
| - name: Get terraform version from .terraform-version file | ||
| id: get-version | ||
| uses: pagopa/dx/.github/actions/get-terraform-version@main |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| done | ||
|
|
||
| - name: Azure Login | ||
| uses: pagopa/dx/.github/actions/azure-login@main |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
|
|
||
| - name: Terraform Setup | ||
| id: set-terraform-version | ||
| uses: pagopa/dx/.github/actions/terraform-setup@main |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
| - name: Post Plan on PR | ||
| id: comment | ||
| if: always() && github.event_name == 'pull_request' | ||
| uses: pagopa/dx/actions/pr-comment@main |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
… for generated infrastructure
…pendencies in turbo.json
|
This PR exceeds the recommended size of 800 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size. |
|
Tip ✅ All Terraform module locks are up to dateNo module changes detected - everything is in sync! 📋 Pre-commit Output LogGenerated on Sun Sep 14 10:38:17 UTC 2025 |
📋 Pre-commit Output LogGenerated on Sun Sep 14 10:40:17 UTC 2025 |
Introduce a structured approach to the Azure Opex Dashboard with improved configuration validation, streamlined CLI commands, and enhanced testing. I
Update documentation and contributing guidelines to reflect the new structure and features.