there will be a directory of installation scripts somewhere accessible to the server and you have to configure it in such a way that for every supported subnet (identified by subnet codename, which is lowercase and with dashes like compute-horde) we'll have a directory with scripts
there will be install.sh, update-hotkey.sh, restart.sh etc, but you can't run these scripts directly
you'll have to copy the script over to the validator machine using ssh and then execute the script remotely
Do this as a django action, so someone can select a few ValidatorInstance objects, select "restart" and click go, and then there should be celery tasks scheduled to actually get it done and:
task will upload a script and run it
update-hotkey.sh will need to be run when someone clicks regenerate hotkey
finally we'll have installation, now that's a tricky part. Lets assume for a moment that a Server object represents a fresh machine that the operator has manually assigned to the ValidatorInstance object - then they'll want to use the install/reinstall action to make it so that the script actually does everything needed to install the validator
The tricky part is secrets - some validators need some secrets, api keys mostly and we'll have to pass it over to the installation script. This part is out of scope for this task though, so for now you just do the triggering of the scripts, prepare the directory structure etc
there will be a directory of installation scripts somewhere accessible to the server and you have to configure it in such a way that for every supported subnet (identified by subnet codename, which is lowercase and with dashes like compute-horde) we'll have a directory with scripts
there will be
install.sh
,update-hotkey.sh
,restart.sh
etc, but you can't run these scripts directlyyou'll have to copy the script over to the validator machine using ssh and then execute the script remotely
Do this as a django action, so someone can select a few ValidatorInstance objects, select "restart" and click go, and then there should be celery tasks scheduled to actually get it done and:
The tricky part is secrets - some validators need some secrets, api keys mostly and we'll have to pass it over to the installation script. This part is out of scope for this task though, so for now you just do the triggering of the scripts, prepare the directory structure etc