ServiceHub Overview
ServiceHub is a Konnect SaaS functionality module that lets you catalog all of your services in a single system of record. This catalog represents the single source of truth of your organization’s service inventory and their dependencies.
Using ServiceHub, you can catalog, manage, and track every service in your entire architecture.
Services in the ServiceHub catalog
Each entry in ServiceHub is called a Service. This is the abstraction of one of your own upstream services.
A Service in ServiceHub breaks down into multiple configuration versions, and can be implemented to route to any endpoint you like.
- Service: The abstraction of one of your own services. For example, it might represent a data transformation microservice or a billing API.
- Service Version: One instance, or implementation, of the Service with a unique configuration. A Service can have many versions, and each version can have different configurations, set up for a RESTful API, gPRC endpoint, GraphQL endpoint, and others.
- Service Implementation: The concrete, runnable incarnation of a Service version. Each Service version can only have one implementation.
The main attribute of a Service version is its Upstream URL, where the service listens for requests. You can specify the URL with a single string, or by specifying its protocol, host, port, and path individually.
See more:
Kong Gateway implementations
When configuring a Kong Gateway implementation of a Service, you’ll need to specify a Route. Routes determine how (and if) requests get sent to their Services after they reach the API gateway. A single Service version can have only one implementation, but potentially many Routes.
After configuring the Service, version, implementation, and at least one Route, you’ll be able to start making requests through Konnect SaaS.
Dev Portal
ServiceHub natively integrates the Dev Portal into Service configuration. Admins can publish Services directly from ServiceHub to the Dev Portal, where application developers can search, discover, and consume existing Services.
The Dev Portal in Kong Konnect contains an API catalog, allowing you to document all of your Services and their versions.
Through ServiceHub, publish your Service to the Dev Portal and set up the following for any Service:
- Markdown documentation: A description of your Service. Applies to every Service version.
- Version spec: An OpenAPI (Swagger) document in YAML or JSON format. Applies to a specific Service version.
See more:
Kong Gateway plugins
Plugins can be configured to run in a variety of contexts, ranging from a specific Service version or Route to all Service versions. Plugins can execute actions inside Kong Konnect before or after a request has been proxied to the upstream API, as well as on any incoming responses.
Any plugins supported in a self-hosted Hybrid mode deployment are also accessible through ServiceHub.
Functionality differences from self-hosted Kong Gateway
The Portal Application Registration plugin is enabled automatically when you enable application registration for the Dev Portal. You don’t need to enable it directly.
Plugin limitations
The Rate Limiting and
Rate Limiting Advanced
plugins only support the redis
strategy, for which you must provide your own
Redis cluster.
The following plugins are not available with Konnect SaaS:
- Key Auth Encrypted
- OAuth2 Authentication
- OAuth2 Introspection
- Request Size Limiting
- Apache OpenWhisk
- Datadog
- Zipkin
- Exit Transformer
- Request Transformer
- Request Transformer Advanced
- Response Transformer Advanced
- Route Transformer Advanced
Custom plugins and serverless functions
Currently, there is no way to add a custom plugin or a serverless function directly through the Konnect SaaS application. Contact Kong Support to get them manually added to your organization.
Custom plugins must not have the following:
- Admin API extensions: No
api.lua
file - Custom plugin database tables: No
dao.lua
file - Custom function validations: No function definitions in
schema.lua
- Code that runs on the control plane in the plugin handler:
- No
init_worker
callback - No Lua code outside of the top-level functions
- No
- Third-party library dependencies: No
require()
calls to modules that are not bundled by default with Kong Konnect
If your plugin meets these requirements and you want to use it in Konnect SaaS, contact Kong Support.
See more: