Dev Portal for Istio is deployed on Kubernetes
Dev Portal is composed of the following components
- Dev Portal operator - Monitors Custom Resources and modifies Istio and Envoy configurations.
- Admin server - Backend for Dev Portal administrator UI.
- ExtAuth - Extends Istio to include external authentication sources.
- Rate Limiting - Extends Istio to allow for rate-limiting of API consumption.
- Redis - Data store for rate limiting
Custom Resource Definitions
- APIDocSpec - An APIDoc tells the DevPortal controller how to load an API Specification Document. APIDocs define the operations which are be bundled and exposed in API Products.
- APIProductSpec - API Products define a group of API Operations (endpoints) to be published for use by Developers. The API Product resource declares which APIs are bundled together as well as how to route to the backends serving those APIs.
- PortalSpec - A PortalSpec tells the Dev Portal Operator to fetch and serve static assets which are used by the Dev Portal UI. Each portal can publish one or more API Products.
- UserSpec - A User defines an entity which can authenticate to the Portal App. Users are members of Groups, which determines which ApiDocs they can see.
- GroupSpec - A Group can be use to define access levels for a set of users.
- AccessLevel - An AccessLevel defines the set of Portals and API Products accessible by Users or Groups.