Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Zinc

Zinc is a search engine that does full text indexing. It is a lightweight alternative to elasticsearch and runs in less than 100 MB of RAM. It uses bluge as the underlying indexing library.

It is very simple and easy to operate as opposed to elasticsearch which requires a couple dozen knobs to understand and tune.

It is a drop-in replacement for elasticsearch if you are just ingesting data using APIs and searching using kibana (Kibana is not supported with zinc. Zinc provides its own UI).

Why zinc

The only viable solution to search was elasticsearch which while is a very good product, is complex and requires lots of resources and is more than a decade old. I built this tool so it becomes easier for folks to use full text search indexing without doing a lot of work.

Features:

  1. Provides full text indexing capability
  2. Single binary for installation and running. Binaries avalaible under releases for multiple platforms.
  3. Web UI for querying data written in Vue
  4. Compatibility with elasticsearch APIs for ingestion of data (single record and bulk API)
  5. Out of the box authentication
  6. Schema less - No need to define schema upfront and different documents in the same index can have different fields.

Missing features:

  1. Clustering and High Availability

Screenshots

Search screen

Search screen 1 Search screen for games

User management screen

Users screen

Getting started

Download / Installation / Run

Binaries can be downloaded from releases page for appropriate platform.

Create a data folder that will store the data

$ mkdir data

$ FIRST_ADMIN_USER=admin FIRST_ADMIN_PASSWORD=Complexpass#123 zinc

Now point your browser to http://localhost:4080 and login

Data ingestion

python example

import base64, json
import requests

user = "admin"
password = "Complexpass#123"
bas64encoded_creds = base64.b64encode(bytes(user + ":" + password, "utf-8")).decode("utf-8")


data = {
    "Athlete": "DEMTSCHENKO, Albert",
    "City": "Turin",
    "Country": "RUS",
    "Discipline": "Luge",
    "Event": "Singles",
    "Gender": "Men",
    "Medal": "Silver",
    "Season": "winter",
    "Sport": "Luge",
    "Year": 2006
  }

headers = {"Content-type": "application/json", "Authorization": "Basic " + bas64encoded_creds}
index = "games3"
zinc_host = "http://localhost:4080"
zinc_url = zinc_host + "/api/" + index + "/document"

res = requests.put(zinc_url, headers=headers, data=json.dumps(data))

Bulk ingestion API follows same interface as elasticsearch API defined in documentation.

Search

Python example

import base64
import json
import requests

user = "admin"
password = "Complexpass#123"
bas64encoded_creds = base64.b64encode(
    bytes(user + ":" + password, "utf-8")).decode("utf-8")


params = {
    "search_type": "match",
    "query":
    {
        "term": "DEMTSCHENKO",
        "start_time": "2021-06-02T14:28:31.894Z",
        "end_time": "2021-12-02T15:28:31.894Z"
    },
    "fields": ["_all"]
}

# params = {
#     "search_type": "querystring",
#     "query":
#     {
#         "term": "+City:Turin +Silver",
#         "start_time": "2021-06-02T14:28:31.894Z",
#         "end_time": "2021-12-02T15:28:31.894Z"
#     },
#     "fields": ["_all"]
# }

headers = {"Content-type": "application/json",
           "Authorization": "Basic " + bas64encoded_creds}
index = "games3"
zinc_host = "http://localhost:4080"
zinc_url = zinc_host + "/api/" + index + "/_search"

res = requests.post(zinc_url, headers=headers, data=json.dumps(params))

print(res.text)

output

{"took":0,"timed_out":false,"max_score":7.6978611753656345,"hits":{"total":{"value":3},"hits":[{"_index":"games3","_type":"games3","_id":"bd3e67f0-679b-4aa4-b0f5-81b9dc86a26a","_score":7.6978611753656345,"@timestamp":"2021-10-20T04:56:39.000871Z","_source":{"Athlete":"DEMTSCHENKO, Albert","City":"Turin","Country":"RUS","Discipline":"Luge","Event":"Singles","Gender":"Men","Medal":"Silver","Season":"winter","Sport":"Luge","Year":2006}},{"_index":"games3","_type":"games3","_id":"230349d9-72b3-4225-bac7-a8ab31af046d","_score":7.6978611753656345,"@timestamp":"2021-10-20T04:56:39.215124Z","_source":{"Athlete":"DEMTSCHENKO, Albert","City":"Sochi","Country":"RUS","Discipline":"Luge","Event":"Singles","Gender":"Men","Medal":"Silver","Season":"winter","Sport":"Luge","Year":2014}},{"_index":"games3","_type":"games3","_id":"338fea31-81f2-4b56-a096-b8294fb6cc92","_score":7.671309826309841,"@timestamp":"2021-10-20T04:56:39.215067Z","_source":{"Athlete":"DEMTSCHENKO, Albert","City":"Sochi","Country":"RUS","Discipline":"Luge","Event":"Mixed Relay","Gender":"Men","Medal":"Silver","Season":"winter","Sport":"Luge","Year":2014}}]},"buckets":null,"error":""}

search_type can have following values:

  1. alldocuments
  2. wildcard
  3. fuzzy
  4. term
  5. daterange
  6. matchall
  7. match
  8. matchphrase
  9. multiphrase
  10. querystring
Comments
  • Zinc Search Console > Results table pane > only 20 records can be displayed as a maximum

    Zinc Search Console > Results table pane > only 20 records can be displayed as a maximum

    Hello, in the meantime, thank you for the constantly evolving product. Very useful for my projects. One question though: from version 0.1.3 onwards, I don't understand how to enable the limitation of 20 "records" on the "ZincSearch" web application. Thank you. I only ever see 20 records.

  • Log Ingestion via Filebeat Fails

    Log Ingestion via Filebeat Fails

    Community Note

    • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
    • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
    • If you are interested in working on this issue or have submitted a pull request, please leave a comment

    Tell us about your request What do you want to see in Zinc? Log ingestion via Filebeat (see #90)

    Which service(s) is this relate to? This could be GUI or API Log ingestion/index creation

    Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard or not doable? I am unable to ingest data from Filebeat into Zinc. Specifically, I am trying to ingest syslog and auth.log. Using a modified version of the Filebeat config example, I am getting the below error:

    Mar 27 18:15:17 snail filebeat[19654]: {"log.level":"error","@timestamp":"2022-03-27T18:15:17.202Z","log.logger":"publisher_pipeline_output","log.origin":{"file.name":"pipeline/client_worker.go","file.line":150},"message":"Failed to connect to backoff(elasticsearch(http://127.0.0.1:4080/es/)): Connection marked as failed because the onConnect callback failed: error loading template: failed to load template: couldn't load template: 400 Bad Request: {\"error\":\"error_type: parsing_exception, reason: [mappings] properties [type] should be exists\"}. Response body: {\"error\":\"error_type: parsing_exception, reason: [mappings] properties [type] should be exists\"}","service.name":"filebeat","ecs.version":"1.6.0"}
    

    I have attempted to reconcile this by creating an index named "nginx-log" (note, I've tried a custom name and nothing changed) and setting the following in /etc/filebeat/filebeat.yml:

    setup.template.name: "nginx-log"
    setup.template.pattern: "nginx-log"
    

    The same error persisted. According to Elasticsearch's documentation, I should be able to manually map input fields. I've added the following to my filebeat.yml:

    setup.template.append_fields:
    - name: content
      type: text
    

    Here are all my indicies:

    ~$ curl "http://localhost:4080/api/index" -u "admin:Complexpass123#"
    
    {"article":{"name":"article","mappings":{"content":"text","publish_date":"time","status":"keyword","title":"text","user":"text"}},"nginx-log":{"name":"nginx-log","mappings":{"content":"text"}},"system-log":{"name":"system-log","mappings":{"content":"text"}}}
    

    After adding the above append_fields setting, the following error occurs:

    Mar 27 19:40:19 snail filebeat[20382]: {"log.level":"error","@timestamp":"2022-03-27T19:40:19.467Z","log.logger":"publisher_pipeline_output","log.origin":{"file.name":"pipeline/client_worker.go","file.line":150},"message":"Failed to connect to backoff(elasticsearch(http://127.0.0.1:4080/es/)): Connection marked as failed because the onConnect callback failed: error loading template: failed to load template: couldn't load template: 400 Bad Request: {\"error\":\"error_type: parsing_exception, reason: [template] unknown option [data_stream]\"}. Response body: {\"error\":\"error_type: parsing_exception, reason: [template] unknown option [data_stream]\"}","service.name":"filebeat","ecs.version":"1.6.0"}
    

    Are you currently working around this issue? How are you currently solving this problem? No known workaround.

    Additional context Anything else we should know? I have not posted to the Filebeat forum as this seems like an error produced by Zinc. If this is user error related to Filebeat, please say so and I will inquire at the ES/Filebeat forum.

    I would also like to note I needed to add the following extra settings in my filebeat.yml in order to avoid errors:

    output.elasticsearch.allow_older_versions: true
    
    Mar 27 15:03:36 snail filebeat[17143]: {"log.level":"error","@timestamp":"2022-03-27T15:03:36.289Z","log.logger":"publisher_pipeline_output","log.origin":{"file.name":"pipeline/client_worker.go","file.line":150},"message":"Failed to connect to backoff(elasticsearch(http://localhost:4080/es/)): Connection marked as failed because the onConnect callback failed: Elasticsearch is too old. Please upgrade the instance. If you would like to connect to older instances set output.elasticsearch.allow_older_versions to true. ES=0.1.8, Beat=8.1.1.","service.name":"filebeat","ecs.version":"1.6.0"}
    

    Attachments If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)

  • [question] Is this CPU usage normal?

    [question] Is this CPU usage normal?

    Hi,

    i'm comparing cpu/ram usage againts ES, and setuped a fluentd logging with 2 destination: 1. ES 2. Zinc (same vm, same cpu, same memory, same storage). Is is 'normal' if Zinc eats 50-70% CPU, while ES is under 5% on a 10 minutes average?

    Im just collection logs with fluentd, from 15 nodes, not a big traffic ~1GB/day and I don't have complex queries, so it's weird to see this high cpu usage.

    I tried Zinc via docker, and via binary too, but got same results on CPU usage.

  • Template endpoints won't work

    Template endpoints won't work

    What were you trying to achieve? I'm am trying to get http://localhost:4080/es/_index_template to make a template index in Zinc but all I get is: {"error":"template.name should be not empty"}

    PS.: I copied the example in this page

  • Swagger API Docs - Implement the rest of the Endpoints

    Swagger API Docs - Implement the rest of the Endpoints

    Is your feature request related to a problem? Please describe. This is a continuation ticket for https://github.com/zinclabs/zinc/pull/178. Now that we have Swagger support in zinc, we would like to provide the rest of the API Docs.

    Describe the solution you'd like Provide the rest of the Swagger API Documentation by annotating the API Endpoints using https://github.com/swaggo/gin-swagger Comments.

    Additional context Use following checklist to keep track of the Current and Missing Docs:

    Auth

    • [x] List
    • [x] Delete
    • [x] CreateUpdate
    • [x] Login

    index

    • [x] Index
    • [x] List
    • [x] Create
    • [x] Delete

    index settings

    • [x] Get Mapping
    • [x] Update Mapping
    • [x] Get Settings
    • [x] Update Settings

    Search

    • [x] Search
    • [x] Bulk Insert
    • [x] Update Document
    • [x] Delete Document
    • [x] Crete Document

    ES

    • [ ] License
    • [ ] _xpack
    • [x] _search
    • [x] _msearch
    • [x] :target/_search
    • [x] :target/_msearch
    • [x] _index_template
    • [x] _index_template/:target
    • [x] :target/_mapping
    • [x] :target/_settings
    • [x] _analyze
    • [x] :target/_analyze
    • [x] _bulk
    • [x] :target/_bulk
    • [x] :target/_doc
    • [x] :target/_doc/:id
  • OOM Killed using bulk insertion

    OOM Killed using bulk insertion

    I try to insert data (from a little file of 37M) but zinc get killed by OOM. It eat more than 8GB before be killed by kernel.

    oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/[email protected],task=zinc,pid=129244,uid=1000
    [13291.887950] Out of memory: Killed process 129244 (zinc) total-vm:12128240kB, anon-rss:11309292kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:22328kB oom_score_adj:0
    [13292.196257] oom_reaper: reaped process 129244 (zinc), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
    
    [GIN-debug] Listening and serving HTTP on :4080
    {"level":"debug","time":"2021-12-15T18:49:58+01:00","message":"auth: success"}
    Killed
    
  • ZINC_DATA_PATH is not writable

    ZINC_DATA_PATH is not writable

    What were you trying to achieve? Running the docker image

    What action did you take? Running stock example with mapped valume path returns error. Same is true if I don't specify any volume mount.

    docker run -v /root/docker/zincsearch:/data -e DATA_PATH="/data" -p 4080:4080 \
        -e ZINC_FIRST_ADMIN_USER=admin -e ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123 \
        --name zinc public.ecr.aws/h9e2j3o7/zinc:latest
    

    What action/response/output did you expect? Running app

    What actually happened?

    {"level":"debug","time":"2022-09-06T14:44:50Z","message":"open .env: no such file or directory"}
    {"level":"fatal","error":"mkdir data/_test_: permission denied","time":"2022-09-06T14:44:50Z","message":"ZINC_DATA_PATH is not writable"}
    
    

    How to reproduce the issue? Just start it

    What version of ZincSearch are you using? I tried with latest and 0.3.1

    Anything else that you can tell that will help us diagnose and resolve the issue efficiently? I am running a ubuntu server.

  • Unescaped format for nginx json log

    Unescaped format for nginx json log

    I forward stdout of docker-compose to fluent-bit and zinc. How to remove unnecessary escaping for key "log"? I expected "log" as json-field Actual result: { "_index": "stdout", "_type": "_doc", "_id": "6dc987ae-0530-82c6-06f3-f6115153b088", "_score": 2, "@timestamp": "2022-07-12T13:32:20Z", "_source": { "container_id": "a78ceeec09408ca28afcbb025ca4c51c3437c3cab8b9ca2cbff72f7848febbd8", "container_name": "/nginx", "log": "{ \"timestamp2\": \"1657632740.811\", \"remote_addr\": \"185.71.52.6\", \"body_bytes_sent\": 32, \"request_time\": 0.002, \"response_status\": 200, \"request\": \"GET /?qwe=asd HTTP/1.1\", \"request_method\": \"GET\", \"http_user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36\",\"http_x_identifier\": \"-\",\"upstream_addr\": \"127.0.0.1:9000\",\"http_cf_ipcountry\": \"-\",\"http_cf_connecting_ip\": \"-\", \"http_x_token\": \"-\" }", "source": "stdout" } }

    Expected result: { "_index": "stdout", "_type": "_doc", "_id": "6dc987ae-0530-82c6-06f3-f6115153b088", "_score": 2, "@timestamp": "2022-07-12T13:32:20Z", "_source": { "container_id": "a78ceeec09408ca28afcbb025ca4c51c3437c3cab8b9ca2cbff72f7848febbd8", "container_name": "/nginx", "log": "{ "timestamp2": "1657632740.811", "remote_addr": "185.70.52.12", "body_bytes_sent": 32, "request_time": 0.002, "response_status": 200, "request": "GET /?qwe=asd HTTP/1.1", "request_method": "GET", "http_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36","http_x_identifier": "-","upstream_addr": "127.0.0.1:9000","http_cf_ipcountry": "-","http_cf_connecting_ip": "-", "http_x_token": "-" }", "source": "stdout" } } Current docker-compose.yml https://gist.github.com/devig/81fd80df35afc89e7930dd323e874245

  • Searching for a single Slash (`/`) fails

    Searching for a single Slash (`/`) fails

    Community Note

    • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
    • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
    • If you are interested in working on this issue or have submitted a pull request, please leave a comment

    What were you trying to achieve?

    I want to find records that have a field (path) containing a single slash (/) character.

    What action did you take?

    I tried path:/, path:\/, path:"/" and many more things I could think of and would expect are valid ways to escape a single slash, but all these methods failed.

    What action/response/output did you expect?

    I get a filtered result set containing the searched-for records.

    What actually happened?

    I get a brief error popup at the bottom of the screen and the slash character gets highlighted in all previously displayed (not newly fetched) documents. See screenshot below.

    How to reproduce the issue?

    Create a document containing a field with a single slash and search for it.

    What version of ZincSearch are you using?

    Latest commit as of two days ago (197486c3a48c9906e0fe69aae3118594ac5ff7d9).

    Anything else that you can tell that will help us diagnose and resolve the issue efficiently?

    Not that I can think of.

    Any attachments/screenshots? ZINC path search error

    Which service(s) is this relate to? GUI and API
    (I also tried a python script going through all query scenarios I can think of)

  • Sort values on Elasticsearch API

    Sort values on Elasticsearch API

    Is your feature request related to a problem? Please describe. One of the most important needs on Search clusters is to be Sorted by the user's choice. As zinc supports sorting by a value, I considered that it'll accept on the ES API but as I see the documentation there was no support on it. Most of zinc's users are probably from a Elasticsearch's context and using client like olivere. Will this feature be released for ease of use and compatibility?

  • can't  collect the log from filebeat 8.2.4

    can't collect the log from filebeat 8.2.4

    Note: Any feature request that do not follow below template will be closed without consideration. You may remove this line while filing a feature request.

    Is your feature request related to a problem? Please describe. i try to use zinc be the log server, and i use filebeat 8.2.4 version be agent, this is my config from elk ecosystem (it work in that) i saw your given example config, i adjust my config like your example , it doesn't work the config content like this, the segment starts at #### and end with ####, adjustment part is use hightlight word

    ####
    
     ###################### Filebeat Configuration Example #########################
     
     # This file is an example configuration file highlighting only the most common
     # options. The filebeat.reference.yml file from the same directory contains all the
     # supported options with more comments. You can use it as a reference.
     #
     # You can find the full configuration reference here:
     # https://www.elastic.co/guide/en/beats/filebeat/index.html
     
     # For more available modules and options, please see the filebeat.reference.yml sample
     # configuration file.
     
     #=========================== Filebeat inputs =============================
    
    **setup.ilm.enabled: false
    setup.template.name: "zstack"
    setup.template.pattern: "zstack-*"**
    
     
     filebeat.inputs:            # ่ฟ™ไธชไปฃ่กจfilebeat็š„input้กน้…็ฝฎ
     
     # Each - is an input. Most options can be set at the input level, so
     # you can use different inputs for various configurations.
     # Below are the input specific configurations.
     
     - type: log                  # ไปฃ่กจๆ–‡ไปถ็ฑปๅž‹็š„log ๅ…ถไป–็š„็ฑปๅž‹่ฟ˜ๆœ‰: container \ docker \ file \ kafka \
     
       # Change to true to enable this input configuration.
       enabled: true
     
       # Paths that should be crawled and fetched. Glob based paths.
       paths:
         - /usr/local/zstack/apache-tomcat/logs/management-server.log
         - /var/log/zstack/zstack-kvmagent.log
         #- /var/log/*.log
         #- c:\programdata\elasticsearch\logs\*
     
       # Exclude lines. A list of regular expressions to match. It drops the lines that are
       # matching any regular expression from the list.
       #exclude_lines: ['^DBG']
     
       # Include lines. A list of regular expressions to match. It exports the lines that are
       # matching any regular expression from the list.
       #include_lines: ['^ERR', '^WARN']
     
       # Exclude files. A list of regular expressions to match. Filebeat drops the files that
       # are matching any regular expression from the list. By default, no files are dropped.
       #exclude_files: ['.gz$']
     
       # Optional additional fields. These fields can be freely picked
       # to add additional information to the crawled log files for filtering
       #fields:
       #  level: debug
       #  review: 1
     
       ### Multiline options
     
       # Multiline can be used for log messages spanning multiple lines. This is common
       # for Java Stack Traces or C-Line Continuation
     
       # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [
       #multiline.pattern: ^\[
     
       # Defines if the pattern set under pattern should be negated or not. Default is false.
       #multiline.negate: false
     
       # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern
       # that was (not) matched before or after or as long as a pattern is not matched based on negate.
       # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash
       #multiline.match: after
     
     
     #============================= Filebeat modules ===============================
     
     filebeat.config.modules:
       # Glob pattern for configuration loading
       path: ${path.config}/modules.d/*.yml
     
       # Set to true to enable config reloading
       reload.enabled: false
     
       # Period on which files under path should be checked for changes
       #reload.period: 10s
     
     #==================== Elasticsearch template setting ==========================
     
     setup.template.settings:
       index.number_of_shards: 1
       #index.codec: best_compression
       #_source.enabled: false
     
     #================================ General =====================================
     
     # The name of the shipper that publishes the network data. It can be used to group
     # all the transactions sent by a single shipper in the web interface.
     #name:
     
     # The tags of the shipper are included in their own field with each
     # transaction published.
     #tags: ["service-X", "web-tier"]
     
     # Optional fields that you can specify to add additional information to the
     # output.
     #fields:
     #  env: staging
     
     
     #============================== Dashboards =====================================
     # These settings control loading the sample dashboards to the Kibana index. Loading
     # the dashboards is disabled by default and can be enabled either by setting the
     # options here or by using the `setup` command.
     #setup.dashboards.enabled: false
     
     # The URL from where to download the dashboards archive. By default this URL
     # has a value which is computed based on the Beat name and version. For released
     # versions, this URL points to the dashboard archive on the artifacts.elastic.co
     # website.
     #setup.dashboards.url:
     
     #============================== Kibana =====================================
     
     # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
     # This requires a Kibana endpoint configuration.
     setup.kibana:
     
       # Kibana Host
       # Scheme and port can be left out and will be set to the default (http and 5601)
       # In case you specify and additional path, the scheme is required: http://localhost:5601/path
       # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
       #host: "localhost:5601"
     
       # Kibana Space ID
       # ID of the Kibana Space into which the dashboards should be loaded. By default,
       # the Default Space will be used.
       #space.id:
     
     #================================ Outputs =====================================
     
     # Configure what output to use when sending the data collected by the beat.
     
     #-------------------------- Elasticsearch output ------------------------------
     output.elasticsearch:
       # Array of hosts to connect to.
       hosts: ["http://172.20.14.127:4080"]  #ไฝ ๆญๅปบ็š„es็š„ip
       path: "/es/"
       index: "zstack-%{+yyyy.MM.dd}"
       username: "admin"
       password: "Complexpass#123"
     
       # Protocol - either `http` (default) or `https`.
       #protocol: "https"
     
       # Authentication credentials - either API key or username/password.
       #api_key: "id:api_key"
       #username: "elastic"
       #password: "changeme"
     
     #----------------------------- Logstash output --------------------------------
     #output.logstash:
       # The Logstash hosts
       #hosts: ["localhost:5044"]
     
       # Optional SSL. By default is off.
       # List of root certificates for HTTPS server verifications
       #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
     
       # Certificate for SSL client authentication
       #ssl.certificate: "/etc/pki/client/cert.pem"
     
       # Client Certificate Key
       #ssl.key: "/etc/pki/client/cert.key"
     
     #================================ Processors =====================================
     
     # Configure processors to enhance or manipulate events generated by the beat.
     
     processors:
       - add_host_metadata: ~
       - add_cloud_metadata: ~
       - add_docker_metadata: ~
       - add_kubernetes_metadata: ~
     
     #================================ Logging =====================================
     
     # Sets log level. The default log level is info.
     # Available log levels are: error, warning, info, debug
     #logging.level: debug
     
     # At debug level, you can selectively enable logging only for some components.
     # To enable all selectors use ["*"]. Examples of other selectors are "beat",
     # "publish", "service".
     #logging.selectors: ["*"]
     
     #============================== X-Pack Monitoring ===============================
     # filebeat can export internal metrics to a central Elasticsearch monitoring
     # cluster.  This requires xpack monitoring to be enabled in Elasticsearch.  The
     # reporting is disabled by default.
     
     # Set to true to enable the monitoring reporter.
     #monitoring.enabled: false
     
     # Sets the UUID of the Elasticsearch cluster under which monitoring data for this
     # Filebeat instance will appear in the Stack Monitoring UI. If output.elasticsearch
     # is enabled, the UUID is derived from the Elasticsearch cluster referenced by output.elasticsearch.
     #monitoring.cluster_uuid:
     
     # Uncomment to send the metrics to Elasticsearch. Most settings from the
     # Elasticsearch output are accepted here as well.
     # Note that the settings should point to your Elasticsearch *monitoring* cluster.
     # Any setting that is not set is automatically inherited from the Elasticsearch
     # output configuration, so if you have the Elasticsearch output configured such
     # that it is pointing to your Elasticsearch monitoring cluster, you can simply
     # uncomment the following line.
     #monitoring.elasticsearch:
     
     #================================= Migration ==================================
     
     # This allows to enable 6.7 migration aliases
     #migration.6_to_7.enabled: true
    
     
    
    ####
    

    i am frustrated with the zinc's index template, i guess this is use for aggreate the virous log index, but i can't create on your support front web ui, i dont known why use this concept contrained in config, i have not found the doc about this ..

    if you can given me correct use way, i will be gladful and greatful, i want integrate this simple \ light search engine in my product to replace heavy elasticSearch, keep the recently log file in zinc which can help developer to expeditely find out the error log info .

    the fllowing content is filebeat's log info, i am surely about this node can connect to the zinc server, i use the script you provide insert a single data record is succeed.

    [root@172-24-242-42 bjwtest]# tailf logs/filebeat-20220726-6.ndjson 
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.logger":"crawler","log.origin":{"file.name":"beater/crawler.go","file.line":119},"message":"starting input, keys present on the config: [filebeat.inputs.0.enabled filebeat.inputs.0.paths.0 filebeat.inputs.0.paths.1 filebeat.inputs.0.type]","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"warn","@timestamp":"2022-07-26T16:20:12.084+0800","log.logger":"cfgwarn","log.origin":{"file.name":"log/input.go","file.line":89},"message":"DEPRECATED: Log input. Use Filestream input instead.","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.logger":"input","log.origin":{"file.name":"log/input.go","file.line":171},"message":"Configured paths: [**/usr/local/zstack/apache-tomcat/logs/management-server.log /var/log/zstack/zstack-kvmagent.log**]","service.name":"filebeat","input_id":"04fc3f9f-107c-4fc9-8201-5a5119de9d23","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.logger":"crawler","log.origin":{"file.name":"beater/crawler.go","file.line":150},"message":"Starting input (ID: 118385907603013962)","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.origin":{"file.name":"beater/crawler.go","file.line":76},"message":"input file config bjw: &{{{0xc00015df20} 0} 0xc0001cc050 0xc000342e20}","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.origin":{"file.name":"beater/crawler.go","file.line":77},"message":"input file config bjw: %!v(MISSING)","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.logger":"crawler","log.origin":{"file.name":"beater/crawler.go","file.line":108},"message":"Loading and starting Inputs completed. Enabled inputs: 1","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.084+0800","log.origin":{"file.name":"cfgfile/reload.go","file.line":164},"message":"Config reloader started","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:12.085+0800","log.origin":{"file.name":"cfgfile/reload.go","file.line":224},"message":"Loading of config files completed.","service.name":"filebeat","ecs.version":"1.6.0"}
    {"log.level":"info","@timestamp":"2022-07-26T16:20:42.086+0800","log.logger":"monitoring","log.origin":{"file.name":"log/log.go","file.line":184},"message":"Non-zero metrics in the last 30s","service.name":"filebeat","monitoring":{"metrics":{"beat":{"cgroup":{"cpu":{"cfs":{"period":{"us":100000}},"id":"user.slice"},"cpuacct":{"id":"user.slice","total":{"ns":575468794804}},"memory":{"id":"user.slice","mem":{"limit":{"bytes":9223372036854771712},"usage":{"bytes":6900948992}}}},"cpu":{"system":{"ticks":20,"time":{"ms":20}},"total":{"ticks":60,"time":{"ms":60},"value":0},"user":{"ticks":40,"time":{"ms":40}}},"handles":{"limit":{"hard":4096,"soft":1024},"open":11},"info":{"ephemeral_id":"49f4e6c5-1025-4af5-b701-289ae0720713","uptime":{"ms":30046},"version":"8.2.4"},"memstats":{"gc_next":8275856,"memory_alloc":6093920,"memory_sys":20530184,"memory_total":14882032,"rss":28778496},"runtime":{"goroutines":30}},"filebeat":{"harvester":{"open_files":0,"running":0}},"libbeat":{"config":{"module":{"running":0},"reloads":1,"scans":1},"output":{"events":{"active":0},"type":"elasticsearch"},"pipeline":{"clients":1,"events":{"active":0},"queue":{"max_events":4096}}},"registrar":{"states":{"current":0}},"system":{"cpu":{"cores":4},"load":{"1":0,"15":0.05,"5":0.01,"norm":{"1":0,"15":0.0125,"5":0.0025}}}},"ecs.version":"1.6.0"}}
    
  • build(deps): bump @quasar/extras from 1.15.4 to 1.15.9 in /web

    build(deps): bump @quasar/extras from 1.15.4 to 1.15.9 in /web

    Bumps @quasar/extras from 1.15.4 to 1.15.9.

    Release notes

    Sourced from @โ€‹quasar/extras's releases.

    @โ€‹quasar/extras-v1.15.9

    Updates

    • feat(extras): update Bootstrap icons/fonts => v1.10.3
    • feat(extras): update MDI icons/fonts => v7.1.96

    Donations

    Quasar Framework is an open-source MIT-licensed project made possible due to the generous contributions by sponsors and backers. If you are interested in supporting this project, please consider the following:

    @โ€‹quasar/extras-v1.15.8

    Updates

    • feat(extras): feat(extras): updated Google Material Symbols to latest

    Donations

    Quasar Framework is an open-source MIT-licensed project made possible due to the generous contributions by sponsors and backers. If you are interested in supporting this project, please consider the following:

    @โ€‹quasar/extras-v1.15.7

    Updates

    • feat(extras): feat(extras): updated Google Material Symbols to latest

    Donations

    Quasar Framework is an open-source MIT licensed project that has been made possible due to the generous contributions by sponsors and backers. If you are interested in supporting this project, please consider:

    Commits
    • da674c8 chore(extras): bump version => v1.15.9
    • 40c3798 feat(extras): update MDI icons/fonts => v7.1.96
    • 8cfcc72 feat(extras): update Bootstrap icons/fonts => v1.10.3
    • 1b98a38 feat(ui): Ability to disable Quasar automatically adding "dir" and "lang" HTM...
    • 8e54e75 chore(ui): Bump version
    • 26836a6 feat(QTabs): prepare for SSG while avoiding subsequent re-renders
    • c24a3c9 feat(ui): prepare body classes for SSG
    • a9fc188 fix(docs): ssr with q/app-vite webserver > serverless example
    • 7920d57 chore(ui): Bump version
    • e1d5263 fix(ui/lang): kk language name
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • rest api always no auth.

    rest api always no auth.

    What were you trying to achieve? http://127.0.0.1:4080/swagger/index.html#/Index/ListIndexes already Available authorizations. What action did you take? get /api/index

    What action/response/output did you expect? get result What actually happened? 1672125478779 What version of ZincSearch are you using? version of ZincSearch: 0.35

  • build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.18.7

    build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.18.7

    Bumps github.com/aws/aws-sdk-go-v2/config from 1.17.8 to 1.18.7.

    Changelog

    Sourced from github.com/aws/aws-sdk-go-v2/config's changelog.

    Release (2022-12-20)

    General Highlights

    • Dependency Update: Updated to the latest SDK module versions

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/service/batch: v1.20.0
      • Feature: Adds isCancelled and isTerminated to DescribeJobs response.
    • github.com/aws/aws-sdk-go-v2/service/ec2: v1.77.0
      • Feature: Adds support for pagination in the EC2 DescribeImages API.
    • github.com/aws/aws-sdk-go-v2/service/lookoutequipment: v1.16.0
      • Feature: This release adds support for listing inference schedulers by status.
    • github.com/aws/aws-sdk-go-v2/service/medialive: v1.27.0
      • Feature: This release adds support for two new features to AWS Elemental MediaLive. First, you can now burn-in timecodes to your MediaLive outputs. Second, we now now support the ability to decode Dolby E audio when it comes in on an input.
    • github.com/aws/aws-sdk-go-v2/service/nimble: v1.15.0
      • Feature: Amazon Nimble Studio now supports configuring session storage volumes and persistence, as well as backup and restore sessions through launch profiles.
    • github.com/aws/aws-sdk-go-v2/service/resourceexplorer2: v1.1.0
      • Feature: Documentation updates for AWS Resource Explorer.
    • github.com/aws/aws-sdk-go-v2/service/route53domains: v1.13.0
      • Feature: Use Route 53 domain APIs to change owner, create/delete DS record, modify IPS tag, resend authorization. New: AssociateDelegationSignerToDomain, DisassociateDelegationSignerFromDomain, PushDomain, ResendOperationAuthorization. Updated: UpdateDomainContact, ListOperations, CheckDomainTransferability.
    • github.com/aws/aws-sdk-go-v2/service/sagemaker: v1.60.0
      • Feature: Amazon SageMaker Autopilot adds support for new objective metrics in CreateAutoMLJob API.
    • github.com/aws/aws-sdk-go-v2/service/transcribe: v1.24.0
      • Feature: Enable our batch transcription jobs for Swedish and Vietnamese.

    Release (2022-12-19)

    General Highlights

    • Dependency Update: Updated to the latest SDK module versions

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/service/athena: v1.21.0
      • Feature: Add missed InvalidRequestException in GetCalculationExecutionCode,StopCalculationExecution APIs. Correct required parameters (Payload and Type) in UpdateNotebook API. Change Notebook size from 15 Mb to 10 Mb.
    • github.com/aws/aws-sdk-go-v2/service/ecs: v1.22.0
      • Feature: This release adds support for alarm-based rollbacks in ECS, a new feature that allows customers to add automated safeguards for Amazon ECS service rolling updates.
    • github.com/aws/aws-sdk-go-v2/service/kinesisvideo: v1.14.0
      • Feature: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
    • github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage: v1.0.0
      • Release: New AWS service client module
      • Feature: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
    • github.com/aws/aws-sdk-go-v2/service/rds: v1.36.0
      • Feature: Add support for --enable-customer-owned-ip to RDS create-db-instance-read-replica API for RDS on Outposts.
    • github.com/aws/aws-sdk-go-v2/service/sagemaker: v1.59.0
      • Feature: AWS Sagemaker - Sagemaker Images now supports Aliases as secondary identifiers for ImageVersions. SageMaker Images now supports additional metadata for ImageVersions for better images management.

    Release (2022-12-16)

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/service/appflow: v1.22.0
      • Feature: This release updates the ListConnectorEntities API action so that it returns paginated responses that customers can retrieve with next tokens.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.1 to 1.29.6

    build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.1 to 1.29.6

    Bumps github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.1 to 1.29.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • UI tests fail

    UI tests fail

    Community Note

    • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
    • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
    • If you are interested in working on this issue or have submitted a pull request, please leave a comment

    What were you trying to achieve?

    Testing the UI.

    What action did you take?

    npm run test-once

    What action/response/output did you expect?

    For the tests to succeed.

    What actually happened?

    The tests failed.

    How to reproduce the issue?

    cd web && npm run test-once

    What version of ZincSearch are you using?

    d66702daf6cfef09ad08964f538a5fe309a2e230 and 0.3.5

    Anything else that you can tell that will help us diagnose and resolve the issue efficiently?

    Logs:

     RUN  v0.23.4 /private/tmp/nix-build-zinc-ui-0.3.5.drv-1/source/web
    
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/MenuLink.test.ts (2)
     ยท src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     ยท src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     ยท src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โฏ src/test/components/template/PreviewTemplate.test.ts (1)
       โ ™ should mount PreviewTemplate component
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     ยท src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     ยท src/test/components/template/AddUpdateTemplate.test.ts (1)
     ยท src/test/components/search/SearchResult.test.ts (1)
    stderr | src/test/components/search/SearchResult.test.ts > should mount SearchResult component
    [Vue warn]: Failed to resolve component: apexchart
    If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
      at <SearchResult ref="VTU_COMPONENT" >
      at <VTUROOT>
    
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     ยท src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     ยท src/test/views/Index.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     ยท src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     ยท src/test/components/index/AddUpdateIndex.test.ts (1)
     ยท src/test/views/Template.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     ยท src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     ยท src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     ยท src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     ยท src/test/views/Login.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     ยท src/test/views/Login.test.ts (1)
     ยท src/test/components/user/AddUpdateUser.test.ts (1)
    stderr | src/test/views/Login.test.ts > should mount Login view
    [Vue warn]: inject() can only be used inside setup() or functional components.
    [Vue warn]: injection "Symbol(router)" not found.
      at <PageLogin ref="VTU_COMPONENT" >
      at <VTUROOT>
    
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     ยท src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     ยท src/test/components/JsonEditor.test.ts (1)
     ยท src/test/views/Error404.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     ยท src/test/components/search/IndexList.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     ยท src/test/components/search/IndexList.test.ts (1)
     ยท src/test/views/About.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     โœ“ src/test/components/search/IndexList.test.ts (1)
     โœ“ src/test/views/About.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     โœ“ src/test/components/search/IndexList.test.ts (1)
     โœ“ src/test/views/About.test.ts (1)
     ยท src/test/views/User.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     โœ“ src/test/components/search/IndexList.test.ts (1)
     โœ“ src/test/views/About.test.ts (1)
     โœ“ src/test/views/User.test.ts (1)
     ยท src/test/views/Search.test.ts (1)
     โœ“ src/test/components/MenuLink.test.ts (2)
     โœ“ src/test/components/search/DateTime.test.ts (2)
     โœ“ src/test/components/search/SearchBar.test.ts (1)
     โœ“ src/test/components/template/PreviewTemplate.test.ts (1)
     โœ“ src/test/components/template/AddUpdateTemplate.test.ts (1)
     โœ“ src/test/components/search/SearchResult.test.ts (1)
     โœ“ src/test/layouts/MainLayout.test.ts (1)
     โœ“ src/test/views/Index.test.ts (1)
     โœ“ src/test/components/index/AddUpdateIndex.test.ts (1)
     โœ“ src/test/views/Template.test.ts (1)
     โœ“ src/test/components/HighLight.test.ts (1)
     โœ“ src/test/components/index/PreviewIndex.test.ts (1)
     โœ“ src/test/components/search/SyntaxGuide.test.ts (1)
     โœ“ src/test/views/Login.test.ts (1)
     โœ“ src/test/components/user/AddUpdateUser.test.ts (1)
     โœ“ src/test/components/JsonEditor.test.ts (1)
     โœ“ src/test/views/Error404.test.ts (1)
     โœ“ src/test/components/search/IndexList.test.ts (1)
     โœ“ src/test/views/About.test.ts (1)
     โœ“ src/test/views/User.test.ts (1)
     โœ“ src/test/views/Search.test.ts (1)
    
    Test Files  21 passed (21)
         Tests  23 passed (23)
      Start at  20:32:51
      Duration  3.73s (transform 526ms, setup 0ms, collect 15.53s, tests 518ms)
    
    โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ Unhandled Errors โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ
    
    Vitest caught 4 unhandled errors during the test run.
    This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
    
    โŽฏโŽฏโŽฏโŽฏ Unhandled Rejection โŽฏโŽฏโŽฏโŽฏโŽฏ
    Unknown Error: undefined
    โŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏโŽฏ
    
    โŽฏโŽฏโŽฏโŽฏ Unhandled Rejection โŽฏโŽฏโŽฏโŽฏโŽฏ
    Unknown Error: undefined
    
    โŽฏโŽฏโŽฏโŽฏ Unhandled Rejection โŽฏโŽฏโŽฏโŽฏโŽฏ
    Unknown Error: undefined
    
    โŽฏโŽฏโŽฏโŽฏ Unhandled Rejection โŽฏโŽฏโŽฏโŽฏโŽฏ
    Unknown Error: undefined
    
Related tags
Mogo: a lightweight browser-based logs analytics and logs search platform for some datasource(ClickHouse, MySQL, etc.)
Mogo: a lightweight browser-based logs analytics and logs search platform for some datasource(ClickHouse, MySQL, etc.)

mogo Mogo is a lightweight browser-based logs analytics and logs search platform

Dec 30, 2022
Sync MySQL data into elasticsearch
Sync MySQL data into elasticsearch

go-mysql-elasticsearch is a service syncing your MySQL data into Elasticsearch automatically. It uses mysqldump to fetch the origin data at first, the

Dec 30, 2022
convert sql to elasticsearch DSL in golang(go)

_____ _ _ ____ _____ ___ ____ ____ ___ _ | ____| | / \ / ___|_ _|_ _|/ ___|/ ___| / _ \ | | | _| | | / _ \ \___ \ |

Jan 7, 2023
A river for elasticsearch to automatically index mysql content using the replication feed.

Mysql River Plugin for ElasticSearch The Mysql River plugin allows to hook into Mysql replication feed using the excellent python-mysql-replication an

Jun 1, 2022
This package can parse date match expression, which used by ElasticSearch

datemath-parser this package is pure go package, this package can parse date match expression, which used by ElasticSearch. Date Math Definition you c

Jan 8, 2022
A truly Open Source MongoDB alternative

FerretDB FerretDB (previously MangoDB) was founded to become the de-facto open-source substitute to MongoDB. FerretDB is an open-source proxy, convert

Jan 2, 2023
A minimal, single-table No-SQL database.

SimpleDB SimpleDB is a very basic No-SQL database format for long-term data storage in Golang. It is WIP, has a LOT of drawbacks, and definitely is no

Jan 16, 2022
Use SQL to instantly query Datadog resources across accounts. Open source CLI. No DB required.

steampipe-plugin-datadog Datadog Plugin for Steampipe Use SQL to query dashboards, users, roles and more from Datadog. Get started โ†’ Documentation: Ta

Dec 17, 2022
Use SQL to instantly query Hypothesis resources. Open source CLI. No DB required.

Hypothesis Plugin for Steampipe Prerequisites Steampipe Golang Build $ git clone https://github.com/judell/steampipe-plugin-hypothesis.git $ cd steam

Dec 11, 2022
Use SQL to instantly query resources, data sources and more from Terraform code. Open source CLI. No DB required.
Use SQL to instantly query resources, data sources and more from Terraform code. Open source CLI. No DB required.

Terraform Plugin for Steampipe Use SQL to query data from Terraform configuration files. Get started โ†’ Documentation: Table definitions & examples Com

Dec 22, 2022
Lightweight SQL database written in Go for prototyping and playing with text (CSV, JSON) data

gopicosql Lightweight SQL database written in Go for prototyping and playing wit

Jul 27, 2022
Jobbuzz - Brunei job search database and alert notification

JobBuzz Brunei open source job search database and alert notification Developmen

Jul 30, 2022
a lightweight distributed transaction management service, support xa tcc saga
a lightweight distributed transaction management service, support xa tcc saga

a lightweight distributed transaction management service, support xa tcc saga

Dec 29, 2022
BQB is a lightweight and easy to use query builder that works with sqlite, mysql, mariadb, postgres, and others.

Basic Query Builder Why Simple, lightweight, and fast Supports any and all syntax by the nature of how it works Doesn't require learning special synta

Dec 7, 2022
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.

go-mysql-server go-mysql-server is a SQL engine which parses standard SQL (based on MySQL syntax) and executes queries on data sources of your choice.

Jan 2, 2023
MySQL Storage engine conversion๏ผŒSupport mutual conversion between MyISAM and InnoDB engines.

econvert MySQL Storage engine conversion ็ฎ€ไป‹ ๆญคๅทฅๅ…ท็”จไบŽMySQLๅญ˜ๅ‚จๅผ•ๆ“Ž่ฝฌๆข๏ผŒๆ”ฏๆŒCTASๅ’ŒALTERไธค็งๆจกๅผ๏ผŒ็›ฎๅ‰ๅชๆ”ฏๆŒMyISAMๅ’ŒInnoDBๅญ˜ๅ‚จๅผ•ๆ“Ž็›ธไบ’่ฝฌๆข๏ผŒๅ…ถๅฎƒๅผ•ๆ“Žๅฐšไธๆ”ฏๆŒใ€‚ ๆณจๆ„๏ผšๅฝ“ๅฏน่กจ่ฟ›่กŒๅผ•ๆ“Ž่ฝฌๆขๆ—ถ๏ผŒๅปบ่ฎฎไธšๅŠกๅœๆญข่ฎฟ้—ฎๆˆ–่€…ๆžๅฐ‘้‡่ฎฟ้—ฎๆ—ถ่ฟ›่กŒใ€‚ ๅŽŸ

Oct 25, 2021
MatrixOne is a planet scale, cloud-edge native big data engine crafted for heterogeneous workloads.
MatrixOne is a planet scale, cloud-edge native big data engine crafted for heterogeneous workloads.

What is MatrixOne? MatrixOne is a planet scale, cloud-edge native big data engine crafted for heterogeneous workloads. It provides an end-to-end data

Dec 26, 2022
It's a Go console utility for migration from MSSQL to MySQL engine.

A tool for migration the databases to MySQL It's a Go console utility for migration from MSSQL to MySQL engine. The databases should have prepopulated

Jan 4, 2022
Hybrid Engine for emulate trading flow

Deridex Backend This is a backend implementation for Deridex market. The system

Dec 15, 2021