Hanoi Release
Code Freeze: Oct 28, 2020
Release: Nov 18, 2020
Namer: Joan Duran
The Hanoi release is anticipated to be dot release (v 1.3); with experimental V2 APIs for some services. This release shall have no non-backward compatible changes (with 1.0,1.1 or 1.2 releases).
Release Themes and Objectives
Start of the implementation of the V2 API
Preparing EdgeX for some major new features and version 2.0 in 2021
Support running a service on a different host than the other services. Specifically making it easier to run a device service on a different host that the rest of Edge. As a stretch to this goal, allow for select service high availability.
Securing the REST communications between services (HTTPS)
Automating performance testings
Include a data filter between DS and Core Data (align with and share App Service filter function if possible
General
Most important features we are currently working on (in priority order)
V2 API (partially deliver in Hanoi)
Allow device services to be distributed to alternate hosts
Implement a message bus between device services and application services
Move to Go 1.15 when available in August
Design a message bus implementation between device services and application service (stretch goal to provide implementation)
Allow device services to be distributed to alternate hosts
V2 API - “experimental”
For core, device services, application services, and SDKs V2 API minus security
Supporting services may remain at V1
Stretch: explore possible collapse of core command and metadata
Stretch: deprecate Mongo
Core and Supporting Services
V2 API for core services
Stretch: dropping the log service
Establish a roadmap for the UI
Determine if UI should be in separate repo
UI secrets management
UI incorporation of new rules engine
Test/QA
EdgeX V2 API Blackbox tests (TAF)
Stretch: User guidance on platform needs (want it badly but not under current V2 API and TAF work)
More performance statistics
Device Service & SDKs
Add V2 API
Message bus (DS to appl service; design first and stretch impl)
Protect the device from harmful commands, there should be the possibility to set a Min and Max limit (or other profile checks to protect the device).
Data filter design between DS and Core Data
Stretch: design bound checking (lead an ADR proposal)
Application Services and App Functions SDK
Add V2 API
Message bus (DS to appl service; design first and stretch impl)
Deprecate Drools rules engine
Design metadata about the “gateway” or host platform (identity, location, …)
Develop a Kuiper road map; explore project's roadmap for additional requests
Add EdgeX specific Kuiper documentation
Address issues with binary data and Kuiper
System Management
Service list fix - SMA errors when supporting service is not running
Review and improve how SMA polls services
CLI improvements
Security
Provide “HOW-TO” guides for following in priority order:
SSH Tunnel (needs document and docker compose file snippets and may need some special containers for ssh/sshd or instructions for their setup)
Overlay network (needs document and docker compose file examples/snippets)
Service mesh (needs document and script on how to automate)
An abstraction and pluggable mechanism to provide generation of secrets
Address containers security issues
Design secure subsystem launch/bootstrap dependencies
Review design of Hardware Root of Trust - API with pluggable implementation
Kong: enable CORS for API Gateway
Kong: Secure admin port with TLS
Design enablement of Vault PKI secret engine
Develop process for security vetting of 3rd party components
DevOps
Performance Optimizations
Jenkins Pipeline optimizations for edgex-go
Explore options from LF for supporting Jenkins on K8s
Develop process for security and license vetting of 3rd party components
Stretch: Restructuring our compose files to take advantage of compose file overrides, which removed the duplication in all our compose files.
Stretch: code Coverage for Jenkins Global Libraries (codecov.io)
Stretch: Snap improvements (WIP)
Miscellaneous
Certification/Endorsement process of device services
Next steps in Ideation/Topcoder challenge (virtual hackathon challenges)
Exploration of how to facilitate Kubernetes with the Open Horizon sister project
Decisions, actions and notes taken from Hanoi planing meeting (April 2020)