Currently, deploying the Hello World enclave takes nearly a minute to come online. Our timeout is two minutes. If an application has a heavy startup, it will be terminated eagerly. We need to speed up enclave startup time as much as possible. Maybe we do biphasic: wait for Caddy to come up, then wait for attestation endpoint to come up.
Enclave boot speed needs to be much faster #216
After completing a build, I am getting a timeout.
remote: [x] Preparing deployment...
remote: [x] Provisioning dedicated builder...
remote: [x] Builder ready, downloading source...
remote: [x] Docker image built, building EIF...
remote: [x] Build complete
remote: [x] Uploading and launching...
remote: [x] Waiting for health check...
remote: error: Enclave failed to become healthy: Attestation endpoint did not become healthy within 120 seconds
remote: error: Invalid deployment response
@modalala wrote in #216 (comment):
After completing a build, I am getting a timeout.
remote: [x] Preparing deployment... remote: [x] Provisioning dedicated builder... remote: [x] Builder ready, downloading source... remote: [x] Docker image built, building EIF... remote: [x] Build complete remote: [x] Uploading and launching... remote: [x] Waiting for health check... remote: error: Enclave failed to become healthy: Attestation endpoint did not become healthy within 120 seconds remote: error: Invalid deployment response
This is likely due to our hard coded timeout limit. What app were you trying to deploy?
@ryansquared is currently working on addressing this.
Yes, I think that #135 is probably the correct issue for my comment rather than this one.
I was trying to deploy frost-tools.
#135 is more about the builder, not the enclave. Builders have a 30 minute timeout, your EIF must be built in 30 minutes (and must send updates every 2 minutes, on my current PR). However, deploying the enclave can take a long time, and we need some way to optimize it.
I think one thing we can do is add a health check path (location TBD) where we just return 200 OK and null response. Then, we can check whether that's up in 120 seconds, and once that timer's reset, we can enter a new check for the enclave attestation.
#250 < this is the sauce
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?