SPB Git forge

spb/websensor

Public
33commits 1branches 0releases
3.4 MBsize
maindefault branch
10 days agolast push
TypeScript 55.4% Python 43.2% SQL 1.2%
73.3 KB · 995 lines yaml
Raw Blame History
1# config/sources.d/41-cloud-infrastructure.yaml — 2026-09-11 — depth coverage of cloud / Internet infrastructure2# providers: outages and status changes, regions, new services, pricing, deprecations, incidents, postmortems and3# API modifications. Hyperscalers, European/Asian clouds, PaaS, managed databases, object storage/CDN, network4# operators, IXPs, RIRs, DNS root, CAs, identity, communications, observability, developer platforms and the5# infrastructure software they run on. Every sensor below was fetched and parsed by the validator on 2026-09-11.6# Blocked / not machine-readable (documented, not added): Vultr web (Cloudflare 403 — the public v2 API is used7# instead), linode.com docs/pricing (Akamai 403), Alibaba/Tencent/Huawei status pages (JS shells), Redis and8# Backblaze status (FireHydrant, no API), Railway status (custom), Neon/Databricks/PagerDuty/Okta status (custom),9# Equinix corporate status (Akamai 403), DE-CIX/LINX/Zayo/Lumen status hosts (unreachable), PCH (no feed).10sources:11  # ───────────────────────── hyperscalers ─────────────────────────12  - id: aws13    extend: true14    country: US15    language: en16    products:17      - { name: Amazon RDS, type: product, aliases: [rds] }18      - { name: Amazon EKS, type: product, aliases: [eks] }19      - { name: Amazon Route 53, type: product, aliases: [route 53, route53] }20      - { name: Amazon CloudFront, type: product, aliases: [cloudfront] }21      - { name: AWS Health Dashboard, type: service, aliases: [aws status] }22    notes: "health.aws.amazon.com/public/currentevents is JSON but served as UTF-16 (BOM FF FE) regardless of Accept headers — the fetcher decodes UTF-8, so it cannot be a jsonlist sensor until the connector handles UTF-16. Per-service status RSS feeds (status.aws.amazon.com/rss/<service>-<region>.rss) are empty until an incident occurs; only route53 and cloudfront had items on 2026-09-11 and were kept."23    sensors:24      - { name: route 53 status feed, url: "https://status.aws.amazon.com/rss/route53.rss", type: RSS, connector: rss, tier: S }25      - { name: cloudfront status feed, url: "https://status.aws.amazon.com/rss/cloudfront.rss", type: RSS, connector: rss, tier: S }26      - { name: compute blog feed, url: "https://aws.amazon.com/blogs/compute/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }27      - { name: architecture blog feed (architecture), url: "https://aws.amazon.com/blogs/architecture/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }28      - { name: networking blog feed, url: "https://aws.amazon.com/blogs/networking-and-content-delivery/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }29      - { name: database blog feed, url: "https://aws.amazon.com/blogs/database/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }30      - { name: containers blog feed, url: "https://aws.amazon.com/blogs/containers/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }31      - { name: storage blog feed, url: "https://aws.amazon.com/blogs/storage/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }32      - { name: devops blog feed, url: "https://aws.amazon.com/blogs/devops/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }33      - { name: open source blog feed, url: "https://aws.amazon.com/blogs/opensource/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }34      - { name: regions and availability zones, url: "https://aws.amazon.com/about-aws/global-infrastructure/regions_az/", type: HTML, connector: http, tier: C }35      - { name: service endpoints and quotas reference, url: "https://docs.aws.amazon.com/general/latest/gr/rande.html", type: HTML, connector: http, tier: C }36      - { name: ec2 on-demand pricing, url: "https://aws.amazon.com/ec2/pricing/on-demand/", type: HTML, connector: http, tier: C }37      - { name: ip ranges, url: "https://ip-ranges.amazonaws.com/ip-ranges.json", type: JSON, connector: http, tier: C, config: { ignoreKeys: [syncToken, createDate] } }38      - { name: aws cli releases, url: "https://github.com/aws/aws-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aws/aws-cli, kind: releases } }39      - { name: aws cdk releases, url: "https://github.com/aws/aws-cdk/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aws/aws-cdk, kind: releases } }40      - { name: aws sdk js v3 releases, url: "https://github.com/aws/aws-sdk-js-v3/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aws/aws-sdk-js-v3, kind: releases } }41      - { name: botocore releases, url: "https://github.com/boto/botocore/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: boto/botocore, kind: releases } }42      - { name: karpenter releases, url: "https://github.com/aws/karpenter-provider-aws/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aws/karpenter-provider-aws, kind: releases } }43      - { name: cloudformation resource schema commits, url: "https://github.com/aws-cloudformation/cloudformation-resource-schema/commits/master.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: aws-cloudformation/cloudformation-resource-schema, kind: commits, branch: master } }44  - id: azure45    extend: true46    country: US47    language: en48    products:49      - { name: Azure Kubernetes Service, type: product, aliases: [aks] }50      - { name: Azure DevOps, type: product, aliases: [azure devops] }51      - { name: Bicep, type: software }52    sensors:53      - { name: azure sdk blog feed, url: "https://devblogs.microsoft.com/azure-sdk/feed/", type: RSS, connector: rss, tier: B }54      - { name: azure devops blog feed, url: "https://devblogs.microsoft.com/devops/feed/", type: RSS, connector: rss, tier: B }55      - { name: learn azure docs feed, url: "https://learn.microsoft.com/api/search/rss?search=azure&locale=en-us&$filter=scopes%2Fany(t%3A%20t%20eq%20%27Azure%27)", type: RSS, connector: rss, tier: C, config: { maxItems: 50 } }56      - { name: regions list, url: "https://learn.microsoft.com/en-us/azure/reliability/regions-list", type: HTML, connector: http, tier: C }57      - { name: global infrastructure geographies, url: "https://azure.microsoft.com/en-us/explore/global-infrastructure/geographies/", type: HTML, connector: http, tier: C }58      - { name: linux vm pricing, url: "https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/", type: HTML, connector: http, tier: C }59      - { name: status history, url: "https://azure.status.microsoft/en-us/status/history/", type: HTML, connector: http, tier: A }60      - { name: azure cli releases, url: "https://github.com/Azure/azure-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Azure/azure-cli, kind: releases } }61      - { name: aks releases, url: "https://github.com/Azure/AKS/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Azure/AKS, kind: releases } }62      - { name: bicep releases, url: "https://github.com/Azure/bicep/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Azure/bicep, kind: releases } }63      - { name: azure sdk for js releases, url: "https://github.com/Azure/azure-sdk-for-js/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Azure/azure-sdk-for-js, kind: releases } }64      - { name: azure rest api specs commits, url: "https://github.com/Azure/azure-rest-api-specs/commits/main.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: Azure/azure-rest-api-specs, kind: commits, branch: main } }65  - id: google-cloud66    extend: true67    country: US68    language: en69    products:70      - { name: Compute Engine, type: product, aliases: [gce] }71      - { name: Google Kubernetes Engine, type: product, aliases: [gke] }72      - { name: Cloud Run, type: product }73      - { name: Cloud SQL, type: product }74      - { name: Spanner, type: product, aliases: [cloud spanner] }75      - { name: AlloyDB, type: product }76    sensors:77      - { name: cloud blog feed, url: "https://cloudblog.withgoogle.com/rss/", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }78      - { name: compute engine release notes, url: "https://cloud.google.com/feeds/compute-engine-release-notes.xml", type: ATOM, connector: rss, tier: A }79      - { name: gke release notes, url: "https://cloud.google.com/feeds/kubernetes-engine-release-notes.xml", type: ATOM, connector: rss, tier: A }80      - { name: cloud run release notes, url: "https://cloud.google.com/feeds/cloud-run-release-notes.xml", type: ATOM, connector: rss, tier: A }81      - { name: bigquery release notes, url: "https://cloud.google.com/feeds/bigquery-release-notes.xml", type: ATOM, connector: rss, tier: A }82      - { name: vertex ai release notes, url: "https://cloud.google.com/feeds/vertex-ai-release-notes.xml", type: ATOM, connector: rss, tier: A }83      - { name: cloud sql release notes, url: "https://cloud.google.com/feeds/cloud-sql-release-notes.xml", type: ATOM, connector: rss, tier: A }84      - { name: spanner release notes, url: "https://cloud.google.com/feeds/spanner-release-notes.xml", type: ATOM, connector: rss, tier: B }85      - { name: alloydb release notes, url: "https://cloud.google.com/feeds/alloydb-release-notes.xml", type: ATOM, connector: rss, tier: B }86      - { name: cloud storage release notes, url: "https://cloud.google.com/feeds/cloud-storage-release-notes.xml", type: ATOM, connector: rss, tier: A }87      - { name: iam release notes, url: "https://cloud.google.com/feeds/iam-release-notes.xml", type: ATOM, connector: rss, tier: A }88      - { name: cloud load balancing release notes, url: "https://cloud.google.com/feeds/cloud-load-balancing-release-notes.xml", type: ATOM, connector: rss, tier: B }89      - { name: cloud dns release notes, url: "https://cloud.google.com/feeds/cloud-dns-release-notes.xml", type: ATOM, connector: rss, tier: B }90      - { name: vpc release notes, url: "https://cloud.google.com/feeds/vpc-release-notes.xml", type: ATOM, connector: rss, tier: B }91      - { name: cloud cdn release notes, url: "https://cloud.google.com/feeds/cloud-cdn-release-notes.xml", type: ATOM, connector: rss, tier: B }92      - { name: cloud armor release notes, url: "https://cloud.google.com/feeds/cloud-armor-release-notes.xml", type: ATOM, connector: rss, tier: B }93      - { name: pub/sub release notes, url: "https://cloud.google.com/feeds/pubsub-release-notes.xml", type: ATOM, connector: rss, tier: B }94      - { name: cloud functions release notes, url: "https://cloud.google.com/feeds/cloud-functions-release-notes.xml", type: ATOM, connector: rss, tier: B }95      - { name: bigtable release notes, url: "https://cloud.google.com/feeds/bigtable-release-notes.xml", type: ATOM, connector: rss, tier: B }96      - { name: memorystore release notes, url: "https://cloud.google.com/feeds/memorystore-release-notes.xml", type: ATOM, connector: rss, tier: B }97      - { name: dataflow release notes, url: "https://cloud.google.com/feeds/dataflow-release-notes.xml", type: ATOM, connector: rss, tier: B }98      - { name: dataproc release notes, url: "https://cloud.google.com/feeds/dataproc-release-notes.xml", type: ATOM, connector: rss, tier: B }99      - { name: cloud build release notes, url: "https://cloud.google.com/feeds/cloud-build-release-notes.xml", type: ATOM, connector: rss, tier: B }100      - { name: cloud logging release notes, url: "https://cloud.google.com/feeds/cloud-logging-release-notes.xml", type: ATOM, connector: rss, tier: B }101      - { name: cloud monitoring release notes, url: "https://cloud.google.com/feeds/cloud-monitoring-release-notes.xml", type: ATOM, connector: rss, tier: B }102      - { name: secret manager release notes, url: "https://cloud.google.com/feeds/secret-manager-release-notes.xml", type: ATOM, connector: rss, tier: B }103      - { name: apigee release notes, url: "https://cloud.google.com/feeds/apigee-release-notes.xml", type: ATOM, connector: rss, tier: B }104      - { name: gemini for google cloud release notes, url: "https://cloud.google.com/feeds/gemini-release-notes.xml", type: ATOM, connector: rss, tier: B }105      - { name: anthos / gdc release notes, url: "https://cloud.google.com/feeds/anthos-release-notes.xml", type: ATOM, connector: rss, tier: C }106      - { name: locations, url: "https://cloud.google.com/about/locations", type: HTML, connector: http, tier: C }107      - { name: compute engine deprecations, url: "https://cloud.google.com/compute/docs/deprecations", type: HTML, connector: http, tier: C }108      - { name: compute engine pricing, url: "https://cloud.google.com/compute/all-pricing", type: HTML, connector: http, tier: C }109      - { name: gcloud cli release notes, url: "https://cloud.google.com/sdk/docs/release-notes", type: HTML, connector: http, tier: B }110      - { name: ip ranges, url: "https://www.gstatic.com/ipranges/cloud.json", type: JSON, connector: http, tier: C, config: { ignoreKeys: [syncToken, creationTime] } }111      - { name: google-cloud-go releases, url: "https://github.com/googleapis/google-cloud-go/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: googleapis/google-cloud-go, kind: releases } }112      - { name: google-cloud-python releases, url: "https://github.com/googleapis/google-cloud-python/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: googleapis/google-cloud-python, kind: releases } }113      - { name: googleapis proto commits, url: "https://github.com/googleapis/googleapis/commits/master.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: googleapis/googleapis, kind: commits, branch: master } }114  - id: cloudflare115    extend: true116    country: US117    language: en118    products:119      - { name: Cloudflare R2, type: product, aliases: [r2] }120      - { name: Cloudflare D1, type: product, aliases: [d1] }121      - { name: Cloudflare Pages, type: product }122      - { name: Workers AI, type: product }123      - { name: Cloudflare One, type: product, aliases: [zero trust] }124      - { name: cloudflared, type: software }125      - { name: workerd, type: software }126    sensors:127      - { name: workers changelog feed, url: "https://developers.cloudflare.com/changelog/rss/workers.xml", type: RSS, connector: rss, tier: A }128      - { name: workers ai changelog feed, url: "https://developers.cloudflare.com/changelog/rss/workers-ai.xml", type: RSS, connector: rss, tier: B }129      - { name: r2 changelog feed, url: "https://developers.cloudflare.com/changelog/rss/r2.xml", type: RSS, connector: rss, tier: B }130      - { name: d1 changelog feed, url: "https://developers.cloudflare.com/changelog/rss/d1.xml", type: RSS, connector: rss, tier: B }131      - { name: pages changelog feed, url: "https://developers.cloudflare.com/changelog/rss/pages.xml", type: RSS, connector: rss, tier: B }132      - { name: waf changelog feed, url: "https://developers.cloudflare.com/changelog/rss/waf.xml", type: RSS, connector: rss, tier: A }133      - { name: dns changelog feed, url: "https://developers.cloudflare.com/changelog/rss/dns.xml", type: RSS, connector: rss, tier: B }134      - { name: cloudflare one changelog feed, url: "https://developers.cloudflare.com/changelog/rss/cloudflare-one.xml", type: RSS, connector: rss, tier: B }135      - { name: agents changelog feed, url: "https://developers.cloudflare.com/changelog/rss/agents.xml", type: RSS, connector: rss, tier: B }136      - { name: workers platform changelog feed, url: "https://developers.cloudflare.com/workers/platform/changelog/index.xml", type: RSS, connector: rss, tier: A }137      - { name: api deprecations, url: "https://developers.cloudflare.com/fundamentals/api/reference/deprecations/", type: HTML, connector: http, tier: B }138      - { name: workers pricing, url: "https://developers.cloudflare.com/workers/platform/pricing/", type: HTML, connector: http, tier: C }139      - { name: workers limits, url: "https://developers.cloudflare.com/workers/platform/limits/", type: HTML, connector: http, tier: C }140      - { name: plans, url: "https://www.cloudflare.com/plans/", type: HTML, connector: http, tier: C }141      - { name: network map, url: "https://www.cloudflare.com/network/", type: HTML, connector: http, tier: C }142      - { name: ip ranges api, url: "https://api.cloudflare.com/client/v4/ips", type: JSON, connector: http, tier: D }143      - { name: terraform provider registry, url: "https://registry.terraform.io/v1/providers/cloudflare/cloudflare", type: JSON, connector: http, tier: C, config: { ignoreKeys: [downloads] } }144      - { name: workerd releases, url: "https://github.com/cloudflare/workerd/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cloudflare/workerd, kind: releases } }145      - { name: cloudflared releases, url: "https://github.com/cloudflare/cloudflared/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cloudflare/cloudflared, kind: releases } }146      - { name: workers-sdk releases, url: "https://github.com/cloudflare/workers-sdk/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cloudflare/workers-sdk, kind: releases } }147      - { name: terraform provider releases, url: "https://github.com/cloudflare/terraform-provider-cloudflare/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cloudflare/terraform-provider-cloudflare, kind: releases } }148      - { name: pingora releases, url: "https://github.com/cloudflare/pingora/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cloudflare/pingora, kind: releases } }149  - id: oracle-cloud150    extend: true151    country: US152    language: en153    sensors:154      - { name: oci status indicator, url: "https://ocistatus.oraclecloud.com/api/v2/status.json", type: JSON, connector: http, tier: S }155      - { name: oci status history feed, url: "https://ocistatus.oraclecloud.com/history.rss", type: RSS, connector: rss, tier: S }156      - { name: regions and availability domains, url: "https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm", type: HTML, connector: http, tier: C }157      - { name: oci cli releases, url: "https://github.com/oracle/oci-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: oracle/oci-cli, kind: releases } }158      - { name: terraform provider releases, url: "https://github.com/oracle/terraform-provider-oci/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: oracle/terraform-provider-oci, kind: releases } }159    notes: "ocistatus.oraclecloud.com is a custom page: /api/v2/status.json (indicator) and history.rss work, summary/incidents do not; blogs.oracle.com RSS returns 403."160  - id: ibm-cloud161    extend: true162    country: US163    language: en164    sensors:165      - { name: status notifications feed, url: "https://cloud.ibm.com/status/api/notifications/feed.rss", type: RSS, connector: rss, tier: S, config: { maxItems: 80 } }166      - { name: terraform provider releases, url: "https://github.com/IBM-Cloud/terraform-provider-ibm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: IBM-Cloud/terraform-provider-ibm, kind: releases } }167      - { name: cli releases, url: "https://github.com/IBM-Cloud/ibm-cloud-cli-release/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: IBM-Cloud/ibm-cloud-cli-release, kind: releases } }168    notes: "cloud.ibm.com/status is a JS console; the notifications RSS is the machine-readable side. Release-notes feed redirects to login."169  # ───────────────────────── european / regional clouds ─────────────────────────170  - id: ovhcloud171    extend: true172    country: FR173    language: en174    products:175      - { name: OVHcloud Public Cloud, type: product }176      - { name: OVHcloud Bare Metal, type: product }177    sensors:178      - { name: public cloud status, url: "https://public-cloud.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }179      - { name: network status, url: "https://network.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }180      - { name: bare metal status, url: "https://bare-metal-servers.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }181      - { name: web cloud status, url: "https://web-cloud.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }182      - { name: hosted private cloud status, url: "https://hosted-private-cloud.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }183      - { name: customer service status, url: "https://customer-service.status-ovhcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: A }184      - { name: blog feed, url: "https://blog.ovhcloud.com/feed/", type: RSS, connector: rss, tier: B }185      - { name: public cloud prices, url: "https://www.ovhcloud.com/en-ca/public-cloud/prices/", type: HTML, connector: http, tier: C }186      - { name: public cloud compute changelog, url: "https://help.ovhcloud.com/csm/en-ca-public-cloud-compute-changelog", type: HTML, connector: http, tier: B }187    notes: "status.ovhcloud.com / travaux.ovh.net redirect to a Vue SPA (www.status-ovhcloud.com) that aggregates six Atlassian Statuspage instances — those are polled directly."188  - id: hetzner189    extend: true190    country: DE191    language: en192    products:193      - { name: Hetzner Cloud, type: product, aliases: [hcloud] }194    sensors:195      - { name: status feed, url: "https://status.hetzner.com/en.atom", type: ATOM, connector: rss, tier: S }196      - { name: cloud api openapi, url: "https://docs.hetzner.cloud/cloud.spec.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://docs.hetzner.cloud/reference/cloud" } }197      - { name: cloud api changelog, url: "https://docs.hetzner.cloud/changelog", type: HTML, connector: http, tier: B }198      - { name: cloud locations, url: "https://docs.hetzner.com/cloud/general/locations/", type: HTML, connector: http, tier: C }199      - { name: hcloud cli releases, url: "https://github.com/hetznercloud/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: hetznercloud/cli, kind: releases } }200      - { name: hcloud-go releases, url: "https://github.com/hetznercloud/hcloud-go/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: hetznercloud/hcloud-go, kind: releases } }201      - { name: terraform provider releases, url: "https://github.com/hetznercloud/terraform-provider-hcloud/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: hetznercloud/terraform-provider-hcloud, kind: releases } }202    notes: "status.hetzner.com is a custom page (no /api/v2) but publishes en.atom; www.hetzner.com/news rate-limits (429)."203  - id: scaleway204    name: Scaleway205    domain: scaleway.com206    homepage: https://www.scaleway.com207    categories: [cloud, infrastructure]208    tier: B209    weight: 1.1210    country: FR211    language: en212    aliases: [scaleway, online.net, iliad cloud]213    products:214      - { name: Scaleway Instances, type: product }215      - { name: Scaleway Kubernetes Kapsule, type: product, aliases: [kapsule] }216    discover: { rss: true, status: true }217    sensors:218      - { name: status, url: "https://status.scaleway.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }219      - { name: pricing, url: "https://www.scaleway.com/en/pricing/", type: HTML, connector: http, tier: C }220      - { name: instance server catalogue fr-par-1, url: "https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers", type: JSON, connector: http, tier: C }221      - { name: cli releases, url: "https://github.com/scaleway/scaleway-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: scaleway/scaleway-cli, kind: releases } }222      - { name: terraform provider releases, url: "https://github.com/scaleway/terraform-provider-scaleway/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: scaleway/terraform-provider-scaleway, kind: releases } }223    notes: "Blog has no feed; the public instance products API exposes the catalogue (prices, availability) without auth."224  - id: upcloud225    name: UpCloud226    domain: upcloud.com227    categories: [cloud, infrastructure]228    tier: B229    country: FI230    language: en231    aliases: [upcloud]232    discover: { status: true }233    sensors:234      - { name: status, url: "https://status.upcloud.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }235    notes: "upcloud.com blog feed is Cloudflare-blocked (403); the API requires auth."236  - id: aiven237    name: Aiven238    domain: aiven.io239    categories: [cloud, enterprise]240    tier: B241    country: FI242    language: en243    aliases: [aiven]244    discover: { rss: true, status: true }245    sensors:246      - { name: status, url: "https://status.aiven.io/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }247      - { name: changelog, url: "https://aiven.io/changelog", type: HTML, connector: http, tier: B }248  - id: alibaba-cloud249    name: Alibaba Cloud250    domain: alibabacloud.com251    homepage: https://www.alibabacloud.com252    categories: [cloud, infrastructure]253    tier: B254    weight: 1.2255    country: CN256    language: en257    aliases: [alibaba cloud, aliyun, alicloud]258    products:259      - { name: Elastic Compute Service, type: product, aliases: [ecs] }260    discover: { rss: false, status: false, pages: true }261    sensors:262      - { name: ecs pricing, url: "https://www.alibabacloud.com/en/product/ecs/pricing", type: HTML, connector: http, tier: C }263      - { name: aliyun cli releases, url: "https://github.com/aliyun/aliyun-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aliyun/aliyun-cli, kind: releases } }264      - { name: terraform provider releases, url: "https://github.com/aliyun/terraform-provider-alicloud/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: aliyun/terraform-provider-alicloud, kind: releases } }265    notes: "status.alibabacloud.com redirects to a Taobao error page for non-browser clients; blog/notice RSS endpoints return HTML."266  - id: tencent-cloud267    name: Tencent Cloud268    domain: tencentcloud.com269    homepage: https://www.tencentcloud.com270    categories: [cloud, infrastructure]271    tier: B272    country: CN273    language: en274    aliases: [tencent cloud, qcloud]275    discover: { rss: false, status: false }276    sensors:277      - { name: cli releases, url: "https://github.com/TencentCloud/tencentcloud-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: TencentCloud/tencentcloud-cli, kind: releases } }278      - { name: terraform provider releases, url: "https://github.com/tencentcloudstack/terraform-provider-tencentcloud/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tencentcloudstack/terraform-provider-tencentcloud, kind: releases } }279    notes: "status.cloud.tencent.com and tencentcloud.com announcements are JS shells (same 29 KB body on every path)."280  - id: huawei-cloud281    name: Huawei Cloud282    domain: huaweicloud.com283    homepage: https://www.huaweicloud.com/intl/en-us/284    categories: [cloud, infrastructure]285    tier: B286    country: CN287    language: en288    aliases: [huawei cloud]289    discover: { rss: false, status: false }290    sensors:291      - { name: sdk go v3 releases, url: "https://github.com/huaweicloud/huaweicloud-sdk-go-v3/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: huaweicloud/huaweicloud-sdk-go-v3, kind: releases } }292      - { name: terraform provider releases, url: "https://github.com/huaweicloud/terraform-provider-huaweicloud/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: huaweicloud/terraform-provider-huaweicloud, kind: releases } }293    notes: "status.huaweicloud.com does not answer from outside China; intl news pages return 404."294  # ───────────────────────── developer clouds / VPS ─────────────────────────295  - id: digitalocean296    extend: true297    country: US298    language: en299    sensors:300      - { name: blog feed, url: "https://www.digitalocean.com/blog/rss", type: ATOM, connector: rss, tier: B }301      - { name: droplet pricing, url: "https://www.digitalocean.com/pricing/droplets", type: HTML, connector: http, tier: C }302      - { name: regional availability matrix, url: "https://docs.digitalocean.com/products/platform/availability-matrix/", type: HTML, connector: http, tier: C }303      - { name: doctl releases, url: "https://github.com/digitalocean/doctl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: digitalocean/doctl, kind: releases } }304      - { name: terraform provider releases, url: "https://github.com/digitalocean/terraform-provider-digitalocean/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: digitalocean/terraform-provider-digitalocean, kind: releases } }305  - id: vultr306    extend: true307    country: US308    language: en309    sensors:310      - { name: regions api, url: "https://api.vultr.com/v2/regions", type: JSON, connector: http, tier: C }311      - { name: plans and pricing api, url: "https://api.vultr.com/v2/plans", type: JSON, connector: http, tier: C }312      - { name: vultr cli releases, url: "https://github.com/vultr/vultr-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vultr/vultr-cli, kind: releases } }313      - { name: terraform provider releases, url: "https://github.com/vultr/terraform-provider-vultr/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vultr/terraform-provider-vultr, kind: releases } }314    notes: "www.vultr.com and status.vultr.com are Cloudflare-challenged (403) for bots; the public v2 API (regions, plans) and docs.vultr.com are open."315  - id: linode316    extend: true317    country: US318    language: en319    sensors:320      - { name: blog feed, url: "https://www.linode.com/blog/feed/", type: RSS, connector: rss, tier: B }321      - { name: cloud computing changelog feed, url: "https://techdocs.akamai.com/cloud-computing/changelog.rss", type: RSS, connector: rss, tier: A }322      - { name: api v4 openapi, url: "https://raw.githubusercontent.com/linode/linode-api-docs/development/openapi.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://techdocs.akamai.com/linode-api/reference/api" } }323      - { name: regions api, url: "https://api.linode.com/v4/regions", type: JSON, connector: http, tier: C }324      - { name: instance types and pricing api, url: "https://api.linode.com/v4/linode/types", type: JSON, connector: http, tier: C }325      - { name: linode cli releases, url: "https://github.com/linode/linode-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: linode/linode-cli, kind: releases } }326      - { name: terraform provider releases, url: "https://github.com/linode/terraform-provider-linode/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: linode/terraform-provider-linode, kind: releases } }327    notes: "linode.com/docs and /pricing are Akamai-blocked (403); the unauthenticated v4 API exposes regions and types with prices."328  - id: akamai329    extend: true330    country: US331    language: en332    sensors:333      - { name: status, url: "https://www.akamaistatus.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }334  # ───────────────────────── CDN / edge ─────────────────────────335  - id: fastly336    extend: true337    country: US338    language: en339    sensors:340      - { name: status history feed, url: "https://www.fastlystatus.com/rss", type: RSS, connector: rss, tier: S }341      - { name: api and product changes, url: "https://www.fastly.com/documentation/reference/changes/", type: HTML, connector: http, tier: B }342      - { name: public ip list, url: "https://api.fastly.com/public-ip-list", type: JSON, connector: http, tier: D }343      - { name: cli releases, url: "https://github.com/fastly/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: fastly/cli, kind: releases } }344      - { name: terraform provider releases, url: "https://github.com/fastly/terraform-provider-fastly/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: fastly/terraform-provider-fastly, kind: releases } }345    notes: "status.fastly.com is a custom page (no /api/v2); www.fastlystatus.com/rss is the machine-readable history. Blog has no feed."346  - id: bunny-net347    extend: true348    country: SI349    language: en350    sensors:351      - { name: blog feed, url: "https://bunny.net/blog/rss/", type: RSS, connector: rss, tier: B }352      - { name: docs changelog, url: "https://docs.bunny.net/changelog", type: HTML, connector: http, tier: B }353      - { name: network pops, url: "https://bunny.net/network/", type: HTML, connector: http, tier: C }354  # ───────────────────────── PaaS / frontend clouds ─────────────────────────355  - id: vercel356    extend: true357    country: US358    language: en359    sensors:360      - { name: pricing, url: "https://vercel.com/pricing", type: HTML, connector: http, tier: C }361      - { name: edge network regions, url: "https://vercel.com/docs/edge-network/regions", type: HTML, connector: http, tier: C }362      - { name: vercel cli releases, url: "https://github.com/vercel/vercel/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vercel/vercel, kind: releases } }363      - { name: turborepo releases, url: "https://github.com/vercel/turborepo/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vercel/turborepo, kind: releases } }364  - id: netlify365    extend: true366    country: US367    language: en368    sensors:369      - { name: changelog feed, url: "https://www.netlify.com/changelog/feed.xml", type: RSS, connector: rss, tier: A }370      - { name: blog feed, url: "https://www.netlify.com/feed.xml", type: RSS, connector: rss, tier: B }371      - { name: pricing, url: "https://www.netlify.com/pricing/", type: HTML, connector: http, tier: C }372      - { name: api openapi, url: "https://open-api.netlify.com/swagger.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://open-api.netlify.com/" } }373      - { name: cli releases, url: "https://github.com/netlify/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: netlify/cli, kind: releases } }374      - { name: build releases, url: "https://github.com/netlify/build/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: netlify/build, kind: releases } }375  - id: fly-io376    extend: true377    country: US378    language: en379    sensors:380      - { name: infra log feed, url: "https://community.fly.io/c/infra-log/34.rss", type: RSS, connector: rss, tier: A }381      - { name: machines api openapi, url: "https://docs.machines.dev/spec/openapi3.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://docs.machines.dev/" } }382      - { name: pricing, url: "https://fly.io/docs/about/pricing/", type: HTML, connector: http, tier: C }383      - { name: regions, url: "https://fly.io/docs/reference/regions/", type: HTML, connector: http, tier: C }384      - { name: flyctl releases, url: "https://github.com/superfly/flyctl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: superfly/flyctl, kind: releases } }385  - id: railway386    extend: true387    country: US388    language: en389    sensors:390      - { name: changelog feed, url: "https://railway.com/changelog/rss.xml", type: RSS, connector: rss, tier: A }391      - { name: blog feed, url: "https://blog.railway.com/rss.xml", type: RSS, connector: rss, tier: B }392      - { name: pricing, url: "https://railway.com/pricing", type: HTML, connector: http, tier: C }393      - { name: cli releases, url: "https://github.com/railwayapp/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: railwayapp/cli, kind: releases } }394    notes: "status.railway.com is a custom Next.js page (every path returns the same HTML); public API is GraphQL only."395  # ───────────────────────── managed databases / data platforms ─────────────────────────396  - id: supabase397    extend: true398    country: US399    language: en400    sensors:401      - { name: pricing, url: "https://supabase.com/pricing", type: HTML, connector: http, tier: C }402      - { name: supabase releases, url: "https://github.com/supabase/supabase/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: supabase/supabase, kind: releases } }403      - { name: cli releases, url: "https://github.com/supabase/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: supabase/cli, kind: releases } }404      - { name: postgres image releases, url: "https://github.com/supabase/postgres/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: supabase/postgres, kind: releases } }405  - id: neon406    extend: true407    country: US408    language: en409    sensors:410      - { name: changelog feed, url: "https://neon.com/docs/changelog/rss.xml", type: RSS, connector: rss, tier: A }411      - { name: pricing, url: "https://neon.com/pricing", type: HTML, connector: http, tier: C }412      - { name: api v2 openapi, url: "https://neon.com/api_spec/release/v2.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://api-docs.neon.tech/reference/getting-started-with-neon-api" } }413  - id: planetscale414    extend: true415    country: US416    language: en417    sensors:418      - { name: changelog feed, url: "https://planetscale.com/changelog/feed.atom", type: ATOM, connector: rss, tier: A }419      - { name: pricing, url: "https://planetscale.com/pricing", type: HTML, connector: http, tier: C }420      - { name: api openapi, url: "https://api.planetscale.com/v1/openapi-spec", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://api-docs.planetscale.com/" } }421  - id: mongodb422    extend: true423    country: US424    language: en425    products:426      - { name: MongoDB Atlas, type: product, aliases: [atlas] }427    sensors:428      - { name: status history feed, url: "https://status.mongodb.com/history.rss", type: RSS, connector: rss, tier: A }429      - { name: blog feed, url: "https://www.mongodb.com/blog/rss", type: RSS, connector: rss, tier: B }430      - { name: atlas release notes, url: "https://www.mongodb.com/docs/atlas/release-notes/", type: HTML, connector: http, tier: B }431      - { name: server release notes, url: "https://www.mongodb.com/docs/manual/release-notes/", type: HTML, connector: http, tier: B }432      - { name: pricing, url: "https://www.mongodb.com/pricing", type: HTML, connector: http, tier: C }433      - { name: atlas cli releases, url: "https://github.com/mongodb/mongodb-atlas-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: mongodb/mongodb-atlas-cli, kind: releases } }434  - id: redis435    extend: true436    country: US437    language: en438    sensors:439      - { name: blog feed, url: "https://redis.io/blog/feed/", type: RSS, connector: rss, tier: B }440      - { name: redis software release notes, url: "https://redis.io/docs/latest/operate/rs/release-notes/", type: HTML, connector: http, tier: B }441      - { name: redis-py releases, url: "https://github.com/redis/redis-py/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: redis/redis-py, kind: releases } }442      - { name: node-redis releases, url: "https://github.com/redis/node-redis/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: redis/node-redis, kind: releases } }443    notes: "status.redis.io is a FireHydrant page (HTML only, no JSON/RSS)."444  - id: elastic445    extend: true446    country: NL447    language: en448    sensors:449      - { name: blog feed, url: "https://www.elastic.co/blog/feed", type: RSS, connector: rss, tier: B }450      - { name: elasticsearch release notes, url: "https://www.elastic.co/docs/release-notes/elasticsearch", type: HTML, connector: http, tier: B }451      - { name: pricing, url: "https://www.elastic.co/pricing", type: HTML, connector: http, tier: C }452      - { name: kibana releases, url: "https://github.com/elastic/kibana/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: elastic/kibana, kind: releases } }453      - { name: eck operator releases, url: "https://github.com/elastic/cloud-on-k8s/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: elastic/cloud-on-k8s, kind: releases } }454  - id: cockroachdb455    extend: true456    country: US457    language: en458    sensors:459      - { name: releases page, url: "https://www.cockroachlabs.com/docs/releases/", type: HTML, connector: http, tier: B }460      - { name: cloud release notes, url: "https://www.cockroachlabs.com/docs/releases/cloud", type: HTML, connector: http, tier: B }461      - { name: pricing, url: "https://www.cockroachlabs.com/pricing/", type: HTML, connector: http, tier: C }462  - id: confluent463    extend: true464    country: US465    language: en466    sensors:467      - { name: cloud release notes, url: "https://docs.confluent.io/cloud/current/release-notes/index.html", type: HTML, connector: http, tier: B }468      - { name: cloud pricing, url: "https://www.confluent.io/confluent-cloud/pricing/", type: HTML, connector: http, tier: C }469      - { name: cli releases, url: "https://github.com/confluentinc/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: confluentinc/cli, kind: releases } }470      - { name: confluent-kafka-go releases, url: "https://github.com/confluentinc/confluent-kafka-go/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: confluentinc/confluent-kafka-go, kind: releases } }471      - { name: terraform provider releases, url: "https://github.com/confluentinc/terraform-provider-confluent/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: confluentinc/terraform-provider-confluent, kind: releases } }472  - id: snowflake473    extend: true474    country: US475    language: en476    sensors:477      - { name: behavior change releases, url: "https://docs.snowflake.com/en/release-notes/behavior-changes", type: HTML, connector: http, tier: B }478      - { name: pricing, url: "https://www.snowflake.com/pricing/", type: HTML, connector: http, tier: C }479      - { name: snowflake cli releases, url: "https://github.com/snowflakedb/snowflake-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: snowflakedb/snowflake-cli, kind: releases } }480      - { name: snowpark python releases, url: "https://github.com/snowflakedb/snowpark-python/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: snowflakedb/snowpark-python, kind: releases } }481  - id: databricks482    extend: true483    country: US484    language: en485    sensors:486      - { name: product release notes, url: "https://docs.databricks.com/aws/en/release-notes/product/index.html", type: HTML, connector: http, tier: B }487      - { name: pricing, url: "https://www.databricks.com/product/pricing", type: HTML, connector: http, tier: C }488      - { name: cli releases, url: "https://github.com/databricks/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: databricks/cli, kind: releases } }489      - { name: terraform provider releases, url: "https://github.com/databricks/terraform-provider-databricks/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: databricks/terraform-provider-databricks, kind: releases } }490    notes: "status.databricks.com is a custom page (no Statuspage/Instatus API)."491  - id: upstash492    extend: true493    country: US494    language: en495    sensors:496      - { name: pricing, url: "https://upstash.com/pricing", type: HTML, connector: http, tier: C }497      - { name: redis changelog, url: "https://upstash.com/docs/redis/overall/changelog", type: HTML, connector: http, tier: B }498  - id: turso499    name: Turso500    domain: turso.tech501    categories: [cloud, developer]502    tier: B503    country: US504    language: en505    aliases: [turso, libsql]506    products:507      - { name: libSQL, type: software, aliases: [libsql] }508    discover: { rss: true }509    sensors:510      - { name: blog feed, url: "https://turso.tech/blog/feed.xml", type: ATOM, connector: rss, tier: B }511      - { name: pricing, url: "https://turso.tech/pricing", type: HTML, connector: http, tier: C }512      - { name: turso database releases, url: "https://github.com/tursodatabase/turso/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tursodatabase/turso, kind: releases } }513      - { name: libsql releases, url: "https://github.com/tursodatabase/libsql/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tursodatabase/libsql, kind: releases } }514      - { name: cli releases, url: "https://github.com/tursodatabase/turso-cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tursodatabase/turso-cli, kind: releases } }515    notes: "status.turso.tech is a Better Stack page (HTML only)."516  # ───────────────────────── object storage ─────────────────────────517  - id: backblaze518    name: Backblaze519    domain: backblaze.com520    homepage: https://www.backblaze.com521    categories: [cloud, infrastructure]522    tier: B523    country: US524    language: en525    aliases: [backblaze, b2]526    products:527      - { name: Backblaze B2, type: product, aliases: [b2 cloud storage] }528    discover: { rss: true }529    sensors:530      - { name: blog feed, url: "https://www.backblaze.com/blog/feed/", type: RSS, connector: rss, tier: B }531      - { name: b2 pricing, url: "https://www.backblaze.com/cloud-storage/pricing", type: HTML, connector: http, tier: C }532      - { name: b2 cli releases, url: "https://github.com/Backblaze/B2_Command_Line_Tool/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Backblaze/B2_Command_Line_Tool, kind: releases } }533    notes: "status.backblaze.com is a FireHydrant page (HTML only)."534  - id: wasabi535    name: Wasabi Technologies536    domain: wasabi.com537    categories: [cloud, infrastructure]538    tier: B539    country: US540    language: en541    aliases: [wasabi, wasabi hot cloud storage]542    discover: { status: true }543    sensors:544      - { name: status, url: "https://status.wasabi.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }545      - { name: pricing, url: "https://wasabi.com/pricing/", type: HTML, connector: http, tier: C }546    notes: "wasabi.com has no blog feed; docs release notes 404."547  - id: tigris548    name: Tigris Data549    domain: tigrisdata.com550    homepage: https://www.tigrisdata.com551    categories: [cloud, developer]552    tier: C553    country: US554    language: en555    aliases: [tigris, tigris data]556    discover: { rss: true, status: true }557    sensors:558      - { name: status, url: "https://status.tigrisdata.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }559      - { name: blog feed, url: "https://www.tigrisdata.com/blog/rss.xml", type: RSS, connector: rss, tier: B }560      - { name: pricing, url: "https://www.tigrisdata.com/pricing/", type: HTML, connector: http, tier: C }561  # ───────────────────────── network operators / IXPs / data centres ─────────────────────────562  - id: equinix563    extend: true564    country: US565    language: en566    products:567      - { name: Equinix Metal, type: product, aliases: [packet] }568    sensors:569      - { name: equinix metal status, url: "https://status.equinixmetal.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }570  - id: zayo571    name: Zayo572    domain: zayo.com573    homepage: https://www.zayo.com574    categories: [telecom, infrastructure]575    tier: C576    country: US577    language: en578    aliases: [zayo, zayo group]579    discover: { rss: true }580    sensors:581      - { name: blog feed, url: "https://www.zayo.com/feed/", type: RSS, connector: rss, tier: C }582    notes: "newsroom feed is empty; status.zayo.com does not resolve."583  - id: arelion584    name: Arelion585    domain: arelion.com586    homepage: https://www.arelion.com587    categories: [telecom, infrastructure]588    tier: C589    country: SE590    language: en591    aliases: [arelion, telia carrier, as1299]592    discover: { rss: true }593    sensors:594      - { name: blog feed, url: "https://blog.arelion.com/feed", type: RSS, connector: rss, tier: C }595    notes: "arelion.com press pages return 404 to non-browser clients; the blog is open."596  - id: hurricane-electric597    name: Hurricane Electric598    domain: he.net599    categories: [telecom, infrastructure, internet]600    tier: C601    country: US602    language: en603    aliases: [hurricane electric, he.net, as6939]604    discover: { rss: false }605    sensors:606      - { name: news, url: "https://he.net/news.html", type: HTML, connector: http, tier: C }607  - id: arin608    extend: true609    country: US610    language: en611    sensors:612      - { name: announcements feed, url: "https://www.arin.net/announcements/rss.xml", type: RSS, connector: rss, tier: B }613  # ───────────────────────── DNS root / registries ─────────────────────────614  - id: root-servers615    name: Root Server Operators616    domain: root-servers.org617    categories: [internet, infrastructure, standards]618    tier: B619    weight: 1.3620    country: INT621    language: en622    aliases: [root servers, root-servers.org, rssac, dns root]623    discover: { rss: false }624    sensors:625      - { name: root servers overview, url: "https://root-servers.org/", type: HTML, connector: http, tier: C }626  - id: iana627    extend: true628    country: INT629    language: en630    sensors:631      - { name: root hints file, url: "https://www.internic.net/domain/named.root", type: FILE, connector: http, tier: C }632      - { name: dnssec root trust anchors, url: "https://data.iana.org/root-anchors/root-anchors.xml", type: XML, connector: http, tier: C }633      - { name: root servers list, url: "https://www.iana.org/domains/root/servers", type: HTML, connector: http, tier: C }634  - id: nlnet-labs635    name: NLnet Labs636    domain: nlnetlabs.nl637    categories: [open-source, internet, infrastructure]638    tier: B639    country: NL640    language: en641    aliases: [nlnet labs, nlnetlabs]642    products:643      - { name: Unbound, type: software }644      - { name: NSD, type: software }645      - { name: Routinator, type: software }646      - { name: Krill, type: software }647    discover: { rss: true }648    sensors:649      - { name: blog feed, url: "https://blog.nlnetlabs.nl/rss/", type: RSS, connector: rss, tier: B }650      - { name: unbound releases, url: "https://github.com/NLnetLabs/unbound/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: NLnetLabs/unbound, kind: releases } }651      - { name: nsd releases, url: "https://github.com/NLnetLabs/nsd/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: NLnetLabs/nsd, kind: releases } }652      - { name: routinator releases, url: "https://github.com/NLnetLabs/routinator/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: NLnetLabs/routinator, kind: releases } }653      - { name: krill releases, url: "https://github.com/NLnetLabs/krill/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: NLnetLabs/krill, kind: releases } }654  - id: isc655    name: Internet Systems Consortium656    domain: isc.org657    homepage: https://www.isc.org658    categories: [open-source, internet, infrastructure]659    tier: B660    weight: 1.1661    country: US662    language: en663    aliases: [isc, internet systems consortium, bind]664    products:665      - { name: BIND 9, type: software, aliases: [bind, bind9, named] }666      - { name: Kea DHCP, type: software, aliases: [kea] }667    discover: { rss: true }668    sensors:669      - { name: bind 9 tags (gitlab), url: "https://gitlab.isc.org/isc-projects/bind9/-/tags?format=atom", type: ATOM, connector: rss, tier: A }670      - { name: bind 9 releases (github mirror), url: "https://github.com/isc-projects/bind9/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: isc-projects/bind9, kind: releases } }671      - { name: kea tags, url: "https://github.com/isc-projects/kea/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: isc-projects/kea, kind: tags } }672    notes: "isc.org and kb.isc.org publish no RSS (404)."673  # ───────────────────────── certificate authorities ─────────────────────────674  - id: letsencrypt675    extend: true676    country: US677    language: en678    sensors:679      - { name: status (status.io), url: "https://letsencrypt.status.io/1.0/status/55957a99e800baa4470002da", type: STATUSPAGE, connector: statusjson, tier: S, config: { flavor: statusio } }680      - { name: api announcements feed, url: "https://community.letsencrypt.org/c/api-announcements.rss", type: RSS, connector: rss, tier: A }681      - { name: rate limits, url: "https://letsencrypt.org/docs/rate-limits/", type: HTML, connector: http, tier: C }682      - { name: boulder releases, url: "https://github.com/letsencrypt/boulder/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: letsencrypt/boulder, kind: releases } }683  - id: tailscale684    extend: true685    country: CA686    language: en687    sensors:688      - { name: changelog feed, url: "https://tailscale.com/changelog/index.xml", type: RSS, connector: rss, tier: A }689      - { name: security bulletins feed, url: "https://tailscale.com/security-bulletins/index.xml", type: RSS, connector: rss, tier: S }690      - { name: pricing, url: "https://tailscale.com/pricing", type: HTML, connector: http, tier: C }691      - { name: tailscale releases, url: "https://github.com/tailscale/tailscale/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tailscale/tailscale, kind: releases } }692  - id: 1password693    extend: true694    country: CA695    language: en696    sensors:697      - { name: release notes feed, url: "https://releases.1password.com/index.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }698      - { name: pricing, url: "https://1password.com/pricing", type: HTML, connector: http, tier: C }699  - id: okta700    extend: true701    country: US702    language: en703    sensors:704      - { name: developer feed, url: "https://developer.okta.com/feed.xml", type: RSS, connector: rss, tier: B }705      - { name: developer release notes 2026, url: "https://developer.okta.com/docs/release-notes/2026/", type: HTML, connector: http, tier: B }706    notes: "status.okta.com/api/v2 requires auth (401) — custom page."707  - id: auth0708    extend: true709    country: US710    language: en711    sensors:712      - { name: pricing, url: "https://auth0.com/pricing", type: HTML, connector: http, tier: C }713  # ───────────────────────── communications APIs ─────────────────────────714  - id: sendgrid715    name: Twilio SendGrid716    domain: sendgrid.com717    categories: [enterprise, developer, cloud]718    tier: B719    country: US720    language: en721    aliases: [sendgrid, twilio sendgrid]722    discover: { status: true }723    sensors:724      - { name: status, url: "https://status.sendgrid.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }725    notes: "sendgrid.com blog feed URLs return HTML; docs changelog 404 (merged into twilio.com changelog)."726  - id: resend727    extend: true728    country: US729    language: en730    sensors:731      - { name: status (incident.io), url: "https://resend-status.com/api/v1/summary", type: STATUSPAGE, connector: statusjson, tier: S, config: { flavor: incidentio } }732  - id: datadog733    extend: true734    country: US735    language: en736    notes: "github.com/DataDog/datadog-agent releases.atom and tags.atom return 502/504 (feed too large for GitHub to render) — not a sensor."737    sensors:738      - { name: pricing, url: "https://www.datadoghq.com/pricing/", type: HTML, connector: http, tier: C }739      - { name: api v2 openapi, url: "https://raw.githubusercontent.com/DataDog/datadog-api-client-python/master/.generator/schemas/v2/openapi.yaml", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://docs.datadoghq.com/api/latest/" } }740  - id: new-relic741    extend: true742    country: US743    language: en744    sensors:745      - { name: whats new feed, url: "https://docs.newrelic.com/whats-new/feed.xml", type: RSS, connector: rss, tier: B }746      - { name: pricing, url: "https://newrelic.com/pricing", type: HTML, connector: http, tier: C }747      - { name: infrastructure agent releases, url: "https://github.com/newrelic/infrastructure-agent/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: newrelic/infrastructure-agent, kind: releases } }748  - id: grafana749    extend: true750    country: US751    language: en752    products:753      - { name: Grafana Loki, type: software, aliases: [loki] }754      - { name: Grafana Tempo, type: software, aliases: [tempo] }755      - { name: Grafana Mimir, type: software, aliases: [mimir] }756      - { name: Grafana Alloy, type: software, aliases: [alloy] }757    sensors:758      - { name: cloud status, url: "https://status.grafana.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }759      - { name: blog feed, url: "https://grafana.com/blog/index.xml", type: RSS, connector: rss, tier: B }760      - { name: pricing, url: "https://grafana.com/pricing/", type: HTML, connector: http, tier: C }761      - { name: loki releases, url: "https://github.com/grafana/loki/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: grafana/loki, kind: releases } }762      - { name: tempo releases, url: "https://github.com/grafana/tempo/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: grafana/tempo, kind: releases } }763      - { name: mimir releases, url: "https://github.com/grafana/mimir/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: grafana/mimir, kind: releases } }764      - { name: alloy releases, url: "https://github.com/grafana/alloy/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: grafana/alloy, kind: releases } }765  - id: sentry766    extend: true767    country: US768    language: en769    sensors:770      - { name: blog feed, url: "https://blog.sentry.io/feed.xml", type: RSS, connector: rss, tier: B }771      - { name: pricing, url: "https://sentry.io/pricing/", type: HTML, connector: http, tier: C }772      - { name: sentry releases, url: "https://github.com/getsentry/sentry/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: getsentry/sentry, kind: releases } }773      - { name: self-hosted releases, url: "https://github.com/getsentry/self-hosted/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: getsentry/self-hosted, kind: releases } }774  - id: honeycomb775    name: Honeycomb776    domain: honeycomb.io777    homepage: https://www.honeycomb.io778    categories: [enterprise, developer, cloud]779    tier: B780    country: US781    language: en782    aliases: [honeycomb, honeycomb.io]783    products:784      - { name: Refinery, type: software }785    discover: { rss: true, status: true }786    sensors:787      - { name: status, url: "https://status.honeycomb.io/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }788      - { name: pricing, url: "https://www.honeycomb.io/pricing", type: HTML, connector: http, tier: C }789      - { name: refinery releases, url: "https://github.com/honeycombio/refinery/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: honeycombio/refinery, kind: releases } }790    notes: "honeycomb.io blog has no feed; docs changelog 404."791  # ───────────────────────── developer platforms / registries ─────────────────────────792  - id: atlassian793    extend: true794    country: AU795    language: en796    products:797      - { name: Bitbucket, type: product, aliases: [bitbucket cloud] }798    sensors:799      - { name: bitbucket status, url: "https://bitbucket.status.atlassian.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }800      - { name: bitbucket api openapi, url: "https://api.bitbucket.org/swagger.json", type: JSON, connector: openapi, tier: B, config: { docsUrl: "https://developer.atlassian.com/cloud/bitbucket/rest/" } }801      - { name: bitbucket cloud changelog, url: "https://developer.atlassian.com/cloud/bitbucket/changelog/", type: HTML, connector: http, tier: B }802      - { name: jira platform changelog, url: "https://developer.atlassian.com/cloud/jira/platform/changelog/", type: HTML, connector: http, tier: B }803  - id: github804    extend: true805    country: US806    language: en807    sensors:808      - { name: engineering blog feed, url: "https://github.blog/engineering/feed/", type: RSS, connector: rss, tier: B }809      - { name: actions changelog feed, url: "https://github.blog/changelog/label/actions/feed/", type: RSS, connector: rss, tier: A }810      - { name: rest api breaking changes, url: "https://docs.github.com/en/rest/overview/breaking-changes", type: HTML, connector: http, tier: B }811      - { name: meta ip ranges api, url: "https://api.github.com/meta", type: JSON, connector: http, tier: C }812      - { name: gh cli releases, url: "https://github.com/cli/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cli/cli, kind: releases } }813  - id: gitlab814    extend: true815    country: US816    language: en817    sensors:818      - { name: status (status.io), url: "https://api.status.io/1.0/status/5b36dc6502d06804c08349f7", type: STATUSPAGE, connector: statusjson, tier: S, config: { flavor: statusio } }819      - { name: status history feed, url: "https://status.gitlab.com/pages/5b36dc6502d06804c08349f7/rss", type: RSS, connector: rss, tier: A }820  - id: npm821    name: npm Registry822    domain: npmjs.com823    homepage: https://www.npmjs.com824    categories: [packages, developer, infrastructure]825    tier: A826    weight: 1.3827    country: US828    language: en829    aliases: [npm, npmjs, npm registry]830    products:831      - { name: npm CLI, type: software }832    discover: { status: true }833    sensors:834      - { name: status, url: "https://status.npmjs.org/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }835      - { name: npm changelog feed (github), url: "https://github.blog/changelog/label/npm/feed/", type: RSS, connector: rss, tier: A }836      - { name: npm cli releases, url: "https://github.com/npm/cli/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: npm/cli, kind: releases } }837    notes: "blog.npmjs.org is gone; www.npmjs.com/blog is Cloudflare-blocked (403)."838  - id: pypi839    name: PyPI840    domain: pypi.org841    categories: [packages, developer, infrastructure]842    tier: A843    weight: 1.3844    country: US845    language: en846    aliases: [pypi, python package index, warehouse]847    products:848      - { name: Warehouse, type: software }849    discover: { status: true }850    sensors:851      - { name: status (python infrastructure), url: "https://status.python.org/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }852      - { name: blog feed, url: "https://blog.pypi.org/feed_rss_created.xml", type: RSS, connector: rss, tier: B }853      - { name: warehouse commits, url: "https://github.com/pypi/warehouse/commits/main.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: pypi/warehouse, kind: commits, branch: main } }854    notes: "pypi.org/rss/updates.xml and packages.xml are firehoses of every release — deliberately not added."855  # ───────────────────────── infrastructure software / foundations ─────────────────────────856  - id: kubernetes857    extend: true858    country: US859    language: en860    sensors:861      - { name: release schedule, url: "https://kubernetes.io/releases/", type: HTML, connector: http, tier: B }862      - { name: api deprecation guide, url: "https://kubernetes.io/docs/reference/using-api/deprecation-guide/", type: HTML, connector: http, tier: C }863      - { name: ingress-nginx releases, url: "https://github.com/kubernetes/ingress-nginx/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: kubernetes/ingress-nginx, kind: releases } }864      - { name: cluster autoscaler releases, url: "https://github.com/kubernetes/autoscaler/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: kubernetes/autoscaler, kind: releases } }865      - { name: kubespray releases, url: "https://github.com/kubernetes-sigs/kubespray/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: kubernetes-sigs/kubespray, kind: releases } }866  - id: cncf867    extend: true868    country: US869    language: en870    products:871      - { name: containerd, type: software }872      - { name: etcd, type: software }873      - { name: CoreDNS, type: software, aliases: [coredns] }874      - { name: Cilium, type: software }875      - { name: Linkerd, type: software }876      - { name: Flux, type: software, aliases: [fluxcd] }877      - { name: Crossplane, type: software }878      - { name: cert-manager, type: software }879      - { name: OpenTelemetry Collector, type: software, aliases: [otel collector] }880    sensors:881      - { name: announcements feed, url: "https://www.cncf.io/announcements/feed/", type: RSS, connector: rss, tier: B }882      - { name: containerd releases, url: "https://github.com/containerd/containerd/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: containerd/containerd, kind: releases } }883      - { name: etcd releases, url: "https://github.com/etcd-io/etcd/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: etcd-io/etcd, kind: releases } }884      - { name: coredns releases, url: "https://github.com/coredns/coredns/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: coredns/coredns, kind: releases } }885      - { name: cilium releases, url: "https://github.com/cilium/cilium/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cilium/cilium, kind: releases } }886      - { name: linkerd releases, url: "https://github.com/linkerd/linkerd2/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: linkerd/linkerd2, kind: releases } }887      - { name: flux releases, url: "https://github.com/fluxcd/flux2/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: fluxcd/flux2, kind: releases } }888      - { name: crossplane releases, url: "https://github.com/crossplane/crossplane/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: crossplane/crossplane, kind: releases } }889      - { name: cert-manager releases, url: "https://github.com/cert-manager/cert-manager/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: cert-manager/cert-manager, kind: releases } }890      - { name: external-secrets releases, url: "https://github.com/external-secrets/external-secrets/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: external-secrets/external-secrets, kind: releases } }891      - { name: opentelemetry collector releases, url: "https://github.com/open-telemetry/opentelemetry-collector/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: open-telemetry/opentelemetry-collector, kind: releases } }892      - { name: calico releases, url: "https://github.com/projectcalico/calico/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: projectcalico/calico, kind: releases } }893  - id: hashicorp894    extend: true895    country: US896    language: en897    products:898      - { name: Consul, type: software }899      - { name: Nomad, type: software }900      - { name: Packer, type: software }901      - { name: Terraform Registry, type: service }902    sensors:903      - { name: blog feed, url: "https://www.hashicorp.com/blog/feed.xml", type: RSS, connector: rss, tier: B }904      - { name: consul releases, url: "https://github.com/hashicorp/consul/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: hashicorp/consul, kind: releases } }905      - { name: nomad releases, url: "https://github.com/hashicorp/nomad/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: hashicorp/nomad, kind: releases } }906      - { name: packer releases, url: "https://github.com/hashicorp/packer/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: hashicorp/packer, kind: releases } }907      - { name: terraform provider aws releases, url: "https://github.com/hashicorp/terraform-provider-aws/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: hashicorp/terraform-provider-aws, kind: releases } }908      - { name: terraform provider azurerm releases, url: "https://github.com/hashicorp/terraform-provider-azurerm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: hashicorp/terraform-provider-azurerm, kind: releases } }909      - { name: terraform provider google releases, url: "https://github.com/hashicorp/terraform-provider-google/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: hashicorp/terraform-provider-google, kind: releases } }910      - { name: registry provider aws, url: "https://registry.terraform.io/v1/providers/hashicorp/aws", type: JSON, connector: http, tier: C, config: { ignoreKeys: [downloads] } }911      - { name: registry provider azurerm, url: "https://registry.terraform.io/v1/providers/hashicorp/azurerm", type: JSON, connector: http, tier: C, config: { ignoreKeys: [downloads] } }912      - { name: registry provider google, url: "https://registry.terraform.io/v1/providers/hashicorp/google", type: JSON, connector: http, tier: C, config: { ignoreKeys: [downloads] } }913  - id: pulumi914    extend: true915    country: US916    language: en917    sensors:918      - { name: pulumi-aws releases, url: "https://github.com/pulumi/pulumi-aws/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pulumi/pulumi-aws, kind: releases } }919  - id: traefik920    name: Traefik Labs921    domain: traefik.io922    categories: [open-source, infrastructure]923    tier: B924    country: FR925    language: en926    aliases: [traefik, traefik labs, containous]927    products:928      - { name: Traefik Proxy, type: software, aliases: [traefik] }929    discover: { rss: true }930    sensors:931      - { name: traefik releases, url: "https://github.com/traefik/traefik/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: traefik/traefik, kind: releases } }932  - id: minio933    name: MinIO934    domain: min.io935    categories: [open-source, infrastructure, cloud]936    tier: B937    country: US938    language: en939    aliases: [minio]940    discover: { rss: true }941    sensors:942      - { name: minio releases, url: "https://github.com/minio/minio/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: minio/minio, kind: releases } }943  - id: rancher944    name: Rancher (SUSE)945    domain: rancher.com946    categories: [open-source, infrastructure]947    tier: B948    country: US949    language: en950    aliases: [rancher, k3s, suse rancher]951    products:952      - { name: K3s, type: software, aliases: [k3s] }953    discover: { rss: true }954    sensors:955      - { name: rancher releases, url: "https://github.com/rancher/rancher/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: rancher/rancher, kind: releases } }956      - { name: k3s releases, url: "https://github.com/k3s-io/k3s/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: k3s-io/k3s, kind: releases } }957  - id: frrouting958    name: FRRouting959    domain: frrouting.org960    categories: [open-source, infrastructure, internet]961    tier: C962    country: US963    language: en964    aliases: [frr, frrouting]965    discover: { rss: false }966    sensors:967      - { name: frr releases, url: "https://github.com/FRRouting/frr/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: FRRouting/frr, kind: releases } }968  - id: powerdns969    name: PowerDNS970    domain: powerdns.com971    homepage: https://www.powerdns.com972    categories: [open-source, infrastructure, internet]973    tier: C974    country: NL975    language: en976    aliases: [powerdns, pdns]977    discover: { rss: true }978    sensors:979      - { name: pdns releases, url: "https://github.com/PowerDNS/pdns/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: PowerDNS/pdns, kind: releases } }980  - id: victoriametrics981    name: VictoriaMetrics982    domain: victoriametrics.com983    categories: [open-source, infrastructure]984    tier: C985    country: US986    language: en987    aliases: [victoriametrics, victoria metrics]988    discover: { rss: true }989    sensors:990      - { name: releases, url: "https://github.com/VictoriaMetrics/VictoriaMetrics/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: VictoriaMetrics/VictoriaMetrics, kind: releases } }991  - id: prometheus992    extend: true993    sensors:994      - { name: alertmanager releases, url: "https://github.com/prometheus/alertmanager/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: prometheus/alertmanager, kind: releases } }995