{"id":20727339,"url":"https://github.com/blue-yonder/bonfire","last_synced_at":"2025-04-23T18:52:07.806Z","repository":{"id":30501953,"uuid":"34056290","full_name":"blue-yonder/bonfire","owner":"blue-yonder","description":"A CLI Graylog Client with Follow Mode","archived":false,"fork":false,"pushed_at":"2022-11-23T15:49:12.000Z","size":83,"stargazers_count":72,"open_issues_count":8,"forks_count":26,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-30T02:33:23.306Z","etag":null,"topics":["cli","graylog"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blue-yonder.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-16T13:07:06.000Z","updated_at":"2024-04-27T13:49:48.000Z","dependencies_parsed_at":"2023-01-14T17:05:39.981Z","dependency_job_id":null,"html_url":"https://github.com/blue-yonder/bonfire","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fbonfire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fbonfire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fbonfire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fbonfire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blue-yonder","download_url":"https://codeload.github.com/blue-yonder/bonfire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250496303,"owners_count":21440227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","graylog"],"created_at":"2024-11-17T04:30:08.680Z","updated_at":"2025-04-23T18:52:07.783Z","avatar_url":"https://github.com/blue-yonder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=======\nbonfire\n=======\n\nBonfire is a command line interface to query Graylog searches via the REST API. It tries to emulate the feeling of using tail on a local file.\n\nUsage\n=====\n\nExamples::\n\n    \u003e bonfire -h logserver -u jdoe -@ \"10 minutes ago\" \"*\"\n    ...\n\n    \u003e bonfire -h logserver -u jdoe -f \"source:localhost AND level:2\"\n    ...\n\nBonfire usage::\n\n    Usage: bonfire [OPTIONS] [QUERY]\n\n      Bonfire - An interactive graylog cli client\n\n    Options:\n      --node TEXT                     Label of a preconfigured graylog node\n      -h, --host TEXT                 Your graylog node's host\n      -s, --tls                       Use HTTPS\n      --port INTEGER                  Your graylog port (default: 12900)\n      --endpoint TEXT                 Your graylog API endpoint e.g /api (default:\n                                      /)\n      -u, --username TEXT             Your graylog username\n      -p, --password TEXT             Your graylog password (default: prompt)\n      -k, --keyring / -nk, --no-keyring\n                                      Use keyring to store/retrieve password\n      -@, --search-from TEXT          Query range from\n      -#, --search-to TEXT            Query range to (default: now)\n      -t, --tail                      Show the last n lines for the query\n                                      (default)\n      -d, --dump                      Print the query result as a csv\n      -f, --follow                    Poll the logging server for new logs\n                                      matching the query (sets search from to now,\n                                      limit to None)\n      -l, --interval INTEGER          Polling interval in ms (default: 1000)\n      -n, --limit INTEGER             Limit the number of results (default: 10)\n      -a, --latency INTEGER           Latency of polling queries (default: 2)\n      -r, --stream TEXT               Stream ID of the stream to query (default:\n                                      no stream filter)\n      -e, --field TEXT                Fields to include in the query result\n      -x, --template-option TEXT      Template options for the stored query\n      -s, --sort TEXT                 Field used for sorting (default: timestamp)\n      --asc / --desc                  Sort ascending / descending\n      --help                          Show this message and exit.\n\nConfiguration\n=============\n\nBonfire can be configured. It will look for a ``~/.bonfire.cfg`` or a ``bonfire.cfg`` (in the current directory). The\nconfiguration file can specify API nodes. If no host is specified a node with the name ``default`` will be used. You can\nalso configure queries which can be referenced by starting your query with a colon::\n\n    [node:default]\n    host=1.2.3.4\n    port=12900\n    endpoint=/\n    username=jdoe\n\n    [node:dev]\n    host=4.3.2.1\n    port=9000\n    endpoint=/api\n    username=jdoe\n    password=H4rrH4rrB0bba\n\n    [query:example]\n    query=facility:*foo* AND source:*bar*\n    from=2015-03-01 15:00:00\n    limit=100\n    fields=message,name,facility,source\n\nNow you can run queries via such as::\n\n    \u003e bonfire --node=dev :example\n    ... runs the example query on the node dev\n\n    \u003e bonfire :example\n    ... runs the example query on the default node\n\nQuery Templates\n---------------\n\nOptions\n=======\n\nQueries\n=======\n\nTesting\n=======\n\nCf. the travis script for running tests. Make sure you disable proxies / set\nnoproxy if you're using a proxy, to be able to reach the test dummy server\n(called ``dummyserver``), e.g.::\n\n\u003e env no_proxy=dummyhost python setup.py test\n\nKnown Bugs\n==========\n\nDevelopment\n===========\nOnce you want to release a new version, do the following:\n\n* bring your git tree in order, cut the release, and tag it with the desired\n  version\n* install necessary pip packages:\n  \u003e python3 -m pip install –-user –-upgrade setuptools wheel twine\n* bundle your release:\n  \u003e python3 setup.py sdist bdist_wheel\n* publish it:\n  \u003e python3 -m twine upload dist/*\n\nNote that if you have several different versions in dist, you might want to\nspecify which one you want to publish.\n\nRelease Notes\n=============\n\n* v0.0.7: Issues fixes, TLS and Proxy support\n    * Adds support for proxies\n    * Adds support for https urls\n    * Add timestamps to the dump format\n* v0.0.6: Documentation fix\n    * Change of README.rst\n* v0.0.5: Clean up\n    * Removed terminal UI ideas\n    * Added first tests\n    * Fixed date and time handling with timezones\n    * Added python3 compatibility\n* v0.0.4: Extended documentation \u0026 stream access\n    * Use the first stream the user has access to if no stream is specified and the user has no global search rights\n* v0.0.3: Small fixes\n    * Use accept header in GET requests.\n    * Fix bug when querying specific fields\n* v0.0.1: Initial release\n    * Limited feature set.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblue-yonder%2Fbonfire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblue-yonder%2Fbonfire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblue-yonder%2Fbonfire/lists"}