{"id":28501988,"url":"https://github.com/fluent/fluent-bit-go","last_synced_at":"2025-07-05T02:31:49.162Z","repository":{"id":12808930,"uuid":"72874047","full_name":"fluent/fluent-bit-go","owner":"fluent","description":"Fluent Bit Golang package to build plugins","archived":false,"fork":false,"pushed_at":"2024-02-01T17:10:14.000Z","size":61,"stargazers_count":193,"open_issues_count":30,"forks_count":55,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-06-08T16:08:36.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-04T18:18:26.000Z","updated_at":"2025-06-05T07:57:35.000Z","dependencies_parsed_at":"2024-06-18T12:31:28.747Z","dependency_job_id":"97225ea3-71ca-4f19-af79-02853ecf74e9","html_url":"https://github.com/fluent/fluent-bit-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fluent/fluent-bit-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-bit-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-bit-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-bit-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-bit-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluent","download_url":"https://codeload.github.com/fluent/fluent-bit-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-bit-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263671745,"owners_count":23494027,"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":[],"created_at":"2025-06-08T16:08:41.264Z","updated_at":"2025-07-05T02:31:49.157Z","avatar_url":"https://github.com/fluent.png","language":"Go","readme":"# Fluent Bit Go!\n\nThis repository contains Go packages that allows to create [Fluent Bit][fluent-bit] plugins. At the moment it only supports the creation of _Output_ and _Input_ plugins.\n\n## Requirements\n\nThe code of this package for output plugin is intended to be used with [Fluent Bit v1.4][fluent-bit-1-4] branch or higher.\n\nThe code of this package for input plugin is intended to be used with [Fluent Bit v1.9][fluent-bit-1-9] branch or higher.\n\n## Usage\n\nFluent Bit Go packages are exposed on this repository:\n\n[github.com/fluent/fluent-bit-go][fluent-bit-go]\n\n### Creating Output Plugin\n\nWhen creating a Fluent Bit Output plugin, the _output_ package can be used as follows:\n\n```go\nimport \"github.com/fluent/fluent-bit-go/output\"\n```\n\nFor a more practical example please refer to the [out\\_multiinstance plugin][multiinstance] implementation located at:\n\n### Creating Input Plugin\n\nWhen creating a Fluent Bit Input plugin, the _input_ package can be used as follows:\n\n```go\nimport \"github.com/fluent/fluent-bit-go/input\"\n```\n\n#### Config key constraint\n\nSome config keys are used/overwritten by Fluent Bit and can't be used by a custom plugin, they are:\n\n| Property                     | Input | Output |\n|------------------------------|-------|--------|\n| `alias`                        |   X   |   X    |\n| `host`                         |   X   |   X    |\n| `ipv6`                         |   X   |   X    |\n| `listen`                       |   X   |        |\n| `log_level`                    |   X   |   X    |\n| `log_suppress_interval`        |   X   |        |\n| `match`                        |   X   |        |\n| `match_regex`                  |   X   |        |\n| `mem_buf_limit`                |   X   |   X    |\n| `port`                         |   X   |   X    |\n| `retry_limit`                  |   X   |        |\n| `routable`                     |   X   |   X    |\n| `storage.pause_on_chunks_overlimit` | X |   X    |\n| `storage.total_limit_size`     |   X   |        |\n| `storage.type`                 |   X   |   X    |\n| `tag`                          |   X   |   X    |\n| `threaded`                     |   X   |   X    |\n| `tls`                          |   X   |   X    |\n| `tls.ca_file`                  |   X   |   X    |\n| `tls.ca_path`                  |   X   |   X    |\n| `tls.crt_file`                 |   X   |   X    |\n| `tls.debug`                    |   X   |   X    |\n| `tls.key_file`                 |   X   |   X    |\n| `tls.key_passwd`               |   X   |   X    |\n| `tls.verify`                   |   X   |   X    |\n| `tls.vhost`                    |   X   |   X    |\n| `workers`                      |   X   |        |\n\nThis implies that if your plugin depends on property like `listen` you can use on output plugin but not on input plugin, `host` don't work on both, rather than this custom key like `address` work on both.\n\n```ini\n[OUTPUT]\n    Name   my_output_plugin\n    Listen something # work\n    Host # don't work\n    Address # work\n[INPUT]\n    Name   my_input_plugin\n    Listen something #don't work\n    Host localhost # don't work\n    Address # work\n```\n\n## Contact\n\nFeel free to join us on our Slack channel, Mailing List, IRC or Twitter:\n\n - Slack: http://slack.fluentd.org (#fluent-bit channel)\n - Mailing List: https://groups.google.com/forum/#!forum/fluent-bit\n - IRC: irc.freenode.net #fluent-bit\n - Twitter: http://twitter.com/fluentbit\n\n## Authors\n\n[Fluent Bit Go][fluent-bit] is made and sponsored by [Treasure Data][treasure-data] among\nother [contributors][contributors].\n\n[fluent-bit]: http://fluentbit.io/\n[fluent-bit-1-4]: https://github.com/fluent/fluent-bit/tree/v1.4.0\n[fluent-bit-1-9]: https://github.com/fluent/fluent-bit/tree/1.9\n[multiinstance]: https://github.com/fluent/fluent-bit-go/tree/fc386d263885e50387dd0081a77adf4072e8e4b6/examples/out_multiinstance\n[fluent-bit-go]: http://github.com/fluent/fluent-bit-go\n[treasure-data]: http://treasuredata.com\n[contributors]: https://github.com/fluent/fluent-bit-go/graphs/contributors\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-bit-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluent%2Ffluent-bit-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-bit-go/lists"}