Skip to content

Express Gateway Roadmap

Al Tsang edited this page Feb 28, 2018 · 30 revisions

The Express Gateway roadmap consists of three parts:

  1. features request and feedback in Express Gateway Feathub
  2. this wiki document that captures all features under considered at the epic level
  3. the Waffle.io task board that the Express Gateway contributors use to prioritize feature for the next release

Timeframes

The timeframes for consideration to implement new features

Timeframe Description
Backlog immediately being considered or worked on for next release
Short Term a few minor releases out
Medium Term several minor releases out
Long Term not until the next major release

New Features

Backlog (Next Few Minors)

  • OpenAPI Support
    • ingest OpenAPI spec and scaffold EG configuration
    • federate OpenAPI over EG instances
    • create spec
    • spike
    • story prefix "OpenAPI:" in Waffle.io task board
  • OpenID 1.0 Policy
    • create spec
    • spike
    • story prefix "OpenID:" in Waffle.io task board
  • Plugin Framework - Iteration 2
    • spec
    • development plan
    • new credential types
    • new services
    • new models
    • CLI (additional Yeoman generators)
    • decouple CLI from config files (use Admin API only)
    • story prefix "Plugin Framework:" in Waffle.io task board
  • Microservice/Service discovery and orchestration
    • spec
    • spike
    • story prefix "Service Discovery:" in Waffle.io task board
  • High Availability through Clustering
    • create spec
    • spike
    • story prefix "Clustering:" in Waffle.io task board

Short Term (Several Minors Out)

  • Core: Response object interceptor
  • Refactor OAuth2 out as plugin
  • Refactor JWT out as a plugin
  • Advanced Logging format
  • CLI Interface Enhancements
  • API (group of API endpoints)
  • Microservice (group of service endpoints)
  • (TBD from perf testing)
  • soap2json Policy (outbound)
  • json2soap Policy (inbound)
  • Websocket support

Medium Term (Several Minors Out)

  • Datastore - Postgres
  • Serverless Integration (Lambda)
  • Serverless Integration (OpenWhisk)
  • Express Middleware to EG Policy transformer/converter
  • Caching Policy
  • Quota Policy
  • OAuth2 Introspection (Resource server only)
  • RBACL Plugin
  • Bot Detection Policy
  • Logging - statsd Policy
  • Logging - syslog Policy

Long Term (Next Major)

  • GraphQL
  • SAML Policy (see Auth Integration)
  • LDAP Policy (see Auth Integration)
  • HMAC Policy

Completed Features

v1.7.0

  • Environment Variable Support
    • allow variables within config files
    • follows Docker conventions

v1.6.0

  • Schema Validation extended to CLI
    • enhanced prompting
    • validation of options and parameters
    • story prefix "JSON Scheme Validation:" in Waffle.io task board

v1.5.0

  • JWT 3rd party verification
  • JWT System of Record issuer

v1.4.0

  • Migration capabilities
  • Added schema definition to Typescript definition file
  • Redis sentinel support and ioredis driver replacement
  • Authenticated, Anonymous and passthrough flags
  • Header policy
  • Terminate policy
  • Enhanced proxy policy for more options

v1.3.0

  • Admin API: configure pipelines, endpoints and policies
  • Typescript definition file for plugins
  • Schema validator for polices, plugins, options

v1.2.0

  • Plugin Framework Iteration 1: policies,conditions, routes, event handlers
  • CLI extension to install and configure plugins

v1.1.0

  • Proxy Load Balancing with Round Robin

v1.0.0 (MVP + Phase 1)

  • EG Foundational Core
  • API Endpoints
  • Service Endpoints
  • Pipelines
  • Policies (multiple condition + action pairs)
    • Condition -- Parameter
    • Action -- Parameter
  • Scopes
  • CLI interface
  • Partial REST Admin API (enter application data only)
  • Hot Reload and Dynamic Config
  • Docker support and Docker Image
  • TLS/SNI Management
  • Policies
    • Simple Reverse Proxy - LoadBalancing
    • CORS
    • Rate Limiting
    • Simple Logging
    • Basic Auth
    • Key Auth
    • OAuth2 (authorization and resource server) Authentication And Authorization
  • Consumer Management
    • Users
    • Apps
    • Credentials
    • Credentials Scopes
    • Token Management (auth and refresh)
  • Datastore - Redis
Clone this wiki locally