Topic: EdgeX - Monthly Architects Meeting
Time: Oct 19, Nov 30 2020 10:00 AM Pacific Time (US and Canada)
Every month on the Third Mon, until Nov 18, 2024, 50 occurrence(s)
Please download and import the following iCalendar (.ics) files to your calendar system.
Dial by your location
+1 669 900 6833 US (San Jose)
+1 253 215 8782 US (Tacoma)
+1 346 248 7799 US (Houston)
+1 646 558 8656 US (New York)
+1 301 715 8592 US (Germantown)
+1 312 626 6799 US (Chicago)
877 369 0926 US Toll-free
855 880 1246 US Toll-free
+1 778 907 2071 Canada
+1 204 272 7920 Canada
+1 438 809 7799 Canada
+1 587 328 1099 Canada
+1 647 374 4685 Canada
+1 647 558 0588 Canada
855 703 8985 Canada Toll-free
Meeting ID: 353 955 907
Find your local number: https://zoom.us/u/ajhw77vTU
Architects Meeting - EdgeX Microservice Authentication.pptx.pdf (Bryon's presentation)
- Is the Wiki the best place to document project decisions (those outside of or smaller than ADRs). This was our initial take. Should we revisit?
- New topics from Ireland Planning MeetingCore/High - Ensure that service location data is pulled from trusted source (i.e. not Consul) (Tony's ADR)
- Covered in Security WG
- High - V2 API - should we add security foundation added to that (per some of earlier V2 API designs via Dell and Bryon N)?
- Adding token to authenticate a micro service call (is this in scope for Ireland)
- May not be needed unless all services are distributed
- We need to explore alternatives to provide secure / locked out service to service communications
Address how to get device resource info (for app services and Kuiper)
Probably not ADR worthy
Either provide Lenny’s convenience APIs or tool to dig out the device resource information in the (cached) profiles
- How/when to invalidate the cache if we use the profile-digging approach
- ADR being created and to be reviewed in the Security WG.
- Med - Event and Readings have many redundant properties. (added per Core WG 2/18/21)
Could we remove device profile and device name fields in reading (and just use those in Event)?
Would anyone need to query Readings and need the profile or device name when they just pulled Readings independently?
Are there other places where Readings become divorced from Events and we need to consider the consequences of duplicating fields in each? If so, would it be better just to have Readings have a reference to its “owning” Event?
- Med - Keep commit history from beginning to end (don’t squash them until PR approved)
- Med - Standardizing units of measure
- Med - Declarative Kong applicability
- Allowing us to drop Progress DB
- But can you configure groups/users ACL
- Only supports JWT users
- Low - Is the Wiki the best place to document project decisions (those outside of or smaller than ADRs). This was our initial take. Should we revisit?
- Low (must be done before V2 is done) - Naming scheme changes for config.Clients (key name change)
- Use consistent name that all other services use for core data
- Consistency in the naming vs changing all the names to use service name as part of key
Docker image naming - resolve naming standard we want
Drop “go” suffix and “docker” prefix??
- What version of Alpine for Docker images (make them consistent?)
How to handle binary data in V2
Is CBOR still the right way?
Simplicity versus performance
We should have new requirements/use cases to change this
- Revisit combing Related to system management hard coded list of services.
- Separate issue in arch meeting – high once report back
- Other naming issues (secret store vs secret service)
- Opportunity to make all config/naming consistent
- Jim take resp – get WG leads – try to prioritize this survey
- Low - Revisit combine core services at least at all executables in one image
- Release would be easier but image would be bigger with more complex compose files
Keep commit history from beginning to end (don’t squash them until PR approved)
Standardizing units of measure
- Per Core WG of 2/18/21 - is it at least worth exploring the combination of Core Metadata and Core Command since the two have to share so much data?
- Core command is just a proxy service today, but reasons for having a separate service include: additional security to protect actuation; issue multiple device commands with one request (make one request and fire it to all Modbus devices or all devices under the control of one service); provide the means to limit requests down to a device so as not to overwhelm it or wake it up). These needs could also be incorporated into a combined metadata service but there are advantages to separation of concerns.
- Low - Digital twin (and LWM2M) applicability
Declarative Kong applicability
- Low - Time series database support and applicability
On Hold Topics or Pending Research
- How should we apply semantic versioning to modules? When do we update the minor and major versions of modules? (comes from the Hanoi planning meetings)
- Decision was to release (and tag) them with each EdgeX release (major)
- Enforce backward compatibility within a major release
- Scope this work for Ireland as it will impact DevOps (Jim to get with Ernesto)
- How do we review/remove artifact removal (docker images in Docker Hub, snaps, etc.)?
- Decision made to tag "latest" dot release with X.Y tagging and use X.Y in Docker Compose files (see minutes from 8/20).
- Open discussion still around what to do with old (very old) images.
- Let’s check what are other projects doing in this case (Kong, Consul, Vault, …)?
Also consult with community and adopters; what do they expect from us? Accenture, ThunderSoft, …
Jim to take this research and poll of adopters
- Adopters have been polled. Most want images available indefinitely. Tibco suggested keep them one year.
- Other organizations (Kong, Consul, Vault, etc.) are not removing images regardless of age or circumstances (there are a few exceptions).
- Is order of event/readings being sent by a single device service important? Are there async operations in any service that could change the order of events as they are sent from a DS to core to application services (with REST, 0MQ or MQTT infrastructure)? What do customers desire here? Is maintained order important? What is the current state of the system and can we diagram/document that?
- Jim to do some research first. Findings: there are places in DS, Core and Application Services where messages can get out of order. If order is something that should be an option built in, it will require much work.
- Adopters have been polled. Only one organization suggested having the option (but not manditory) would be nice. Others indicated they understood ramifications (performance hit) and wanted no changes in this regard.Ian Johnson has an example of app service to InfuxDB export (snap in the store)
- Low - where should tool/script for creating new device and application services be placed?
- After the architect's meeting of Jan 26, 2021, it was decided that "templates" should be created in all SDKs to allow for the easy creation of new services (removing the old samples in the SDKs). The templates will be a means for users to copy and create a new service with some instruction on how to rename and replace TODOs with necessary code.
- After the templates are in place, there is a decision to be made about where automation can be placed to use the templates to create new services (versus a manual copy). In the CLI, in a new tool, in a set of simple scripts?
- Allowing dynamic changes to device profiles
On Hold Topics or Pending Research
None at this time