diff --git a/docs/configuration/index-config.md b/docs/configuration/index-config.md index 1fb19b9c504..4dc3b62c847 100644 --- a/docs/configuration/index-config.md +++ b/docs/configuration/index-config.md @@ -1,6 +1,6 @@ --- title: Index configuration -sidebar_position: 2 +sidebar_position: 3 --- This page describes how to configure an index. diff --git a/docs/configuration/metastore-config.md b/docs/configuration/metastore-config.md index 386dc83fa6e..ffec0544bb0 100644 --- a/docs/configuration/metastore-config.md +++ b/docs/configuration/metastore-config.md @@ -1,6 +1,6 @@ --- title: Metastore configuration -sidebar_position: 3 +sidebar_position: 4 --- Quickwit needs a place to store meta-information about its indexes. @@ -50,9 +50,9 @@ For convenience, Quickwit also makes it possible to store its metadata in files The metastore is then configured by passing a [Storage URI](../reference/storage-uri.md) that will serve as the root of the metastore storage. -The metadata file associated with a given index will then be stored under +The metadata file associated with a given index will then be stored under - `[storage_uri]/[index_id]/metastore.json` + `[storage_uri]/[index_id]/metastore.json` For the moment, Quickwit supports two types of storage types: @@ -87,7 +87,7 @@ file:///local/indices#polling_interval=30s ``` :::caution -The file-backed metastore does not allow concurrent writes. For this reason, it should not be used in distributed settings. +The file-backed metastore does not allow concurrent writes. For this reason, it should not be used in distributed settings. Running several indexer services on the same file-backed metastore can lead to the corruption of the metastore. Running several search services, on the other hand, is perfectly safe. diff --git a/docs/configuration/node-config.md b/docs/configuration/node-config.md index fb8fd694ca8..0210e3734a0 100644 --- a/docs/configuration/node-config.md +++ b/docs/configuration/node-config.md @@ -34,94 +34,34 @@ A commented example is available here: [quickwit.yaml](https://github.com/quickw | `default_index_root_uri` | Default index root URI that defines the location where index data (splits) is stored. The index URI is built following the scheme: `{default_index_root_uri}/{index-id}` | `QW_DEFAULT_INDEX_ROOT_URI` | `{data_dir}/indexes` | | `rest_cors_allow_origins` | Configure the CORS origins which are allowed to access the API. [Read more](#configuring-cors-cross-origin-resource-sharing) | | - -There are also other parameters that can be only defined by env variables: - -| Env variable | Description | -| --- | --- | -| `QW_S3_ENDPOINT` | Custom S3 endpoint. | -| `QW_S3_MAX_CONCURRENCY` | Limit the number of concurent requests to S3 | -| `QW_ENABLE_JAEGER_EXPORTER` | Enable trace export to Jaeger. | -| `QW_AZURE_STORAGE_ACCOUNT` | Azure Blob Storage account name. | -| `QW_AZURE_STORAGE_ACCESS_KEY` | Azure Blob Storage account access key. | - -More details about [storage configuration](../reference/storage-uri.md). - ## Storage configuration -This section may contain one configuration subsection per storage provider. The specific configuration parameters for each provider may vary. Currently, the supported storage providers are: -- Azure -- Amazon S3 or S3-compatible providers +Here is a minimal example of how to configure Quickwit with Amazon S3 or Alibaba OSS: -If a storage configuration is not explicitly set, Quickwit will rely on the default settings provided by the SDK ([Azure SDK for Rust](https://github.com/Azure/azure-sdk-for-rust), [AWS SDK for Rust](https://github.com/awslabs/aws-sdk-rust)) of each storage provider. - -### Azure storage configuration - -| Property | Description | Default value | -| --- | --- | --- | -| `account` | The Azure storage account name. | | -| `access_key` | The Azure storage account access key. | | +```bash +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +``` -Example of a storage configuration for Azure in YAML format: +*Amazon S3* ```yaml storage: - azure: - account: your-azure-account-name - access_key: your-azure-access-key + s3: + region: us-east-1 ``` -### S3 storage configuration - -| Property | Description | Default value | -| --- | --- | --- | -| `flavor` | The optional storage flavor to use. Available flavors are `digital_ocean`, `garage`, `gcs`, and `minio`. | | -| `access_key_id` | The AWS access key ID. | | -| `secret_access_key` | The AWS secret access key. | | -| `region` | The AWS region to send requests to. | `us-east-1` (SDK default) | -| `endpoint` | Custom endpoint for use with S3-compatible providers. | SDK default | -| `force_path_style_access` | Disables [virtual-hosted–style](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html) requests. Required by some S3-compatible providers (Ceph, MinIO). | `false` | -| `disable_multi_object_delete` | Disables [Multi-Object Delete](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html) requests. Required by some S3-compatible providers (GCS). | `false` | -| `disable_multipart_upload` | Disables [multipart upload](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) of objects. Required by some S3-compatible providers (GCS). | `false` | - -:::warning -Hardcoding credentials into configuration files is not secure and strongly discouraged. Prefer the alternative authentication methods that your storage backend may provide. -::: - -**Storage flavors** - -Storage flavors ensure that Quickwit works correctly with storage providers that deviate from the S3 API by automatically configuring the appropriate settings. The available flavors are: -- `digital_ocean` -- `garage` -- `gcs` -- `minio` - -*Digital Ocean* - -The Digital Ocean flavor (`digital_ocean`) forces path-style access and turns off multi-object delete requests. - -*Garage flavor* - -The Garage flavor (`garage`) overrides the `region` parameter to `garage` and forces path-style access. - -*Google Cloud Storage* - -The Google Cloud Storage flavor (`gcs`) turns off multi-object delete requests and multipart uploads. - -*MinIO flavor* - -The MinIO flavor (`minio`) forces path-style access. - -Example of a storage configuration for Google Cloud Storage in YAML format: +*Alibaba* ```yaml storage: s3: - flavor: gcs - region: us-east1 - endpoint: https://storage.googleapis.com + region: us-east-1 + endpoint: https://oss-us-east-1.aliyuncs.com ``` +Please refer to the dedicated [storage configuration](./storage-config.md) page to learn more about configuring Quickwit for various storage providers and setting additional parameters. + ## Metastore configuration This section may contain one configuration subsection per available metastore implementation. The specific configuration parameters for each implementation may vary. Currently, the available metastore implementations are: diff --git a/docs/configuration/ports-config.md b/docs/configuration/ports-config.md index 42f09a0dee4..623aeb1b897 100644 --- a/docs/configuration/ports-config.md +++ b/docs/configuration/ports-config.md @@ -1,6 +1,6 @@ --- title: Ports configuration -sidebar_position: 5 +sidebar_position: 6 --- When starting a quickwit search server, one important parameter that can be configured is diff --git a/docs/configuration/source-config.md b/docs/configuration/source-config.md index 2cfe496f290..f1f7df59572 100644 --- a/docs/configuration/source-config.md +++ b/docs/configuration/source-config.md @@ -1,6 +1,6 @@ --- title: Source configuration -sidebar_position: 4 +sidebar_position: 5 --- Quickwit can insert data into an index from one or multiple sources. diff --git a/docs/configuration/storage-config.md b/docs/configuration/storage-config.md new file mode 100644 index 00000000000..7df8413e55c --- /dev/null +++ b/docs/configuration/storage-config.md @@ -0,0 +1,148 @@ +--- +title: Storage configuration +sidebar_position: 2 +--- + +## Supported Storage Providers + +Quickwit currently supports three types of storage providers: +- Amazon S3 and S3-compatible (Garage, MinIO, ...) +- Azure Blob Storage +- Local file storage* + +## Storage URIs + +Storage URIs refer to different storage providers identified by a URI "protocol" or "scheme". Quickwit supports the following storage URI protocols: +- `s3://` for Amazon S3 and S3-compatible +- `azure://` for Azure Blob Storage +- `file://` for local file systems + +In general, you can use a storage URI or a file path anywhere you would intuitively expect a file path. For instance: +- when setting the `index_uri` of an index to specify the storage provider and location; +_ when setting the `metastore_uri` in a node config to set up a file-backed metastore; +- when passing a file path as a command line argument. + +### Local file storage URIs + +Quickwit interprets regular file paths as local file system URIs. Relative file paths are allowed and are resolved relatively to the current working directory (CWD). `~` can be used as a shortcut to refer to the user’s home directory. The following are valid local file system URIs: + +```markdown +- /var/quickwit +- file:///var/quickwit +- /home/quickwit/data +- ~/data +- ./quickwit +``` + +:::caution +When using the `file://` protocol, a third `/` is necessary to express an absolute path. For instance, the following URI `file://home/quickwit/` is interpreted as `./home/quickwit` +::: + +## Storage configuration + +This section contains one configuration subsection per storage provider. If a storage configuration parameter is not explicitly set, Quickwit relies on the default values provided by the storage provider SDKs ([Azure SDK for Rust](https://github.com/Azure/azure-sdk-for-rust), [AWS SDK for Rust](https://github.com/awslabs/aws-sdk-rust)). + +### S3 storage configuration + +| Property | Description | Default value | +| --- | --- | --- | +| `flavor` | The optional storage flavor to use. Available flavors are `digital_ocean`, `garage`, `gcs`, and `minio`. | | +| `access_key_id` | The AWS access key ID. | | +| `secret_access_key` | The AWS secret access key. | | +| `region` | The AWS region to send requests to. | `us-east-1` (SDK default) | +| `endpoint` | Custom endpoint for use with S3-compatible providers. | SDK default | +| `force_path_style_access` | Disables [virtual-hosted–style](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html) requests. Required by some S3-compatible providers (Ceph, MinIO). | `false` | +| `disable_multi_object_delete` | Disables [Multi-Object Delete](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html) requests. Required by some S3-compatible providers (GCS). | `false` | +| `disable_multipart_upload` | Disables [multipart upload](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) of objects. Required by some S3-compatible providers (GCS). | `false` | + +:::warning +Hardcoding credentials into configuration files is not secure and strongly discouraged. Prefer the alternative authentication methods that your storage backend may provide. +::: + +#### Environment variables + +| Env variable | Description | +| --- | --- | +| `QW_S3_ENDPOINT` | Custom S3 endpoint. | +| `QW_S3_MAX_CONCURRENCY` | Limit the number of concurent requests to S3 | + +#### Storage flavors + +Storage flavors ensure that Quickwit works correctly with storage providers that deviate from the S3 API by automatically configuring the appropriate settings. The available flavors are: +- `digital_ocean` +- `garage` +- `gcs` +- `minio` + +*Digital Ocean* + +The Digital Ocean flavor (`digital_ocean`) forces path-style access and turns off multi-object delete requests. + +*Garage flavor* + +The Garage flavor (`garage`) overrides the `region` parameter to `garage` and forces path-style access. + +*Google Cloud Storage* + +The Google Cloud Storage flavor (`gcs`) turns off multi-object delete requests and multipart uploads. + +*MinIO flavor* + +The MinIO flavor (`minio`) forces path-style access. + +Example of a storage configuration for Google Cloud Storage in YAML format: + +```yaml +storage: + s3: + flavor: gcs + region: us-east1 + endpoint: https://storage.googleapis.com +``` + +### Azure storage configuration + +| Property | Description | Default value | +| --- | --- | --- | +| `account` | The Azure storage account name. | | +| `access_key` | The Azure storage account access key. | | + +#### Environment variables + +| Env variable | Description | +| --- | --- | +| `QW_AZURE_STORAGE_ACCOUNT` | Azure Blob Storage account name. | +| `QW_AZURE_STORAGE_ACCESS_KEY` | Azure Blob Storage account access key. | + +Example of a storage configuration for Azure in YAML format: + +```yaml +storage: + azure: + account: your-azure-account-name + access_key: your-azure-access-key +``` + +## Storage configuration examples for various object storage providers + +### Garage + +[Garage](https://garagehq.deuxfleurs.fr/) is an open-source distributed object storage service tailored for self-hosting. + +```yaml +storage: + s3: + flavor: garage + endpoint: http://127.0.0.1:3900 +``` + +### MinIO + +[MinIO](https://min.io/) is a high-performance object. + +```yaml +storage: + s3: + flavor: minio + endpoint: http://127.0.0.1:9000 +``` diff --git a/docs/deployment/deployment-modes.md b/docs/deployment/deployment-modes.md index 4bde8606a59..c34da504a02 100644 --- a/docs/deployment/deployment-modes.md +++ b/docs/deployment/deployment-modes.md @@ -28,12 +28,8 @@ One indexer running on a small instance (4 vCPUs) can ingest documents at a thro ## Multiple indexers, multiple searchers Indexing a single [data source](../configuration/source-config.md) on several indexers is only possible with a [Kafka source](../configuration/source-config.md#kafka-source). -Support distributed indexing for Pulsar and the Ingest API is planned for Quickwit 0.7 (Q3). Stay tuned! +Support for native distributed indexing is planned for Quickwit 0.7 (Q4). Stay tuned! ## File-backed metastore limitations -The file-backed metastore is a good fit for standalone and small deployments. However, it has the following limitations: -- It does not support multiple instances. -- It caches metastore data and polls files periodically to update its cache. Thus it has a delayed view of the metastore state. - -As long as you can guarantee that no more than one metastore is running at any given time, the file-backed metastore is safe to use. For heavier workloads, we recommend using a PostgreSQL metastore. +The file-backed metastore is a good fit for standalone and small deployments. However, it does not support multiple instances running at the same time. As long as you can guarantee that no more than one metastore is running at any given time, the file-backed metastore is safe to use. For heavy workloads, we recommend using a PostgreSQL metastore. diff --git a/docs/guides/storage-setup/azure-setup.md b/docs/guides/storage-setup/azure-setup.md deleted file mode 100644 index fbfa8d495a7..00000000000 --- a/docs/guides/storage-setup/azure-setup.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Azure Blob Storage -sidebar_position: 2 ---- - -In this guide, you will learn how to configure a Quickwit [storage](/docs/reference/storage-uri) for Azure Blob Storage. - -## Configure storage account and access key - -To set up your storage account and access key, you can either use the environment variables `QW_AZURE_STORAGE_ACCOUNT` and `QW_AZURE_STORAGE_ACCESS_KEY`: - -```bash -export QW_AZURE_STORAGE_ACCOUNT= your-azure-account-name -export QW_AZURE_STORAGE_ACCESS_KEY= your-azure-access-key -``` - -Or, you can configure them through the storage section of the node config file. Here is an example of a storage configuration for Azure in YAML format: - -```yaml -storage: - azure: - account: your-azure-account-name - access_key: your-azure-access-key -``` - -## Set the metastore URI and default index URI - -Quickwit expects Azure URIs to match the following format `azure://{container}/{prefix}` where: -- `container` is the container name (or "bucket" in S3 terminology). -- `prefix` is optional and can be any blob prefix. - -Here is an example of how to set up a [node config file](/docs/configuration/node-config) for Azure: - -```yaml -metastore_uri: azure://my-container/my-indexes # Applies only for file-backed metastores -default_index_uri: azure://my-container/my-indexes -``` - -## Set the index URI - -Here is an example of how to setup an index URI in the [index config file](/docs/configuration/index-config): -```yaml -index_uri: azure://my-container/my-indexes/my-index -``` diff --git a/docs/guides/storage-setup/gcs-setup.md b/docs/guides/storage-setup/gcs-setup.md deleted file mode 100644 index c6fadb705b4..00000000000 --- a/docs/guides/storage-setup/gcs-setup.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Google Cloud Storage -sidebar_position: 3 ---- - -In this guide, you will learn how to configure a Quickwit [storage](/docs/reference/storage-uri) for GCS. - -## Get access and secret keys from Google Console Cloud - -As GCS is S3-Compatible, you can go to the [interoperability settings](https://console.cloud.google.com/storage/settings;tab=interoperability) in the Google Cloud Console to get the access & secret keys for the environment. - -Once you have the keys, you can follow these steps: - -1. Declare the environment variables used by Quickwit to configure the storage: -```bash -export AWS_ACCESS_KEY_ID=**** -export AWS_SECRET_ACCESS_KEY=**** -``` - -2. Set the endpoint URI: -```bash -export QW_S3_ENDPOINT=https://storage.googleapis.com -``` - -Now you're ready to have your metadata or index data on GCS. - - -## Set the Metastore URI and default index URI - -Here is an example of how to set up your [node config file](/docs/configuration/node-config) with GCS: - -```yaml -metastore_uri: s3://{my-bucket}/indexes -default_index_uri: s3://{my-bucket}/indexes -``` - -## Set the Index URI - -Here is an example of how to setup your index URI in the [index config file](/docs/configuration/index-config): -```yaml -index_uri: s3://{my-bucket}/indexes/{my-index-id} -``` - -:::note -Note that the URI scheme has still the name `s3` but Quickwit is actually sending HTTP requests to `https://storage.googleapis.com`. -::: diff --git a/docs/guides/storage-setup/scaleway-setup.md b/docs/guides/storage-setup/scaleway-setup.md deleted file mode 100644 index 88c93b1e942..00000000000 --- a/docs/guides/storage-setup/scaleway-setup.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Scaleway Storage -sidebar_position: 4 ---- - -In this guide, you will learn how to configure a Quickwit [storage](/docs/reference/storage-uri) for Scaleway. - -## Get access and secret keys from Scaleway - -In your Scaleway console, generate a new API key and note the credentials. - -Once you have the keys: - -1. Declare the environment variables used by Quickwit to configure the storage: -```bash -export AWS_ACCESS_KEY_ID=**** -export AWS_SECRET_ACCESS_KEY=**** -``` - -2. Declare the endpoint URI: -```bash -export QW_S3_ENDPOINT=https://s3.{your-region}.scw.cloud -``` - -3. Declare the region: -```bash -export AWS_REGION={your-region} -``` - -Now you're ready to have your metadata or index data on Scaleway. - - -## Set the Metastore URI - -Here is an example of how to set up your [node config file](/docs/configuration/node-config) with Scaleway: - -```yaml -metastore_uri: s3://{my-bucket}/indexes -default_index_uri: s3://{my-bucket}/indexes -``` - -## Set the Index URI - -Here is an example of how to setup your index URI in the [index config file](/docs/configuration/index-config): -```yaml -index_uri: s3://{my-bucket}/indexes/{my-index-id} -``` - -:::note -Note that the URI scheme has still the name `s3` but Quickwit is actually sending HTTP requests to `https://s3.{your-region}.scw.cloud`. -::: diff --git a/docs/reference/storage-uri.md b/docs/reference/storage-uri.md deleted file mode 100644 index 03033408bff..00000000000 --- a/docs/reference/storage-uri.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Storage URI -sidebar_position: 60 ---- - -In Quickwit, Storage URIs refer to different kinds of storage. - -Generally speaking, you can use a storage URI or a regular file path wherever you would have expected a file path. - -For instance: - -- when configuring the index storage. (Passed as the `index_uri` in the index command line.) -- when configuring a file-backed metastore. (`metastore_uri` in the QuickwitConfig). -- when passing a config file in the command line. (you can store your `quickwit.yaml` on Amazon S3 if you want) - -Right now, only two types of storage are supported. - -## Local file system - -One can refer to the file system storage by using a file path directly, or a URI with the `file://` protocol. Relative file paths are allowed and are resolved relatively to the current working directory (CWD). `~` can be used as a shortcut to refer to the current user directory. - -The following are valid local file system URIs - -```markdown -- /var/quickwit -- file:///var/quickwit -- /home/quickwit/data -- ~/data -- ./quickwit -``` - -:::caution -When using the `file://` protocol, a third `/` is necessary to express an absolute path. - -For instance, the following URI `file://home/quickwit/` is interpreted as `./home/quickwit` - -::: - -## Amazon S3 - -It is also possible to refer to Amazon S3 using a S3 URI. S3 URIs must have to follow the following format: - -```markdown -s3:/// -``` - -For instance - -```markdown -s3://quickwit-prod/quickwit-indexes -``` - -The credentials, as well as the region or the custom endpoint, have to be configured separately, using the methods described below. - -### S3 credentials - -Quickwit will detect the S3 credentials using the first successful method in this list (order matters) - -- check for environment variables (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`) -- check for the configuration in the `~/.aws/credentials` filepath. -- check for the [Amazon ECS environment](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) -- check the [EC2 instance metadata API](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html) - -### Region - -The region or custom endpoint will be detected using the first successful method in this list (order matters) - -- `AWS_DEFAULT_REGION` environment variable -- `AWS_REGION` environment variable -- Amazon’s instance metadata API [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) -- If none of the above methods are provided, Quickwit will default to `us-east-1`. - -## S3-compatible Object Storage - -Quickwit can target other S3-compatible storage. -This is done by setting an endpoint url in the `QW_S3_ENDPOINT` environment variable. - -Depending on the object storage, you will also need to set the region and force path-style access (Things like self-hosted MinIO instances, which are not behind a domain name.) - -Example: - -```bash -export QW_S3_ENDPOINT=http://localhost:9000/ -export QW_S3_FORCE_PATH_STYLE_ACCESS=true -``` - -### Google Cloud Storage - -Example for Google Cloud Storage: - -```bash -export QW_S3_ENDPOINT=https://storage.googleapis.com -``` - -See our [Google Cloud Storage Setup Guide](../guides/storage-setup/gcs-setup.md) for the detailed steps to configure Quickwit with Google Cloud Storage. - - -### Scaleway object storage - -Example: - -```bash -export QW_S3_ENDPOINT=https://s3.{your-region}.scw.cloud -export AWS_REGION={your-region} -``` - -See our [Scaleway Setup Guide](../guides/storage-setup/scaleway-setup.md) for the detailed steps to configure Quickwit with Scaleway object storage. - -### Garage - -[Garage](https://garagehq.deuxfleurs.fr/) is an Open-Source lightweight and efficient object storage. - -To use it with Quickwit, you will need to setup the region, as mentioned in [Garage documentation](https://garagehq.deuxfleurs.fr/documentation/connect/), it's often set just to `garage`. - -Example for a local garage server: - -```bash -export QW_S3_ENDPOINT=http://127.0.0.1:3900 -export QW_S3_FORCE_PATH_STYLE_ACCESS=true -export AWS_REGION=garage -``` - -### MinIO, Ceph and more! - -We support other S3-compatible storages and are [welcoming PRs](http://github.com/quickwit-oss/quickwit) to enrich the documentation with new storage backends. - -## Azure Blob Storage - -Quickwit supports Azure URIs formatted as `azure://{container}/{prefix}` where: -- `container` is the container name (also known as "bucket" in S3 terminology). -- `prefix` is optional and can be any blob prefix. - -Read our [Azure Setup Guide](../guides/storage-setup/azure-setup.md) for detailed steps to configure Quickwit with Azure. - diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 0b84c4b2f2c..a2cb5009acf 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -69,9 +69,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" dependencies = [ "memchr", ] @@ -168,9 +168,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -249,9 +249,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.3.15" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6" dependencies = [ "flate2", "futures-core", @@ -262,9 +262,9 @@ dependencies = [ [[package]] name = "async-speed-limit" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "481ce9cb6a828f4679495f7376cb6779978d925dd9790b99b48d1bbde6d0f00b" +checksum = "97d287ccbfb44ae20287d2f9c72ad9e560d50810883870697db5b320c541f183" dependencies = [ "futures-core", "futures-io", @@ -291,18 +291,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -343,7 +343,7 @@ dependencies = [ "http", "hyper", "ring", - "time 0.3.23", + "time 0.3.25", "tokio", "tower", "tracing", @@ -538,7 +538,7 @@ dependencies = [ "percent-encoding", "regex", "sha2", - "time 0.3.23", + "time 0.3.25", "tracing", ] @@ -696,7 +696,7 @@ dependencies = [ "itoa", "num-integer", "ryu", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -726,9 +726,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a1de45611fdb535bfde7b7de4fd54f4fd2b17b1737c0a59b69bf9b92074b8c" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core", @@ -791,7 +791,7 @@ dependencies = [ "rustc_version", "serde", "serde_json", - "time 0.3.23", + "time 0.3.25", "url", "uuid", ] @@ -814,7 +814,7 @@ dependencies = [ "serde_derive", "serde_json", "sha2", - "time 0.3.23", + "time 0.3.25", "url", "uuid", ] @@ -834,7 +834,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "time 0.3.23", + "time 0.3.25", "url", "uuid", ] @@ -1132,11 +1132,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -1276,18 +1277,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.15" +version = "4.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f644d0dac522c8b05ddc39aaaccc5b136d5dc4ff216610c5641e3be5becf56c" +checksum = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.3.15" +version = "4.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af410122b9778e024f9e0fb35682cc09cc3f85cad5e8d3ba8f47a9702df6e73d" +checksum = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa" dependencies = [ "anstream", "anstyle", @@ -1412,9 +1413,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "constant_time_eq" @@ -1470,9 +1471,9 @@ checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" [[package]] name = "crc32c" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfea2db42e9927a3845fb268a10a72faed6d416065f77873f05e411457c363e" +checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74" dependencies = [ "rustc_version", ] @@ -1679,7 +1680,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -1701,7 +1702,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core 0.20.3", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -1756,15 +1757,24 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e" [[package]] name = "der" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "pem-rfc7468", "zeroize", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +dependencies = [ + "serde", +] + [[package]] name = "derivative" version = "2.2.0" @@ -1908,9 +1918,9 @@ checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" dependencies = [ "serde", ] @@ -2041,7 +2051,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -2074,9 +2084,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -2156,13 +2166,13 @@ checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "windows-sys 0.48.0", ] @@ -2246,7 +2256,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" dependencies = [ - "rustix 0.38.4", + "rustix 0.38.7", "windows-sys 0.48.0", ] @@ -2338,7 +2348,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -2625,9 +2635,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "http-serde" @@ -2727,7 +2737,7 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.21.5", + "rustls 0.21.6", "rustls-native-certs", "tokio", "tokio-rustls 0.24.1", @@ -2808,9 +2818,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -2861,9 +2871,9 @@ checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" [[package]] name = "inventory" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b1d6b4b9fb75fc419bdef998b689df5080a32931cb3395b86202046b56a9ea" +checksum = "a53088c87cf71c9d4f3372a2cb9eea1e7b8a0b1bf8b7f7d23fe5b76dbb07e63b" [[package]] name = "io-lifetimes" @@ -2898,7 +2908,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi", - "rustix 0.38.4", + "rustix 0.38.7", "windows-sys 0.48.0", ] @@ -3036,9 +3046,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "libc", @@ -3287,9 +3297,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -3388,9 +3398,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" [[package]] name = "md-5" @@ -3682,9 +3692,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", "libm", @@ -3824,9 +3834,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" dependencies = [ "bitflags 1.3.2", "cfg-if", @@ -3845,7 +3855,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -3856,18 +3866,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.26.0+1.1.1u" +version = "111.27.0+1.1.1v" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" +checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" dependencies = [ "cc", "libc", @@ -4011,9 +4021,9 @@ dependencies = [ [[package]] name = "ouroboros" -version = "0.17.0" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d813b7b31a82efae94bd30ffaac09aec85efc18db2d5ec3aead1a220ee954351" +checksum = "e2ba07320d39dfea882faa70554b4bd342a5f273ed59ba7c1c6b4c840492c954" dependencies = [ "aliasable", "ouroboros_macro", @@ -4022,15 +4032,15 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.17.0" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a56f651b4dd45ae3ac3d260ced32eaf0620cddaae5f26c69b554a9016594726" +checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8" dependencies = [ "heck", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -4227,22 +4237,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -4405,15 +4415,15 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "postcard" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa512cd0d087cc9f99ad30a1bf64795b67871edbead083ffc3a4dfafa59aa00" +checksum = "c9ee729232311d3cd113749948b689627618133b1c5012b77342c1950b25eaeb" dependencies = [ "cobs", "serde", @@ -4498,12 +4508,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92139198957b410250d43fad93e630d956499a625c527eda65175c8680f83387" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" dependencies = [ "proc-macro2", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -4833,7 +4843,7 @@ dependencies = [ "thousands", "tikv-jemalloc-ctl", "tikv-jemallocator", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-util", "toml 0.7.6", @@ -4860,7 +4870,7 @@ dependencies = [ "serde_json", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tonic 0.9.2", @@ -4875,13 +4885,13 @@ version = "0.6.3" dependencies = [ "anyhow", "heck", - "prettyplease 0.2.10", + "prettyplease 0.2.12", "proc-macro2", "prost", "prost-build", "quote", "serde", - "syn 2.0.26", + "syn 2.0.28", "tonic-build", ] @@ -4968,7 +4978,7 @@ dependencies = [ "serde", "serde_json", "serde_with 3.2.0", - "serde_yaml 0.9.24", + "serde_yaml 0.9.25", "tokio", "toml 0.7.6", "tracing", @@ -5005,7 +5015,7 @@ dependencies = [ "serde", "serde_json", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tonic 0.9.2", @@ -5023,7 +5033,7 @@ dependencies = [ "serde", "serde_json", "tantivy", - "time 0.3.23", + "time 0.3.25", "time-fmt", ] @@ -5043,7 +5053,7 @@ dependencies = [ "tantivy", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tracing", ] @@ -5073,11 +5083,11 @@ dependencies = [ "regex", "serde", "serde_json", - "serde_yaml 0.9.24", + "serde_yaml 0.9.25", "siphasher", "tantivy", "thiserror", - "time 0.3.23", + "time 0.3.25", "tracing", "typetag", "utoipa", @@ -5105,11 +5115,11 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "serde_yaml 0.9.24", + "serde_yaml 0.9.25", "tantivy", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tokio-util", @@ -5163,7 +5173,7 @@ dependencies = [ "tantivy", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tracing", @@ -5269,7 +5279,7 @@ dependencies = [ "serde_json", "tantivy", "tempfile", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tonic 0.9.2", @@ -5305,7 +5315,7 @@ dependencies = [ "tantivy", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tracing", @@ -5320,7 +5330,7 @@ dependencies = [ "proc-macro2", "quickwit-macros-impl", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -5330,7 +5340,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -5361,7 +5371,7 @@ dependencies = [ "sqlx", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tower", @@ -5446,7 +5456,7 @@ dependencies = [ "serde_with 3.2.0", "tantivy", "thiserror", - "time 0.3.23", + "time 0.3.25", "tracing", "whichlang", ] @@ -5577,7 +5587,7 @@ dependencies = [ "tempfile", "termcolor", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tower", @@ -5650,9 +5660,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -5846,13 +5856,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", + "regex-automata 0.3.6", "regex-syntax 0.7.4", ] @@ -5867,9 +5877,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -5920,7 +5930,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.5", + "rustls 0.21.6", "rustls-pemfile", "serde", "serde_json", @@ -6047,7 +6057,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.26", + "syn 2.0.28", "walkdir", ] @@ -6073,13 +6083,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec 0.7.4", "borsh", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -6126,14 +6135,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399" dependencies = [ "bitflags 2.3.3", "errno", "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys 0.4.5", "windows-sys 0.48.0", ] @@ -6151,9 +6160,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.5" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" +checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb" dependencies = [ "log", "ring", @@ -6184,9 +6193,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.101.1" +version = "0.101.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +checksum = "261e9e0888cba427c3316e6322805653c9425240b6fd96cee7cb671ab70ab8d0" dependencies = [ "ring", "untrusted", @@ -6276,9 +6285,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -6289,9 +6298,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -6305,9 +6314,9 @@ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] @@ -6324,20 +6333,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -6433,7 +6442,7 @@ dependencies = [ "serde", "serde_json", "serde_with_macros 3.2.0", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -6457,7 +6466,7 @@ dependencies = [ "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -6474,9 +6483,9 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.24" +version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5f51e3fdb5b9cdd1577e1cb7a733474191b1aca6a72c2e50913241632c1180" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ "indexmap 2.0.0", "itoa", @@ -6733,7 +6742,7 @@ dependencies = [ "once_cell", "paste", "percent-encoding", - "rustls 0.21.5", + "rustls 0.21.6", "rustls-pemfile", "serde", "serde_json", @@ -6741,7 +6750,7 @@ dependencies = [ "smallvec", "sqlformat", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "tokio-stream", "tracing", @@ -6826,7 +6835,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror", - "time 0.3.23", + "time 0.3.25", "tracing", "whoami", ] @@ -6866,7 +6875,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror", - "time 0.3.23", + "time 0.3.25", "tracing", "whoami", ] @@ -6889,7 +6898,7 @@ dependencies = [ "percent-encoding", "serde", "sqlx-core", - "time 0.3.23", + "time 0.3.25", "tracing", "url", ] @@ -6963,9 +6972,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.26" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", @@ -7061,10 +7070,10 @@ dependencies = [ "tantivy-tokenizer-api", "tempfile", "thiserror", - "time 0.3.23", + "time 0.3.25", "uuid", "winapi 0.3.9", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] @@ -7099,7 +7108,7 @@ dependencies = [ "byteorder", "ownedbytes", "serde", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -7130,7 +7139,7 @@ source = "git+https://github.com/quickwit-oss/tantivy/?rev=3c30066#3c300666ad448 dependencies = [ "tantivy-common", "tantivy-fst", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] @@ -7158,9 +7167,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" dependencies = [ "filetime", "libc", @@ -7169,14 +7178,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ "cfg-if", "fastrand 2.0.0", "redox_syscall 0.3.5", - "rustix 0.38.4", + "rustix 0.38.7", "windows-sys 0.48.0", ] @@ -7208,22 +7217,22 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -7266,9 +7275,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-ctl" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1" +checksum = "619bfed27d807b54f7f776b9430d4f8060e66ee138a28632ca898584d462c31c" dependencies = [ "libc", "paste", @@ -7277,9 +7286,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -7287,9 +7296,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979" +checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -7308,10 +7317,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "libc", "num_threads", @@ -7333,14 +7343,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bfd61bca99323ce96911bd2c443259115460615e44f1d449cee8cb3831a1dd" dependencies = [ "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -7417,7 +7427,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -7447,7 +7457,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.5", + "rustls 0.21.6", "tokio", ] @@ -7632,9 +7642,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8bd22a874a2d0b70452d5597b12c537331d49060824a95f49f108994f94aa4c" +checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" dependencies = [ "async-compression", "bitflags 2.3.3", @@ -7684,7 +7694,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -7745,7 +7755,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time 0.3.23", + "time 0.3.25", "tracing", "tracing-core", "tracing-log", @@ -7793,9 +7803,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "typetag" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66aafcfb982bf1f9a28755ac6bcbdcd4631ff516cb038fa61299201ebb4364" +checksum = "aec6850cc671cd0cfb3ab285465e48a3b927d9de155051c35797446b32f9169f" dependencies = [ "erased-serde", "inventory", @@ -7806,20 +7816,20 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d836cd032f71d90cbaa3c1f85ce84266af23659766d8c0b1c4c6524a0fb4c36f" +checksum = "30c49a6815b4f8379c36f06618bc1b80ca77aaf8a3fd4d8549dca6fdb016000f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] name = "uaparser" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d705ae455d32248d299de9af5316a79ce9dc502c0b533aaeaf5f1c2fc02cc5" +checksum = "cf694e7b0434d4fad6c879e984e8fdc3a62f5533c3d421762244f9e9d03f6927" dependencies = [ "derive_more", "lazy_static", @@ -7925,9 +7935,9 @@ dependencies = [ [[package]] name = "urlencoding" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "username" @@ -7965,9 +7975,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "utoipa" -version = "3.4.3" +version = "3.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c624186f22e625eb8faa777cb33d34cd595aa16d1742aa1d8b6cf35d3e4dda9" +checksum = "de634b7f8178c9c246c88ea251f3a0215c9a4d80778db2d7bd4423a78b5170ec" dependencies = [ "indexmap 2.0.0", "serde", @@ -7977,14 +7987,14 @@ dependencies = [ [[package]] name = "utoipa-gen" -version = "3.4.4" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ce5f21ca77e010f5283fa791c6ab892c68b3668a1bdc6b7ac6cf978f5d5b30" +checksum = "0fcba79cb3e5020d9bcc8313cd5aadaf51d6d54a6b3fd08c3d0360ae6b3c83d0" dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", ] [[package]] @@ -8165,7 +8175,7 @@ dependencies = [ "vrl-core", "vrl-diagnostic", "woothee", - "zstd 0.12.3+zstd.1.5.2", + "zstd 0.12.4", ] [[package]] @@ -8299,7 +8309,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -8333,7 +8343,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.26", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8603,9 +8613,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] @@ -8662,9 +8672,9 @@ dependencies = [ [[package]] name = "xattr" -version = "0.2.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" dependencies = [ "libc", ] @@ -8718,7 +8728,7 @@ dependencies = [ "hmac", "pbkdf2", "sha1", - "time 0.3.23", + "time 0.3.25", "zstd 0.11.2+zstd.1.5.2", ] @@ -8733,11 +8743,11 @@ dependencies = [ [[package]] name = "zstd" -version = "0.12.3+zstd.1.5.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" dependencies = [ - "zstd-safe 6.0.5+zstd.1.5.4", + "zstd-safe 6.0.6", ] [[package]] @@ -8752,9 +8762,9 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "6.0.5+zstd.1.5.4" +version = "6.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" dependencies = [ "libc", "zstd-sys", diff --git a/quickwit/quickwit-common/src/uri.rs b/quickwit/quickwit-common/src/uri.rs index 736e7d5ab23..f46417963f1 100644 --- a/quickwit/quickwit-common/src/uri.rs +++ b/quickwit/quickwit-common/src/uri.rs @@ -163,10 +163,10 @@ impl Uri { if self.protocol().is_database() { static DATABASE_URI_PATTERN: OnceCell = OnceCell::new(); DATABASE_URI_PATTERN - .get_or_init(|| + .get_or_init(|| { Regex::new("(?P^.*://.*)(?P:.*@)(?P.*)") - .expect("Failed to compile regular expression. This should never happen! Please, report on https://github.com/quickwit-oss/quickwit/issues.") - ) + .expect("The regular expression should compile.") + }) .replace(&self.uri, "$before:***redacted***@$after") } else { Cow::Borrowed(&self.uri) @@ -287,7 +287,7 @@ impl Uri { } let home_dir_path = home::home_dir() - .context("Failed normalize URI: could not resolve home directory.")? + .context("Failed to normalize URI: could not resolve home directory.")? .to_string_lossy() .to_string(); @@ -296,7 +296,7 @@ impl Uri { if Path::new(&path).is_relative() { let current_dir = env::current_dir().context( "Failed to normalize URI: could not resolve current working directory. The \ - directory does not exist or insufficient permissions.", + directory does not exist or user has insufficient permissions.", )?; path = current_dir.join(path).to_string_lossy().to_string(); }