Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
96732e5
refactor: replace custom mosquctl scripts with native mosquitto_ctrl …
May 14, 2026
4f37c04
refactor: replace shell-scripted mosquctl calls with direct mosquitto…
May 14, 2026
c15c71f
add keys to endpoint config
May 14, 2026
40c44fc
change username for iot_access
May 14, 2026
2a6922a
fix: improve error logging and context for ImplicitIotAccessProvider …
May 14, 2026
7b8c4ea
fix: grant service role to Mosquitto admin user to allow direct MQTT …
May 14, 2026
a012228
checkstyle
May 14, 2026
63a5070
quality
May 14, 2026
7ee27a2
gate logging because an alterntaive solution is needed for a remote b…
May 14, 2026
870efe2
fix bad transport and revert bambi hanges
May 15, 2026
8c58423
refactor: wrap source processing logic in a null check for PubSub mes…
May 15, 2026
07a10a7
unify MQTT topic parsing logic to support both implicit and legacy fo…
May 15, 2026
19e5a3f
bugs and style
May 15, 2026
8e6a28a
refactor: require explicit SSL certificate configuration for Mosquitt…
May 16, 2026
13c0622
feat: track gateway bound devices using a dedicated collection and fi…
May 16, 2026
bf4e9c5
perf: optimize device listing in ImplicitIotAccessProvider using para…
May 16, 2026
4950c50
do not create client roles for proxy devices
May 16, 2026
8011f38
use etcd transactions to batch requests together
May 16, 2026
0b5896b
don't delete roles for proxy devices from mosquitto too (because th…
May 16, 2026
466ae18
feat: add progress reporting for gateway bind operations and increase…
May 17, 2026
f0ab84e
: increase message processing capacity and concurrency while removing…
May 17, 2026
0ddc3b0
STYLE
May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .gencode_hash.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
c21266e8de23b6e8acfac16a177db782375bf71df470c343c3f8eb8b822ef56a gencode/docs/commands_discovery.html
7bd462fd9b31a1a35b27f069194051161c484600161d7ef3fa7a4f8efa4e65fb gencode/docs/commands_mapping.html
a65e8177ca59cd51c4a8ff63ecaa194897f7e22b82afb14708d63efbd7b96a84 gencode/docs/config.html
0bb798c8db6be37266946569a096e2f0b7520ee54d65e7e8d37675ef17820f14 gencode/docs/configuration_endpoint.html
7caf6f29bff7c358536444c0d8502169f708bcc6f32a3d0a8aae155708b2cd04 gencode/docs/configuration_execution.html
640ad5670f31f7c32f3e8d29e8f4f54b1f95c121521e1b6efc2fb943814d6918 gencode/docs/configuration_pod.html
b34c136cee32cb88f32a427ff400c3898ed49168f6dcaca1bc9ba65365bc5ae4 gencode/docs/configuration_pubber.html
4d2edf1c19b274e5273370f79a8e21c5e8009c1b1e2529d83a33392ddec46db6 gencode/docs/configuration_endpoint.html
8b644bcc965a4fee3fa66dc55abde2079adcef621b0d49aa44ae83185617071e gencode/docs/configuration_execution.html
5fe25ff7a6ac8ed09476f9e24f56e686ba35268d694ebc20968222a207445400 gencode/docs/configuration_pod.html
cf01efc05e3fcabb18786af43f7f93d7780b8156b91827e34b34698c4bcea5b8 gencode/docs/configuration_pubber.html
1057fa40fb7a31a23bb2773d21c38cf4590a935bd8b5ea4218e695c6204f5dd9 gencode/docs/data_template.html
ffd9325c940b8e832a608a595c8ccc8903b935e899f42219ddc3c79ec65f6202 gencode/docs/events.html
70e57ad6ef39330d958727ebf9dcd61ef6ea30e4c8653eac412bf1867fdb3a70 gencode/docs/events_alarmset.html
Expand All @@ -17,7 +17,7 @@ cac253f57c5c92ef32e2a5f91b6cec8229e8db1dcffcc96a58f06da068e741e7 gencode/docs/e
73dbe799e7943ec20ac58b544998e986a39539d4ef0cb4f5023e92e7634d3124 gencode/docs/events_validation.html
cebf265b0c3d3a6e9c9e8c4e6c723ac36bc088dfabbc789e775388c3d2ec83d0 gencode/docs/metadata.html
c86682715d348bd3dd971fa5bd925a8a3d0f3c2944c65a47c4b64fe1a5ccdea2 gencode/docs/monitoring.html
474ca16edc9f3cad2bb3ab40b6993cbced90263f762f66ee6cd246a6c4a0d18f gencode/docs/persistent_device.html
841b43bad8a76268435bf545cf7b8a57b1ba478a9cd244b3cd97aca536b1b360 gencode/docs/persistent_device.html
e11595fd11477947a27461f8ef4fb6facb5f60e2abd6212193f7581ab123ff84 gencode/docs/properties.html
c006d0f46c8f007caa90ac76c713cead907669c14c09f4a288fac5b25afe05dd gencode/docs/query_cloud.html
6f2cd8163a129667beb79f297f193ecd14d40c4f1ac06570db13d912ab98fd3f gencode/docs/readme.md
Expand Down Expand Up @@ -70,7 +70,7 @@ ff98f706c967bbef7be35d826f5abad822c89d2fa981c4d8e6cffbb106d3740c gencode/java/u
1a04079116f4032b17108e873719bbb2c60c19f392136e7c906122199b472227 gencode/java/udmi/schema/DiscoveryModel.java
b41f59d0c1aa74bb9abbdc7525d726f45a4ba8df3866c2dd40458601ffab60fb gencode/java/udmi/schema/DiscoveryState.java
7019b8a1522261a69d708e2e7725b8bc44510c5c80f5c056543af2b7728bfa42 gencode/java/udmi/schema/Electricity.java
a9ab0b95408ee04fc98cbc2363bead24c67e64e279e6088e0dd3e4b97154c65d gencode/java/udmi/schema/EndpointConfiguration.java
722263ceca9acb28c7b39d2133e2eede16c6f037d4325c7587a4563c80d77f2b gencode/java/udmi/schema/EndpointConfiguration.java
d2e7afd6e1a9250480144c114ee8877afb9b0dd7048495fe96a821d9e6c80475 gencode/java/udmi/schema/Entry.java
d4bfd2c997937cd1b0f9b1c73ed46b0133b2b264d367ca9001b7d84ecd598611 gencode/java/udmi/schema/Enumerations.java
11ccad9b1ed4a4745e7bf321adc4bb7f684e9bfa90877314094533b9749512b7 gencode/java/udmi/schema/Envelope.java
Expand Down Expand Up @@ -157,7 +157,7 @@ a671f5341703d03200c3a4b4df41f109e587e3723292321998595da60b03e4a2 gencode/java/u
8cc9c88554fc6c9d7d6eba6884279eab3160b4e72d8edfef8155e69ec61c1eec gencode/java/udmi/schema/ValidationState.java
eadc72e31b4796273479967303513b16563af0f946d1e1c7eba1748f9b133d40 gencode/java/udmi/schema/ValidationSummary.java
11f8dab5296d41e86cd623a4ed27b972ae673b141907cb913397d4eb53880c59 gencode/java/udmi/schema/Water.java
0d863349462e546bbfad54e75032170d9967f4ed95aa6bd900f36398fba012a4 gencode/presentation/presentation.json
dd8497a1183a85ae281a54b02bbf360f9ecb95176d1efb588804c63e585c0d79 gencode/presentation/presentation.json
4cf98cbd132cde0cc8813ac35cf3712cb46014154c817c04ad2902c268cdd8fe gencode/python/pyproject.toml
a98b84029d33a421872a08f7bfb1bd2f23f8dc3bebc8d7a1c2a7f1c8596510bf gencode/python/udmi/schema/__init__.py
f9d90861e568b27445bef241f04cce64cc44731c95c8bd9e3f65cef79d42dab0 gencode/python/udmi/schema/_base.py
Expand Down Expand Up @@ -187,7 +187,7 @@ b65e7e9152629a9175f62ed706701d02814d62d8f3e9c0b46c2ba49ad8b51077 gencode/python
faf4cdb1687868fadc411c144d57a5c596af790e43df4d7ddec5ee3fd10ba4bd gencode/python/udmi/schema/config_system.py
ddd6e974840a19aa75e2f322e140676f71e0715f69088b88dfea76f0625ab035 gencode/python/udmi/schema/config_system_testing.py
f187d5acbf931e97365af4283ee676786b7f26294db720b1c8535ab50387a6c1 gencode/python/udmi/schema/config_udmi.py
dea1560526d0e24431679ba7385bd5ae2fd6a0750c69c4548e2b12084b0467ff gencode/python/udmi/schema/configuration_endpoint.py
d1cf489cbf937f801213f1425508afcc37c548e08f1da6ac755f9282bd84992d gencode/python/udmi/schema/configuration_endpoint.py
8adbf9647a6c6666559837d1963d41e0fd7e9c9193bc73f40066ae3f97ce378c gencode/python/udmi/schema/configuration_execution.py
c0853ff1838a11291b53a40c43a6cdaff17951a34b3d7f3de10d9fcc7b44b79d gencode/python/udmi/schema/configuration_pod.py
327db1ca7c7a8e4d8ff0eb40b183163c314a5b3bc56c25bd17492fec9c9a811f gencode/python/udmi/schema/configuration_pod_base.py
Expand Down
39 changes: 0 additions & 39 deletions bin/mosquctl_client

This file was deleted.

47 changes: 0 additions & 47 deletions bin/mosquctl_gateway

This file was deleted.

21 changes: 0 additions & 21 deletions bin/mosquctl_log

This file was deleted.

1 change: 1 addition & 0 deletions bin/start_mosquitto
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ fi
$MOSQUITTO_CTRL createRole service
$MOSQUITTO_CTRL addRoleACL service subscribePattern '/r/+/d/+/#' allow
$MOSQUITTO_CTRL addRoleACL service publishClientSend '/r/+/d/+/#' allow
$MOSQUITTO_CTRL addClientRole $AUTH_USER service

clients=$($MOSQUITTO_CTRL listClients)
if [[ $clients =~ ${AUTH_USER} ]]; then
Expand Down
16 changes: 14 additions & 2 deletions bin/test_mosquitto
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,17 @@ fgrep Racket out/mosquitto.sub || fail did not find expected message
hash_pass=$(sha256sum < $site_path/devices/$device_id/rsa_private.pkcs8)
dev_pass=${hash_pass:0:8}
dev_id=/r/$registry_id/d/$device_id
bin/mosquctl_client $dev_id $dev_pass
$MOSQUITTO_CTRL deleteClient $dev_id || true
role_name="role_${dev_id//\//_}"
$MOSQUITTO_CTRL deleteRole $role_name || true
$MOSQUITTO_CTRL createClient $dev_id -p $dev_pass -c $dev_id
$MOSQUITTO_CTRL createRole $role_name
$MOSQUITTO_CTRL addClientRole $dev_id $role_name
$MOSQUITTO_CTRL addRoleACL $role_name subscribePattern "$dev_id/config" allow
$MOSQUITTO_CTRL addRoleACL $role_name subscribePattern "$dev_id/commands" allow
$MOSQUITTO_CTRL addRoleACL $role_name subscribePattern "$dev_id/errors" allow
$MOSQUITTO_CTRL addRoleACL $role_name publishClientSend "$dev_id/events/#" allow
$MOSQUITTO_CTRL addRoleACL $role_name publishClientSend "$dev_id/state" allow

sleep 1

Expand Down Expand Up @@ -120,7 +130,9 @@ fi

echo Cleanup subscribers and clients...
killall mosquitto_sub || true
bin/mosquctl_client $dev_id --
$MOSQUITTO_CTRL deleteClient $dev_id || true
role_name="role_${dev_id//\//_}"
$MOSQUITTO_CTRL deleteRole $role_name || true

echo Received messages:
cat out/mosquitto.sub | cut -c -120
Expand Down
20 changes: 20 additions & 0 deletions common/src/main/java/com/google/udmi/util/CertManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,26 @@ public CertManager(File caCrtFile, File clientDir, Transport transport,
}
}

public CertManager(File caCrtFile, File crtFile, File keyFile, Transport transport,
String passString, Consumer<String> logging) {
this.caCrtFile = caCrtFile;
this.crtFile = crtFile;
this.keyFile = keyFile;
this.transport = transport;
this.caCertificate = null;
this.clientCertificate = null;
this.clientPrivateKey = null;

if (Transport.SSL.equals(transport)) {
this.password = passString == null ? new char[0] : passString.toCharArray();
logging.accept("CA cert file: " + caCrtFile);
logging.accept("Device cert file: " + crtFile);
logging.accept("Private key file: " + keyFile);
} else {
this.password = null;
}
}

public CertManager(String caCertificate, String clientCertificate, String clientPrivateKey,
Transport transport, String passString) {
caCrtFile = null;
Expand Down
102 changes: 102 additions & 0 deletions gencode/docs/configuration_endpoint.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading