DEV Community

Cover image for Introducing StewardX - Your automation buddy!
Gökay Okyay
Gökay Okyay

Posted on

Introducing StewardX - Your automation buddy!

Hey everyone! Long time no see.

A little history

I was not active for couple of months but it was for a good cause. I've been learning Rust, and honestly, I fell in love with it! It's kinda low level but still gives one of the highest developer experiences while writing it.

Several months ago I've decided to create a useful side project - a dynamic price checker that supports multiple websites. But it didn't happen because I couldn't find the right tools I needed. That's why I've build StewardX!

Introduction

So what is StewardX?

StewardX is actually an acronym! It stands for Scheduled Task Executor With Asynchronous Runtime and Database and an X on the end. It is a scheduled task executor. Think of cron but with a database. Being written in Rust, gives us a compiled, lightweight single file executable.

Features

  • It stores the outputs of tasks
  • It can run tasks periodically
  • It can be triggered to run tasks
  • It supports both Dockerfile and Docker image (prebuilt)
  • It supports command tasks (like echo "Hey")
  • It serializes and saves tasks in Database (Currently only PostgreSQL).
  • Got a buggy and cute control panel 😛

I'd like to point out the last item, it stores tasks in database! Means that, it's portable 😁

Task types

StewardX currently supports two task

  • Docker - As I said, it supports both dockerfiles and docker images
  • Command

But it can be easily extended, thanks to Rust's trait system. In fact, I'll be writing tutorials to explain how to add a new task type.

Frequency

Currently, there are two frequency types:

  • Hook - which is basically a webhook
  • Cron - with seconds support

I'll be writing more tutorials and guides about StewardX, but in the mean time, feel free to checkout the repository and the documentation.

See you!

Top comments (0)