Skip to main content

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 ARROW log 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.Context on 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:

Start Here​