63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
|
---
|
||
|
title: "Vieter 0.6.0"
|
||
|
date: 2023-07-20
|
||
|
---
|
||
|
|
||
|
It's been a while since I've released a new version of Vieter. A busy semester
|
||
|
combined with a lack of interest in the project has definitely slowed down
|
||
|
development. Nonetheless, I've got a new release ready for you!
|
||
|
|
||
|
## What's Vieter?
|
||
|
|
||
|
Vieter consists of two central components: an Arch Linux (well, Pacman
|
||
|
actually) repository server that supports uploading package archives, combined
|
||
|
with a build system to populate this server by periodically building select
|
||
|
packages. The goal of this is to completely remove the need for an AUR helper,
|
||
|
and moving all build times to the cloud, allowing for smooth updates across as
|
||
|
many machines as required.
|
||
|
|
||
|
## What's changed?
|
||
|
|
||
|
This is a rather small update, and it mostly contains a few quality-of-life
|
||
|
improvements.
|
||
|
|
||
|
For one, there's now a Prometheus metrics endpoint so you can integrate Vieter
|
||
|
into your existing stack. Currently the metrics are limited to API request
|
||
|
timings, but this could be expanded upon in the future.
|
||
|
|
||
|
The API can now filter the list of targets, allowing you to more easily search
|
||
|
for specific targets. This functionality has also been added to the CLI.
|
||
|
|
||
|
Builds can now be configured with a timeout, with build containers being
|
||
|
automatically killed if this timeout is reached.
|
||
|
|
||
|
Behind the scenes, the codebase has been updated to a compiler commit after the
|
||
|
0.3.3 release, and the cron logic has been rewritten in C using the
|
||
|
[libvieter](https://git.rustybever.be/vieter-v/libvieter) library. Agents now
|
||
|
use worker threads, meaning they will not spawn a new thread anymore for each
|
||
|
new build. Package uploads now properly fail if the TCP connection was closed
|
||
|
before all bytes of a file were received. Lastly, the deprecated cron daemon
|
||
|
has been removed.
|
||
|
|
||
|
### What's next?
|
||
|
|
||
|
Throughout the last couple of months, I've grown more and more tired of the V
|
||
|
programming language, and the codebase in general. There's a lot of technical
|
||
|
debt present, and due to the limitations of the language and existing
|
||
|
frameworks, I've had to resort to questionable practices for a lot of the
|
||
|
features (e.g. POST request data as query parameters). Due to this, I've
|
||
|
decided to restart this project in Rust, under the name
|
||
|
[rieter](https://git.rustybever.be/Chewing_Bever/rieter). With this, I hope to
|
||
|
move away from this technical debt, and build a new solid foundation on which I
|
||
|
can further expand this project. I'm not going to be making any promises on
|
||
|
when this will be ready to replace Vieter, but I hope to get there soon.
|
||
|
|
||
|
## Conclusion
|
||
|
|
||
|
Just picture a very creative ending of this post here ;)
|
||
|
|
||
|
If you're interested in Vieter, consider joining
|
||
|
[#vieter:rustybever.be](https://matrix.to/#/#vieter:rustybever.be) on Matrix!
|
||
|
The source code can be found on my personal
|
||
|
[Gitea](https://git.rustybever.be/vieter-v/vieter).
|