Skip to content

Commit dd4dd99

Browse files
Merge remote-tracking branch 'upstream/main'
Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # .github/workflows/publish_docker_images.yml
2 parents ae28316 + a5ad540 commit dd4dd99

148 files changed

Lines changed: 9018 additions & 1291 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publish_docker_images.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ on:
44
workflow_dispatch:
55
push:
66
branches:
7+
# Triggers an edge build, gated behind manual approval of the "production" environment.
78
- main
8-
- release-0.9
99
paths:
1010
- "quickwit/**"
1111
tags:
@@ -36,7 +36,12 @@ jobs:
3636
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3737

3838
- name: Extract asset version
39-
run: echo "ASSET_VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
39+
run: |
40+
if [[ "${{ github.ref_type }}" == "tag" ]]; then
41+
echo "ASSET_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
42+
else
43+
echo "ASSET_VERSION=edge-${GITHUB_SHA::7}" >> $GITHUB_ENV
44+
fi
4045
4146
- name: Install rustup
4247
run: curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none -y
@@ -223,7 +228,6 @@ jobs:
223228
type=semver,pattern={{version}},value=latest
224229
type=semver,pattern={{version}},suffix=-slim-bookworm
225230
type=ref,event=tag
226-
type=raw,value=v0.9.0-rc,enable=${{ github.ref == 'refs/heads/release-0.9' }}
227231
- name: Login to Docker Hub
228232
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
229233
with:

config/quickwit.yaml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,13 @@ version: 0.8
4848
# verify_client_cert: true
4949
# # How often cert_path/key_path are polled for changes and hot-reloaded; an
5050
# # immediate reload can also be triggered with SIGHUP. Defaults to 5m.
51-
# cert_reload_interval: 5m
51+
# cert_poll_interval: 5m
52+
# # Maximum lifetime of a connection before the server sends an HTTP/2 GOAWAY and the
53+
# # client reconnects. Disabled when unset.
54+
# max_connection_age: 30m
55+
# # Grace period after the GOAWAY before a still-draining connection is forcefully
56+
# # closed. Requires `max_connection_age` to be set.
57+
# max_connection_age_grace: 30s
5258
#
5359
# Optional plaintext health-check server. Disabled unless `listen_port` is set (or the
5460
# `QW_HEALTH_LISTEN_PORT` environment variable). It serves only `/health/livez` and
@@ -74,7 +80,13 @@ version: 0.8
7480
# expected_name: quickwit.local
7581
# # How often cert_path/key_path are polled for changes and hot-reloaded; an
7682
# # immediate reload can also be triggered with SIGHUP. Defaults to 5m.
77-
# cert_reload_interval: 5m
83+
# cert_poll_interval: 5m
84+
# # Maximum lifetime of an inbound connection before the server sends an HTTP/2 GOAWAY
85+
# # and the peer reconnects. Disabled when unset.
86+
# max_connection_age: 30m
87+
# # Grace period after the GOAWAY before a still-draining connection is forcefully
88+
# # closed. Requires `max_connection_age` to be set.
89+
# max_connection_age_grace: 30s
7890
#
7991
# IP address advertised by the node, i.e. the IP address that peer nodes should use to connect to the node for RPCs.
8092
# The environment variable `QW_ADVERTISE_ADDRESS` can also be used to override this value.

docs/configuration/node-config.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ When the REST API is behind mTLS, simple HTTP health probes can no longer reach
127127
| `ca_path` | Path to a PEM file holding the trusted CA certificate(s). Used by the server to validate client certificates when `verify_client_cert` is enabled, and by the gRPC client to validate peer certificates. Multiple CA certificates may be concatenated in the same file: all of them are trusted (see [CA rotation](#ca-rotation)). | |
128128
| `verify_client_cert` | If `true`, require clients (REST) or peers (gRPC) to present a certificate signed by `ca_path`, i.e. enforce mutual TLS. | `false` |
129129
| `expected_name` | gRPC only. The hostname the gRPC client checks against the peer certificate's Subject Alternative Name (SAN). Defaults to the peer's address. | |
130-
| `cert_reload_interval` | How often `cert_path` and `key_path` are polled for on-disk changes and hot-reloaded, without restarting the process. An immediate reload can also be triggered by sending `SIGHUP` to the process. | `5m` |
130+
| `cert_poll_interval` | How often `cert_path` and `key_path` are polled for on-disk changes and hot-reloaded, without restarting the process. An immediate reload can also be triggered by sending `SIGHUP` to the process. | `5m` |
131131

132-
Certificates are hot-reloaded: when `cert_path`/`key_path` change on disk, new connections pick up the new certificate within `cert_reload_interval` (or immediately on `SIGHUP`), while in-flight connections keep the certificate they negotiated. A new certificate is only applied if it parses and matches its key; otherwise the previous certificate is kept. Note that the CA trust roots (`ca_path`) are **not** hot-reloaded — rotating them still requires a restart.
132+
Certificates are hot-reloaded: when `cert_path`/`key_path` change on disk, new connections pick up the new certificate within `cert_poll_interval` (or immediately on `SIGHUP`), while in-flight connections keep the certificate they negotiated. A new certificate is only applied if it parses and matches its key; otherwise the previous certificate is kept. Note that the CA trust roots (`ca_path`) are **not** hot-reloaded — rotating them still requires a restart.
133133

134134
### CA rotation
135135

@@ -152,7 +152,7 @@ rest:
152152
key_path: /path/to/server.key
153153
ca_path: /path/to/ca.crt
154154
verify_client_cert: true
155-
cert_reload_interval: 5m
155+
cert_poll_interval: 5m
156156
```
157157

158158
Example of a gRPC configuration with mTLS:
@@ -165,7 +165,7 @@ grpc:
165165
ca_path: /path/to/ca.crt
166166
expected_name: quickwit.local
167167
verify_client_cert: true
168-
cert_reload_interval: 5m
168+
cert_poll_interval: 5m
169169
```
170170

171171
## Storage configuration

quickwit/CLAUDE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ zip = { workspace = true, default-features = false, features=["deflate"] }
106106
to
107107
zip = "2"
108108

109+
Do not write Cargo.lock yourself.
110+
Instead, just may run `cargo check`, if you have edited Cargo.toml.
111+
It will update `Cargo.lock` with as little changes as possible.
112+
You may also run `cargo update` to update dependencies provide you were explicitly asked to update dependencies.
113+
109114
## Code Formatting
110115
### Quick Fix
111116

0 commit comments

Comments
 (0)