{"id":28501927,"url":"https://github.com/fluent/fluent-plugin-sd-dns","last_synced_at":"2025-07-05T02:31:45.386Z","repository":{"id":44767770,"uuid":"295884223","full_name":"fluent/fluent-plugin-sd-dns","owner":"fluent","description":"DNS based service discovery plugin for Fluentd","archived":false,"fork":false,"pushed_at":"2025-02-12T04:27:36.000Z","size":27,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-06-08T16:08:24.052Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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":"ChangeLog","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":"2020-09-16T00:47:28.000Z","updated_at":"2025-02-12T04:27:36.000Z","dependencies_parsed_at":"2023-01-31T11:01:06.640Z","dependency_job_id":null,"html_url":"https://github.com/fluent/fluent-plugin-sd-dns","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fluent/fluent-plugin-sd-dns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-plugin-sd-dns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-plugin-sd-dns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-plugin-sd-dns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-plugin-sd-dns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluent","download_url":"https://codeload.github.com/fluent/fluent-plugin-sd-dns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-plugin-sd-dns/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263671744,"owners_count":23494026,"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:29.682Z","updated_at":"2025-07-05T02:31:45.375Z","avatar_url":"https://github.com/fluent.png","language":"Ruby","readme":"# DNS based service discovery plugin for [Fluentd](https://fluentd.org)\n\nThe `dns` service discovery plugin updates target services by DNS list.\n\nThis plugin uses `Socket.getaddrinfo` internally.\n\n## Requirements\n\n- Fluentd v1.8 or later\n\n## Installation\n\nUse RubyGems:\n\n    fluent-gem install fluent-plugin-sd-dns --no-document\n\n## Configuration\n\nUse `@type dns` in `\u003cservice_discovery\u003e`.\n\n```\n\u003cmatch pattern\u003e\n  @type forward\n\n  \u003cservice_discovery\u003e\n    @type dns\n    \u003centry\u003e\n      host host1.domain\n      port 24224\n    \u003c/entry\u003e\n    \u003centry\u003e\n      host host2.domain\n      port 24225\n    \u003c/entry\u003e\n  \u003c/service_discovery\u003e\n\u003c/match\u003e\n```\n\nIf `host1.domain` returns 3 addresses and `host2.domain` returns 2 addresses, `sd_dns` generates 5 address entries with given port.\n\ne.g.\n\n- `host1.domain` returns `1.2.3.4`, `1.2.3.5` and `1.2.3.6`\n- `host2.domain` returns `2.2.3.4` and `2.2.3.5`\n\n`sd_dns` generates `1.2.3.4:24224`, `1.2.3.5:24224`, `1.2.3.6:24224`, `2.2.3.4:24225` and `2.2.3.5:24225`.\n\n### \u003centry\u003e section\n\nSpecify host and additional information. Each entry has the following parameters:\n\n- host\n- port\n- address_family\n- shared_key\n- username\n- password\n- weight\n\n#### host\n\n- Type: string\n\nHostname for service lookup. This is *required* parameter\n\n#### port\n\n- Type: integer\n\nPort of service. This is *required* parameter\n\n#### address_family\n\n- Type: string (`ipv4` or `ipv6`)\n- Default: nil (both)\n\nSpecify the desired address family. By default, `sd_dns` gets IPv4 and IPv6 addresses. If you want to get only IPv4 or IPv6, set it.\n\n```\n\u003centry\u003e\n  host host1.domain\n  port 24224\n  address_family ipv4\n\u003c/entry\u003e\n```\n\n#### shared_key\n\n- Type: string\n- Default: nil\n\nThe shared_key per entry\n\n#### username\n\n- Type: string\n- Default: empty string\n\nThe username for authentication.\n\n#### password\n\n- Type: string\n- Default: empty string\n\nThe password for authentication\n\n#### weight\n\n- Type: Integer\n- Default: 60\n\nThe load balancing weight\n\n`shared_key`, `username`, `password` and `weight` are mainly for `out_forward`.\n\n```\n\u003cmatch pattern\u003e\n  @type forward\n\n  \u003cservice_discovery\u003e\n    @type dns\n    \u003centry\u003e\n      host host1.domain\n      port 24224\n      username user1\n      password pass1\n      shared_key key1\n      weight 80\n    \u003c/entry\u003e\n    \u003centry\u003e\n      host host2.domain\n      port 24225\n      username user2\n      password pass2\n      shared_key key2\n      weight 20\n    \u003c/entry\u003e\n  \u003c/service_discovery\u003e\n\u003c/match\u003e\n```\n\n### interval\n\n- Type: time\n- Default: nil (no update)\n\nInterval for updating the service list. By default, `sd_dns` keeps to use first service list. If you want to update the service list periodically, set `interval` parameter.\n\n```\n\u003cmatch pattern\u003e\n  @type forward\n\n  \u003cservice_discovery\u003e\n    @type dns\n    interval 60s\n    \u003centry\u003e\n      host host.domain\n      port 80\n    \u003c/entry\u003e\n  \u003c/service_discovery\u003e\n\u003c/match\u003e\n```\n\n### ignore_dns_error\n\n- Type: bool\n- Default: false\n\nIgnore DNS related error or not. This parameter is for multiple `\u003centry\u003e` case. By default, `sd_dns` will stop the update process when raises an error in DNS resolution.\n\nIf you want to contine the update process, set `ignore_dns_error true`\n\n```\n\u003cmatch pattern\u003e\n  @type forward\n\n  \u003cservice_discovery\u003e\n    @type dns\n    interval 60\n    ignore_dns_error true\n    \u003centry\u003e\n      host host1.domain\n      port 24224\n    \u003c/entry\u003e\n    \u003centry\u003e\n      host host2.domain\n      port 24225\n    \u003c/entry\u003e\n  \u003c/service_discovery\u003e\n\u003c/match\u003e\n```\n\nWhen error happens, `sd_dns` generates following warning message:\n\n```\nfailed to get service list from host1.domain\n```\n\n## More information\n\n- Copyright: 2020- Fluentd Authors\n- License: Apache License, Version 2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-plugin-sd-dns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluent%2Ffluent-plugin-sd-dns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-plugin-sd-dns/lists"}