diff --git a/content/posts/vieter-0.4.0/index.md b/content/posts/vieter-0.4.0/index.md new file mode 100644 index 0000000..a140e97 --- /dev/null +++ b/content/posts/vieter-0.4.0/index.md @@ -0,0 +1,69 @@ +--- +title: "Announcing Vieter 0.4.0" +date: 2022-10-01 +--- + +Right at the start of October, I managed to release another version of Vieter! + +## What is Vieter? + +Vieter consists of two independents parts, namely an implementation of an Arch +(Pacman) repository, & a build system to populate said repository. The goal is +to remove the need for an AUR helper & move all builds to a remote server. Not +only does this greatly reduce update times on lower-end systems, it also +prevents AUR packages from being built multiple times on different systems. + +The repository can also be used independently, providing a convenient server +for publishing Arch packages from CI builds for example. + +While I specifically mention Arch & the AUR, Vieter is compatible with any +Pacman-based distro & can build PKGBUILDs provided from any Git source. + +## What's changed? + +### Renaming `repos` to `targets` + +Before 0.4.0, "repos" was the term used to describe the list of Git +repositories that periodically get built on your Vieter instance. This term +however was rather confusing, as the Vieter server itself also hosts Pacman +repositories, making it difficult to correctly talk about the features. That's +why I've made the decision to rename this to "targets". All CLI commands +previously found under `vieter repos` can now be used via `vieter targets` +instead. API routes have also been renamed. + +Along with this, a new kind of target can now be added which specifies the link +to a PKGBUILD file, instead of a Git repository. This can for example be used +to link a PKGBUILD that's contained inside some other Git repository that's not +specifically used for that PKGBUILD. + +### Refactored web framework + +The underlying web framework has seen a proper refactor to better accomodate +the rest of the codebase. All API routes can now be found under a versioned +`/api/v1` prefix. + +The repository endpoints now support `DELETE` requests to remove packages, +arch-repos & repos. All routes serving files (e.g. the repository routes) now +support HTTP byte range requests, which not only allows Pacman to resume +downloads after failure, but also allows tools such as +[`axel`](https://github.com/axel-download-accelerator/axel) to work properly +using a Vieter server. + +Endpoints creating new entries on the server now return the ID of the newly +created object (e.g. a target or a build log). + +### CLI UX + +The CLI has seen some useful changes. There's now a `-r` flag that makes +Vieter's output better for scripting. Besides that, a small tool has been added +to interact with the AUR and add AUR packages directly to your list of targets! + +`vieter targets add` and `vieter logs add` now return the ID of the newly +created entry. + +## Interested? + +If you're interested in Vieter, considering 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/vieter).