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 availability 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 | ✅ | Available as of version 1.18: Set up PortalGroups to authorize users to select ApiProducts based on the claims in their OAuth ID token. For more information, see Portal AuthZ. |
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 | ✅ | Available as of version 1.18: You can provision and manage API keys through the Portal, by creating Applications and API subscriptions. |
Self-service for OAuth registration via the portal | ✅ | Available as of version 1.18: You can set up an OIDC provider to register apps with OAuth protection through the Portal by integrating with the Identity Provider (IdP) Service Programming Interface (SPI). |
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 | ✅ | Gloo Portal has two integrations with Backstage: a sample frontend application and a backend capability so that you can build your own frontend. |
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 one Portal custom resource in your Gloo Gateway environment.
Gloo Portal API compatibility
To create a developer portal in Gloo Gateway, you use a combination of Gloo APIs and Kubernetes Gateway APIs as follows.
- The gateway that the developer portal is exposed on is a Kubernetes Gateway API.
- To configure routing to the developer portal and APIs, use Kubernetes HTTPRoute and RouteOptions.
- To choose the APIs to route to and add metadata that is displayed in the developer portal, use Gloo ApiDocs and ApiProducts.
If you want to create a developer portal that is exposed on a classic Envoy-based gateway with Gloo APIs, see the separate Gloo Portal product and doc set.
Known issues
Gloo Portal for Gloo Gateway has the following known issues:
- The portal does not support selecting HTTPRoutes across multiple gateways. This issue is anticipated to be fixed in a future 1.18.x patch version. Workarounds include using separate listeners on a single gateway.
- Multi-tenancy for multiple portal server deployments in the same cluster is not supported.
- Multiple replicas of the portal server is not supported.
- 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 trigger discovery and generation of the ApiDocs.