forge-recovery bf0b450cf3
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
Shared Java Maven CI with Docker / secrets (push) Successful in 21s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (push) Successful in 21s
QRun-IO/ci-policy: native / native-result (push) Successful in 9s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
Shared Java Maven CI with Docker / verify (push) Successful in 49s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (push) Successful in 51s
Shared Java Maven CI with Docker / gate (push) Successful in 14s
qrun-release / release (push) Successful in 20m14s
qrun-release / postpublish (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (push) Successful in 15s
QRun-IO/ci-policy: ci / java-docker-3 (push) Successful in 20m12s
QRun-IO/ci-policy: ci / ci-result (push) Successful in 5s
ci: enroll shared Gitea lifecycle
2026-11-03 17:31:26 +00:00

QBit Object Storage

License Java

QQQ QBit: S3-compatible object storage service and Admin -> Storage app (browse, upload, presigned links, permission-checked and logged writes).

Status: design: QRun-IO/qqq#1089; implementation in progress. Nothing is published yet.

Requirements

  • Java 21.
  • QQQ 4.1 (built against 4.1.0-RC.4).

Install

Not yet published. Once released, add com.kingsrook.qbits:qbit-object-storage and produce the qbit into your QInstance:

new ObjectStorageQBitProducer()
   .withQBitConfig(new ObjectStorageQBitConfig().withBackendName("rdbms"))
   .produce(qInstance);

Naming

Tables are object_storage_<name> (lowercase snake_case, backend name equal to the table name). Permissions are object_storage.<action>.

Adopting in another app

Follow the QQQ adoption checklist once the first release is published.

Build

./mvnw verify

Always use the Maven wrapper (Maven 3.9.11); Maven 3.10 cannot read the parent POM.

License

Apache License 2.0. See LICENSE and NOTICE.

S
Description
QQQ QBit: S3-compatible object storage service and Admin -> Storage app (browse, upload, presigned links, permission-checked writes)
Readme
2.4 MiB
0 Stars 3 Watchers 0 Forks
Languages
Java 100%