This API is a Node.js server that will be running on a Linux VM.
The API is composed of:
-
HTTP endpoints:
- 🟢
GET /: will return a simple text (mostly to check if the server is running) - 🟢
GET /health: will return a JSON object with the health status of the server and the version of the API.
- 🟢
-
Websocket API requests:
- 🟢
SCONIFY_BUILD: will take a dockerhub image and return asconifiedImageandappContractAddressin the response.- Takes a public dockerhub image as input and a user auth token with push access to the image's repo in order to push the sconified image
- builds a sconified image out of it
- publishes it to dockerhub with tag suffix
- 🟢
- Node 20
- docker installed locally with support for linux/amd64 architecture (either native or emulated)
- Scontain account with pull access to docker repository
registry.scontain.com/scone-production/iexec-sconify-image - An enclave signing key to sign Scone production images
Create a .env file see .env.template
cp .env.template .env
# fill in the .env fileCreate or provide your own enclave signing key in sig/enclave-key.pem to sign
Scone production images
The enclave signing key should be a PEM formatted RSA key 3072 bits
A valid signing key can be generated with openssl by running
openssl genrsa -3 3072
npm run ensure-signing-keynpm run startnpm run dev:prettyPOST /sconifyis dropped, websocket API requestSCONIFY_BUILDmust be used instead.POST /sconify/buildis dropped, websocket API requestSCONIFY_BUILDmust be used instead.- websocket API request
SCONIFYis dropped, websocket API requestSCONIFY_BUILDmust be used instead. - template
Pythonis dropped, templatePython3.13must be used instead. - sconeVersion
v5orundefinedis dropped, sconeVersionv5.9must be used instead. - sconeProd
falseorundefinedis dropped, sconeProdtruemust be used instead.