Fluss Go Client SDK
fluss-go-client is an unofficial Go-native SDK for Apache Fluss 0.9.x. It speaks Fluss directly over the native protocol, keeps the public API centered on idiomatic Go, and uses the upstream Java client as the behavioral reference for overlapping semantics.
The SDK is real, working, and tested against live Fluss environments, but it is not production-ready yet. Today it already covers:
- admin workflows for databases, tables, partitions, cluster config, and ACL-style operations
- log-table append and scan flows
- primary-key upsert, partial update, delete, lookup, prefix lookup, and limit scan
- Arrow-based log fetch and projection on Fluss
ARROWlog tables - snapshot metadata and current demo-first primary-key snapshot scan flows
What This Site Covers
This documentation focuses on the practical Go SDK surface:
- how to install and connect
- how the current read/write/admin APIs fit together
- what is supported today
- where the SDK intentionally follows Java behavior while staying Go-native
Prerequisites
You need a running Fluss cluster before using the SDK. Start with the official Fluss deployment docs:
For this repo’s real-cluster validation environments, see:
Current Positioning
The goal of this repo is not to clone the Java client package-for-package. Instead, it aims to:
- keep
client/as the public Go SDK surface - preserve
context.Contexton networked operations - keep protocol and protobuf details internal
- evolve toward production readiness through incremental, test-backed work
If you are looking for the original and broader reference SDK, see the upstream Java client docs: