rss kind polls one feed and turns each item into a Record. It reads RSS 0.9x, 2.0 and 1.0 (RDF), Atom and JSON Feed. The kind comes from the first-party rss plugin, which the local stack pins. Collect from a source covers what every kind shares: health, schedule, credentials and disabling.
Create an instance
Use one instance per feed:
The first run collects every item currently in the feed. Only the feed document is fetched: linked pages and enclosures are never downloaded.
Protected feeds
Deposit the feed’s credential as the instance’scredential.secret. {"username": "…", "password": "…"} is sent as HTTP Basic authentication, and {"token": "…"} as a bearer token. The credential is only sent to the feed’s host and its subdomains, and a redirect from https to http is refused (insecure_redirect). Never use it to collect paid content or to bypass a publisher’s access controls.
What each item becomes
Only
title and body are searched. The connector.rss extension holds the item’s guid, link, authors, dates, categories and enclosure references, and the feed’s title and link.
The Record Key is the item’s guid (RSS) or id (Atom), else its link, else a hash of its title and text. An edited item becomes a new Version of the same Record. An item that drops out of the feed is not withdrawn, since feeds only list their latest items.
Polling
Each poll sendsIf-None-Match and If-Modified-Since, so an unchanged feed costs one 304 Not Modified. A request times out after 20 seconds, follows at most 5 redirects and reads at most 10 MiB. At most the first 1,000 items of a feed are considered.
The plugin refuses private, loopback and link-local addresses, including cloud metadata endpoints, after DNS resolution and on every redirect (address_not_allowed).