3 ms·
> We'll never complain that you're serving the wrong content type. Cloudflare shouldn't restrict media (video, images, and audio) from its unlimited bandwidth
by ignoramous 4y ago
> We'll never complain that you're serving the wrong content type.
Cloudflare shouldn't restrict media (video, images, and audio) from its unlimited bandwidth promise for Workers and R2 (though, ToS doesn't yet reflect that).
https://news.ycombinator.com/item?id=28682885 https://news.ycombinator.com/item?id=28682885
> But the reality is – having an unlimited bandwidth promise is perfect for for a fire and forget blog site
I think, an auto flyctl pause -a <myapp> when myapp exceeds $x in charges (with an auto-resume when the billing rolls over) may serve as a viable interim solution. May be this is already possible with fly.io's graphql api?
- TJSomething 4y agoYup. Not too hard. This outputs the current bandwidth in gigabytes when you pass your app name. #!/usr/bin/env bash set -euo pipefail QUERY=$(cat <<EOF { "variables":{ "app":"$1", "start":"$(date +%Y-%m)", "end":"$(date -d "$(date +%Y%m01) +1 month -1 day" +%Y-%m-%d)" }, "query":"query (\$app: String!, \$start: ISO8601DateTime!, \$end: ISO8601DateTime!) { app(name: \$app) { organization { billables(startDate: \$start, endDate: \$end) { edges { node { app { id } category quantity } } } } } } " } EOF ) curl https://api.fly.io/graphql \ -H "Authorization: Bearer $(fly auth token)" \ -H 'content-type: application/json' \ --compressed \ -X POST \ --data-raw "$QUERY" \ --silent | jq '[.data.app.organization.billables.edges[].node | select(.app.id == "'"$1"'" and .category == "data_out") | .quantity] | add'