Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105{ lib, pkgs, ... }:
let # Define an example Quickwit index schema, # and some `exampleDocs` below, to test if ingesting # and querying works as expected. index_yaml = '' version: 0.7 index_id: example_server_logs doc_mapping: mode: dynamic field_mappings: - name: datetime type: datetime fast: true input_formats: - iso8601 output_format: iso8601 fast_precision: seconds fast: true - name: git type: text tokenizer: raw - name: hostname type: text tokenizer: raw - name: level type: text tokenizer: raw - name: message type: text - name: location type: text - name: source type: text timestamp_field: datetime
search_settings: default_search_fields: [message]
indexing_settings: commit_timeout_secs: 10 '';
exampleDocs = '' {"datetime":"2024-05-03T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Processing request done","location":"path/to/server.c:6442:32","source":""} {"datetime":"2024-05-04T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} {"datetime":"2024-05-05T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} {"datetime":"2024-05-06T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-2","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""} '';in{ name = "quickwit"; meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
nodes = { quickwit = { config, pkgs, ... }: { services.quickwit.enable = true; }; };
testScript = '' quickwit.wait_for_unit("quickwit") quickwit.wait_for_open_port(7280) quickwit.wait_for_open_port(7281)
quickwit.wait_until_succeeds( "journalctl -o cat -u quickwit.service | grep 'version: ${pkgs.quickwit.version}'" )
quickwit.wait_until_succeeds( "journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'" )
with subtest("verify UI installed"): machine.succeed("curl -sSf http://127.0.0.1:7280/ui/")
with subtest("injest and query data"): import json
# Test CLI ingestion print(machine.succeed('${pkgs.quickwit}/bin/quickwit index create --index-config ${pkgs.writeText "index.yaml" index_yaml}')) # Important to use `--wait`, otherwise the queries below race with index processing. print(machine.succeed('${pkgs.quickwit}/bin/quickwit index ingest --index example_server_logs --input-path ${pkgs.writeText "exampleDocs.json" exampleDocs} --wait'))
# Test CLI query cli_query_output = machine.succeed('${pkgs.quickwit}/bin/quickwit index search --index example_server_logs --query "exception"') print(cli_query_output)
# Assert query result is as expected. num_hits = len(json.loads(cli_query_output)["hits"]) assert num_hits == 3, f"cli_query_output contains unexpected number of results: {num_hits}"
# Test API query api_query_output = machine.succeed('curl --fail http://127.0.0.1:7280/api/v1/example_server_logs/search?query=exception') print(api_query_output)
quickwit.log(quickwit.succeed( "systemd-analyze security quickwit.service | grep -v '✓'" )) '';}