Table of Contents |
---|
Release Date: June 30th, 2021
Namer: Lenny Goodell and MIke Johanson (Intel)
The Ireland Release is the 2nd major release and 8th overall community release of EdgeX Foundry. Note: Ireland is not backward compatible with any previous releases of EdgeX (versions 1.x)!
...
- V2 APIs - all new REST endpoints using improved model objects (for request and responses) and improved API URIs,
- Use of message bus between Device Services and Application Services (Core Data can also subscribe to the sensor readings or be removed if persistence is not necessary)
- Improved security to include enabling the Consul API through the API Gateway, providing a common means for all services to retrieve secrets from the secret store, and a means for Consul to bootstrap with its ACL system enabled which provides for better protection of the key/value configuration.
- Simplified Device Profiles
- Addition of new Device Services (LLRP, GPIO, CoAP, and UART)
- New Graphical User Interface
- Removal of a lot of technical debt accumulated over four years (example: port assignments that align with IANA defined dynamic/private port range definition)
Known Bugs
There are no known bugs at this time.
Service by Service Feature List
...
- Create and modified fields will be missing when querying Device and Device Service on Core Metadata (see https://github.com/edgexfoundry/edgex-go/issues/3630)
- Core command will crash if the device service address for the device service is unreachable (see https://github.com/edgexfoundry/edgex-go/issues/3611)
- The edgex-launch.sh script is still referenced in the make run of the edgex-go Makefile. This script was deprecated and removed. (see https://github.com/edgexfoundry/edgex-go/issues/3607)
- Note: the launch script is no longer used for Ireland. Information in the bug lists rationale and work arounds.
- App service panics when MQTTSecretSend AuthMode is blank - a bug in the app functions SDK (https://github.com/edgexfoundry/app-functions-sdk-go/issues/920)
- Note: Fixed for Ireland & Jakarta. see https://github.com/edgexfoundry/app-functions-sdk-go/pull/926
- App SDK 2.0.1 and App Service Configurable 2.0.1 released. Latest Ireland compose files have been updated with App Service Configurable 2.0.1
- Call to log correlation ID results in unsupported value type in the app functions SDK (see https://github.com/edgexfoundry/app-functions-sdk-go/issues/923)
- Note: Fixed for Ireland & Jakarta. see https://github.com/edgexfoundry/app-functions-sdk-go/issues/923
- App SDK 2.0.1 and App Service Configurable 2.0.1 released. Latest Ireland compose files have been updated with App Service Configurable 2.0.1
- FilterByResource on the app functions SDK creates a new event without required fields (see https://github.com/edgexfoundry/app-functions-sdk-go/issues/922)
- Note: Fixed for Ireland & Jakarta. see https://github.com/edgexfoundry/app-functions-sdk-go/issues/922
- App SDK 2.0.1 and App Service Configurable 2.0.1 released. Latest Ireland compose files have been updated with App Service Configurable 2.0.1
- App Service Configurable Profiles missing/incorrect MQTT MessageBus settings (see https://github.com/edgexfoundry/app-service-configurable/issues/304)
- Note: fixed for Jakarta, see: https://github.com/edgexfoundry/app-service-configurable/pull/305
- The device-coap service uses an older base Alpine image that contains a number of critical CVE issues and needs to be updated.
- Note: Fixed for Ireland & Jakarta. see https://github.com/edgexfoundry/device-coap-c/pull/16
- Latest Ireland compose builder has been updated with Device Coap 2.0.1
- REST endpoints do not gracefully handle request timeout configured by bootstrap (see https://github.com/edgexfoundry/edgex-go/issues/2462)
- Note: fixed for Jakarta, see: https://github.com/edgexfoundry/go-mod-bootstrap/pull/267
- [Makefile] Clean deletes non-EdgeX volumes (see https://github.com/edgexfoundry/edgex-compose/issues/156)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/edgex-compose/pull/168
- Logging of EDGEX_CONF_DIR override is incorrect (see https://github.com/edgexfoundry/go-mod-bootstrap/issues/264)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/go-mod-bootstrap/pull/266
- Compose Builder doesn't handle command properly for secure TAF functional compose file (see https://github.com/edgexfoundry/edgex-compose/issues/164)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/edgex-compose/pull/165
- Compose Builder make down fails due to removal of add-device-random.yml (see https://github.com/edgexfoundry/edgex-compose/issues/150)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/edgex-compose/pull/151
- Compose Builder doesn't handle command properly for secure TAF functional compose file (see https://github.com/edgexfoundry/edgex-compose/issues/164)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/edgex-compose/pull/165
- Miss created and modified fields when querying Device and Device Service (see https://github.com/edgexfoundry/edgex-go/issues/3630)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/go-mod-core-contracts/pull/653
- The Id field should accept the empty string in update DTO if the name is provided (see https://github.com/edgexfoundry/go-mod-core-contracts/issues/640)
- Note: fixed for Jakarta, see https://github.com/edgexfoundry/go-mod-core-contracts/pull/648
Service by Service Significant Feature List
General
- Upgraded to Go 1.16, Redis to 6.2.4, Consul to 1.9.5, Kong to 2.4.1, Vault to 1.7.2
- All services had their APIs updated to the new V2 API formats and object models
- Port assignments were changed for all services to align them with IANA dynamic/private port ranges) in order to avoid conflicts with standard system and service ports
- Archive/removal of unused services & code (Logging service, MongoDB, Drools Rules Engine)
Core / Supporting Services
- Core Data is made optional (as an optional subscriber) when using the message bus to send events/readings to application services.
- Device Profiles were greatly simplified
- A new graphical user interface (using Angular.js) was added (offering a new Device wizard, data visualization, service status monitoring and more)
Device Services
- Device Services send event/readings to Application Services via message bus (default) - allowing for better QoS and removing the need for Core Data when persistence is not needed
- Contribution of new GPIO, CoAP, LLRP and UART Device Services. These will be upgraded to v2.0 over the summer of 2021.
- New structured custom configuration capability
Security
- Secrets provider for all – providing a common means for all services to retrieve secrets from the secret store (ex: Vault)
- Enable Consul API through API Gateway
- Secured Consul: Consul is now bootstrapped and started with its ACL system enabled (better authentication/authorization)
Application Services
- LLRP Inventory App Service (in Go)
- New structured custom configuration capability
- New filter functions for ProfileName and SourceName
- Encryption function use of Secret Provider for encryption key
- New template for quick start of new custom app service
- New custom trigger capability for custom app services
- Multiple message bus subscriptions which enables multiple filter by subscriptions
- New Context Storage capability (Key Value store on the App Function Context)
- Export to multiple HTTP endpoints via function chaining
- URL/PublishTopic placeholder capability (using key/values from Context Storage to replace placeholders in export URL or PublishTopic)
- Cleaned Up Configuration to include trigger configuration structured better and configurable pipeline that is more concise and consolidated
DevOps
- Cleaned up Docker image naming/descriptions/archive tagging
- Cleaned/improved Docker Compose creation and organization
- Community notifications on build failures
- Repository Badging – improve adopter comfort
- Developer Documentation
Test/QA
- Integration testing (from DS to rules engine checks)
- Performance testing
Changelogs
Core, Supporting, System Management, and Security Services Changelog
...