Skip to content

Conversation

@njshah301
Copy link
Collaborator

@njshah301 njshah301 commented Nov 24, 2025

This change introduces a comprehensive client to interact with ICANN's Monitoring System API (MoSAPI). This provides direct, automated access to critical registry health and compliance data, moving Nomulus towards a more proactive monitoring posture.

The implementation is structured in layers for clarity and maintainability:

  • A core, stateless MosApiClient that manages communication and authentication with the MoSAPI service using TLS client certificates.
  • Facade clients (ServiceMonitoringClient, DomainMetricaClient) that provide a clean, high-level API for specific MoSAPI features.
  • A service layer (MosapiAlarmService, MosapiDowntimeService, etc.) to encapsulate business logic and data transformation.
  • A new MosApiModule and corresponding Dagger integration to provide all the new components to the application.
  • A suite of new backend API endpoints for querying MoSAPI data:
    • /_dr/mosapi/checkalarm
    • /_dr/mosapi/getServiceState
    • /_dr/mosapi/getServiceDowntime
    • /_dr/mosapi/getMetricaReport
    • /_dr/mosapi/listMetricaReports

This change is Reviewable

This change introduces a comprehensive client to interact with ICANN's
Monitoring System API (MoSAPI). This provides direct, automated access
to critical registry health and compliance data, moving Nomulus towards a
more proactive monitoring posture.

The implementation is structured in layers for clarity and maintainability:
- A core, stateless `MosApiClient` that manages communication and
  authentication with the MoSAPI service using TLS client certificates.
- Facade clients (`ServiceMonitoringClient`, `DomainMetricaClient`) that
  provide a clean, high-level API for specific MoSAPI features.
- A service layer (`MosapiAlarmService`, `MosapiDowntimeService`, etc.) to
  encapsulate business logic and data transformation.
- A new `MosApiModule` and corresponding Dagger integration to provide all
  the new components to the application.
- A suite of new backend API endpoints for querying MoSAPI data:
  - `/_dr/mosapi/checkalarm`
  - `/_dr/mosapi/getServiceState`
  - `/_dr/mosapi/getServiceDowntime`
  - `/_dr/mosapi/getMetricaReport`
  - `/_dr/mosapi/listMetricaReports`
@njshah301 njshah301 requested a review from CydeWeys November 24, 2025 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant