1- import ? ' scripts/recipes-aws.just'
2- import ? ' scripts/recipes-custom.just'
3- import ? ' scripts/recipes-governance.just'
1+ import ? ' scripts/recipes/aws.just'
2+ import ? ' scripts/recipes/demo.just'
3+ import ? ' scripts/recipes/custom.just'
4+ import ? ' scripts/recipes/governance.just'
45
56set shell := [" bash" , " -uc" ]
67set positional-arguments
@@ -250,11 +251,11 @@ default:
250251
251252# Deploy select machines
252253apply * ARGS :
253- colmena apply --verbose --experimental-flake-eval -- on {{ ARGS}}
254+ colmena apply --verbose --on {{ ARGS}}
254255
255256# Deploy all machines
256257apply-all * ARGS :
257- colmena apply --verbose --experimental-flake-eval {{ ARGS}}
258+ colmena apply --verbose {{ ARGS}}
258259
259260# Deploy select machines with the bootstrap key
260261apply-bootstrap * ARGS :
@@ -868,7 +869,7 @@ ssh-for-all *ARGS:
868869
869870# Ssh for select
870871ssh-for-each HOSTNAMES * ARGS :
871- colmena exec --verbose --experimental-flake-eval -- parallel 0 --on {{ HOSTNAMES}} {{ ARGS}}
872+ colmena exec --verbose --parallel 0 --on {{ HOSTNAMES}} {{ ARGS}}
872873
873874# List machine ips based on regex pattern
874875ssh-list-ips PATTERN :
@@ -894,262 +895,6 @@ ssh-list-names PATTERN:
894895 | get Host
895896 | str join " "
896897
897- # Start a fork to conway demo
898- start-demo :
899- #!/usr/bin/env bash
900- set -euo pipefail
901- just stop-node demo
902-
903- {{ stateDir}}
904-
905- echo " Cleaning state-demo..."
906- if [ -d state-demo ]; then
907- chmod -R + w state-demo
908- rm -rf state-demo
909- fi
910-
911- echo " Generating state-demo config..."
912-
913- export ENV=custom
914- export GENESIS_DIR=state-demo
915- export KEY_DIR=state-demo/ envs/ custom
916- export DATA_DIR=state-demo/ rundir
917-
918- export CARDANO_NODE_SOCKET_PATH=" $STATEDIR/node-demo.socket"
919- export TESTNET_MAGIC=42
920-
921- export NUM_GENESIS_KEYS=3
922- export POOL_NAMES=" sp-1 sp-2 sp-3"
923- export STAKE_POOL_DIR=state-demo/ groups/ stake-pools
924-
925- export BULK_CREDS=state-demo/ bulk.creds.all.json
926- export PAYMENT_KEY=state-demo/ envs/ custom/ utxo-keys/ rich-utxo
927-
928- export UNSTABLE=true
929- export UNSTABLE_LIB=true
930- export USE_ENCRYPTION=true
931- export USE_DECRYPTION=true
932- export USE_NODE_CONFIG_BP=false
933- export DEBUG=true
934-
935- export SECURITY_PARAM=8
936- export SLOT_LENGTH=100
937- export START_TIME=$(date --utc + " %Y-%m-%dT%H:%M:%SZ" --date " now + 30 seconds" )
938-
939- if [ " ${USE_CREATE_TESTNET_DATA:-false}" = true ]; then
940- ERA_CMD=" conway" \
941- nix run .#job-gen-custom-node-config-data
942- else
943- ERA_CMD=" alonzo" \
944- nix run .#job-gen-custom-node-config
945- fi
946-
947- ERA_CMD=" alonzo" \
948- nix run .#job-create-stake-pool-keys
949-
950- if [ " $USE_DECRYPTION" = true ]; then
951- BFT_CREDS=$(just sops-decrypt-binary " $KEY_DIR"/ delegate-keys/ bulk.creds.bft.json)
952- POOL_CREDS=$(just sops-decrypt-binary " $STAKE_POOL_DIR"/ no-deploy/ bulk.creds.pools.json)
953- else
954- BFT_CREDS=$(cat " $KEY_DIR"/ delegate-keys/ bulk.creds.bft.json)
955- POOL_CREDS=$(cat " $STAKE_POOL_DIR"/ no-deploy/ bulk.creds.pools.json)
956- fi
957- (
958- jq -r ' .[]' <<< " $BFT_CREDS"
959- jq -r ' .[]' <<< " $POOL_CREDS"
960- ) | jq -s > " $BULK_CREDS"
961-
962- echo " Start cardano-node in the background. Run \" just stop-node demo\" to stop"
963- NODE_CONFIG=" $DATA_DIR/node-config.json" \
964- NODE_TOPOLOGY=" $DATA_DIR/topology.json" \
965- SOCKET_PATH=" $STATEDIR/node-demo.socket" \
966- nohup setsid nix run .#run-cardano-node &> "$STATEDIR/node-demo.log" & echo $! > "$STATEDIR/node-demo.pid" &
967- just set-default-cardano-env demo " " " $PPID"
968- echo " Sleeping 30 seconds until $(date -d @$(($(date +%s) + 30)))"
969- sleep 30
970- echo
971-
972- if [ " ${USE_CREATE_TESTNET_DATA:-false}" = false ]; then
973- echo " Moving genesis utxo in epoch 0..."
974- BYRON_SIGNING_KEY=" $KEY_DIR"/ utxo-keys/ shelley.000. skey \
975- ERA_CMD=" alonzo" \
976- nix run .#job-move-genesis-utxo
977- echo " Sleeping 10 seconds until $(date -d @$(($(date +%s) + 10)))"
978- sleep 10
979- echo
980- fi
981-
982- echo " Registering stake pools in epoch 0..."
983- POOL_RELAY=demo.local \
984- POOL_RELAY_PORT=3001 \
985- ERA_CMD=" alonzo" \
986- nix run .#job-register-stake-pools
987- echo " Sleeping 10 seconds until $(date -d @$(($(date +%s) + 10)))"
988- sleep 10
989- echo
990-
991- WAIT_FOR_TIP() {
992- TYPE=" $1"
993- TARGET=" $2"
994- EPOCH=" $1"
995-
996- while true ; do
997- [ " $(jq -re " .$TYPE" <<< " $(just query-tip demo)" )" = " $TARGET" ] && break;
998- sleep 2
999- done
1000- }
1001-
1002- echo " Delegating rewards stake key in epoch 0..."
1003- ERA_CMD=" alonzo" \
1004- nix run .#job-delegate-rewards-stake-key
1005- echo " Sleeping until epoch 1"
1006- WAIT_FOR_TIP " epoch" " 1"
1007- echo
1008-
1009- echo " Forking to babbage in epoch 1..."
1010- just query-tip demo
1011- MAJOR_VERSION=7 \
1012- ERA_CMD=" alonzo" \
1013- nix run .#job-update-proposal-hard-fork
1014- echo " Sleeping until babbage"
1015- WAIT_FOR_TIP " era" " Babbage"
1016- echo
1017-
1018- echo " Forking to babbage (intra-era) in epoch 2..."
1019- just query-tip demo
1020- MAJOR_VERSION=8 \
1021- ERA_CMD=" babbage" \
1022- nix run .#job-update-proposal-hard-fork
1023- echo " Sleeping until epoch 3"
1024- WAIT_FOR_TIP " epoch" " 3"
1025- echo
1026-
1027- echo " Forking to conway in epoch 3..."
1028- just query-tip demo
1029- MAJOR_VERSION=9 \
1030- ERA_CMD=" babbage" \
1031- nix run .#job-update-proposal-hard-fork
1032- echo " Sleeping until epoch conway"
1033- WAIT_FOR_TIP " era" " Conway"
1034- echo
1035-
1036- just query-tip demo
1037- echo
1038- echo " Finished sequence..."
1039- echo
1040-
1041- # Start a fork to conway demo using create-testnet-data-ng job
1042- start-demo-ng :
1043- #!/usr/bin/env bash
1044- set -euo pipefail
1045- just stop-node demo
1046-
1047- {{ stateDir}}
1048-
1049- echo " Cleaning state-demo-ng..."
1050- if [ -d state-demo-ng ]; then
1051- chmod -R + w state-demo-ng
1052- rm -rf state-demo-ng
1053- fi
1054-
1055- echo " Generating state-demo-ng config..."
1056-
1057- export ENV=custom
1058- export GENESIS_DIR=state-demo-ng
1059- export KEY_DIR=state-demo-ng/ envs/ custom
1060- export DATA_DIR=state-demo-ng/ rundir
1061-
1062- export CARDANO_NODE_SOCKET_PATH=" $STATEDIR/node-demo.socket"
1063- export TESTNET_MAGIC=42
1064-
1065- export NUM_GENESIS_KEYS=3
1066- export POOL_NAMES=" sp-1 sp-2 sp-3"
1067- export STAKE_POOL_DIR=state-demo-ng/ groups/ stake-pools
1068-
1069- export BULK_CREDS=state-demo-ng/ bulk.creds.all.json
1070- export PAYMENT_KEY=state-demo-ng/ envs/ custom/ utxo-keys/ rich-utxo
1071-
1072- export UNSTABLE=true
1073- export UNSTABLE_LIB=true
1074- export USE_ENCRYPTION=true
1075- export USE_DECRYPTION=true
1076- export USE_NODE_CONFIG_BP=false
1077- export USE_CREATE_TESTNET_DATA=true
1078- export DEBUG=true
1079-
1080- export SECURITY_PARAM=8
1081- export SLOT_LENGTH=100
1082- export START_TIME=$(date --utc + " %Y-%m-%dT%H:%M:%SZ" --date " now + 30 seconds" )
1083-
1084- export ERA_CMD=conway
1085-
1086- nix run .#job-gen-custom-node-config-data-ng
1087-
1088- nix run .#job-create-stake-pool-keys
1089-
1090- if [ " $USE_DECRYPTION" = true ]; then
1091- BOOTSTRAP_CREDS=$(just sops-decrypt-binary " $KEY_DIR"/ bootstrap-pool/ bulk.creds.bootstrap.json)
1092- POOL_CREDS=$(just sops-decrypt-binary " $STAKE_POOL_DIR"/ no-deploy/ bulk.creds.pools.json)
1093- else
1094- BOOTSTRAP_CREDS=$(cat " $KEY_DIR"/ bootstrap-pool/ bulk.creds.bootstrap.json)
1095- POOL_CREDS=$(cat " $STAKE_POOL_DIR"/ no-deploy/ bulk.creds.pools.json)
1096- fi
1097- (
1098- jq -r ' .[]' <<< " $BOOTSTRAP_CREDS"
1099- jq -r ' .[]' <<< " $POOL_CREDS"
1100- ) | jq -s > " $BULK_CREDS"
1101-
1102- echo " Start cardano-node in the background. Run \" just stop-node demo\" to stop"
1103- NODE_CONFIG=" $DATA_DIR/node-config.json" \
1104- NODE_TOPOLOGY=" $DATA_DIR/topology.json" \
1105- SOCKET_PATH=" $STATEDIR/node-demo.socket" \
1106- nohup setsid nix run .#run-cardano-node &> "$STATEDIR/node-demo.log" & echo $! > "$STATEDIR/node-demo.pid" &
1107- just set-default-cardano-env demo " " " $PPID"
1108- echo " Sleeping 30 seconds until $(date -d @$(($(date +%s) + 30)))"
1109- sleep 30
1110- echo
1111-
1112- echo " Registering stake pools..."
1113- POOL_RELAY=demo-ng.local \
1114- POOL_RELAY_PORT=3001 \
1115- nix run .#job-register-stake-pools
1116- echo " Sleeping 10 seconds until $(date -d @$(($(date +%s) + 7)))"
1117- sleep 10
1118- echo
1119-
1120- echo " Delegating rewards stake key..."
1121- nix run .#job-delegate-rewards-stake-key
1122- echo " Sleeping 10 seconds until $(date -d @$(($(date +%s) + 7)))"
1123- sleep 10
1124- echo
1125-
1126- echo " Retiring the bootstrap pool..."
1127- BOOTSTRAP_POOL_DIR=" $KEY_DIR/bootstrap-pool" \
1128- RICH_KEY=" $KEY_DIR/utxo-keys/rich-utxo" \
1129- nix run .#job-retire-bootstrap-pool
1130- sleep 10
1131- echo
1132-
1133- WAIT_FOR_TIP() {
1134- TYPE=" $1"
1135- TARGET=" $2"
1136- EPOCH=" $1"
1137-
1138- while true ; do
1139- [ " $(jq -re " .$TYPE" <<< " $(just query-tip demo)" )" = " $TARGET" ] && break;
1140- sleep 2
1141- done
1142- }
1143-
1144- echo " Sleeping until epoch 1 when the bootstrap pool retires"
1145- WAIT_FOR_TIP " epoch" " 1"
1146- echo
1147-
1148- just query-tip demo
1149- echo
1150- echo " Finished sequence..."
1151- echo
1152-
1153898# Start a local node for a specific env
1154899start-node ENV :
1155900 #!/usr/bin/env bash
@@ -1324,7 +1069,7 @@ tofu *ARGS:
13241069
13251070 tofu init -reconfigure
13261071 tofu workspace select -or-create " $WORKSPACE"
1327- tofu ${ARGS[@]} ${VAR_FILE:+ -var-file=<(" ${SOPS[@]}" " $VAR_FILE" )}
1072+ tofu " ${ARGS[@]:0:1}" ${VAR_FILE:+ -var-file=<(" ${SOPS[@]}" " $VAR_FILE" )} " ${ARGS[@]:1}"
13281073
13291074# Truncate a select chain after slot
13301075truncate-chain ENV SLOT :
0 commit comments