Summary and Next Steps
Estimated time: ~10 minutes
Learning objectives
-
Recap the 3scale → Connectivity Link mapping patterns
-
Recall the decommission checklist before removing 3scale
-
Know where to go for docs, day-2 UIs, and troubleshooting
Congratulations! You have completed the migration workshop. This module recaps what you learned, shows the conversion patterns, and provides links to official documentation.
What you accomplished
-
Reviewed prerequisites and environment sizing
-
Explored the 3scale environment — Products, Backends, Application Plans, APIcast
-
Explored the Connectivity Link environment — Gateway, HTTPRoute, OIDCPolicy, AuthPolicy, RateLimitPolicy, PlanPolicy, APIProduct
-
Compared both approaches side by side across authentication, rate limiting, GitOps, and developer experience
-
Ran the Developer Hub Golden Path to generate Connectivity Link resources via Software Template
-
Used the strategy UIs: Kuadrant Console, Migration Toolkit, and APIShift
-
(Optional activity) provisioned a RHEL VM with Connectivity Link and API key auth using the RHEL Virtual Machine scaffolder template
-
Verified the migrated application works identically to the 3scale original
-
Used Troubleshooting when needed
Mapping Rules to HTTPRoute conversion
Application Plans to PlanPolicy conversion
3scale Application Plans
applicationPlans:
basic:
name: "Basic Plan"
limits:
- period: minute
value: 60
metricMethodRef:
systemName: hits
premium:
name: "Premium Plan"
limits:
- period: minute
value: 300
metricMethodRef:
systemName: hits
Equivalent PlanPolicy
apiVersion: extensions.kuadrant.io/v1alpha1
kind: PlanPolicy
spec:
plans:
- tier: basic
predicate: |
auth.identity.metadata.annotations["secret.kuadrant.io/plan-id"] == "basic"
limits:
daily: 1000
custom:
- limit: 60
window: "1m"
- tier: pro
predicate: |
auth.identity.metadata.annotations["secret.kuadrant.io/plan-id"] == "pro"
limits:
daily: 10000
custom:
- limit: 300
window: "1m"
Decommission flow
Once the migration is validated, follow these steps to decommission the 3scale environment:
-
Disable traffic to 3scale: Update DNS or Routes to point exclusively to the Connectivity Link gateway.
-
Disable the 3scale Product: Set the Product to "disabled" or remove the public endpoint.
-
Verify no traffic: Monitor 3scale analytics to confirm zero traffic.
-
Delete 3scale resources: Remove the Product, Backend, and Application CRDs.
-
Delete the source namespace:
oc delete namespace neuralbank-3scale(ornfl-wallet-3scale). -
Remove 3scale Operator (optional): If no other APIs use 3scale, uninstall the operator.
| Do not delete the source namespace until you have fully validated the Connectivity Link environment in production. |
Official documentation
| Product | Documentation |
|---|---|
Red Hat 3scale API Management |
https://docs.redhat.com/en/documentation/red_hat_3scale_api_management/ |
Red Hat Connectivity Link |
https://docs.redhat.com/en/documentation/red_hat_connectivity_link/ |
Kuadrant (upstream) |
|
Gateway API |
|
Red Hat Developer Hub |
https://docs.redhat.com/en/documentation/red_hat_developer_hub/ |
Repository
The source code, Helm charts, Software Templates, and this workshop documentation are available at:
Need help?
See 14. Troubleshooting for common OIDC iframe, Argo CD sync, auth, and showroom refresh issues.
Thank you
This workshop was created by Maximiliano Pizarro and is powered by Kuadrant and Red Hat Developer Hub.