个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Veredium is a web client implementation — named after the veredus, the post-horse of the Roman cursus publicus: the mount that carries the envoy to the foreign party and back. The ride whose outcome Legatium records.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Veredium is a web client implementation — named after the Roman veredus, the post-horse of the cursus publicus: the mount that carries the envoy to the foreign party and back. Its sibling Legatium records what the envoy's call came to; Veredium is the ride itself.
A host declares the client module of the stack it calls with - veredium-restclient for the
blocking client, veredium-webclient for the reactive one, both for a host that runs the two
side by side (ADR-0003).
Each brings veredium-core along. The badge shows the current release on Maven Central — use
that version where the snippet says ...:
<dependency>
<groupId>eu.inqudium</groupId>
<artifactId>veredium-restclient</artifactId>
<version>...</version>
</dependency>
Veredium derives from veredus, the post-horse of the cursus publicus, the Roman state courier service: the fast horse a rider took from one station (mutatio) to the next, changed there for a fresh one, and rode on. A web client is exactly that: not the message and not the envoy, but the mount that carries them to the other side — and the one that has to be sound for the journey to end well.
The form follows the naming of chemical elements, like its siblings
Limesium (the watched frontier, where the inbound
crossings are recorded), Legatium (the envoy, whose
outbound calls are recorded) and Tabellarium
(the letter-carrier, who ships the log events). All are published under the eu.inqudium
group, the fictional periodic table of Inqudium.
| Module | Role | Root package |
|---|---|---|
veredium-core | the stack-neutral core both clients share: mesh timeout ladder, breaker verdicts, Resilience4j wiring | eu.inqudium.veredium.core |
veredium-restclient | the blocking client: Spring RestClient over a selectable HTTP engine (default Apache HttpClient 5; ADR-0004), mesh timeout ladder, Resilience4j | eu.inqudium.veredium.restclient |
veredium-webclient | the reactive client: Spring WebClient over a selectable HTTP engine (default Reactor Netty; ADR-0004), mesh timeout ladder, Resilience4j | eu.inqudium.veredium.webclient |
veredium-examples shows a host using veredium: one Spring Boot application per
calling style of the two clients (blocking, asynchronous, reactive), one that runs both clients in one context, and
one that bounds a native Apache HttpClient 4 call with the core's BlockingResilienceDecorator, each run by the build's tests. It is never
published, and neither are the other two build-only modules,
veredium-test-support and veredium-coverage.
veredium-core: what both clients share, and the mesh timeout ladder.veredium-restclient: the hand-off, the ladder, the bulkheads, metrics, what differs from the reactive sibling.veredium-webclient: configuration, metrics, logging.Each Veredium release is built and tested against one Spring Boot line, one Kotlin line and one Java target; the table is the history of those lines, newest first. The Java column is the bytecode target the artifacts run on - the build itself needs JDK 24+.
| Veredium | Spring Boot | Kotlin | Java |
|---|---|---|---|
| 1.0.0 | 4.1.x | 2.4.x | 21 |
mvn verify
Maven multi-module build (group eu.inqudium), Java 21, Kotlin, Spring Boot parent.
The same source and version produce the same bytes on any machine: the root
POM sets project.build.outputTimestamp (bumped in every release commit), so
the jar and source archivers write that instant as every zip entry's
timestamp, sort the entries and normalize their permissions, and the manifests
carry no build user, build JDK or Maven version (Build-Jdk-Spec is omitted on
purpose - CI builds on JDK 25, a maintainer on whatever 24+ is installed). The
javadoc jar is rendered by Dokka but packaged by the jar plugin, because
Dokka's own javadocJar goal writes the build time and JDK into the archive.
Consequently the jars the Release workflow attaches to the GitHub release
(built on the tag by GitHub Actions, attested with SLSA provenance) and the
jars deployed to Maven Central from a local checkout of the same tag are
byte-identical. To check a build, run mvn -DskipTests package twice, or once
on the tag, and compare sha256sum veredium-core/target/veredium-core-<version>.jar
with the release asset.
Contributions are welcome — please read CONTRIBUTING.md first. The Code of Conduct applies to all project spaces, and security issues should be reported privately as described in SECURITY.md.
Licensed under the Apache License, Version 2.0.