You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This could be simplified if we had some command to dynamically stop the backend and batcher at some specific block height, or an API call to end, returning the block height e.g., POST /api/stop-engine/{block_height} returns {"status": "ok": "chain_block_height": 5000, "emulated_block_height": 100 } (This would have to be a secure endpoint)
Another alternative is sending a concise command with an alias-name to stop the build. (This will help for the migrations) e.g.,&stop|alias_stopped_july_8
We can move the snapshot to the cloud provider and give the instructions for a specific provider, advanced deployments can move this particular provider's API, and ideally call the snapshot something related to the block height. e.g., snapshot-5000
e.g.,
# Snapshot a Droplet
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-d '{"type":"snapshot","name":"Nifty New Snapshot"}' \
"https://api.digitalocean.com/v2/droplets/3164450/actions"
4
Currently, the Automatic Migration system uses relative block height to apply a migration e.g., 100.SQL gets applied at block height start+100, the issue with this is:
Different environments have different block heights
Not all patches are applied to all environments
Hard to predict where will the build stop
We can allow the config.network.yml to set this up for different environments
A docker image with: /packaged, .env, config, extensions, ABI.json(s), paima-engine to solve the complex exact dependency requirements.
And a second docker image with a static image server and frontend
The main problem here is that paima-engine is a large binary file.
If Paima would publish public paima-engine as a docker image over alpine, we could build lightweight images over this base image.
Putting it all together
The developer names this deployment alias_stopped_july_8 and uses this value in config for migrations.
The CI CD builds and pushes the frontend and backend image (based on paima-engine image)
The CI CD sends a concise command and waits for the server to stop.
The CI CD calls the Cloud service to stop snapshot the hard drive
The CI CD pulls and starts the Docker Images
TL;DR
Official paima-engine / apline docker images
Update migration system allow setup though config files
Game Docker Files to pack backend / frontend
github CI CD, read some file .paima-ci-cd with the stop alias, and do the steps above
The text was updated successfully, but these errors were encountered:
Templates do not have a default CI/CD mechanism.
The overall steps to deploy a game are:
Some difficulties & proposals.
1 & 2
POST /api/stop-engine/{block_height}
returns{"status": "ok": "chain_block_height": 5000, "emulated_block_height": 100 }
(This would have to be a secure endpoint)&stop|alias_stopped_july_8
snapshot-5000
e.g.,
4
Currently, the Automatic Migration system uses relative block height to apply a migration e.g., 100.SQL gets applied at block height start+100, the issue with this is:
We can allow the
config.network.yml
to set this up for different environments1 & 3 & 5
/packaged, .env, config, extensions, ABI.json(s), paima-engine
to solve the complex exact dependency requirements.static image server and frontend
The main problem here is that
paima-engine
is a large binary file.If Paima would publish public
paima-engine
as a docker image over alpine, we could build lightweight images over this base image.Putting it all together
alias_stopped_july_8
and uses this value in config for migrations.TL;DR
The text was updated successfully, but these errors were encountered: