dozeGitHubGet doze
Registry
Check against your doze

Which doze do you run?

doze 0.1.1newest · 2 Jul 2026doze 0.1.02 Jul 2026Stop checkingKept in this browser only. Nothing is sent anywhere.

doze Kafka

OfficialSigned

Single-node Kafka-protocol broker, no JVM.

doze/kafka
$ doze add kafka
Newest
0.1.2 · [date]
Needs
any doze
Runs
runs itself
Platforms
macOS arm64 · Linux arm64 · Linux x86_64
Licence
Apache-2.0
Source
on GitHub
Not the newest: 0.1.2 is current.You are looking at 0.1.0 from 17 Jul 2026. What changed since
Go to 0.1.2

kafka 0.1.0

Superseded
Released
17 Jul 2026
Needs
any doze
Plugin protocol
1
Engines
Kafka protocol 1–4
Platforms
3 of 3
Advisories
None known

0.1.0 sets no oldest doze, so it runs on every doze (0.1.0 and up).

What changed between 0.1.0 and 0.1.2

From doze-modules history
  1. 0.1.2[date]
    No notes for this release.
  2. 0.1.118 Jul
    No notes for this release.

Same plugin protocol (1) and the same engines (Kafka protocol 1–4) throughout, so the upgrade needs no change to doze.hcl.

Projects pinned to 0.1.0 keep using it until someone runs doze modules upgrade. Nothing moves on its own: not doze up, not time, not a new release.

From doze 0.2: the newest release your doze can run
$ doze modules upgrade kafka

Artifacts

One signed archive per platform. Files live on GitHub; the registry lists them and signs their checksums.
PlatformFile (downloads from GitHub)SHA-256Signature (ed25519)
macOS arm64
aarch64-apple-darwin
kafka-plugin-0.1.0-aarch64-apple-darwin.tar.gz
512b216f089c2a393cd8fdea9e9cf7612a38640c9a71565f97800f805a96afee
1XQ37Tz+…DBCg==
Linux arm64
aarch64-unknown-linux-gnu
kafka-plugin-0.1.0-aarch64-unknown-linux-gnu.tar.gz
f3bf624cf9ab8dfc5fc2ef25ccb4afbd981884c406492ca62a4570afa4ff5a4e
bE2JuShp…J+Cg==
Linux x86_64
x86_64-unknown-linux-gnu
kafka-plugin-0.1.0-x86_64-unknown-linux-gnu.tar.gz
20338fe58d75c990b8f026929a41a10374fe4938e7b5d9e537eba9afbc882d6f
TIIe+7If…XYBw==

Every file is under https://github.com/doze-dev/doze-modules/releases/download/kafka/. Intel Macs and Windows have no build; WSL2 uses the Linux x86_64 file.

Signing

The index is signed as a whole, and each archive is signed. doze checks both before anything runs, and refuses a module whose checksum or signature doesn't match.

Key
Nu5y8mbj…Wjw=
Where the key lives
Compiled into doze. doze never fetches or trusts a key on first use.
Namespace
doze
Publisher
doze-dev Official
Index signature
19MD2zxM…CA==
What is signed
Each archive: its lowercase-hex SHA-256. The index: module, namespace, releases and channels as canonical JSON.
Not yet signed
The doze (oldest doze) field sits beside the signed part today. new The design moves it inside.
How signing works

Verify it yourself

[planned: doze modules verify] Today doze runs these checks itself on every download. The same checks by hand, for macOS arm64. Needs OpenSSL 3: the openssl that ships with macOS has no ed25519 (brew install openssl@3).

Checksum, then signature
# 1. download and hash; compare with the table above
$ curl -LO https://github.com/doze-dev/doze-modules/releases/download/kafka/kafka-plugin-0.1.0-aarch64-apple-darwin.tar.gz
$ shasum -a 256 kafka-plugin-0.1.0-aarch64-apple-darwin.tar.gz
512b216f089c2a393cd8fdea9e9cf7612a38640c9a71565f97800f805a96afee  kafka-plugin-0.1.0-aarch64-apple-darwin.tar.gz

# 2. the signature is over that hex string, with doze's public key
$ printf %s 512b216f089c2a393cd8fdea9e9cf7612a38640c9a71565f97800f805a96afee > digest.txt
$ echo '1XQ37Tz+DxnMJZkhGrTAV41AHnnrfhC1mhGX1Dh5cN0ctTGkZz6zUxnb9oAcszpaRSc3NwmlBOAllPAZgGDBCg==' | base64 -d > sig.bin
$ (printf '\x30\x2a\x30\x05\x06\x03\x2b\x65\x70\x03\x21\x00'; echo 'Nu5y8mbjYv7XEtNFBXwPVl+C8SBteVApIROefBwGWjw=' | base64 -d) > doze-key.der
$ openssl pkeyutl -verify -pubin -keyform DER -inkey doze-key.der -rawin -in digest.txt -sigfile sig.bin
Signature Verified Successfully

What doze.lock records for 0.1.0

A project pinned to 0.1.0 carries this entry. doze modules upgrade replaces it whole: release, engines and checksums move together in one reviewable diff. Every platform's checksum goes in, so a teammate on Linux verifies against the same pin you made on a Mac. Pinned and cached means no network at all.

doze.lock
modules:
    doze/kafka:
        version: 0.1.0
        protocol: 1
        engines:
            - "1"
            - "2"
            - "3"
            - "4"
        hashes:
            aarch64-apple-darwin: sha256:512b216f089c2a393cd8fdea9e9cf7612a38640c9a71565f97800f805a96afee
            aarch64-unknown-linux-gnu: sha256:f3bf624cf9ab8dfc5fc2ef25ccb4afbd981884c406492ca62a4570afa4ff5a4e
            x86_64-unknown-linux-gnu: sha256:20338fe58d75c990b8f026929a41a10374fe4938e7b5d9e537eba9afbc882d6f
        # no doze: line; 0.1.0 sets no oldest doze