This is an automated email from the ASF dual-hosted git repository.

maciej pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iggy-website.git


The following commit(s) were added to refs/heads/main by this push:
     new af271802 Update iggy repo links and server config toml
af271802 is described below

commit af271802b1ba3eaca0e4081a7a7513705903ade6
Author: Maciej Modzelewski <[email protected]>
AuthorDate: Mon Feb 16 13:06:25 2026 +0100

    Update iggy repo links and server config toml
    
    closes #35
---
 content/docs/introduction/getting-started.mdx |  2 +-
 content/docs/server/configuration.mdx         | 95 ++++++++++++++-------------
 2 files changed, 50 insertions(+), 47 deletions(-)

diff --git a/content/docs/introduction/getting-started.mdx 
b/content/docs/introduction/getting-started.mdx
index 0988bed2..ff651141 100644
--- a/content/docs/introduction/getting-started.mdx
+++ b/content/docs/introduction/getting-started.mdx
@@ -12,7 +12,7 @@ Once you're familiar with the 
[architecture](/docs/introduction/architecture), i
 
 In the typical scenario, e.g. when working with the microservices architecture 
or any other kind of the distributed system, each application can be both at 
the same time (producer and consumer), as the particular service might publish 
its own messages (typically in a form of the events - facts, that have already 
happened) while at the same time be interested in the notifications coming from 
the other service(s).
 
-The completed sample can be found in 
[repository](https://github.com/apache/iggy/tree/master/core/examples/src/getting-started),
 however, we will go through the implementation step by step, so that you can 
get a better understanding of how to build the applications from scratch.
+The completed sample can be found in 
[repository](https://github.com/apache/iggy/tree/master/examples/rust/src/getting-started),
 however, we will go through the implementation step by step, so that you can 
get a better understanding of how to build the applications from scratch.
 
 Also, please do keep in mind that we'll be using the default implementation of 
`IggyClient` which provides a wrapper on top of the low-level, 
transport-specific `Client` trait (which you can always use, if you want to 
have more control over the communication with the server).
 
diff --git a/content/docs/server/configuration.mdx 
b/content/docs/server/configuration.mdx
index 2cd5601b..9d66a180 100644
--- a/content/docs/server/configuration.mdx
+++ b/content/docs/server/configuration.mdx
@@ -8,9 +8,16 @@ If no configuration file is found, the server uses its 
built-in defaults.
 
 Let's take a look at the available configuration options. The following 
example shows all settings with their default values:
 
-**Note:** For the most up-to-date configuration reference, please refer to the 
[server.toml](https://github.com/apache/iggy/blob/master/core/configs/server.toml)
 file in the project's repository.
+**Note:** For the most up-to-date configuration reference, please refer to the 
[config.toml](https://github.com/apache/iggy/blob/master/core/server/config.toml)
 file in the project's repository.
 
 ```toml
+# Configuration for consumer group cooperative partition rebalancing.
+[consumer_group]
+# Maximum time a partition can remain in pending revocation before being 
force-transferred to the target member.
+rebalancing_timeout = "30s"
+# How often the periodic checker scans for timed-out pending revocations.
+rebalancing_check_interval = "5s"
+
 [data_maintenance.messages]
 # Enables or disables the expired message cleaner process.
 cleaner_enabled = false
@@ -359,10 +366,24 @@ level = "info"
 # When enabled, logs are stored in {system.path}/{system.logging.path} 
(default: local_data/logs).
 file_enabled = true
 
-# Maximum size of the log files before rotation.
-max_size = "512 MB"
+# Maximum size of a single log file before rotation occurs. When a log
+# file reaches this size,  it will be rotated   (closed and a new file
+# created). This setting works together with max_total_size to control
+# log storage.  You can set it to 0 to enable unlimited size of single
+# log,  but all logs will be written to a single file,  thus disabling
+# log rotation. Please configure 0 with caution, esp. RUST_LOG > debug
+max_file_size = "500 MB"
+
+# Maximum total size of all log files.  When this size is reached,
+# the oldest log files will be deleted first. Set it to 0 to allow
+# an unlimited number of archived logs. This does not disable time
+# based log rotation or per-log-file size limits.
+max_total_size = "4 GB"
+
+# Time interval for checking log rotation status. Avoid less than 1s.
+rotation_check_interval = "1 h"
 
-# Time to retain log files before deletion.
+# Time to retain log files before deletion. Avoid less than 1s, too.
 retention = "7 days"
 
 # Interval for printing system information to the log.
@@ -397,25 +418,28 @@ default_algorithm = "none"
 # Specifies the directory where stream data is stored, relative to 
`system.path`.
 path = "streams"
 
-# Topic configuration
+# Topic configuration - default settings for new topics
 [system.topic]
-# Path for storing topic-related data (string).
-# Specifies the directory where topic data is stored, relative to 
`stream.path`.
+# Path for storing topic-related data, relative to `stream.path`.
 path = "topics"
 
-# Configures the topic size-based expiry setting.
-# "unlimited" or "0" means topics are kept indefinitely.
-# A size value in human-readable format determines the maximum size of a topic.
-# When a topic reaches this size, the oldest messages are deleted to make room 
for new ones.
-# Messages are removed in full segments, so if segment size is 1 GiB and the 
topic size is 10 GiB,
-# the oldest segment will be deleted upon reaching 10 GiB.
-# Example: `max_topic_size = "10 GiB"` means oldest messages in topics will be 
deleted when they reach 10 GiB.
-# Note: this setting can be overwritten with CreateTopic and UpdateTopic 
requests.
+# Messages can be deleted based on two independent policies:
+# 1. Size-based: delete oldest segments when topic exceeds max_size
+# 2. Time-based: delete segments older than message_expiry
+# Both can be active simultaneously. Per-topic overrides via 
CreateTopic/UpdateTopic.
+
+# Maximum topic size before oldest segments are deleted.
+# "unlimited" or "0" = no size limit (messages kept indefinitely).
+# When 90% of this limit is reached, oldest segments are removed to make room.
+# Applies to sealed segments only (active segment is protected).
+# Example: "10 GiB"
 max_size = "unlimited"
 
-# Configures whether the oldest segments are deleted when a topic reaches its 
maximum size (boolean).
-# Note: segments are removed in intervals defined by 
`system.message_cleaner.interval`.
-delete_oldest_segments = false
+# Maximum age of messages before segments are deleted.
+# "none" = no time limit (messages kept indefinitely).
+# Applies to sealed segments only (active segment is protected).
+# Example: "7 days", "2 days 4 hours 15 minutes"
+message_expiry = "none"
 
 # Partition configuration
 [system.partition]
@@ -433,23 +457,15 @@ enforce_fsync = false
 # `false` skips these checks for faster loading at the risk of undetected 
corruption.
 validate_checksum = false
 
-# The count threshold of buffered messages before triggering a save to disk 
(integer).
-# Specifies how many messages accumulate before persisting to storage.
-# Adjusting this can balance between write performance and data durability.
-# This is soft limit, actual number of messages may be higher, depending on 
last batch size.
-# Together with `size_of_messages_required_to_save` it defines the threshold 
of buffered messages.
-# Minimum value is 32. Value has to be a multiple of 32 due to minimum
-# direct I/O block size (512 bytes) and message index size (16 bytes per 
message).
-# With direct I/O, writes must occur in blocks of at least 512 bytes, which 
equals 32 message indices.
+# The count threshold of buffered messages before triggering a save to disk.
+# Together with `size_of_messages_required_to_save` it defines the threshold.
+# This is a soft limit - actual count may be higher depending on last batch 
size.
+# Minimum value is 1.
 messages_required_to_save = 1024
 
-# The size threshold of buffered messages before triggering a save to disk 
(string).
-# Specifies how much size of messages accumulate before persisting to storage.
-# Adjusting this can balance between write performance and data durability.
-# This is soft limit, actual number of messages may be higher, depending on 
last batch size.
-# Together with `messages_required_to_save` it defines the threshold of 
buffered messages.
-# Minimum value is 512 B. Value has to be a multiple of 512 B due to direct 
I/O requirements.
-# Direct I/O operations must align with the underlying storage block size 
(typically 512 B or 4 KiB).
+# The size threshold of buffered messages before triggering a save to disk.
+# Together with `messages_required_to_save` it defines the threshold.
+# This is a soft limit - actual size may be higher depending on last batch 
size.
 size_of_messages_required_to_save = "1 MiB"
 
 # Segment configuration
@@ -460,19 +476,6 @@ size_of_messages_required_to_save = "1 MiB"
 # Maximum size is 1 GiB. Size has to be a multiple of 512 B.
 size = "1 GiB"
 
-# Configures the message time-based expiry setting.
-# "none" means messages are kept indefinitely.
-# A time value in human-readable format determines the lifespan of messages.
-# Example: `message_expiry = "2 days 4 hours 15 minutes"` means messages will 
expire after that duration.
-message_expiry = "none"
-
-# Defines the file system confirmation behavior during state updates.
-# Controls how the system waits for file write operations to complete.
-# Possible values:
-# - "wait": waits for the file operation to complete before proceeding.
-# - "no_wait": proceeds without waiting for the file operation to finish, 
potentially increasing performance but at the cost of durability.
-server_confirmation = "wait"
-
 # Configures whether expired segments are archived (boolean) or just deleted 
without archiving.
 archive_expired = false
 

Reply via email to