January 10th, 2023 - Alexander Mattoni, Co-Founder and Head of Engineering

Introducing Cycles Certificate Manager

We’ve all been there. After countless hours of development, you’re ready to take that app that works awesome on “localhost” live to production, but production services will only interface over https. Or maybe, your DNS is managed on Cycle, but some third-party app you want under the same domain requires a TLS certificate. Or, if you’re like us, you’re trying to host a private instance of Gitlab behind a VPN, but outside project management services need access to it…and only communicate over https.

No matter what your needs, there probably has been a time where you thought, “Oh no. Do I REALLY need to set up Let’sEncrypt and all the DNS challenges just to get a renewable TLS certificate? “ with various amounts of groaning.

A Simple Solution

Cycle has a very robust DNS management service built into the platform. It solves a broad variety of problems, especially around automated TLS certificate generation and renewal. If you’re running containers on the platform, everything just works. There are edge cases, however, where some services can’t be run on the platform, or a wildcard certificate generated on Cycle needs to be used somewhere else.

That’s why we’ve created the Cycle Certificate manager. It’s a tiny application that runs in the background and communicates with Cycle to fetch certificates and keep them up to date. Cycle itself generates and renews certificates via Let’sEncrypt, and the certificate manager downloads them, checking the expiration and re-fetching a few days before they expire.

If you’re already using Cycle to handle your DNS, this can be a very helpful addition that expands its capabilities to any part of your business. It may also be easier to configure DNS on Cycle and just use the certificates in external applications than to set it up manually.

As a part of this release, we’ve added a new endpoint to the Cycle API to download your certificates manually as well (which this tool uses). Check out the docs here.

Open Source and Free To Use

We are giving this tool to the community as a part of our open source efforts as a company. It is free to use and under the MIT license. In the past, we’ve open sourced some other items such as our API Clients, but plan on releasing a lot more tools and interfaces to the Cycle platform as time goes on.

This is also our first Rust app. Overall, it was a great experience writing this in Rust, and we will probably use it more in future projects.

💡 Interested in trying the Cycle platform? Create your account today! Want to drop in and have a chat with the Cycle team? We'd love to have you join our public Cycle Slack community!