{"id":17033037,"url":"https://github.com/nokute78/fluentbit-plugin-out-expect","last_synced_at":"2025-03-22T21:19:55.104Z","repository":{"id":57565956,"uuid":"338465806","full_name":"nokute78/fluentbit-plugin-out-expect","owner":"nokute78","description":"A fluent bit output plugin to check if the key/value contains expected  key/value","archived":false,"fork":false,"pushed_at":"2021-02-14T12:11:36.000Z","size":42,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-28T01:15:01.437Z","etag":null,"topics":["fluent-bit"],"latest_commit_sha":null,"homepage":"","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/nokute78.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}},"created_at":"2021-02-13T00:29:26.000Z","updated_at":"2024-07-16T14:31:47.000Z","dependencies_parsed_at":"2022-08-27T18:40:44.305Z","dependency_job_id":null,"html_url":"https://github.com/nokute78/fluentbit-plugin-out-expect","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokute78%2Ffluentbit-plugin-out-expect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokute78%2Ffluentbit-plugin-out-expect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokute78%2Ffluentbit-plugin-out-expect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nokute78%2Ffluentbit-plugin-out-expect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nokute78","download_url":"https://codeload.github.com/nokute78/fluentbit-plugin-out-expect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245020887,"owners_count":20548259,"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":["fluent-bit"],"created_at":"2024-10-14T08:31:48.357Z","updated_at":"2025-03-22T21:19:55.073Z","avatar_url":"https://github.com/nokute78.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluent-bit-plugin-out-expect\n![Go](https://github.com/nokute78/fluentbit-plugin-out-expect/workflows/Go/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nokute78/fluentbit-plugin-out-expect)](https://goreportcard.com/report/github.com/nokute78/fluentbit-plugin-out-expect)\n[![Go Reference](https://pkg.go.dev/badge/github.com/nokute78/fluentbit-plugin-out-expect.svg)](https://pkg.go.dev/github.com/nokute78/fluentbit-plugin-out-expect)\nOuput plugin for [Fluent-Bit](https://fluentbit.io/) to verify key/value of record.\n\n## Feature\n\n* Conditional checking\n* Nested field support\n\n## Configuration Parameters\n\nEach configuration name should be *key_nameN*. *N* is 0-15.\n\n### Key Exists\n*key_existsN* *Json Object*\nor\n*key_not_existsN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`|string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Key \"alert\" should be exist |`key_exist0 {\"key\":\"alert\"}` |\n|Key \"alert\" should not be exist |`key_not_exist0 {\"key\":\"alert\"}` |\n\n### Boolean\n*key_boolN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`      |string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n|`\"value\"`    |boolean|Checking value.|\n|`\"condition\"`|string|Checking Condition. `\"==\"`/`\"!=\"`|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Value of key \"not_nil\" should be true |`key_bool0 {\"key\":\"not_nil\",\"condition\",\"==\", \"value\":true}` |\n|Value of key \"not_nil\" should be false|`key_bool0 {\"key\":\"not_nil\",\"condition\",\"contains\", \"value\":false}` |\n\n### String\n*key_strN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`      |string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n|`\"value\"`    |string|Checking value.|\n|`\"condition\"`|string|Checking Condition. `\"==\"`/`\"!=\"`/`\"contains\"`/`\"not_contains\"`|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Value of key \"name\" should be match \"Taro\"|`key_str0 {\"key\":\"name\",\"condition\",\"==\", \"value\":\"taro\"}` |\n|Value of key \"name\" should be contain \"Taro\"|`key_str0 {\"key\":\"name\",\"condition\",\"contains\", \"value\":\"taro\"}` |\n\n### Int\n*key_intN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`      |string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n|`\"value\"`    |int|Checking value.|\n|`\"condition\"`|string|Checking Condition. `\"==\"`/`\"!=\"`/`\"\u003e\"`/`\"\u003e=\"`/`\"\u003c\"`/`\"\u003c=\"`|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Value of key \"log_level\" should be match 3|`key_int0 {\"key\":\"log_level\",\"condition\",\"==\", \"value\":3}` |\n|Value of key \"log_level\" should be greater than 3|`key_int0 {\"key\":\"log_level\",\"condition\",\"\u003e\", \"value\":3}` |\n\n### Uint\n*key_uintN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`      |string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n|`\"value\"`    |uint|Checking value.|\n|`\"condition\"`|string|Checking Condition. `\"==\"`/`\"!=\"`/`\"\u003e\"`/`\"\u003e=\"`/`\"\u003c\"`/`\"\u003c=\"`|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Value of key \"log_level\" should be match 3|`key_uint0 {\"key\":\"log_level\",\"condition\",\"==\", \"value\":3}` |\n|Value of key \"log_level\" should be greater than 3|`key_uint0 {\"key\":\"log_level\",\"condition\",\"\u003e\", \"value\":3}` |\n\n### Double\n*key_doubleN* *Json Object*\n\nJson object:\n|Key|Value Type|Description|\n|---|----------|-----------|\n|`\"key\"`      |string or string array|The key name to check if it exists or not. If it is array, it is recognized as nested keys.|\n|`\"value\"`    |double|Checking value.|\n|`\"condition\"`|string|Checking Condition. `\"==\"`/`\"!=\"`/`\"\u003e\"`/`\"\u003e=\"`/`\"\u003c\"`/`\"\u003c=\"`|\n\nExample:\n|use case| example configuration|\n|--------|----------------------|\n|Value of key \"degree\" should be match 27.3|`key_double0 {\"key\":\"degree\",\"condition\",\"==\", \"value\":27.3}` |\n|Value of key \"degree\" should be greater than 27.3|`key_double0 {\"key\":\"degree\",\"condition\",\"\u003e\", \"value\":27.3}` |\n\n\n## Build\n\n```\nmake\n```\n\n## License\n\n[Apache License v2.0](https://www.apache.org/licenses/LICENSE-2.0)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnokute78%2Ffluentbit-plugin-out-expect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnokute78%2Ffluentbit-plugin-out-expect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnokute78%2Ffluentbit-plugin-out-expect/lists"}