Skip to content

Commit 7c0ca2b

Browse files
authored
Merge pull request #1815 from input-output-hk/jpraynaud/1814-calibrate-cardano-transaction-parameters
Configure Cardano transaction signing parameters with CI/CD
2 parents 6756b0f + 5a4acce commit 7c0ca2b

File tree

15 files changed

+106
-62
lines changed

15 files changed

+106
-62
lines changed

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

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,15 @@ inputs:
107107
mithril_aggregator_cardano_transactions_prover_cache_pool_size:
108108
description: Mithril aggregator cardano transactions prover cache pool size.
109109
required: true
110-
cardano_transactions_database_connection_pool_size:
110+
mithril_aggregator_cardano_transactions_database_connection_pool_size:
111111
description: Mithril aggregator cardano transactions database connection pool size.
112112
required: true
113+
mithril_aggregator_cardano_transactions_signing_config_security_parameter:
114+
description: Mithril aggregator number of blocks to discard from the tip of the chain when importing Cardano transactions
115+
required: true
116+
mithril_aggregator_cardano_transactions_signing_config_step:
117+
description: Mithril aggregator number of blocks between signature of the Cardano transactions
118+
required: true
113119
prometheus_auth_username:
114120
description: Prometheus metrics endpoint username.
115121
required: false
@@ -160,46 +166,48 @@ runs:
160166
working-directory: mithril-infra
161167
run: |
162168
cat > ./env.variables.tfvars << EOF
163-
environment_prefix = "${{ inputs.environment_prefix }}"
164-
cardano_network = "${{ inputs.cardano_network }}"
165-
cardano_image_id = "${{ inputs.cardano_node_version }}"
166-
cardano_image_registry = "${{ inputs.cardano_node_docker_registry }}"
167-
google_region = "${{ inputs.google_region }}"
168-
google_zone = "${{ inputs.google_zone }}"
169-
google_machine_type = "${{ inputs.google_machine_type }}"
170-
google_compute_instance_boot_disk_size = "${{ inputs.google_compute_instance_boot_disk_size }}"
171-
google_compute_instance_data_disk_size = "${{ inputs.google_compute_instance_data_disk_size }}"
172-
google_service_credentials_json_file = "./google-application-credentials.json"
173-
mithril_use_p2p_network = "${{ inputs.mithril_use_p2p_network }}"
174-
mithril_api_domain = "${{ inputs.mithril_api_domain }}"
175-
mithril_image_id = "${{ inputs.mithril_image_id }}"
176-
mithril_genesis_verification_key_url = "${{ inputs.mithril_genesis_verification_key_url }}"
177-
mithril_genesis_secret_key = "${{ inputs.mithril_genesis_secret_key }}"
178-
mithril_protocol_parameters = ${{ fromJSON(inputs.mithril_protocol_parameters) }}
179-
mithril_signers = ${{ fromJSON(inputs.mithril_signers) }}
180-
mithril_era_reader_adapter_type = "${{ inputs.mithril_era_reader_adapter_type }}"
181-
mithril_era_reader_address_url = "${{ inputs.mithril_era_reader_address_url }}"
182-
mithril_era_reader_verification_key_url = "${{ inputs.mithril_era_reader_verification_key_url }}"
183-
mithril_era_reader_secret_key = "${{ inputs.mithril_era_reader_secret_key }}"
184-
mithril_aggregator_signed_entity_types = "${{ inputs.mithril_aggregator_signed_entity_types }}"
185-
mithril_aggregator_cdn_cname = "${{ inputs.mithril_aggregator_cdn_cname }}"
186-
mithril_aggregator_snapshot_use_cdn_domain = ${{ inputs.mithril_aggregator_snapshot_use_cdn_domain }}
187-
mithril_aggregator_snapshot_compression_algorithm = "${{ inputs.mithril_aggregator_snapshot_compression_algorithm }}"
188-
mithril_aggregator_zstandard_parameters_level = "${{ inputs.mithril_aggregator_zstandard_parameters_level }}"
189-
mithril_aggregator_zstandard_parameters_workers = "${{ inputs.mithril_aggregator_zstandard_parameters_workers }}"
190-
mithril_aggregator_cexplorer_pools_url = "${{ inputs.mithril_aggregator_cexplorer_pools_url }}"
191-
mithril_aggregator_allow_unparsable_block = "${{ inputs.mithril_aggregator_allow_unparsable_block }}"
192-
mithril_aggregator_cardano_transactions_prover_cache_pool_size = "${{ inputs.mithril_aggregator_cardano_transactions_prover_cache_pool_size }}"
193-
prometheus_auth_username = "${{ inputs.prometheus_auth_username }}"
194-
prometheus_auth_password = "${{ inputs.prometheus_auth_password }}"
195-
prometheus_ingest_host = "${{ inputs.prometheus_ingest_host }}"
196-
prometheus_ingest_username = "${{ inputs.prometheus_ingest_username }}"
197-
prometheus_ingest_password = "${{ inputs.prometheus_ingest_password }}"
198-
loki_auth_username = "${{ inputs.loki_auth_username }}"
199-
loki_auth_password = "${{ inputs.loki_auth_password }}"
200-
loki_ingest_host = "${{ inputs.loki_ingest_host }}"
201-
loki_ingest_username = "${{ inputs.loki_ingest_username }}"
202-
loki_ingest_password = "${{ inputs.loki_ingest_password }}"
169+
environment_prefix = "${{ inputs.environment_prefix }}"
170+
cardano_network = "${{ inputs.cardano_network }}"
171+
cardano_image_id = "${{ inputs.cardano_node_version }}"
172+
cardano_image_registry = "${{ inputs.cardano_node_docker_registry }}"
173+
google_region = "${{ inputs.google_region }}"
174+
google_zone = "${{ inputs.google_zone }}"
175+
google_machine_type = "${{ inputs.google_machine_type }}"
176+
google_compute_instance_boot_disk_size = "${{ inputs.google_compute_instance_boot_disk_size }}"
177+
google_compute_instance_data_disk_size = "${{ inputs.google_compute_instance_data_disk_size }}"
178+
google_service_credentials_json_file = "./google-application-credentials.json"
179+
mithril_use_p2p_network = "${{ inputs.mithril_use_p2p_network }}"
180+
mithril_api_domain = "${{ inputs.mithril_api_domain }}"
181+
mithril_image_id = "${{ inputs.mithril_image_id }}"
182+
mithril_genesis_verification_key_url = "${{ inputs.mithril_genesis_verification_key_url }}"
183+
mithril_genesis_secret_key = "${{ inputs.mithril_genesis_secret_key }}"
184+
mithril_protocol_parameters = ${{ fromJSON(inputs.mithril_protocol_parameters) }}
185+
mithril_signers = ${{ fromJSON(inputs.mithril_signers) }}
186+
mithril_era_reader_adapter_type = "${{ inputs.mithril_era_reader_adapter_type }}"
187+
mithril_era_reader_address_url = "${{ inputs.mithril_era_reader_address_url }}"
188+
mithril_era_reader_verification_key_url = "${{ inputs.mithril_era_reader_verification_key_url }}"
189+
mithril_era_reader_secret_key = "${{ inputs.mithril_era_reader_secret_key }}"
190+
mithril_aggregator_signed_entity_types = "${{ inputs.mithril_aggregator_signed_entity_types }}"
191+
mithril_aggregator_cdn_cname = "${{ inputs.mithril_aggregator_cdn_cname }}"
192+
mithril_aggregator_snapshot_use_cdn_domain = ${{ inputs.mithril_aggregator_snapshot_use_cdn_domain }}
193+
mithril_aggregator_snapshot_compression_algorithm = "${{ inputs.mithril_aggregator_snapshot_compression_algorithm }}"
194+
mithril_aggregator_zstandard_parameters_level = "${{ inputs.mithril_aggregator_zstandard_parameters_level }}"
195+
mithril_aggregator_zstandard_parameters_workers = "${{ inputs.mithril_aggregator_zstandard_parameters_workers }}"
196+
mithril_aggregator_cexplorer_pools_url = "${{ inputs.mithril_aggregator_cexplorer_pools_url }}"
197+
mithril_aggregator_allow_unparsable_block = "${{ inputs.mithril_aggregator_allow_unparsable_block }}"
198+
mithril_aggregator_cardano_transactions_prover_cache_pool_size = "${{ inputs.mithril_aggregator_cardano_transactions_prover_cache_pool_size }}"
199+
mithril_aggregator_cardano_transactions_signing_config_security_parameter = "${{ inputs.mithril_aggregator_cardano_transactions_signing_config_security_parameter }}"
200+
mithril_aggregator_cardano_transactions_signing_config_step = "${{ inputs.mithril_aggregator_cardano_transactions_signing_config_step }}"
201+
prometheus_auth_username = "${{ inputs.prometheus_auth_username }}"
202+
prometheus_auth_password = "${{ inputs.prometheus_auth_password }}"
203+
prometheus_ingest_host = "${{ inputs.prometheus_ingest_host }}"
204+
prometheus_ingest_username = "${{ inputs.prometheus_ingest_username }}"
205+
prometheus_ingest_password = "${{ inputs.prometheus_ingest_password }}"
206+
loki_auth_username = "${{ inputs.loki_auth_username }}"
207+
loki_auth_password = "${{ inputs.loki_auth_password }}"
208+
loki_ingest_host = "${{ inputs.loki_ingest_host }}"
209+
loki_ingest_username = "${{ inputs.loki_ingest_username }}"
210+
loki_ingest_password = "${{ inputs.loki_ingest_password }}"
203211
EOF
204212
terraform fmt ./env.variables.tfvars
205213
cat ./env.variables.tfvars

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,9 @@ jobs:
714714
mithril_aggregator_cexplorer_pools_url: ${{ vars.AGGREGATOR_CEXPLORER_POOLS_URL }}
715715
mithril_aggregator_allow_unparsable_block: ${{ vars.AGGREGATOR_ALLOW_UNPARSABLE_BLOCK }}
716716
mithril_aggregator_cardano_transactions_prover_cache_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE }}
717-
cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
717+
mithril_aggregator_cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
718+
mithril_aggregator_cardano_transactions_signing_config_security_parameter: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_SECURITY_PARAMETER }}
719+
mithril_aggregator_cardano_transactions_signing_config_step: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_STEP }}
718720
prometheus_auth_username: ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
719721
prometheus_auth_password: ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
720722
prometheus_ingest_host: ${{ vars.PROMETHEUS_INGEST_HOST }}

.github/workflows/pre-release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,9 @@ jobs:
229229
mithril_aggregator_zstandard_parameters_workers: ${{ vars.AGGREGATOR_SNAPSHOT_ZSTANDARD_WORKERS }}
230230
mithril_aggregator_cexplorer_pools_url: ${{ vars.AGGREGATOR_CEXPLORER_POOLS_URL }}
231231
mithril_aggregator_cardano_transactions_prover_cache_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE }}
232-
cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
232+
mithril_aggregator_cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
233+
mithril_aggregator_cardano_transactions_signing_config_security_parameter: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_SECURITY_PARAMETER }}
234+
mithril_aggregator_cardano_transactions_signing_config_step: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_STEP }}
233235
prometheus_auth_username: ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
234236
prometheus_auth_password: ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
235237
prometheus_ingest_host: ${{ vars.PROMETHEUS_INGEST_HOST }}

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,9 @@ jobs:
157157
mithril_aggregator_zstandard_parameters_workers: ${{ vars.AGGREGATOR_SNAPSHOT_ZSTANDARD_WORKERS }}
158158
mithril_aggregator_cexplorer_pools_url: ${{ vars.AGGREGATOR_CEXPLORER_POOLS_URL }}
159159
mithril_aggregator_cardano_transactions_prover_cache_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE }}
160-
cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
160+
mithril_aggregator_cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
161+
mithril_aggregator_cardano_transactions_signing_config_security_parameter: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_SECURITY_PARAMETER }}
162+
mithril_aggregator_cardano_transactions_signing_config_step: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_STEP }}
161163
prometheus_auth_username: ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
162164
prometheus_auth_password: ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
163165
prometheus_ingest_host: ${{ vars.PROMETHEUS_INGEST_HOST }}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ jobs:
135135
mithril_aggregator_cexplorer_pools_url: ${{ vars.AGGREGATOR_CEXPLORER_POOLS_URL }}
136136
mithril_aggregator_allow_unparsable_block: ${{ vars.AGGREGATOR_ALLOW_UNPARSABLE_BLOCK }}
137137
mithril_aggregator_cardano_transactions_prover_cache_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE }}
138-
cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
138+
mithril_aggregator_cardano_transactions_database_connection_pool_size: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE }}
139+
mithril_aggregator_cardano_transactions_signing_config_security_parameter: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_SECURITY_PARAMETER }}
140+
mithril_aggregator_cardano_transactions_signing_config_step: ${{ vars.AGGREGATOR_CARDANO_TRANSACTIONS_SIGNING_CONFIG_STEP }}
139141
prometheus_auth_username: ${{ secrets.PROMETHEUS_AUTH_USERNAME }}
140142
prometheus_auth_password: ${{ secrets.PROMETHEUS_AUTH_PASSWORD }}
141143
prometheus_ingest_host: ${{ vars.PROMETHEUS_INGEST_HOST }}

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ As a minor extension, we have adopted a slightly different versioning convention
99

1010
## Mithril Distribution [XXXX.X] - UNRELEASED
1111

12+
- **UNSTABLE** Cardano transactions certification:
13+
14+
- Make Cardano transaction signing settings configurable via the CD.
15+
1216
- Crates versions:
1317

1418
| Crate | Version |

mithril-aggregator/src/configuration.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ impl Default for DefaultConfiguration {
399399
step: 120,
400400
},
401401
cardano_transactions_prover_max_hashes_allowed_by_request: 100,
402-
cardano_transactions_block_streamer_max_roll_forwards_per_poll: 1000,
402+
cardano_transactions_block_streamer_max_roll_forwards_per_poll: 10000,
403403
}
404404
}
405405
}

mithril-infra/assets/docker/docker-compose-aggregator-auth-p2p.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ services:
7878
- ALLOW_UNPARSABLE_BLOCK=${ALLOW_UNPARSABLE_BLOCK}
7979
- CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE=${CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE}
8080
- CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE=${CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE}
81+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER}
82+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP}
8183
volumes:
8284
- ../data/${NETWORK}/mithril-aggregator/mithril:/mithril-aggregator/mithril
8385
- ../data/${NETWORK}/mithril-aggregator/cardano/db:/db

mithril-infra/assets/docker/docker-compose-aggregator-auth.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ services:
7878
- ALLOW_UNPARSABLE_BLOCK=${ALLOW_UNPARSABLE_BLOCK}
7979
- CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE=${CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE}
8080
- CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE=${CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE}
81+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER}
82+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP}
8183
volumes:
8284
- ../data/${NETWORK}/mithril-aggregator/mithril:/mithril-aggregator/mithril
8385
- ../data/${NETWORK}/mithril-aggregator/cardano/db:/db

mithril-infra/assets/docker/docker-compose-aggregator-noauth-p2p.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ services:
7878
- ALLOW_UNPARSABLE_BLOCK=${ALLOW_UNPARSABLE_BLOCK}
7979
- CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE=${CARDANO_TRANSACTIONS_PROVER_CACHE_POOL_SIZE}
8080
- CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE=${CARDANO_TRANSACTIONS_DATABASE_CONNECTION_POOL_SIZE}
81+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__SECURITY_PARAMETER}
82+
- CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP=${CARDANO_TRANSACTIONS_SIGNING_CONFIG__STEP}
8183
volumes:
8284
- ../data/${NETWORK}/mithril-aggregator/mithril:/mithril-aggregator/mithril
8385
- ../data/${NETWORK}/mithril-aggregator/cardano/db:/db

0 commit comments

Comments
 (0)