iggy
Skill47 starsChanged 4 months agoMITView on GitHub
Deploy, configure, and build clients against Apache Iggy, a Rust-native message streaming platform. Use for Iggy Docker, Compose, or Kubernetes deployments, stream and topic design, retention and consumer groups, QUIC, TCP, HTTP, or WebSocket transport, apache-iggy Python clients, MCP and connectors, 0.8 to 0.9 migration, or container connectivity and persistence problems.
In this repository8 other files it gives its agents.
- docker-composeSkill
- firnSkill
- flink-agentsSkill
- flinkSkill
- flussSkill
- icebergSkill
- lanceSkill
- paimonSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 65
Before a 0.8 to 0.9 cutover, preserve the old volume and a compatible server for rollback, export required data, and validate replay into a …
- Very specific: line 68
Never use --fresh as a repair step on valuable data: it wipes the local replica directory.
- Distinctive: line 70
Do not publish QUIC, TCP, or HTTP ports on a public interface without authentication configured.
- Distinctive: line 82
After an upgrade, confirm the client SDK version actually negotiates with the server version.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Apache Iggy Streaming Expert
Scope
Iggy deployment, stream and topic design, producer and consumer patterns, Docker Compose, SDK usage, and MCP-oriented AI workflows.
For general Compose file structure use the docker-compose skill; this skill
covers the Iggy-specific settings inside it.
Current Facts
Release guidance checked on 2026-11-03. Recheck the linked sources before selecting versions for a new deployment; preserve existing project pins.
- Current server release: 0.9.0, released September 18, 2026, following graduation from the Incubator. Older 0.8.0 and 0.7.0 artifacts retain
-incubating. - Server image:
apache/iggy:0.9.0. Web UI, MCP, and Connect have separate image/version streams; verify their tags independently.edgebuilds are development snapshots. - SDK compatibility for server 0.9: Rust
iggy0.11.0, CLI 0.14.0, Pythonapache-iggy0.9.0 (Python 3.10+), Java 0.9.0, Node 0.10.0, Go/C# 0.9.0. Match the compatibility matrix, not just version-number equality. - Ports: HTTP 3000, QUIC UDP 8080, TCP 8090, WebSocket 8092.
- 0.9 upgrade boundary: on-disk data, wire protocol, and configuration changed. A 0.9 server cannot read a 0.8 data directory, and there is no in-place migration. Clients and server must cut over together.
Inspect First
Establish before recommending or changing anything:
- Server and data-directory versions. Determine whether this is a fresh 0.9 deployment or a migration with data that must be exported and replayed.
- Deployment target: local binary, Docker, Compose, Kubernetes/Helm, or SDK-only client work.
- The installed SDK package version, separately from the server version. For
Python, check the installed
apache-iggymethods and server compatibility before writing detailed code. - For connection failures, which transport and port are in use, and whether
the server is bound to
0.0.0.0rather than loopback inside the container.
Decision Rules
- Choose transport by requirement: TCP for throughput, QUIC for latency, HTTP for REST and admin, WebSocket for browser-compatible clients.
- Set wildcard listeners for transports exposed from a container, together
with
IGGY_NODE_ADVERTISED_ADDRESSreachable by the clients. In 0.9 a wildcard bind without an advertised address prevents startup. - Persist
/app/local_datafor the published 0.9 image, or explicitly setIGGY_PATHand mount that path. The repository-built image uses/local_data; do not assume those image layouts are interchangeable. - Account for io_uring and thread-affinity requirements. Compose examples often
need
SYS_NICE,seccomp:unconfined, and memlock ulimits. - Pin exact version tags in production rather than
latest, and pin server and SDK versions independently. - For 0.8 to 0.9, replace moved configuration keys, including
IGGY_SYSTEM_PATHwithIGGY_PATH. Review per-topic durability settings; the oldenforce_fsyncswitches no longer apply.
Safety
- Supply
IGGY_ROOT_USERNAMEandIGGY_ROOT_PASSWORDthrough environment or secret files, never hardcoded in a committed Compose file, and change the defaults before exposing any port beyond localhost. - Before a 0.8 to 0.9 cutover, preserve the old volume and a compatible server for rollback, export required data, and validate replay into a separate empty directory. A backup of 0.8 files is not directly readable by 0.9.
- Never use
--freshas a repair step on valuable data: it wipes the local replica directory. Bootstrap credentials do not replace recovered credentials. - Do not publish QUIC, TCP, or HTTP ports on a public interface without authentication configured.
- Deleting a stream or topic removes its persisted segments. Confirm the exact target name before running any delete.
Verify
- Confirm the server answers on the intended transport, not merely that the container is running: an HTTP request to the server or a CLI ping.
- List streams and topics back after creating them.
- Send and consume one test message end to end before calling a pipeline working.
- After an upgrade, confirm the client SDK version actually negotiates with the server version.
- For container deployments, verify the mounted path matches
IGGY_PATHand that clients can reach the advertised address returned by the server. - Report server version, SDK version, transport, and exactly what you exercised.
Update Checklist
- Recheck Iggy downloads and the version-specific migration guide.
- Recheck SDK package versions separately; server, Rust, Python, Java, Go, C#, and Web UI versions may differ.
Sources
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

