@@ -15,11 +15,10 @@ resource "null_resource" "mithril_signer" {
15
15
]
16
16
17
17
triggers = {
18
- vm_instance = google_compute_instance.vm_instance.id,
19
- cardano_image_id = var.cardano_image_id,
20
- cardano_image_registry = var.cardano_image_registry,
21
- cardano_configurations_repository_commit = var.cardano_configurations_repository_commit,
22
- image_id = var.mithril_image_id,
18
+ vm_instance = google_compute_instance.vm_instance.id,
19
+ cardano_image_id = var.cardano_image_id,
20
+ cardano_image_registry = var.cardano_image_registry,
21
+ image_id = var.mithril_image_id,
23
22
}
24
23
25
24
connection {
@@ -52,16 +51,36 @@ cat /home/curry/docker/cardano-configurations/network/${var.cardano_network}/car
52
51
EOT
53
52
,
54
53
<<- EOT
54
+ set -e
55
55
# Setup cardano node configuration
56
+ CARDANO_NODE_EXACT_VERSION="${ var . cardano_image_id } "
57
+ CARDANO_NODE_MINOR_VERSION=$(echo $CARDANO_NODE_EXACT_VERSION | cut -d. -f1,2)
58
+ CARDANO_NODE_VERSIONS="$CARDANO_NODE_EXACT_VERSION $CARDANO_NODE_MINOR_VERSION"
56
59
SIGNER_TYPES="full relay block-producer"
57
60
for SIGNER_TYPE in $SIGNER_TYPES; do
58
- SIGNER_TYPE_CONFIG_DIRECTORY=/home/curry/data/${ var . cardano_network } /mithril-signer-${ each . key } /cardano/config/$SIGNER_TYPE
59
- mkdir -p $SIGNER_TYPE_CONFIG_DIRECTORY
60
- cp -R /home/curry/docker/cardano-configurations/network/${ var . cardano_network } $SIGNER_TYPE_CONFIG_DIRECTORY
61
- cat $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json | jq ".hasPrometheus[0] |= \"cardano-node-$SIGNER_TYPE-signer-${ each . key } \"" > $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json.new
62
- rm -f $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json
63
- mv $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json.new $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json
61
+ # Copy the cardano node configuration files to the signer (exact version, and fallback to minor version)
62
+ FOUND_CONFIGURATION=false
63
+ for CARDANO_NODE_VERSION in $CARDANO_NODE_VERSIONS; do
64
+ if [ -d "/home/curry/docker/cardano/config/$CARDANO_NODE_VERSION/${ var . cardano_network } " ]; then
65
+ SIGNER_TYPE_CONFIG_DIRECTORY=/home/curry/data/${ var . cardano_network } /mithril-signer-${ each . key } /cardano/config/$SIGNER_TYPE
66
+ rm -rf $SIGNER_TYPE_CONFIG_DIRECTORY
67
+ mkdir -p $SIGNER_TYPE_CONFIG_DIRECTORY
68
+ cp -R /home/curry/docker/cardano/config/$CARDANO_NODE_VERSION/${ var . cardano_network } $SIGNER_TYPE_CONFIG_DIRECTORY
69
+ echo $CARDANO_NODE_VERSION > $SIGNER_TYPE_CONFIG_DIRECTORY/config.version
70
+ cat $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json | jq ".hasPrometheus[0] |= \"cardano-node-$SIGNER_TYPE-signer-${ each . key } \"" > $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json.new
71
+ rm -f $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json
72
+ mv $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json.new $SIGNER_TYPE_CONFIG_DIRECTORY/${ var . cardano_network } /cardano-node/config.json
73
+ FOUND_CONFIGURATION=true
74
+ break
75
+ fi
76
+ done
77
+ # Check if a configuration was found
78
+ if [ "$FOUND_CONFIGURATION" = "false" ]; then
79
+ echo "No cardano node configuration found for version $CARDANO_NODE_EXACT_VERSION of type $SIGNER_TYPE"
80
+ exit 1
81
+ fi
64
82
done
83
+
65
84
EOT
66
85
]
67
86
}
0 commit comments