Skip to content

Handle downtimes based on the feed topology type - #475

Open
cthermolia-grnet wants to merge 1 commit into
develfrom
handleDowntimes
Open

Handle downtimes based on the feed topology type#475
cthermolia-grnet wants to merge 1 commit into
develfrom
handleDowntimes

Conversation

@cthermolia-grnet

Copy link
Copy Markdown
Collaborator

This pull request introduces support for dynamically selecting the downtime source based on the tenant feed topology.

The Compute Engine now checks the feed topology type to decide whether downtimes should be retrieved from the Argo Web API or the Argo Monitoring Status API.

Behavior:

  • If feed topology checking is enabled and the topology is external, downtimes are retrieved from the Argo Web API.
  • If feed topology checking is enabled and the topology is not external, downtimes are retrieved from the Argo Monitoring Status API.
  • If feed topology checking is disabled, downtimes are retrieved from the Argo Web API (existing behavior).

Changes implemented:

  • Added new optional runtime parameters:

    • --check-feed
      Defines if the feed topology should be checked before selecting the downtime source.

      • true: the feed topology is checked and the downtime source is selected accordingly.
      • false: the Argo Web API is always used as the downtime source.
    • --keycloak.url
      Keycloak URL used by the Compute Engine service to obtain an access token.

    • --status.api.endpoint
      Monitoring Status API endpoint used as a downtime source for non-external feed topologies.

    • --compute.engine.client.id
      Client ID of the Compute Engine service used for Keycloak authentication.

    • --compute.engine.secret
      Client secret of the Compute Engine service used for Keycloak authentication.

  • Implemented Keycloak client integration:

    • Added a client responsible for obtaining access tokens for the Compute Engine service.
    • The token is used to authenticate requests against the Monitoring Status API.
  • Implemented StatusApiResourceManager:

    • Added functionality to communicate with the Argo Monitoring Status API.
    • Enables retrieval of downtimes from the Monitoring Status API when required by the feed topology.

Testing:

  • Verify that downtimes are retrieved from the Argo Web API when feed checking is disabled.
  • Verify that external feed topologies continue using the Argo Web API.
  • Verify that non-external feed topologies retrieve downtimes from the Monitoring Status API.
  • Verify successful Keycloak authentication and authenticated API communication.

@cthermolia-grnet
cthermolia-grnet requested a review from kaggis August 5, 2026 11:35
@cthermolia-grnet cthermolia-grnet self-assigned this Aug 5, 2026
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