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'
4
5
5
6
set shell := [" bash" , " -uc" ]
6
7
set positional-arguments
@@ -250,11 +251,11 @@ default:
250
251
251
252
# Deploy select machines
252
253
apply * ARGS :
253
- colmena apply --verbose --experimental-flake-eval -- on {{ ARGS}}
254
+ colmena apply --verbose --on {{ ARGS}}
254
255
255
256
# Deploy all machines
256
257
apply-all * ARGS :
257
- colmena apply --verbose --experimental-flake-eval {{ ARGS}}
258
+ colmena apply --verbose {{ ARGS}}
258
259
259
260
# Deploy select machines with the bootstrap key
260
261
apply-bootstrap * ARGS :
@@ -868,7 +869,7 @@ ssh-for-all *ARGS:
868
869
869
870
# Ssh for select
870
871
ssh-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}}
872
873
873
874
# List machine ips based on regex pattern
874
875
ssh-list-ips PATTERN :
@@ -894,262 +895,6 @@ ssh-list-names PATTERN:
894
895
| get Host
895
896
| str join " "
896
897
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
-
1153
898
# Start a local node for a specific env
1154
899
start-node ENV :
1155
900
#!/usr/bin/env bash
@@ -1324,7 +1069,7 @@ tofu *ARGS:
1324
1069
1325
1070
tofu init -reconfigure
1326
1071
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}"
1328
1073
1329
1074
# Truncate a select chain after slot
1330
1075
truncate-chain ENV SLOT :
0 commit comments