Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-1966

Full list of policies for APIcast self managed

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Minor Minor
    • 2.7 GA
    • None
    • Infra, System
    • None
    • Full list of policies for APIcast self managed
    • 0
    • Not Started
    • Not Started
    • In Progress
    • Not Started
    • Not Started
    • Not Started
    • 0% To Do, 0% In Progress, 100% Done

      Use Cases

      1. As an API provider using SaaS and APIcast self-managed, I want to be able to see all default policies in the UI by default.
      2. As an API provider using SaaS and APIcast self-managed, I want to be able to get updated policies in the UI when I upgrade my APIcast self-managed.
      3. As an API provider using on-premises and APIcast in a different environment than the API manager, I want to be able to see all default policies in the UI by default (and my 3scale installation has access to the internet so policies can be fetched)
      4. As an API provider using on-premises and APIcast in a different environment than the API manager, I want to be able to see all default policies in the UI by default (3scale installation doesn't have access to internet) --> let's add to have this use case present as well.

      Currently in 3scale SaaS, there are a few APIcast policies which are not available in the UI by default. That's because these policies don’t work at all with APIcast hosted. However, they work with APIcast self-managed and could be shown in the UI.
      To improve the user experience, we’d like to show all the standard policies in the UI when the user selects ‘APIcast self-managed’ in the Integration section.

      Expected behavior

      When the user goes to Integration settings and selects APIcast self-managed (see image below)

      All the standard policies should be available to be added to the policy chain. That is in here (see image below):

      Policies which are currently “missing” (they are in the APIcast image though), are:

      • 3scale Batcher Policy
      • Edge Limiting Policy
      • Logging Policy
      • OAuth 2.0 Token Introspection Policy
      • TLS Client Certificate Validation

      Dev notes

      Implementation proposition

      Phase 1

      THREESCALE-2698
      1. http://policies.apicast.io/latest/policies.json pointing to http://policies.apicast.io/3.5.0/policies.json (the latest released version of APIcast deployed). This will be a configuration settings in System.

      Phase 2

      THREESCALE-2699
      2. Create a table gateway_settings where we will be storing the apicast_default_policies_url (It could be stored as a JSON so it will be more flexible to add non-indexed fields later)
      3. When a service is using APIcast self-managed, then the default URL (1) will be used
      4. There will be in the UI/API a way to set the apicast_default_policies_url so that it will override the default (3)

      Implementation hints:

      We would need to modify https://github.com/3scale/porta/blob/ee40057e6bb2922be9f68223e2d27f6c2fb68d8f/app/services/policies/policies_list_service.rb#L15-L17 to accept if it is self-managed or hosted and use the proper URL accordingly

              Unassigned Unassigned
              tmaas-1 Thomas Maas
              Jakub Smadis Jakub Smadis (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: