Skip to content

[docs] Add Rust client documentation#2462

Merged
leekeiabstraction merged 7 commits intoapache:mainfrom
Prajwal-banakar:docs-rust-client
Mar 22, 2026
Merged

[docs] Add Rust client documentation#2462
leekeiabstraction merged 7 commits intoapache:mainfrom
Prajwal-banakar:docs-rust-client

Conversation

@Prajwal-banakar
Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #2446

The purpose of this change is to provide comprehensive documentation for the Fluss Rust Client. This helps Rust developers understand how to interact with the Fluss cluster, manage resources, and perform high-performance data operations.

Brief change log

This pull request introduces the following changes:

New Documentation: Created website/docs/apis/rust-client.md based on the existing Java client structure.

Rust Snippets: Added asynchronous code examples for initialization using Tokio, Admin API usage, and Table API operations (Writers/Scanners/Lookups).

Type Mapping: Included a dedicated section mapping Fluss internal types to native Rust types.

Sidebar Hierarchy: Configured the sidebar to display the Rust Client immediately following the Python Client.

Build Metadata: Updated website/package-lock.json to ensure consistency in the website build environment.

Tests

Manual UI Verification: The documentation was built locally using the Docusaurus development server.

Rendering Check: Confirmed that all Rust syntax highlighting, tables, and sidebar navigation items display correctly at localhost:3000.

After changes
Screenshot 2026-01-24 111617

API and Format

This change is documentation-only and does not affect the API or storage format of the Fluss server or clients.

Documentation

This PR introduces a new documentation page for the Fluss Rust Client.

Copy link
Copy Markdown
Contributor

@leekeiabstraction leekeiabstraction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TY for the PR. Left some comments. PTAL!


```toml
[dependencies]
fluss-client = "0.6.0" # Replace with the latest version
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you confirm if this is currently available publicly?

Comment on lines +59 to +62
conf.set_string("client.security.protocol", "sasl");
conf.set_string("client.security.sasl.mechanism", "PLAIN");
conf.set_string("client.security.sasl.username", "alice");
conf.set_string("client.security.sasl.password", "alice-secret");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these currently honoured?

@Prajwal-banakar
Copy link
Copy Markdown
Contributor Author

Hi @leekeiabstraction I've updated the Rust documentation. Since the crate is not yet public on crates.io, I changed the installation section to show how to use it as a Git dependency. I also reordered the sections so Admin API comes first and added the requested initialization comments. PTAL!

@leekeiabstraction
Copy link
Copy Markdown
Contributor

Hello Prajwal,

There has been some recent changes to rust API. Are you able to update this PR accordingly?

For your reference, this PR apache/fluss-rust#242 is a more comprehensive rust client doc.

Keep your PR structure as is (light weight intro) but also add a link to the more comprehensive doc on rust client side

@Prajwal-banakar
Copy link
Copy Markdown
Contributor Author

Hi @leekeiabstraction, I’ve updated the Rust documentation to align with the latest changes PTAL!

Copy link
Copy Markdown
Contributor

@leekeiabstraction leekeiabstraction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @Prajwal-banakar for working on this. I'm thinking that we should do the following:

  1. Move the content of this PR to fluss-rust
  2. Change this pr to point to fluss-rust website.

This approach will ensure that rust/cpp/python docs stay near to client source and is discoverable from main site.

@Prajwal-banakar
Copy link
Copy Markdown
Contributor Author

Hi @leekeiabstraction , I've slimmed down the page to a lightweight intro with an installation snippet and a quick example, linking to https://clients.fluss.apache.org/user-guide/rust/installation for the full reference. The link is currently broken since the fluss-rust site hasn't been deployed yet, but it will resolve once the site goes live.
Regarding the fluss-rust repo the comprehensive content (API reference, data types, error handling, examples) is already present there, so I don't think a separate PR is needed from my side unless something is missing. Please let me know if you'd like me to contribute anything specific there. PTAL!

@Prajwal-banakar
Copy link
Copy Markdown
Contributor Author

Hi @leekeiabstraction This PR has been open since January and I've addressed all the feedback. Could you please take a look when you get a chance? I don't want to lose track of it. PTAL!

And same to this pr also : #2461

@leekeiabstraction
Copy link
Copy Markdown
Contributor

Ack @Prajwal-banakar

Thank you, I have been holding this off because rust side docs weren't ready.

We have finally got the site setup with help from apache infra today: https://issues.apache.org/jira/browse/INFRA-27705

I'm currently away but will be able to verify, test & merge on Sunday.

@leekeiabstraction
Copy link
Copy Markdown
Contributor

TY for the PR Prajwal, I've added more links on the page and removed package-lock.json.

@leekeiabstraction leekeiabstraction merged commit ee03ba7 into apache:main Mar 22, 2026
2 checks passed
@Prajwal-banakar Prajwal-banakar deleted the docs-rust-client branch March 23, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs] Add documentation for Rust Client

2 participants