個人 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.