HivePaaS
Docker Swarm 기반 오픈소스 자체 호스팅 PaaS, SSL·백업·자동 확장 지원
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.