Skip to content

Commit 3791f59

Browse files
DC2-DanielKruegervanch3dcaoccaoschaeboFlorian-Limpoeck
authored
Epic/34901 agent (#1177)
* a bit of cleaning * Merge pull request #1062 * feat(34981): add routes * feat(34981): add activation route * feat(34981): add GET managed assets * feat(34981): add activation token schema * feat(34981): add asset schemas * feat(34981): add asset mapping schema * feat(34981): add Pulse assets to the list of data types * fix(34981): fix descriptions * feat(34981): add parameter * feat(34981): add POST asset * feat(34981): add PUT and DELETE asset * fix(34981): fix paths * fix(34981): fix operation id * feat(34981): add capability for managed assets * refactor(34981): add description to assets * refactor(34981): rename the toke schema and add format * fix(34981): fix typos * Add pulse status endpoint * Added a status for when a newer, incompatible version of the Asset ap… * Add endpoint to root * Pulse status improvements * Merge pull request #1069 * a bit of cleaning * Merge pull request #1062 * feat(34972): add openAPI specs * feat(34972): add openAPI specs * refactor(34972): refactor the dev-only startup * refactor(34972): update mocks * refactor(34972): remove deprecated code * refactor(34972): update openAPI specs * feat(34972): add react0query hooks for the activation token * test(34972): add mocks * test(34972): add tests * test(34972): fix tests * fix(34972): fix flaw in the capability hook * test(34972): add tests * feat(34972): add route for assets * refactor(34972): add optional content to the task specs * feat(34972): add Pulse tasks on the main page * refactor(34972): add optional content to the task specs * refactor(34972): fix layout * feat(34972): add activation trigger * refactor(34972): refactor onboarding to handle errors * test(34972): fix tests * refactor(34972): add simple RJSF validation for JWT * test(34972): add tests * refactor(34972): add support for onError * feat(34972): add the activation panel * feat(34972): update translations * test(34972): update mocks and intercepts * fix(34972): fix import * test(34972): add tests * test(34972): add tests * test(34972): fix tests * test(34972): fix tests * fix(34972): fix translations * feat(34972): add a landing page for the pulse assets * test(34972): add tests * feat(34972): add node types for pulse client and assets * feat(34972): add node types for pulse client and assets * feat(34972): add node for the pulse client * feat(34972): add node for the assets * feat(34972): add node types for pulse client and assets * feat(34972): add default drawer for the pulse nodes * feat(34972): update icons * feat(34972): update translations * test(34972): add tests * test(34972): add tests * test(34972): add tests * test(34972): add tests * fix(34972): fix status * fix(34972): fix aria label * test(34972): add tests * fix(34972): fix translations * test(34972): fix mocks * test(34972): add Page Object for the Pulse Activation and Assets * test(34972): add Page Object for the home page * test(34972): fix imports * test(34972): add onboarding enum * fix(34972): fix the computation of id for non-object root * fix(34972): add toast getters to home page * fix(34972): add submit button getter * test(34972): add e2e tests for pulse activation * fix(34972): a bit of cleaning * fix(34972): fix bug with E2E test * refactor: Update openapi spec for delete/update a token (#1081) * Add REST API for Pulse Agent Activation (#1083) Co-authored-by: Christoph Schaebel <christoph.schaebel@hivemq.com> Co-authored-by: Daniel Krueger <daniel.krueger@hivemq.com> * Merge pull request #1079 * feat(35447): add query key for assets * feat(35447): add react query hooks for assets * feat(35447): add tabular listing of the assets * feat(35447): add action menu for the table items * refactor(35447): update OpenAPi stubs * refactor(35447): fix capability intercept handler * refactor(35447): fix pulse status * test(35447): add tests * refactor(35447): fix adapter status * refactor(35447): export primary key wrapper * feat(35447): add asset listing to the landing page * feat(35447): add pagination utils * feat(35447): add Pulse Activation status badge * feat(35447): add Pulse Asset status badge * feat(35447): add filter and search to the asset list * feat(35447): add custom renderer for sources * feat(35447): add custom renderer for searched text in global filters * feat(35447): add icon and tag for assets * feat(35447): add type for filter metadata in column specs * feat(35447): add custom controls to the table * feat(35447): add global filtering to the table layout * feat(35447): add search toolbar for the table * feat(35447): add main toolbar for the table * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * teat(35447): add tests * fix(35447): fix rendering of highlighted texts * fix(35447): fix translations * test(35447): add tests * test(35447): add tests * fix(35447): fix the definition of filter on multi-values columns * fix(35447): fix filter definition * fix(35447): fix accessors * fix(35447): fix id * refactor(35447): refactor the column filter * test(35447): fix tests * test(35447): fix tests * fix(35447): a bit of cleaning * fix(35447): a little bit of cleaning * fix(35447): fix translations * chore(35447): fix todo * Merge pull request #1092 * refactor(35484): change the signature of the Pulse status * chore(35484): update the OpenAPI specs * Merge pull request #1095 * chore(35702): add redocly openapi starter project * chore(35702): fix port * chore(35702): fix gitignore, scripts and lint rules * chore(35702): fix readme * chore(35702): update redocly to v2 * chore(35702): fix redocly config * Update hivemq-edge-openapi/openapi/README.md * refactor(35534): Add the Pulse agent to the list of valid entities * refactor(35534): Add an optional reference to the managed asset conta… * refactor(35534): refactor the managed asset to only utilise a referen… * Merge pull request #1090 * refactor(35506): add assets to entities * refactor(35506): refactor the Pulse node to add asset badges * refactor(35506): refactor the Asset node to add asset badges * refactor(35506): refactor the property panel * feat(35506): add assets to the node panel * feat(35506): add dynamic columns to the asset table * fix(35506): fix zIndex with all select widgets * fix(35506): fix creation of pulse/asset nodes * fix(35506): fix handles * fix(35506): fix bug with unmapped detection * fix(35506): fix side panel for pulse node * fix(35506): fix default type for assets and pulse nodes * refactor(35506): refactor the workspace command * refactor(35506): add support for pulse nodes * fix(35506): fix default id for pulse nodes * refactor(35506): update the action menu from the asset list * refactor(35506): update translations * test(35506): fix tests * test(35506): add tests * test(35506): add tests * test(35506): add tests * test(35506): fix tests * test(35506): add tests * fix(35506): add state to the test wrapper * test(35506): add tests * test(35506): add tests * test(35506): add tests * test(35506): fix test * chore(35506): a bit of cleaning * fix(35506): fix translations * test(35506): add tests * refactor(35506): add summary version of the actions * test(35506): add tests * fix(35506): a bit of cleaning * feat: Add getPulseStatus to Pulse Agent REST API (#1094) * Merge pull request #1096 * chore(35266): add openapi linting jobs * initial agent WIP * reduce netty version for compatibility with enterprise * initial agent WIP * reduce netty version for compatibility with enterprise * updated gradle node plugin to fix uname error * Merge pull request #1101 * refactor(35801): create distinct endpoint for the combiner-based asse… * Update hivemq-edge-openapi/openapi/paths/pulse/asset-mappers.yaml * Bugfix/35469-set-mapping-to-required (#1100) * Merge pull request #1102 * refactor(35452): update OpenAPI stubs * fix(35452): fix type changes * fix(35452): fix props * fix(35452): fix typescript * refactor(35452): update schema * feat(35452): add aggregated query for mappings and assets * refactor(35452): fix creation order of nodes * fix(35452): fix bug * feat(35452): add custom renderer for the Pulse Agent source in combiner * fix(35452): fix error management * refactor(35452): add detection of asset manager * refactor(35452): rename pulse client to pulse agent * refactor(35452): rename pulse client to pulse agent * refactor(35452): refactor the initial pulse agent connectors * refactor(35452): remove pulse asset node from the configuration * refactor(35452): update icons for pulse elements * refactor(35452): add visual elements for both asset mapper and combiner * refactor(35452): add support for asset mappings * refactor(35452): add support for asset mappings * refactor(35452): add support for asset mappings * refactor(35452): fix translations * test(35452): fix tests * test(35452): fix tests * test(35452): add mocks * test(35452): fix tests * test(35452): add tests * test(35452): fix tests * test(35452): fix tests * refactor(35452): add a custom select component for assets * refactor(35452): a bit of cleaning * test(35452): add tests * fix(35452): remove combiner add button for asset mapper * fix(35452): refactor the asset table to properly render mapping summary * fix(35452): disable filter for sources * fix(35452): fix translations * fix(35452): fix translations * fix(35452): fix bug * fix(35452): handle loading * test(35452): fix tests * test(35452): add tests * Update hivemq-edge-frontend/src/modules/Pulse/hooks/useListManagedAss… * Update hivemq-edge-frontend/src/modules/Pulse/components/assets/Manag… * chore(35452): linting * test(35452): fix tests * test(35452): add tests * test(35452): fix tests * test(35452): fix tests * fix: Set schema to readonly (#1105) * Add REST API for Pulse Assets (#1103) * Merge pull request #1106 * feat(35462): add react query hooks for the pulse status * test(35462): add tests * chore(35462): update dependencies * test(35462): update mocks * feat(35462): add status to the pulse node * feat(35462): add tooltip to the status icons in nodes * feat(35462): add custom tooltip renderers for status icons * feat(35462): update translations * feat(35462): add pulse status handling * feat(35462): linting * test(35462): update mocks * test(35462): add tests * test(35462): add tests * test(35462): add tests * test(35462): add tests * test(35462): add tests * test(35462): fix tests * test(35462): fix getter for workspace nodes * test(35462): fix getter for workspace nodes * test(35462): fix tests * fix(35462): fix fix missing compare function on sort * tests(35462): fix tests * Merge pull request #1113 * refactor(35558): update OpenAPI specs * refactor(35558): update OpenAPI stubs * refactor(35558): fix linting * feat(35558): add route for asset viewer * feat(35558): add basic viewer for the asset * feat(35558): add JSONSchema (RJSF) for the asset * feat(35558): add UISchema (RJSF) for the asset * feat(35558): add custom widget for schema * fix(35558): fix error handling * test(35558): add tests * fix(35558): fix translations * fix(35558): fix translations * test(35558): add tests * feat(35558): add custom validation to asset viewer * test(35558): fix test * test(35558): add test * Merge pull request #1115 * feat(35558): add custom renderer for mapping/combiner reference in asset * feat(35558): add hook for fetching combiner from its mapping * refactor(35558): add right addon to the component * fix(35558): fix types * fix(35558): fix types * refactor(35558): map custom widget to mappingid * test(35558): add tests * test(35558): add tests * test(35558): add tests * fix(35558): linting * chore(35558): linting * refactor(35558): add custom validation for mappingId * test(35558): add tests * fix(35558): fix type * fix(35558): fix custom validator * fix(35558): fix typo * fix(35558): fix bug * fix(35558): linting * fix(35558): linting * fix(35558): simplify expressions * Merge pull request #1120 * fix(35995): fix bug with ReactQuery requests combining * test(35995): fix tests * fix(35995): fix accessibility * fix(35995): fix accessibility * test(35995): fix tests * test(35995): fix tests * test(35995): fix tests * chore(35995): fix typo * chore(35995): fix typo * Merge pull request #1131 * refactor(35449): add provision for a right-hand-side addon * feat(35449): add custom notification badge for asset monitoring * feat(35449): add asset monitoring badge into the navlink for Pulse * feat(35449): add custom todo task for asset monitoring * feat(35449): add asset monitoring into the onboarding list * fix(35449): fix type * fix(35449): fix translations * fix(35449): fix bug * feat(35449): add search param to the navigation route * fix(35449): handle errors * fix(35449): fix accessibility * test(35449): add tests * test(35449): add tests * test(35449): add tests * fix(35449): fix type * fix(35449): fix datatestid * test(35449): add tests * chore(35449): update dependencies * fix(35449): fix typos * Merge pull request #1132 * refactor(35449): update type * refactor(35449): add custom components to the config * fix(35449): fix bug with option list * feat(35449): add custom renderer for the filter's options and value * fix(35449): fix typo * chore(35449): a bit of cleaning * Merge pull request #1136 * refactor(36081): add initial state for the filters * refactor(36081): fix format of search params in onboarding tasks * refactor(36081): set initial state of the asset table from the search… * test(36081): add tests * refactor(36081): fix test wrapper * test(36081): add tests * test(36081): add tests * test(36081): fix tests * Update hivemq-edge-frontend/src/modules/Pulse/components/assets/Asset… * feat: Add vanilla data combining (#1124) * feat: Add persistence for pulse (#1112) * Merge pull request #1137 * refactor(35978): remove old panel controller * refactor(35978): refactor workspace routes * refactor(35978): adda new panel controller * fix(35978): fix route params * fix(35978): fix types * fix(35978): fix routes * test(35978): fix tests * test(35978): fix tests * test(35978): fix tests * refactor(35978): add an optional tab segment in the route * refactor(35978): handle initial tab in forms * test(35978): add tests * test(35978): fix tests * feat: Sync openapi spec * feat: Add more error messages to combiner APIs (#1145) * Merge pull request #1143 * refactor(36051): add react query key for asset mappers * refactor(36051): add CRUD react query hooks * refactor(36051): add mocks * fix(36051): fix imports * test(36051): add tests * test(36051): add tests * test(36051): add tests * test(36051): add tests * test(36051): add tests * test(36051): update mocks and handlers * refactor(36051): refactor the node selection reducers * fix(36051): remove the combiner hacks * refactor(36051): add support for creating an asset mapper * refactor(36051): add asset mappers to the workspace * test(36051): fix tests * refactor(36051): add support for deleting asset mappers * refactor(36051): refactor to use asset mapper as sources * refactor(36051): check for unicity of asset mapper * fix(36051): fix ids * fix(36051): fix translations * fix(36051): fix layout * fix(36051): fix typos * refactor(36051): refactor the translations * test(36051): fix mocks * test(36051): fix tests * fix(36051): fix type * fix(36051): fix translations * refactor(36051): enable asset mapping publishing * chore(36051): a bit of cleaning * fix(36051): fix bug with asset publishing * refactor(36051): fix readability * chore(36051): a bit of cleaning * Merge pull request #1150 * refactor(36222): add an asset name renderer for the mapping table * fix(36222): fix translations * test(36222): fix tests * test(36222): add tests * test(36222): fix tests * feat: Add asset mapper API (#1144) * delete deviation > fix fe * Merge pull request #1157 * refactor(36221): fix the menu operations * refactor(36221): add support for unmapping assets * refactor(36221): fix asset naming * refactor(36221): add support for mapping assets * refactor(36221): fix translations * refactor(36221): add support for edit/create asset mapper from the as… * refactor(36221): update translations * refactor(36221): fix id * refactor(36221): fix custom rendering of selector * test(36221): fix tests * refactor(36221): fix navigation * refactor(36221): fix navigation * refactor(36221): fix navigation * test(36221): fix mocks * test(36221): add tests * test(36221): fix mocks * refactor(36221): add support for unmapping asset * refactor(36221): update translations * test(36221): add tests * test(36221): fix tests * test(36221): refactor tests * test(36221): add tests * chore(36221): linting * chore(36221): update dependencies * chore(36221): update dependencies * test(36221): fix tests * fix(36221): fix comments * fix(36221): fix translations * fix(36221): cleanup * fix(36221): cleanup * doc: Update openapi spec * feat: Add description to asset (#1162) * fix: Fix wrong mappin id calculation in resolveDiff() (#1164) * Removed the call to persist during update (#1171) * fix rebase * Bugfix/36450-separate-combiner-and-asset-mapper (#1178) Co-authored-by: Nicolas Van Labeke <nicolas.vanlabeke@hivemq.com> * Merge pull request #1170 * Merge pull request #1161 * refactor(36429): fix translations for the activation * refactor(36429): fix translations for the mapper wizard * test(36429): add tests * fix(36429): fix bug with mediatype checks * refactor(36429): add component for sources selection * refactor(36429): add support for source selection in mapper * refactor(36429): add support for default source selection in mapper * refactor(36429): add support for default source selection in mapper * fix(36429): ensure permanent sources cannot be deleted * refactor(36429): update translations * test(36429): fix tests * test(36429): fix tests * test(36429): fix tests * test(36429): fix tests * test(36429): fix tests * test(36429): add tests * fix(36429): fix translations * test(36429): add tests * test(36429): add tests * refactor(36429): improve rendering of Workspace edges * chore(36429): update dependencies * chore(36429): linting * test(36429): fix tests * test(36429): fix tests * test(36429): fix tests * fix(36429): linting * test(36429): add tests * test(36429): fix tests * test(36429): a bit of cleaning * test(36429): a bit of cleaning * refactor(36429): refactor layout * test(36429): add tests * fix(36429): cleaning * fix(36429): cleaning * fix(36429): fix translations * Merge pull request #1180 * chore(36591): fix gitignore * refactor(36591): refactor the schema widget * test(36591): add tests * refactor(36591): update translations * Feature/36485 strict validation for asset mapper (#1173) * - Fix some threading (hopefully) - Add back some message guarantees (acks) - Add rerouting * Merge pull request #1183 * chore(36609): update dependencies * chore(36609): fix exports for Maintainability * refactor(36609): change the status of the asset upon mapping * chore(36609): linting * refactor(36609): add current list of mappings to the selector props * refactor(36609): fix the list of acceptable assets for new mappings * refactor(36609): fix the selector update * test(36609): fix tests * test(36609): fix tests * fix(36609): fix bug * test(36609): fix tests * chore(36609): fix code smells * chore(36609): fix code smells * fix: Fix validation (#1185) * Add combining to asset mapper (#1186) * feat: Add AssetMapperManager * fix: Fix destination asset id mapping logic * refactor: Add more log to AssetMapperManager * fix: Fix config copy for AssetMappingExtractor and DataCombiningExtractor * fix: At most one destination per asset (#1189) * feat: Include pulse asset in data combining (#1191) * refactor: Add more logs to AssetMapperManager * refactor: Add more logs to AssetMapperManager 2 * refactor: Add more logs to AssetMapperManager 3 * fix: Add notifyAssetMapper to PulseApiImpl * refactor: Remove additional logs from AssetMapperManager * test: Add validation for asset mapping update during asset update (#1196) * Added env and property to control pulse token location (#1197) * fix: Add notification when assets are changed (#1198) * Merge pull request #1200 * fix(36931): fix missing mappingId * test(36931): fix tests * fix: Patch addAssetMapper to allow updating asset mapping id (#1199) * fix: Allow mapping ID to be set to null in updateManagedAsset (#1202) * fix: Remove check for empty sources, mappings (#1203) * Fixed image hash to point to multiarch and also switched to 21_jre_noble (#1205) * fix(36963) Fix bug with tags and asset/mapper query updates (#1204) * fix(36963): fix bug with adapterId for tag fetching * fix(36963): fix bugs with tag ownership * refactor(36963): trigger refetch for both assets and asset mappers * fix(36963): remove the publishing of asset (#1207) * fix: Remove 1 null check in update (#1208) * fix(36963): revert (#1209) --------- Co-authored-by: Nicolas Van Labeke <nicolas.vanlabeke@hivemq.com> Co-authored-by: Sam Cao <sam.cao@hivemq.com> Co-authored-by: Christoph Schaebel <christoph.schaebel@hivemq.com> Co-authored-by: Florian-Limpoeck <florian.limpoeck@hivemq.com> Co-authored-by: Sam Cao <sjtucaocao@gmail.com> Co-authored-by: Jochen Mader <jochen@codepitbull.de> Co-authored-by: Lukas Brand <lukas.brand@hivemq.com>
1 parent 55ddcdc commit 3791f59

File tree

457 files changed

+21641
-1966
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

457 files changed

+21641
-1966
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: OpenAPI validation
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_call:
6+
7+
defaults:
8+
run:
9+
working-directory: ./hivemq-edge-openapi/
10+
11+
jobs:
12+
linting:
13+
name: OpenAPI specs linting
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: 👓 Checkout repository
17+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
18+
19+
- name: 🏗️ Setup node environment
20+
uses: ./.github/actions/setup_node
21+
with:
22+
working-directory: ./hivemq-edge-openapi/
23+
24+
- name: Install Redocly CLI
25+
run: npm install -g @redocly/cli@latest
26+
27+
- name: Run linting
28+
run: redocly lint openapi/openapi.yaml --format=github-actions

.github/workflows/check.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
outputs:
2020
frontend-changed: ${{ steps.frontend.outputs.changed }}
2121
backend-changed: ${{ steps.backend.outputs.changed }}
22+
openapi-changed: ${{ steps.openapi.outputs.changed }}
2223
steps:
2324
- name: Checkout
2425
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -46,24 +47,47 @@ jobs:
4647
- 'hivemq-edge-frontend/**'
4748
- '.github/**'
4849
49-
check-frontend:
50+
- name: Check for openAPI changes
51+
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
52+
id: openapi
53+
with:
54+
filters: |
55+
changed:
56+
- 'hivemq-edge-openapi/**'
57+
- '.github/**'
58+
59+
check-openapi:
5060
needs: check-for-changes
61+
uses: ./.github/workflows/check-openapi.yml
62+
if: needs.check-for-changes.outputs.openapi-changed == 'true'
63+
64+
check-frontend:
65+
needs: [ check-for-changes, check-openapi ]
5166
uses: ./.github/workflows/check-frontend.yml
5267
if: needs.check-for-changes.outputs.frontend-changed == 'true'
5368
secrets:
5469
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
5570
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
5671

5772
check-backend:
58-
needs: check-for-changes
73+
needs: [ check-for-changes, check-openapi ]
5974
uses: ./.github/workflows/check-backend.yml
6075
if: needs.check-for-changes.outputs.backend-changed == 'true'
6176

77+
6278
check:
6379
runs-on: ubuntu-latest
64-
needs: [check-for-changes, check-frontend, check-backend]
80+
needs: [check-for-changes, check-openapi, check-frontend, check-backend]
6581
if: always()
6682
steps:
83+
- name: Check if openapi job succeeded
84+
if: needs.check-for-changes.outputs.openapi-changed == 'true'
85+
run: |
86+
if [[ "${{ needs.check-openapi.result }}" != "success" ]]; then
87+
echo "OpenAPI check failed"
88+
exit 0
89+
fi
90+
6791
- name: Check if frontend job succeeded
6892
if: needs.check-for-changes.outputs.frontend-changed == 'true'
6993
run: |

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ oci {
199199
imageName.set("hivemq/hivemq-edge")
200200
allPlatforms {
201201
dependencies {
202-
runtime("library:eclipse-temurin:sha256!748920dd9a6261e117da7bcaeaafa109cedd487645f7ea04135f4e3cb73ec079") // eclipse-temurin:21.0.8_9-jre-noble
202+
runtime("library:eclipse-temurin:sha256!f338d0c73119b9d54a8e92213c6b9ebf7275e5f76ba8e487f49360edc1b00958") // eclipse-temurin:21-jre-noble
203203
}
204204
config {
205205
user = "10000"

0 commit comments

Comments
 (0)