I have been testing this action to implement preview environments for a client of ours. This particular client has a reasonably large docker footprint, with a dozen or so containers (backend, frontend, and integration apps) from what used to be a microservice style deployment. This contributes to a relatively long time required to provision the instance and download/setup the containers.
PullPreview fetches Lightsail access details once when provisioning or connecting to an instance. AWS returns a temporary SSH certificate with an expiresAt timestamp; certificates observed during testing were valid for roughly ten minutes.
I noticed that when docker compose tries to open additional SSH connections after about 10mins they start failing with Permission denied (publickey) and Certificate invalid: expired errors.
Docker reports this as a remote context failure with SSH exit status 255.
I forked the repo and added a workaround for the moment (hellpizza/pullpreview-action:codex/refresh-lightsail-ssh-access), which refreshes the certificate before doing the compose actions which allowed the deployment to completed. I'm not really knowledgable in Go (this workaround was implemeted with Codex), and I don't think its a great solution so I wanted to get some input on what other options might exist to resolve the issue.
Thoughts?
I have been testing this action to implement preview environments for a client of ours. This particular client has a reasonably large docker footprint, with a dozen or so containers (backend, frontend, and integration apps) from what used to be a microservice style deployment. This contributes to a relatively long time required to provision the instance and download/setup the containers.
PullPreview fetches Lightsail access details once when provisioning or connecting to an instance. AWS returns a temporary SSH certificate with an expiresAt timestamp; certificates observed during testing were valid for roughly ten minutes.
I noticed that when docker compose tries to open additional SSH connections after about 10mins they start failing with
Permission denied (publickey)andCertificate invalid: expirederrors.Docker reports this as a remote context failure with SSH exit status 255.
I forked the repo and added a workaround for the moment (hellpizza/pullpreview-action:codex/refresh-lightsail-ssh-access), which refreshes the certificate before doing the compose actions which allowed the deployment to completed. I'm not really knowledgable in Go (this workaround was implemeted with Codex), and I don't think its a great solution so I wanted to get some input on what other options might exist to resolve the issue.
Thoughts?