Use Cases
- 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.
- 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.
- 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)
- 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
- is blocked by
-
THREESCALE-2698 APIcast self-managed full policy list phase 1 - add configuration for default list of policies
- Closed
-
THREESCALE-2699 APIcast self-managed full policy list phase 2 - add configuration of policies per tenant
- Closed
- relates to
-
THREESCALE-2697 Don't show pushed policies in services that use 3scale managed APIcast
- Closed