Updating the Deployment Cache
All Squash APIs are currently not available for accounts under the free plan. For more details please go to our plans page.
This API call will start a new deployment to force a Deployment Cache (DC) update. Squash will update the cache during the shutdown process of the deployment.
This is useful for relatively large applications using dynamic data in Dockerfiles, such as database dumps and other assets that need to be updated on a regular basis.
Deployments using DC usually have a faster startup time since Squash automatically skips the build process. However, updating the cache is usually slower depending on the project since Squash will run the build process from scratch. This API call can help to automate this process so you can keep your deployments running fast while updating the cache as often as needed.
API Specs
https://api.squash.io/a/dis/start/?deployment_id=<deployment_id>&expire=<expire_time> HTTP Method: GET Success Response Code: 200 Success Response Body: JSON data
expire
: this argument controls how long the deployments should stay active. After the expire time is reached Squash will automatically shut down the deployment. Available options for this field:30m,1h,2h,3h,4h,5h,6h
deployment_id
: this is a unique identifier generate by Squash for a given branch. This is available on any regular Squash deployment URLs, you can get this from a GitHub Pull Request comment generated by Squash or by going to the New deployment page.
This is how the unique identifier looks like, this is the alphanumeric part right after the branch name and before the squash domain:
Sample Request
$ curl -i -H 'Squash-Key: B6mtwX0htEW0HaFp9X25UtJsiX1uBNHNsxAptnum2VxgXVwmrJfmd74En1a8MwFe' \ 'https://api.squash.io/a/dis/start/?deployment_id=w3sa2&expire=1h'
Response Sample
{"status": "ready", "ssh_port": "6512", "ssh_ip": "18.118.25.254", "deployment_url": "https://cart-v2-i3fg1.squash.io", "execution_id": "0f0d8890-ad2f-4c38-8457-b166c36bffe3", "msg": "deployment is starting up" }
status
has the following options: “pending”, “ready” and “error”pending
: the deployment has started successfully and is in progressready
: the deployment start up process is ready and you can now connect to the server through SSH.error
: an error message and error code are included within themsg
field
ssh_port
: only available when status isready
ssh_ip
: only available when status isready
deployment_url
: This is the Squash URL of this deployment that you can use for testingexecution_id
: This is a long unique identifier that represents an specific deployment runmsg
: Squash will display status or error messages in this field
How to SSH to a deployment VM
Once you receive an API response with status ready
you can then assemble an SSH connection as follows. Always use the username test-instance
when connecting to a deployment VM:
$ ssh -p <ssh_port> test-instance@<ssh_ip>
Example:
$ ssh -p 6512 test-instance@18.118.25.254
More details on the Squash deployment environment.