About Gloo Portal
Learn about the benefits, feature status, and FAQs of Gloo Portal.
Gloo Portal is a key part of managing the API services that you expose with Gloo Gateway. Portal uses both Gloo and Kubernetes custom resources to create a secure developer portal.
Benefits
Review the following table to learn more about Gloo’s unique approach to solving the key challenges of API management.
Feature | Gloo resources | Benefit |
---|---|---|
Self-service API registration | Kubernetes labels on deployments, ApiDocs, ApiProducts, HTTPRoutes | Your developers continue to deploy their apps in Kubernetes as they normally do. They can choose to label their services so that Gloo automatically detects and creates an ApiDoc for their service. Or, if they do not want to change their app configuration, they can manually create an ApiDoc. Similarly, the team can set up the route tables either to automatically include new services as routes via labels or by manually adding the routes. This flexibility lets your team take the best approach for your internal DevOps processes. For more information, see Create your APIs. |
Flexible API products | ApiSchemaDiscovery, ApiDoc, ApiProduct | By separating the API specification from the apps, your developers do not necessarily have to know or select which products their apps belong to. Instead, the product owner or portal admin can decide to bundle several ApiDocs into one or many ApiProducts. By using an ApiProduct, you can automatically add apps via Kubernetes labels or specify them at more fine-grained levels. The ApiProducts select the HTTPRoutes that are used to expose your apps. HTTPRoutes provide advanced networking control, such as matching, redirect, rewrite, direct response, and forwarding actions. This way, you can set up complex rules for how your API products behave under different circumstances. |
API versioning and lifecycle management | ApiProduct | The ApiProduct includes special portal metadata. You can customize details about your ApiProduct, such as by providing a title, description, version, terms of service, licensing, and lifecycle management information. After you deploy a frontend application for your portal, your end users can review the metadata in the portal to help them use your ApiProducts. |
Flexible portal deployments | Portal | You can use the Portal custom resource to create a developer portal that you can share with your users. Each developer portal can be set up to serve only the ApiProducts that you want to expose to your users. For more information, see Create a portal. |
API documentation | ApiDocs, sample React app | The ApiDoc resource has the OpenAPI spec for your apps. This spec can be used to automatically render your API documentation. You can reuse and customize the sample React app that Gloo provides to display your API documentation in the developer portal. The docs automatically appear when you add new APIs to your portal environment. |
Portal web UI and branding | Sample React app, ApiProduct | You control how your developer portal is displayed to users. Gloo provides a sample React app that you can use as a starting point. Additionally, you can configure metadata in the ApiProducts that shows up in the developer portal. This way, you don’t have to update the developer portal app as often after the initial setup. |
Feature status
Review the following feature availabiity for the current release of Gloo Portal for Gloo Gateway.
Feature | Status | Description |
---|---|---|
Gateway API compatibility | Kubernetes Gateway API | Use the Portal to securely share API products that are exposed through a Kubernetes Gateway API. To create a portal with the classic Edge Gateway API, you can use classic Gloo Portal. To create a portal for Istio-based gateways, use the portal for Gloo Mesh Gateway. |
Backend portal server | ✅ | The portal server that you deploy during an installation or upgrade of Gloo Gateway. |
Automatic API discovery | ✅ | Create your Kubernetes services with annotations so that Gloo automatically discovers and creates ApiDocs for each service. |
Bundle APIs into individual ApiProducts | ✅ | Create ApiProducts by targeting the HTTPRoute that has the path to all the backing services that you want to be consumable via the ApiProduct. You can also configure custom portal metadata such as titles, versions, and compatibility so that end users know how to use your ApiProducts. |
Stitched schemas for ApiDocs | ✅ | Gloo automatically stitches together the OpenAPI schemas of each ApiDoc in an ApiProduct. |
API visibility | 🟡 | You can set up public or private visibility of APIs in the portal. However, private APIs are currently not discoverable until login becomes available. |
Rate limiting and authentication for APIs | 🟡 | You can configure rate limiting and external auth policies for your HTTPRoutes via RouteOptions. However, these policies are not yet manageable through the portal. |
Self-service for API keys via the portal | ❌ | Currently, provisioning and managing API keys through the portal are available only for the classic Gloo Portal or for Gloo Mesh Gateway Portal, not for this Gloo Gateway Portal. |
Self-service for OAuth registration via the portal | ❌ | Currently, setting up an OIDC provider for registering apps with OAuth protection through the portal is available only for the classic Gloo Portal or for Gloo Mesh Gateway Portal, not for this Gloo Gateway Portal. |
Configurable Portal resource | ✅ | Create a Portal to configure the domain that you want your ApiProducts to be available on. |
Frontend portal app | 🟡 | Solo provides a sample dev-portal-starter React app that you can use as a starting point to develop your own frontend portal app. |
Backstage app | ❌ | Currently, Backstage is available only for the classic Gloo Portal or for Gloo Mesh Gateway Portal, not for this Gloo Gateway Portal. |
Login for the frontend portal | ❌ | Currently, setting up an OIDC provider for enforcing a login to the portal is available only for the classic Gloo Portal or for Gloo Mesh Gateway Portal, not for this Gloo Gateway Portal. |
Frequent asked questions (FAQs)
Review the following FAQs to understand more about the Gloo Portal product.
How many portals can I have?
You can have as many developer portals as you want. You create a separate Portal custom resource for each portal, but you might choose to reuse different combinations of ApiProducts and HTTPRoutes.
Example uses cases for multiple portals:
- Internal vs. external developer portals
- Domain boundaries for customers, partners, and end-users
- Regional boundaries
What product is this Gloo Portal compatible with?
Product | Gateway API | Compatible portal |
---|---|---|
Gloo Gateway | Kubernetes Gateway API | Gloo Gateway’s Portal, which shares an architecture with Gloo Mesh Gateway Portal, but has several important differences. |
Gloo Gateway | Classic Edge API | Classic Gloo Portal, which is maintained as a separate product and doc set. |
Gloo Mesh Gateway | Istio Gateway API | Gloo Mesh Gateway’s Portal, which shares an architecture with Gloo Gateway Portal, but has several important differences. If you deploy Portal in a Mesh-only environment, the portal would be internal-only. To expose your portal to external end-users, you must also have a Gloo Mesh Gateway license. |
How is this Gloo Portal different from previous Portal offerings from Solo?
This Gloo Portal for Gloo Gateway is based on a completely refreshed API design from classic Gloo Portal. As such, these Portals are different products with different custom resources, capabilities, and deployment patterns.
The Gloo Portal offerings for both Gloo Mesh Gateway and Gloo Gateway with the Kubernetes Gateway API share a backend codebase and similar architecture. However, because Gloo Gateway uses Kubernetes-native routing resources such as the Kubernetes Gateway API and HTTPRoute, the implementation details differ. In particular, the following areas are different across these portals for different Gloo products.
Portal area | Portal for Gloo Gateway | Portal for Gloo Mesh |
---|---|---|
Gateway that the portal is exposed on | Kubernetes Gateway API | Gloo VirtualGateway that selects an Istio gateway |
Routing configuration to the portal and APIs | Kubernetes HTTPRoute and RouteOptions | Gloo RouteTables |
API products | Gloo ApiDocs and ApiProducts | Gloo ApiDocs and RouteTable portal metadata |
Known issues
Gloo Portal for Gloo Gateway has the following known issues:
- Routes that are exposed in a portal do not support regular expression path rewrites.
- When you upgrade or install the portal server, the portal does not regenerate ApiDocs for APIs that are marked with service annotations for automatic discovery. You can edit the service to retrigger discovery and generation of the ApiDocs.