Skip to content

Commit 3ac9aec

Browse files
committed
feat(onboarding): small improvements and fixes
Improvements and fixes: - Uniformize actor activation code in Mermaid sequence diagram. - Fix erroneous arrows for return messages in onboarding sequence diagram. - Small readibility improvement in onboarding sequence diagram: Request messages have a continuous line and returns a dashed line. - Add to onboarding sequence diagram a box showing the proposal for using a FIDO onboarding workflow. - Improve readability - Add legend - Document possible sequence diagram change - Typos Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
1 parent 8d8274b commit 3ac9aec

File tree

1 file changed

+35
-28
lines changed

1 file changed

+35
-28
lines changed

โ€Žsystem-design/fleet-management/workload/workload-fleet-management-edge-onboarding.mdโ€Ž

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ In order for the Workload Fleet Management software to manage the edge device's
1313
- The device's management client receives the URL for the Git repository containing its desired state and an associated access token for authentication
1414
- The [device capabilities](./device-capability-reporting.md) information is sent from the device to the workload orchestration web service using the [Device API](../../margo-api-reference/workload-api/device-api/device-capabilities.md)
1515

16+
> Note:
17+
> ๐Ÿ” Indicates communication is secure and requires authentication/authorization.
18+
> ๐Ÿ”“ Indicates communication is secure but DOES NOT require authentication/authorization.
19+
1620
``` mermaid
1721
sequenceDiagram
1822
%%{init: {'sequence': {'mirrorActors': false}}}%%
@@ -23,51 +27,54 @@ sequenceDiagram
2327
participant wos as WOS
2428
participant git as WOS: Device Git Repo
2529
note over device, git: Workload orchestration onboarding
26-
user -->> device: Get device id and cert
27-
activate device
28-
device -->> user: return
29-
deactivate device
30-
user -->> wos: Provides device id and cert to pre-register device in end user's tenant ๐Ÿ”
30+
user ->>+ device: Get device id and cert
31+
device -->>- user: return
32+
user ->> wos: Provides device id and cert to pre-register device in end user's tenant ๐Ÿ”
3133
32-
%%note over device, rendezvous: FIDO
33-
user -->> rendezvous: Provides WOS URL
34-
device -->>+ rendezvous: Looks up WOS URL
35-
rendezvous -->>- device: return
36-
device -->>+ wos: Request WOS' public signing cert ๐Ÿ”“
37-
wos -->- device: return
38-
device -->>+ wos: Send onboard request, device id and certificate ๐Ÿ”“
39-
wos -->> wos: Vaidates device id and cert with onboarding registry
40-
wos -->- device: returns URL to check onboarding status
34+
%% A background highlight could be also used here
35+
%% https://mermaid.js.org/syntax/sequenceDiagram.html#background-highlighting
36+
alt FIDO: client-initiated rendezvous
37+
user ->> rendezvous: Provides WOS URL
38+
else FIDO: Discoverable credentials
39+
device ->>+ rendezvous: Looks up WOS URL
40+
rendezvous -->>- device: return
41+
end
42+
device ->>+ wos: Request WOS' public signing cert ๐Ÿ”“
43+
wos -->>- device: return
44+
device ->>+ wos: Send onboard request, device id and certificate ๐Ÿ”“
45+
wos ->> wos: Validates device id and cert with onboarding registry
46+
wos -->>- device: returns URL to check onboarding status
4147
4248
loop until onboarding status is active
43-
device -->>+ wos: Checks onboarding status providing device id and certificate ๐Ÿ”“
44-
wos -->> wos: Validates device id and cert with onboarding registry
45-
wos -->- device: returns in progress
49+
device ->>+ wos: Checks onboarding status providing device id and certificate ๐Ÿ”“
50+
wos ->> wos: Validates device id and cert with onboarding registry
51+
wos -->>- device: returns in progress
4652
end
47-
device -->>+ wos: Checks onboarding status providing device id and certificate ๐Ÿ”“
48-
wos -->> wos: Validates device id and cert with onboarding registry
49-
wos -->- device: returns git repo URL and GitOps token, encrypted client id, encrypted client secret
53+
device ->>+ wos: Checks onboarding status providing device id and certificate ๐Ÿ”“
54+
wos ->> wos: Validates device id and cert with onboarding registry
55+
wos -->>- device: returns git repo URL and GitOps token, encrypted client id, encrypted client secret
5056
51-
device -->> wos: Uploads device capabilities
57+
device ->> wos: Uploads device capabilities
5258
note over device, git: Workload deployment
5359
loop Until end of time
54-
device -->>+ git: Checks for updates to desired state ๐Ÿ”
60+
device ->>+ git: Checks for updates to desired state ๐Ÿ”
5561
git -->>- device: return
5662
opt
57-
device -->> wos: Requests new GitOps token ๐Ÿ”
63+
device ->> wos: Requests new GitOps token ๐Ÿ”
5864
wos -->> device: return
5965
end
60-
device -->> device: Applies new desired state
61-
device -->> wos: Sends state ๐Ÿ”
62-
device -->> wos: Sends state ๐Ÿ”
63-
device -->> wos: Sends final state ๐Ÿ”
66+
device ->> device: Applies new desired state
67+
device ->> wos: Sends state ๐Ÿ”
68+
device ->> wos: Sends state ๐Ÿ”
69+
device ->> wos: Sends final state ๐Ÿ”
6470
end
6571
```
72+
6673
> Action: FIDO Device onboarding has not been finalized as the standard onboarding solution. Further discussion/investigations are needed.
6774
6875
### Configuring the Workload Fleet Management Web Service URL
6976

70-
> Action: Ideally this URL is discoverable instead of having to manually enter it but we still need to determine if there is a good way to make this discoverable by using something like the FDO Rendezvous service or multicast DNS. Also, once we determine how the Margo compliant device onboarding and fleet management is going to work it will probably impact this.
77+
> Action: Ideally this URL is discoverable instead of having to manually enter it but we still need to determine if there is a good way to make this discoverable by using something like the FIDO Rendezvous service or multicast DNS. Also, once we determine how the Margo compliant device onboarding and fleet management is going to work it will probably impact this.
7178
7279
To ensure the management client is configured to communicate with the correct Workload Fleet Management web service, the device's management client needs to be configured with the expected URL. The device vendor MUST provide a way for the end user to manually set the URL the device's management client uses to communicate with the workload orchestration solution chosen by the end user.
7380

0 commit comments

Comments
ย (0)
โšก