PageSourceSearch

https://stackql.io/assets/js/3eecdf50.fe23ea10.js

js stackql.io collected 2026-09-25 21:05:19 UTC 12,542 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkstackql_io||=[]).push([[10914],{52624(e,r,t){t.r(r),t.d(r,{default:()=>a,metadata:()=>s});var s=t(27117),n=t(74848),i=t(28453);const l={authorsImageUrls:[void 0]};function d(e){const r={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(r.p,{children:["We've released the latest version of the ",(0,n.jsx)(r.a,{href:"https://stackql.io/docs/providers",children:(0,n.jsx)(r.strong,{children:"StackQL Cloudflare provider"})}),", including the full Cloudflare V4 API surface under SQL with ",(0,n.jsx)(r.strong,{children:"108 services"}),", ",(0,n.jsx)(r.strong,{children:"1259 resources"}),", and ",(0,n.jsx)(r.strong,{children:"2840 operations"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:"service-highlights",children:"Service highlights"}),"\n",(0,n.jsx)(r.p,{children:"Key services in this release include:"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Service"}),(0,n.jsx)(r.th,{style:{textAlign:"right"},children:"Resources"}),(0,n.jsx)(r.th,{style:{textAlign:"right"},children:"Operations"}),(0,n.jsx)(r.th,{children:"What it covers"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"zero_trust"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"155"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"427"}),(0,n.jsx)(r.td,{children:"Access apps, gateway, tunnels, identity providers, device posture"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"radar"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"266"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"273"}),(0,n.jsx)(r.td,{children:"Internet measurement: BGP, traffic, attacks, AS info, quality"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"cloudforce_one"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"56"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"130"}),(0,n.jsx)(r.td,{children:"Threat intel: requests, priorities, scans, threat events"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"ai"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"114"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"116"}),(0,n.jsx)(r.td,{children:"Workers AI inference across 100+ models"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"workers"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"39"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"107"}),(0,n.jsx)(r.td,{children:"Scripts, deployments, KV, Durable Objects, queues, cron triggers"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"magic_transit"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"21"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"90"}),(0,n.jsx)(r.td,{children:"Magic WAN: sites, connectors, GRE/IPsec tunnels, routes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"zones"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"26"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"64"}),(0,n.jsx)(r.td,{children:"Zone lifecycle, settings, SSL/TLS, page rules, custom hostnames"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"realtime_kit"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"27"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"63"}),(0,n.jsx)(r.td,{children:"RealtimeKit meetings, sessions, recordings, presets"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"dns"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"19"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"58"}),(0,n.jsx)(r.td,{children:"DNS records, zone transfers, firewall, analytics"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"load_balancers"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"12"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"54"}),(0,n.jsx)(r.td,{children:"Pools, monitors, regions, search"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"aisearch"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"20"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"48"}),(0,n.jsx)(r.td,{children:"AI Search indexes, ingest jobs, models"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"email_security"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"15"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"47"}),(0,n.jsx)(r.td,{children:"Area 1: alerts, allow/block policies, investigation"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"firewall"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"10"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"47"}),(0,n.jsx)(r.td,{children:"WAF rules, packages, lockdowns, access rules, UA rules"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"streams"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"13"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"47"}),(0,n.jsx)(r.td,{children:"Stream video uploads, live inputs, signed URLs, captions"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"api_gateway"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"17"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"43"}),(0,n.jsx)(r.td,{children:"API discovery, schemas, operations, settings"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"r2"})}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"17"}),(0,n.jsx)(r.td,{style:{textAlign:"right"},children:"42"}),(0,n.jsx)(r.td,{children:"Buckets, lifecycle, CORS, custom domains, event notifications"})]})]})]}),"\n",(0,n.jsx)(r.h2,{id:"authentication",children:"Authentication"}),"\n",(0,n.jsxs)(r.p,{children:["Authenticate with a Cloudflare API token via the ",(0,n.jsx)(r.code,{children:"CLOUDFLARE_API_TOKEN"})," environment variable:"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-bash",children:"export CLOUDFLARE_API_TOKEN=...\n"})}),"\n",(0,n.jsx)(r.h2,{id:"example-queries",children:"Example queries"}),"\n",(0,n.jsx)(r.p,{children:"List your zones:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-sql",children:"SELECT id, name, status, plan\r\nFROM cloudflare.zones.zones\r\nWHERE account.id = '<account_id>';\n"})}),"\n",(0,n.jsx)(r.p,{children:"Inspect Workers scripts in an account:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-sql",children:"SELECT id, modified_on, usage_model\r\nFROM cloudflare.workers.scripts\r\nWHERE account_id = '<account_id>';\n"})}),"\n",(0,n.jsx)(r.p,{children:"List DNS records for a zone:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-sql",children:"SELECT name, type, content, ttl, proxied\r\nFROM cloudflare.dns.records\r\nWHERE zone_id = '<zone_id>';\n"})}),"\n",(0,n.jsx)(r.p,{children:"Pull a Radar BGP summary:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-sql",children:"SELECT *\r\nFROM cloudflare.radar.routes_stats;\n"})}),"\n",(0,n.jsx)(r.h2,{id:"binary-and-non-json-responses",children:"Binary and non-JSON responses"}),"\n",(0,n.jsxs)(r.p,{children:["A number of Cloudflare endpoints return binary or plain-text payloads - PDF LOAs, PNG screenshots, raw script source, CSV exports. The provider wraps these as a one-row table with a ",(0,n.jsx)(r.code,{children:"contents"})," column so they're still SELECT-able:"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-sql",children:"SELECT contents\r\nFROM cloudflare.browser_rendering.screenshot\r\nWHERE account_id = '<account_id>' AND url = 'https://example.com';\n"})}),"\n",(0,n.jsx)(r.h2,{id:"get-started",children:"Get started"}),"\n",(0,n.jsx)(r.p,{children:"Pull the provider from the public registry:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-bash",children:"registry pull cloudflare\n"})}),"\n",(0,n.jsxs)(r.p,{children:["Then start querying. Let us know what you build. Star us on ",(0,n.jsx)(r.a,{href:"https://github.com/stackql/stackql",children:(0,n.jsx)(r.strong,{children:"GitHub"})}),"."]})]})}function a(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}t.d(r,["assets",0,l,"contentTitle",0,void 0,"frontMatter",0,{slug:"updated-cloudflare-provider-available",title:"Cloudflare Provider - May 2026",hide_table_of_contents:!1,authors:["jeffreyaven"],image:"/img/blog/stackql-cloudflare-provider-featured-image.png",description:"Initial release of the StackQL Cloudflare provider with 108 services, 1259 resources, and 2840 operations spanning Zero Trust, Workers, R2, DNS, Zones, Radar, AI, Stream, Magic Transit, and more.",keywords:["stackql","cloudflare","provider","zero trust","workers","r2","dns","radar","ai","stream","magic transit"],tags:["stackql","cloudflare","provider","zero trust","workers","r2","dns","radar","ai","stream","magic transit"]},"toc",0,[{value:"Service highlights",id:"service-highlights",level:2},{value:"Authentication",id:"authentication",level:2},{value:"Example queries",id:"example-queries",level:2},{value:"Binary and non-JSON responses",id:"binary-and-non-json-responses",level:2},{value:"Get started",id:"get-started",level:2}]])},28453(e,r,t){t.d(r,{R:()=>l,x:()=>d});var s=t(96540);const n={},i=s.createContext(n);function l(e){const r=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(i.Provider,{value:r},e.children)}},27117(e){e.exports=JSON.parse('{"permalink":"/blog/updated-cloudflare-provider-available","editUrl":"https://github.com/stackql/stackql.io/edit/main/blog/2026-05-27-updated-cloudflare-provider-available.md","source":"@site/blog/2026-05-27-updated-cloudflare-provider-available.md","title":"Cloudflare Provider - May 2026","description":"Initial release of the StackQL Cloudflare provider with 108 services, 1259 resources, and 2840 operations spanning Zero Trust, Workers, R2, DNS, Zones, Radar, AI, Stream, Magic Transit, and more.","date":"2026-05-27T00:00:00.000Z","tags":[{"inline":true,"label":"stackql","permalink":"/blog/tags/stackql"},{"inline":true,"label":"cloudflare","permalink":"/blog/tags/cloudflare"},{"inline":true,"label":"provider","permalink":"/blog/tags/provider"},{"inline":true,"label":"zero trust","permalink":"/blog/tags/zero-trust"},{"inline":true,"label":"workers","permalink":"/blog/tags/workers"},{"inline":true,"label":"r2","permalink":"/blog/tags/r-2"},{"inline":true,"label":"dns","permalink":"/blog/tags/dns"},{"inline":true,"label":"radar","permalink":"/blog/tags/radar"},{"inline":true,"label":"ai","permalink":"/blog/tags/ai"},{"inline":true,"label":"stream","permalink":"/blog/tags/stream"},{"inline":true,"label":"magic transit","permalink":"/blog/tags/magic-transit"}],"readingTime":1.81,"hasTruncateMarker":false,"authors":[{"name":"Jeffrey Aven","title":"Technologist and Cloud Consultant","url":"https://www.linkedin.com/in/jeffreyaven/","key":"jeffreyaven","page":null}],"frontMatter":{"slug":"updated-cloudflare-provider-available","t
1itle":"Cloudflare Provider - May 2026","hide_table_of_contents":false,"authors":["jeffreyaven"],"image":"/img/blog/stackql-cloudflare-provider-featured-image.png","description":"Initial release of the StackQL Cloudflare provider with 108 services, 1259 resources, and 2840 operations spanning Zero Trust, Workers, R2, DNS, Zones, Radar, AI, Stream, Magic Transit, and more.","keywords":["stackql","cloudflare","provider","zero trust","workers","r2","dns","radar","ai","stream","magic transit"],"tags":["stackql","cloudflare","provider","zero trust","workers","r2","dns","radar","ai","stream","magic transit"]},"unlisted":false,"prevItem":{"title":"Autonomous Edge Defense with AI Agents and SQL","permalink":"/blog/autonomous-edge-defense-ai-agents-sql"},"nextItem":{"title":"Confluent Provider Update - May 2026","permalink":"/blog/confluent-provider-may-2026-update"}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.