Uploaded image for project: 'FlightPath'
  1. FlightPath
  2. FLPATH-2982

[Spike] Relations between CMMO and Sources API

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • insights-on-prem
    • None

      Understand which requests CMMO makes to the Sources API and which endpoints need to be added or modified in the Koku Sources API to support CMMO.

      Sources API (Go): https://github.com/RedHatInsights/sources-api-go (current)

      Sources API (Ruby, legacy/archived): https://github.com/RedHatInsights/sources-api

      provide a minimal, local “Sources” API compatible with the Cloud Sources v3.1 endpoints below plus the Ingress.

      • provide local Sources‑compatible API:
      • Implement the minimal v3.1 endpoints with these behaviors:
        • Idempotent source create by cluster_id/name.
        • Fixed application_type “cost‑management”.
        • Optional authentication records; store and bind to application.
        • Simple availability/status for the application.
      • Provide an ingress endpoint analogous to POST /api/ingress/v1/upload in your Koku API.
      • Allow CMMO to point at your URLs via env/CR:
        • SOURCES_BASE_URL
        • INGRESS_BASE_URL

      Minimum endpoints to add/modify in Koku on‑prem

      • GET /api/sources/v3.1/source_types?filter[name]=openshift
      • GET /api/sources/v3.1/application_types?filter[name]=cost-management
      • POST /api/sources/v3.1/sources
      • POST /api/sources/v3.1/applications
      • POST /api/sources/v3.1/authentications
      • POST /api/sources/v3.1/application_authentications
      • GET /api/sources/v3.1/sources/:id
      • POST /api/ingress/v1/upload (cost management ingress)

       

              rh-ee-ehendler Elkana Hendler
              rh-ee-ehendler Elkana Hendler
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: