Avatar for Phineas

Phineas

Changelog #1: GitHub Integration, Health Checks & Restart Policies

Over September, the Hop team has been working on some exciting features which we're ready to make production-ready today. We're planning to release these changelogs once a month, as long as we have exciting features to share with you! 🐇

Deploy from GitHub 🚀

The hop deploy command can be used to deploy or update any Ignite deployment directly from the project directory, however this can become tedious to do every time, and also lacks visibility into code changes that went into each build.

Meet Deploy from GitHub: create deployments directly from GitHub repositories, then just push to your main branch to automatically build & release! Builds will be linked directly to commits, so if a build fails, you can see exactly which push caused the issue.

Read our docs on Deploying from GitHub

Health Checks 🚦

Usually, once you deploy a new build to Ignite, Hop checks to make sure that the new containers are actually running before deleting the old containers. However, just because your container is running doesn't mean the application its-self is running or ready to take requests.

With Health Checks, you can now set up a HTTP(s)-based probe which will send a request to your container to determine if it's actually ready to take requests. You can choose the port & path that Ignite will use to send the request, and you may choose how to respond. For example, you may choose to respond with a HTTP 5xx error code until your application has successfully connected to it's database, then a HTTP 204 once it's ready to serve requests.

Once set up, Ignite will use the Health Check to determine if a new build is working & ready replace containers from the previous build. Also, if a container fails to respond to a health check during runtime, Ignite will automatically attempt to restart that container.

Read our docs on Health Checks

Restart Policies 🔄

You can now configure how Ignite should treat containers that exit their process. You can choose between:

  • On Failure: Restart the container if it exits with a non-zero exit code
  • Always: Always restart the container, no matter if it's a successful exit code, or
  • Never: Never restart the container if it exits

The restart policy is configured on a per-deployment basis. You can configure it by visiting the Config page on an Ignite deployment.

Other Updates

  • The Hop Go SDK is now available! (docs) (repo)
  • Ability to promote old builds to production
  • Edit raw environment variables on Ignite deployments using text or JSON
  • Import environment variables from environment files via drag n' drop

And with that, we conclude this month's update. Thank you for using Hop during our beta period! We're constantly working to bring new features to the platform. As always, you can join our Discord to suggest features you want to see. We also have an awesome community of developers that are willing to help if you get stuck with anything, Hop related or not!

We're currently working hard on Persistent Volumes and TCP Gateways. They should be with you by next month's update! 🤞