Skip to content

Commit cdaa072

Browse files
authored
Merge pull request #2870 from input-output-hk/jpraynaud/2833-dmq-dev-preview-infra
feat: DMQ node infrastructure
2 parents 9072d5b + c1d035d commit cdaa072

23 files changed

+455
-36
lines changed

.github/workflows/actions/deploy-terraform-infrastructure/action.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ inputs:
2424
description: Cardano node Docker image registry.
2525
required: false
2626
default: "ghcr.io/intersectmbo/cardano-node"
27+
dmq_node_version:
28+
description: DMQ node version.
29+
required: true
30+
dmq_node_docker_registry:
31+
description: DMQ node Docker image registry.
32+
required: false
33+
default: "ghcr.io/intersectmbo/dmq-node"
2734
google_region:
2835
description: Google Cloud region name.
2936
required: true
@@ -67,6 +74,10 @@ inputs:
6774
description: Mithril P2P network use DMQ protocol (experimental, for test only).
6875
required: false
6976
default: "false"
77+
mithril_p2p_use_real_dmq_node:
78+
description: Use the real Decentralized Message Queue (DMQ) node (experimental, for test only).
79+
required: false
80+
default: "false"
7081
mithril_p2p_network_bootstrap_peer:
7182
description: Mithril P2P network bootstrap peer (experimental, for test only).
7283
required: false
@@ -243,6 +254,8 @@ runs:
243254
cardano_network = "${{ inputs.cardano_network }}"
244255
cardano_image_id = "${{ inputs.cardano_node_version }}"
245256
cardano_image_registry = "${{ inputs.cardano_node_docker_registry }}"
257+
dmq_image_id = "${{ inputs.dmq_node_version }}"
258+
dmq_image_registry = "${{ inputs.dmq_node_docker_registry }}"
246259
google_region = "${{ inputs.google_region }}"
247260
google_zone = "${{ inputs.google_zone }}"
248261
google_machine_type = "${{ inputs.google_machine_type }}"
@@ -256,6 +269,7 @@ runs:
256269
google_service_credentials_json_file = "./google-application-credentials.json"
257270
mithril_use_p2p_network = "${{ inputs.mithril_use_p2p_network }}"
258271
mithril_p2p_use_dmq_protocol = "${{ inputs.mithril_p2p_use_dmq_protocol }}"
272+
mithril_p2p_use_real_dmq_node = "${{ inputs.mithril_p2p_use_real_dmq_node }}"
259273
mithril_p2p_network_bootstrap_peer = "${{ inputs.mithril_p2p_network_bootstrap_peer }}"
260274
mithril_p2p_signer_relay_signer_registration_mode = "${{ inputs.mithril_p2p_signer_relay_signer_registration_mode }}"
261275
mithril_p2p_signer_relay_signature_registration_mode = "${{ inputs.mithril_p2p_signer_relay_signature_registration_mode }}"

.github/workflows/ci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -797,6 +797,8 @@ jobs:
797797
environment_prefix: testing
798798
cardano_network: preview
799799
mithril_use_p2p_network: false
800+
mithril_p2p_use_dmq_protocol: true
801+
mithril_p2p_use_real_dmq_node: true
800802
mithril_api_domain: api.mithril.network
801803
mithril_protocol_parameters: |
802804
{
@@ -851,6 +853,8 @@ jobs:
851853
cardano_network: ${{ matrix.cardano_network }}
852854
cardano_node_version: ${{ vars.CARDANO_NODE_VERSION }}
853855
cardano_node_docker_registry: ${{ vars.CARDANO_NODE_DOCKER_REGISTRY }}
856+
dmq_node_version: ${{ vars.DMQ_NODE_VERSION }}
857+
dmq_node_docker_registry: ${{ vars.DMQ_NODE_DOCKER_REGISTRY }}
854858
google_region: ${{ matrix.google_region }}
855859
google_zone: ${{ matrix.google_zone }}
856860
google_machine_type: ${{ matrix.google_machine_type }}
@@ -859,6 +863,9 @@ jobs:
859863
google_compute_instance_ssh_keys_environment: testing
860864
google_application_credentials: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
861865
mithril_use_p2p_network: ${{ matrix.mithril_use_p2p_network }}
866+
mithril_p2p_use_dmq_protocol: ${{ matrix.mithril_p2p_use_dmq_protocol }}
867+
mithril_p2p_use_real_dmq_node: ${{ matrix.mithril_p2p_use_real_dmq_node }}
868+
mithril_p2p_network_bootstrap_peer: ${{ vars.MITHRIL_P2P_NETWORK_BOOTSTRAP_PEER }}
862869
mithril_api_domain: ${{ matrix.mithril_api_domain }}
863870
mithril_image_id: ${{ env.DOCKER_IMAGE_ID }}
864871
mithril_protocol_parameters: ${{ toJSON(matrix.mithril_protocol_parameters) }}

.github/workflows/pre-release.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ jobs:
193193
- environment: pre-release-preview
194194
environment_prefix: pre-release
195195
cardano_network: preview
196+
mithril_use_p2p_network: false
197+
mithril_p2p_use_dmq_protocol: true
198+
mithril_p2p_use_real_dmq_node: true
196199
mithril_api_domain: api.mithril.network
197200
mithril_protocol_parameters: |
198201
{
@@ -239,6 +242,8 @@ jobs:
239242
cardano_network: ${{ matrix.cardano_network }}
240243
cardano_node_version: ${{ vars.CARDANO_NODE_VERSION }}
241244
cardano_node_docker_registry: ${{ vars.CARDANO_NODE_DOCKER_REGISTRY }}
245+
dmq_node_version: ${{ vars.DMQ_NODE_VERSION }}
246+
dmq_node_docker_registry: ${{ vars.DMQ_NODE_DOCKER_REGISTRY }}
242247
google_region: ${{ matrix.google_region }}
243248
google_zone: ${{ matrix.google_zone }}
244249
google_machine_type: ${{ matrix.google_machine_type }}
@@ -249,6 +254,10 @@ jobs:
249254
google_compute_instance_data_disk_snapshot: ${{ vars.GOOGLE_COMPUTE_INSTANCE_DATA_DISK_SNAPSHOT }}
250255
google_compute_instance_ssh_keys_environment: testing
251256
google_application_credentials: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
257+
mithril_use_p2p_network: ${{ matrix.mithril_use_p2p_network }}
258+
mithril_p2p_use_dmq_protocol: ${{ matrix.mithril_p2p_use_dmq_protocol }}
259+
mithril_p2p_use_real_dmq_node: ${{ matrix.mithril_p2p_use_real_dmq_node }}
260+
mithril_p2p_network_bootstrap_peer: ${{ vars.MITHRIL_P2P_NETWORK_BOOTSTRAP_PEER }}
252261
mithril_api_domain: ${{ matrix.mithril_api_domain }}
253262
mithril_image_id: ${{ env.DOCKER_IMAGE_ID }}
254263
mithril_protocol_parameters: ${{ toJSON(matrix.mithril_protocol_parameters) }}

.github/workflows/test-deploy-network.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
{
9090
"1" = {
9191
type = "unverified-cardano-passive-norelay",
92-
pool_id = "pool1y0uxkqyplyx6ld25e976t0s35va3ysqcscatwvy2sd2cwcareq7",
92+
pool_id = "pool13zafxlpfgymf474uv52qt557z5k5frn9p83yr55zp267wj5mpu4",
9393
},
9494
}
9595
mithril_leader_aggregator_endpoint: https://aggregator.dev-preview.api.mithril.network/aggregator

docs/website/root/manual/operate/run-aggregator-node.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@ As we are still in a testing stage, we only support the `pre-release-preview` ne
956956
957957
You can use these parameters for the **pre-release-preview** network:
958958
959-
- **DMQ_RELEASE_URL**: `https://github.com/input-output-hk/mithril/raw/refs/heads/jpraynaud/dmq-node-binary/mithril-test-lab/mithril-devnet/bin/dmq-node-0.2.0.0-53bf9652787dc768abd86cf3844f1206f0fd7d8c`
959+
- **DMQ_RELEASE_URL**: `https://github.com/IntersectMBO/dmq-node/releases/download/0.2.0.0-pre-4/dmq-node-linux.tar.gz`
960960
961961
_These URLs may change in the future; please refer to this page for the latest released version of the DMQ node binary._
962962
@@ -965,19 +965,29 @@ _These URLs may change in the future; please refer to this page for the latest r
965965
To download the latest released version of the DMQ node binary, run the following command:
966966
967967
```bash
968-
curl --fail -sL -o dmq-node **DMQ_RELEASE_URL**
968+
curl --fail -sL -o dmq-node.tar.gz **DMQ_RELEASE_URL**
969969
```
970970
971-
### Installing the service
971+
Then, extract the archive:
972972
973-
#### Make the binary executable
973+
```bash
974+
tar -xzf dmq-node.tar.gz --strip-components=2 result/bin
975+
```
974976
975-
To make the binary executable, run:
977+
And test that the binary works:
978+
979+
```bash
980+
./dmq-node --version
981+
```
982+
983+
You should see something like:
976984
977985
```bash
978-
chmod +x dmq-node
986+
dmq-node version: 0.2.0.0
979987
```
980988
989+
### Installing the service
990+
981991
#### Move the executable
982992
983993
To move the executable to /opt/dmq, run:
@@ -1008,9 +1018,12 @@ bash -c 'cat > /opt/dmq/config.json << EOF
10081018
"SigSubmissionLogicTracer": true,
10091019
"SigSubmissionClientTracer": true,
10101020
"SigSubmissionServerTracer": true,
1021+
"SigSubmissionClientProtocolTracer": true,
1022+
"SigSubmissionServerProtocolTracer": true,
10111023
"MuxTracer": true,
1012-
"ChannelTracer": true,
1024+
"ChannelTracer": false,
10131025
"DebugPeerSelectionTracer": true,
1026+
"ValidationTracer": true
10141027
}
10151028
EOF'
10161029
```
@@ -1036,9 +1049,12 @@ bash -c 'cat > /opt/dmq/config.json << EOF
10361049
"SigSubmissionLogicTracer": true,
10371050
"SigSubmissionClientTracer": true,
10381051
"SigSubmissionServerTracer": true,
1052+
"SigSubmissionClientProtocolTracer": true,
1053+
"SigSubmissionServerProtocolTracer": true,
10391054
"MuxTracer": true,
1040-
"ChannelTracer": true,
1055+
"ChannelTracer": false,
10411056
"DebugPeerSelectionTracer": true,
1057+
"ValidationTracer": true
10421058
}
10431059
EOF'
10441060
```

docs/website/root/manual/operate/run-signer-node.md

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ As we are still in a testing stage, we only support the `pre-release-preview` ne
952952
953953
You can use these parameters for the **pre-release-preview** network:
954954
955-
- **DMQ_RELEASE_URL**: `https://github.com/input-output-hk/mithril/raw/refs/heads/jpraynaud/dmq-node-binary/mithril-test-lab/mithril-devnet/bin/dmq-node-0.2.0.0-53bf9652787dc768abd86cf3844f1206f0fd7d8c`
955+
- **DMQ_RELEASE_URL**: `https://github.com/IntersectMBO/dmq-node/releases/download/0.2.0.0-pre-4/dmq-node-linux.tar.gz`
956956
957957
_These URLs may change in the future; please refer to this page for the latest released version of the DMQ node binary._
958958
@@ -961,19 +961,29 @@ _These URLs may change in the future; please refer to this page for the latest r
961961
To download the latest released version of the DMQ node binary, run the following command:
962962
963963
```bash
964-
curl --fail -sL -o dmq-node **DMQ_RELEASE_URL**
964+
curl --fail -sL -o dmq-node.tar.gz **DMQ_RELEASE_URL**
965965
```
966966
967-
### Installing the service
967+
Then, extract the archive:
968+
969+
```bash
970+
tar -xzf dmq-node.tar.gz --strip-components=2 result/bin
971+
```
972+
973+
And test that the binary works:
968974
969-
#### Make the binary executable
975+
```bash
976+
./dmq-node --version
977+
```
970978
971-
To make the binary executable, run:
979+
You should see something like:
972980
973981
```bash
974-
chmod +x dmq-node
982+
dmq-node version: 0.2.0.0
975983
```
976984
985+
### Installing the service
986+
977987
#### Move the executable
978988
979989
To move the executable to /opt/dmq, run:
@@ -1004,9 +1014,12 @@ bash -c 'cat > /opt/dmq/config-relay.json << EOF
10041014
"SigSubmissionLogicTracer": true,
10051015
"SigSubmissionClientTracer": true,
10061016
"SigSubmissionServerTracer": true,
1017+
"SigSubmissionClientProtocolTracer": true,
1018+
"SigSubmissionServerProtocolTracer": true,
10071019
"MuxTracer": true,
1008-
"ChannelTracer": true,
1020+
"ChannelTracer": false,
10091021
"DebugPeerSelectionTracer": true,
1022+
"ValidationTracer": true
10101023
}
10111024
EOF'
10121025
```
@@ -1032,9 +1045,12 @@ bash -c 'cat > /opt/dmq/config-relay.json << EOF
10321045
"SigSubmissionLogicTracer": true,
10331046
"SigSubmissionClientTracer": true,
10341047
"SigSubmissionServerTracer": true,
1048+
"SigSubmissionClientProtocolTracer": true,
1049+
"SigSubmissionServerProtocolTracer": true,
10351050
"MuxTracer": true,
1036-
"ChannelTracer": true,
1051+
"ChannelTracer": false,
10371052
"DebugPeerSelectionTracer": true,
1053+
"ValidationTracer": true
10381054
}
10391055
EOF'
10401056
```
@@ -1048,7 +1064,7 @@ bash -c 'cat > /opt/dmq/config-bp.json << EOF
10481064
{
10491065
"CardanoNetworkMagic": **YOUR_CARDANO_NETWORK_MAGIC**,
10501066
"CardanoNodeSocket": "**YOUR_CARDANO_NODE_SOCKET_PATH**"
1051-
"PeerSharing": true,
1067+
"PeerSharing": false,
10521068
"LocalMsgSubmissionTracer": true,
10531069
"LocalMsgNotificationTracer": true,
10541070
"ConnectionManagerTracer": true,
@@ -1060,9 +1076,12 @@ bash -c 'cat > /opt/dmq/config-bp.json << EOF
10601076
"SigSubmissionLogicTracer": true,
10611077
"SigSubmissionClientTracer": true,
10621078
"SigSubmissionServerTracer": true,
1079+
"SigSubmissionClientProtocolTracer": true,
1080+
"SigSubmissionServerProtocolTracer": true,
10631081
"MuxTracer": true,
1064-
"ChannelTracer": true,
1082+
"ChannelTracer": false,
10651083
"DebugPeerSelectionTracer": true,
1084+
"ValidationTracer": true
10661085
}
10671086
EOF'
10681087
```
@@ -1076,7 +1095,7 @@ bash -c 'cat > /opt/dmq/config-bp.json << EOF
10761095
{
10771096
"CardanoNetworkMagic": 2,
10781097
"CardanoNodeSocket": "/cardano/ipc/node.socket"
1079-
"PeerSharing": true,
1098+
"PeerSharing": false,
10801099
"LocalMsgSubmissionTracer": true,
10811100
"LocalMsgNotificationTracer": true,
10821101
"ConnectionManagerTracer": true,
@@ -1088,9 +1107,12 @@ bash -c 'cat > /opt/dmq/config-bp.json << EOF
10881107
"SigSubmissionLogicTracer": true,
10891108
"SigSubmissionClientTracer": true,
10901109
"SigSubmissionServerTracer": true,
1110+
"SigSubmissionClientProtocolTracer": true,
1111+
"SigSubmissionServerProtocolTracer": true,
10911112
"MuxTracer": true,
1092-
"ChannelTracer": true,
1113+
"ChannelTracer": false,
10931114
"DebugPeerSelectionTracer": true,
1115+
"ValidationTracer": true
10941116
}
10951117
EOF'
10961118
```

0 commit comments

Comments
 (0)