Docs theme updates (#2971)
* Update architecture diagram and theme colors * Update state and proxy diagrams
@@ -455,7 +455,7 @@ Authorization: GatewayToken mySecureToken987654321
|
||||
| **Pre-assignment** | Possible before device connects | Only after first poll |
|
||||
| **Scalability** | Manual or scripted bulk creation | Automatic, scales infinitely |
|
||||
| **Device Attributes** | Must be set via separate request | Device sends on first connection |
|
||||
| **Audit Trail** | `createdBy: admin` | `createdBy: system` |
|
||||
| **Audit Trail** | createdBy: admin | createdBy: system |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -22,16 +22,16 @@ It is possible that in the future hawkBit will fully leverage these additional s
|
||||
|
||||
The *DDI* API allows the device to provide the following feedback messages:
|
||||
|
||||
| **DDI `status.execution` type** | **Handling by update server** | **Mapped ActionStatus type** |
|
||||
|--------------------------------|--------------------------------|-------------------------------|
|
||||
| CANCELED | This is sent by the target as confirmation of a cancellation request by the update server. | CANCELED |
|
||||
| REJECTED | This is sent by the target in case an update or cancellation is rejected, i.e. cannot be fulfilled at this point in time. Note: the target should send a CLOSED→ERROR if it believes it will not be able to proceed the action at all. | WARNING |
|
||||
| CLOSED | Target completes the action either with [`status.result.finished`](../status-result-finished.md) SUCCESS or FAILURE as result. Note: DDI defines also a status NONE which will not be interpreted by the update server and handled like SUCCESS. | **ERROR** (DDI FAILURE) or **FINISHED** (DDI SUCCESS or NONE) |
|
||||
| DOWNLOAD | This can be used by the target to inform that it is downloading artifacts of the action. | DOWNLOAD |
|
||||
| DOWNLOADED | This can be used by the target to inform that it has downloaded artifacts of the action. | DOWNLOADED |
|
||||
| PROCEEDING | This can be used by the target to inform that it is working on the action. | RUNNING |
|
||||
| SCHEDULED | This can be used by the target to inform that it scheduled the action. | RUNNING |
|
||||
| RESUMED | This can be used by the target to inform that it continued to work on the action. | RUNNING |
|
||||
| DDI status.execution type | Handling by update server | Mapped ActionStatus type |
|
||||
|-------------------------------|----------------------------|---------------------------------------------------------------|
|
||||
| CANCELED | This is sent by the target as confirmation of a cancellation request by the update server. | CANCELED |
|
||||
| REJECTED | This is sent by the target in case an update or cancellation is rejected, i.e. cannot be fulfilled at this point in time. Note: the target should send a CLOSED→ERROR if it believes it will not be able to proceed the action at all. | WARNING |
|
||||
| CLOSED | Target completes the action either with **status.result.finished** SUCCESS or FAILURE as result. Note: DDI defines also a status NONE which will not be interpreted by the update server and handled like SUCCESS. | **ERROR** (DDI FAILURE) or **FINISHED** (DDI SUCCESS or NONE) |
|
||||
| DOWNLOAD | This can be used by the target to inform that it is downloading artifacts of the action. | DOWNLOAD |
|
||||
| DOWNLOADED | This can be used by the target to inform that it has downloaded artifacts of the action. | DOWNLOADED |
|
||||
| PROCEEDING | This can be used by the target to inform that it is working on the action. | RUNNING |
|
||||
| SCHEDULED | This can be used by the target to inform that it scheduled the action. | RUNNING |
|
||||
| RESUMED | This can be used by the target to inform that it continued to work on the action. | RUNNING |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -6,28 +6,28 @@ Targets represent devices or software instances that can receive software update
|
||||
|
||||
**Filterable/Sortable Fields:**
|
||||
|
||||
| Field | Description | Type |
|
||||
|------------------------------------|----------------------------------------------------------------------|------|
|
||||
| `controllerId` | Unique identifier of the target | String |
|
||||
| `name` | Display name | String |
|
||||
| `description` | Description text | String |
|
||||
| `updateStatus` | Current update status (UNKNOWN, IN_SYNC, PENDING, ERROR, REGISTERED) | Enum |
|
||||
| `address` | IP address or URI | String |
|
||||
| `lastTargetQuery` | Last time the target polled (timestamp in ms) | Long |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| `assignedDistributionSet.name` | Name of assigned distribution set | String |
|
||||
| `assignedDistributionSet.version` | Version of assigned distribution set | String |
|
||||
| `installedDistributionSet.name` | Name of installed distribution set | String |
|
||||
| `installedDistributionSet.version` | Version of installed distribution set | String |
|
||||
| `targetType.key` | Target type key | String |
|
||||
| `targetType.name` | Target type name | String |
|
||||
| `tags.name` | Tag name | String |
|
||||
| `group` | Group name | String |
|
||||
| `metadata.<key>` | Metadata value by key | String |
|
||||
| `controllerAttributes.<key>` | Controller attribute by key | String |
|
||||
| Field | Description | Type |
|
||||
|----------------------------------|----------------------------------------------------------------------|------|
|
||||
| controllerId | Unique identifier of the target | String |
|
||||
| name | Display name | String |
|
||||
| description | Description text | String |
|
||||
| updateStatus | Current update status (UNKNOWN, IN_SYNC, PENDING, ERROR, REGISTERED) | Enum |
|
||||
| address | IP address or URI | String |
|
||||
| lastTargetQuery | Last time the target polled (timestamp in ms) | Long |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
| assignedDistributionSet.name | Name of assigned distribution set | String |
|
||||
| assignedDistributionSet.version | Version of assigned distribution set | String |
|
||||
| installedDistributionSet.name | Name of installed distribution set | String |
|
||||
| installedDistributionSet.version | Version of installed distribution set | String |
|
||||
| targetType.key | Target type key | String |
|
||||
| targetType.name | Target type name | String |
|
||||
| tags.name | Tag name | String |
|
||||
| group | Group name | String |
|
||||
| metadata.<key> | Metadata value by key | String |
|
||||
| controllerAttributes.<key> | Controller attribute by key | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
@@ -63,20 +63,20 @@ Distribution Sets are collections of software modules that can be deployed to ta
|
||||
|
||||
| Field | Description | Type |
|
||||
|-------|-------------|------|
|
||||
| `id` | Unique identifier | Long |
|
||||
| `name` | Distribution set name | String |
|
||||
| `version` | Version string | String |
|
||||
| `description` | Description text | String |
|
||||
| `type.key` | Distribution set type key | String |
|
||||
| `type.name` | Distribution set type name | String |
|
||||
| `valid` | Whether the DS is valid for deployment | Boolean |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| `tags.name` | Tag name | String |
|
||||
| `modules.name` | Software module name | String |
|
||||
| `metadata.<key>` | Metadata value by key | String |
|
||||
| id | Unique identifier | Long |
|
||||
| name | Distribution set name | String |
|
||||
| version | Version string | String |
|
||||
| description | Description text | String |
|
||||
| type.key | Distribution set type key | String |
|
||||
| type.name | Distribution set type name | String |
|
||||
| valid | Whether the DS is valid for deployment | Boolean |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
| tags.name | Tag name | String |
|
||||
| modules.name | Software module name | String |
|
||||
| metadata.<key> | Metadata value by key | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
@@ -106,18 +106,18 @@ Rollouts are used to deploy software to groups of targets in a controlled manner
|
||||
|
||||
| Field | Description | Type |
|
||||
|-------|-------------|------|
|
||||
| `id` | Unique identifier | Long |
|
||||
| `name` | Rollout name | String |
|
||||
| `description` | Description text | String |
|
||||
| `status` | Rollout status (CREATING, READY, PAUSED, STARTING, RUNNING, FINISHED, etc.) | Enum |
|
||||
| `distributionSet.id` | Distribution set ID | Long |
|
||||
| `distributionSet.name` | Distribution set name | String |
|
||||
| `distributionSet.version` | Distribution set version | String |
|
||||
| `distributionSet.type` | Distribution set type | String |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| id | Unique identifier | Long |
|
||||
| name | Rollout name | String |
|
||||
| description | Description text | String |
|
||||
| status | Rollout status (CREATING, READY, PAUSED, STARTING, RUNNING, FINISHED, etc.) | Enum |
|
||||
| distributionSet.id | Distribution set ID | Long |
|
||||
| distributionSet.name | Distribution set name | String |
|
||||
| distributionSet.version | Distribution set version | String |
|
||||
| distributionSet.type | Distribution set type | String |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
@@ -144,26 +144,26 @@ Actions represent deployment operations assigned to targets.
|
||||
|
||||
| Field | Description | Type |
|
||||
|-------|-------------|------|
|
||||
| `id` | Unique identifier | Long |
|
||||
| `status` | Action status (SCHEDULED, RUNNING, FINISHED, ERROR, CANCELED, etc.) | Enum |
|
||||
| `active` | Whether the action is currently active | Boolean |
|
||||
| `weight` | Priority weight (0-1000) | Integer |
|
||||
| `lastActionStatusCode` | Last status code reported | Integer |
|
||||
| `externalRef` | External reference string | String |
|
||||
| `target.controllerId` | Target controller ID | String |
|
||||
| `target.name` | Target name | String |
|
||||
| `target.updateStatus` | Target update status | Enum |
|
||||
| `distributionSet.id` | Distribution set ID | Long |
|
||||
| `distributionSet.name` | Distribution set name | String |
|
||||
| `distributionSet.version` | Distribution set version | String |
|
||||
| `rollout.id` | Rollout ID | Long |
|
||||
| `rollout.name` | Rollout name | String |
|
||||
| `rolloutGroup.id` | Rollout group ID | Long |
|
||||
| `rolloutGroup.name` | Rollout group name | String |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| id | Unique identifier | Long |
|
||||
| status | Action status (SCHEDULED, RUNNING, FINISHED, ERROR, CANCELED, etc.) | Enum |
|
||||
| active | Whether the action is currently active | Boolean |
|
||||
| weight | Priority weight (0-1000) | Integer |
|
||||
| lastActionStatusCode | Last status code reported | Integer |
|
||||
| externalRef | External reference string | String |
|
||||
| target.controllerId | Target controller ID | String |
|
||||
| target.name | Target name | String |
|
||||
| target.updateStatus | Target update status | Enum |
|
||||
| distributionSet.id | Distribution set ID | Long |
|
||||
| distributionSet.name | Distribution set name | String |
|
||||
| distributionSet.version | Distribution set version | String |
|
||||
| rollout.id | Rollout ID | Long |
|
||||
| rollout.name | Rollout name | String |
|
||||
| rolloutGroup.id | Rollout group ID | Long |
|
||||
| rolloutGroup.name | Rollout group name | String |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
@@ -199,17 +199,17 @@ Software Modules are individual software components that make up distribution se
|
||||
|
||||
| Field | Description | Type |
|
||||
|-------|-------------|------|
|
||||
| `id` | Unique identifier | Long |
|
||||
| `name` | Module name | String |
|
||||
| `version` | Version string | String |
|
||||
| `description` | Description text | String |
|
||||
| `type.key` | Software module type key | String |
|
||||
| `type.name` | Software module type name | String |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| `metadata.<key>` | Metadata value by key | String |
|
||||
| id | Unique identifier | Long |
|
||||
| name | Module name | String |
|
||||
| version | Version string | String |
|
||||
| description | Description text | String |
|
||||
| type.key | Software module type key | String |
|
||||
| type.name | Software module type name | String |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
| metadata.<key> | Metadata value by key | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
@@ -236,14 +236,14 @@ Target Filter Queries define RSQL filters for grouping targets, used for rollout
|
||||
|
||||
| Field | Description | Type |
|
||||
|-------|-------------|------|
|
||||
| `id` | Unique identifier | Long |
|
||||
| `name` | Filter name | String |
|
||||
| `autoAssignDistributionSet.name` | Auto-assign DS name | String |
|
||||
| `autoAssignDistributionSet.version` | Auto-assign DS version | String |
|
||||
| `createdAt` | Creation timestamp | Long |
|
||||
| `createdBy` | Creator username | String |
|
||||
| `lastModifiedAt` | Last modification timestamp | Long |
|
||||
| `lastModifiedBy` | Last modifier username | String |
|
||||
| id | Unique identifier | Long |
|
||||
| name | Filter name | String |
|
||||
| autoAssignDistributionSet.name | Auto-assign DS name | String |
|
||||
| autoAssignDistributionSet.version | Auto-assign DS version | String |
|
||||
| createdAt | Creation timestamp | Long |
|
||||
| createdBy | Creator username | String |
|
||||
| lastModifiedAt | Last modification timestamp | Long |
|
||||
| lastModifiedBy | Last modifier username | String |
|
||||
|
||||
**Example Queries:**
|
||||
```
|
||||
|
||||
2
docs/graphics-source/architecture.drawio
Normal file
2
docs/graphics-source/rollout-state-machine.drawio
Normal file
|
Before Width: | Height: | Size: 404 KiB After Width: | Height: | Size: 271 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 916 KiB After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 295 KiB |
|
Before Width: | Height: | Size: 269 KiB After Width: | Height: | Size: 248 KiB |
@@ -74,7 +74,7 @@ SPDX-License-Identifier: EPL-2.0
|
||||
<style>
|
||||
|
||||
body, input {
|
||||
background-color: #f0eeea;
|
||||
background-color: #F0EEEA;
|
||||
}
|
||||
|
||||
.sidebar-sep {
|
||||
@@ -96,6 +96,22 @@ SPDX-License-Identifier: EPL-2.0
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
thead tr {
|
||||
background-color: #015585;
|
||||
color: #f0eeea;
|
||||
}
|
||||
tbody tr:nth-child(odd) {
|
||||
background-color: #9abfdf;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.markdown-section code,.markdown-section pre {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<style>
|
||||
|
||||
@@ -47,13 +47,13 @@ The cascading execution of the deployment groups is based on two thresholds that
|
||||
|
||||
### State Machine on Rollout
|
||||
|
||||
<p align="center">
|
||||
<img src="images/rollout-state-machine.png" alt="Clustering Diagram" width="1200"/>
|
||||
<p>
|
||||
<img src="images/rollout-state-machine.png" alt="Rollout state machine diagram" width="1200"/>
|
||||
</p>
|
||||
|
||||
|
||||
### State Machine on Rollout Deployment Group
|
||||
<p align="center">
|
||||
<img src="images/deploymnet-group-state-machine.png" alt="Clustering Diagram" width="1200"/>
|
||||
</p>
|
||||
|
||||
---
|
||||
<p>
|
||||
<img src="images/deploymnet-group-state-machine.png" alt="Deployment group state machine diagram" width="1200"/>
|
||||
</p>
|
||||
@@ -16,6 +16,6 @@ provisioning".
|
||||
| REGISTERED | Target registered at the update server but no _Distribution Set_ assigned. Is the initial starting point for plug-and-play devices. |
|
||||
|
||||
## Transitions
|
||||
<p align="center">
|
||||
<img src="images/targetStatusStates.png" alt="Clustering Diagram" width="1100"/>
|
||||
<p>
|
||||
<img src="images/targetStatusStates.png" alt="Clustering Diagram" width="800"/>
|
||||
</p>
|
||||
|
||||