diff --git a/about/extensions.html.markerb b/about/extensions.html.markerb index e1418ae005..ea1b5d0c1e 100644 --- a/about/extensions.html.markerb +++ b/about/extensions.html.markerb @@ -9,7 +9,7 @@ Fly.io is a global cloud service for running full stack apps close to users. We We have two main goals: to deliver a slick developer experience, and to build the best possible platform for running full stack apps. We're looking for partners that share this goal, extending Fly.io with services our customers need. -Services such as managed databases, exception handlers, CI runners or log aggregators are great examples. Check out our [managed Upstash for Redis](https://fly.io/docs/reference/redis/) to get an idea of what's possible, and how we integrate services directly into our CLI. +Services such as managed databases, exception handlers, CI runners or log aggregators are great examples. Check out our [managed Upstash for Redis](https://fly.io/docs/upstash/redis/) to get an idea of what's possible, and how we integrate services directly into our CLI. [Check out our documentation](https://fly.io/docs) to see what our platform has to offer. Contact us at [extensions@fly.io](mailto:extensions@fly.io) to discuss your case! diff --git a/about/pricing.html.markerb b/about/pricing.html.markerb index cf25d24edf..dbaba303f1 100644 --- a/about/pricing.html.markerb +++ b/about/pricing.html.markerb @@ -243,7 +243,7 @@ You're not billed for the following types of traffic: - all inbound data transfer - data transfer between apps or Machines in the same region (for organizations using granular data transfer rates) - data transfer from apps without an assigned IP address (for organizations not using granular data transfer rates) -- data transfer to [Tigris Object Storage](https://fly.io/docs/reference/tigris) +- data transfer to [Tigris Object Storage](https://fly.io/docs/tigris/) Fly.io pricing is per region group for outbound data transfer. You'll see a more detailed breakdown of cost per region and per traffic type on your monthly invoice. @@ -274,7 +274,7 @@ The [Machine price](#compute) and [volume price](#persistent-storage-volumes) fo ## Extensions -Fly.io offers managed services operated by third parties, such as [Tigris Object Storage](/docs/reference/tigris), [Supabase Postgres](/docs/reference/supabase) and [Upstash Redis](/docs/reference/redis). +Fly.io offers managed services operated by third parties, such as [Tigris Object Storage](/docs/tigris), [Supabase Postgres](/docs/rsupabase/) and [Upstash Redis](/docs/upstash/redis/). When you provision their services, you become their customer, and you pay their list prices via your monthly Fly.io bill. Charges are updated daily in your Fly.io dashboard. diff --git a/apps/going-to-production.html.markerb b/apps/going-to-production.html.markerb index ae8c3150ca..a28dd728fa 100644 --- a/apps/going-to-production.html.markerb +++ b/apps/going-to-production.html.markerb @@ -27,7 +27,7 @@ This checklist guides you through setting up a production environment on Fly.io. - **Make sure private services are not exposed:** Check that your private apps with services don't have public IP addresses. Run `fly ips list` and use `fly ips release` to release unnecessary public IPs. See flyctl [`fly ips` commands](/docs/flyctl/ips/). Assign private apps a [Flycast address](https://fly.io/docs/networking/flycast/) instead. -- **Use Arcjet application security for JavaScript apps:** Secure your app with rate limiting, bot protection, email validation, and defense against common attacks through our extension partner Arcjet. Currently [free in beta](/docs/reference/arcjet/#pricing), but pricing is subject to change. See [Application Security by Arcjet](/docs/reference/arcjet/). +- **Use Arcjet application security for JavaScript apps:** Secure your app with rate limiting, bot protection, email validation, and defense against common attacks through our extension partner Arcjet. Currently [free in beta](/docs/security/arcjet/#pricing), but pricing is subject to change. See [Application Security by Arcjet](/docs/security/arcjet/). ## Networking @@ -47,7 +47,7 @@ This checklist guides you through setting up a production environment on Fly.io. - **Export your logs:** Set up the Fly Log Shipper to aggregate your app’s logs to a service of your choice. See [Export logs](/docs/monitoring/exporting-logs/). -- **Use Sentry for Error tracking**: An application monitoring platform that helps you identify and fix software problems before they impact your users from our extension partner Sentry.Fly.io organizations get a year's worth of [Team Plan](https://sentry.io/pricing/+external) credits. See [Application Monitoring by Sentry](/docs/reference/sentry/). +- **Use Sentry for Error tracking**: An application monitoring platform that helps you identify and fix software problems before they impact your users from our extension partner Sentry.Fly.io organizations get a year's worth of [Team Plan](https://sentry.io/pricing/+external) credits. See [Application Monitoring by Sentry](/docs/monitoring/sentry/). ## Availability, resiliency, and costs diff --git a/apps/move-app-org.html.markerb b/apps/move-app-org.html.markerb index 94279b435c..33fb8f0fe6 100644 --- a/apps/move-app-org.html.markerb +++ b/apps/move-app-org.html.markerb @@ -36,4 +36,4 @@ The following app resources are transferred to the new org automatically: The following extension services need to be reconfigured for the app after the move: -- **[Upstash for Redis](https://fly.io/docs/reference/redis/):** Upstash Redis is only available over an organization's private network. After you move the app, you'll need to provision a new database for the new org. +- **[Upstash for Redis](https://fly.io/docs/upstash/redis/):** Upstash Redis is only available over an organization's private network. After you move the app, you'll need to provision a new database for the new org. diff --git a/blueprints/cell-based.html.md b/blueprints/cell-based.html.md index a6d9424487..65d756d101 100644 --- a/blueprints/cell-based.html.md +++ b/blueprints/cell-based.html.md @@ -220,7 +220,7 @@ likely make use of one or more of the following: addresses many problems, it doesn't help deal with logs that are missing due to application or network problems. Consider having applications emit a heartbeat, and write monitoring software that looks for missing heartbeats - and reports them as issues. [Sentry](https://fly.io/docs/reference/sentry/) + and reports them as issues. [Sentry](https://fly.io/docs/monitoring/sentry/) can help here. * While applying updates when all of the services for a single Machine are self contained is an easier problem then upgrading potentially @@ -251,7 +251,7 @@ As mentioned above, backups are crucial. Items to explore: * [Rsync](https://rsync.samba.org/) is a utility available with Linux distributions that can be used to efficiently copy changes between Machines. * Use a traditional database. - [Supabase](https://fly.io/docs/reference/supabase/), for example, supports + [Supabase](https://fly.io/docs/supabase/), for example, supports [custom claims](https://github.com/supabase-community/supabase-custom-claims) that can be used to build a multi-tenancy option for your database. diff --git a/database-storage-guides.html.md b/database-storage-guides.html.md index 70faa2b6b5..b449bc8e21 100644 --- a/database-storage-guides.html.md +++ b/database-storage-guides.html.md @@ -19,7 +19,7 @@ The Fly Machines in your app provide ephemeral storage, so you get a blank slate _Object storage service from our extension partners._ -- **[Tigris Global Object Storage](/docs/reference/tigris/)** - [Tigris](https://www.tigrisdata.com/+external) is a globally distributed S3-compatible object storage service on Fly.io infrastructure. +- **[Tigris Global Object Storage](/docs/tigris/)** - [Tigris](https://www.tigrisdata.com/+external) is a globally distributed S3-compatible object storage service on Fly.io infrastructure. --- @@ -27,9 +27,9 @@ _Object storage service from our extension partners._ _Managed database services from our extension partners._ -- **[Supabase Postgres (public alpha)](/docs/reference/supabase/)** - [Supabase](https://supabase.com/database+external) Postgres is a full-featured and fully-managed Postgres database on Fly.io infrastructure. +- **[Supabase Postgres (public alpha)](/docs/supabase/)** - [Supabase](https://supabase.com/database+external) Postgres is a full-featured and fully-managed Postgres database on Fly.io infrastructure. -- **[Upstash for Redis](/docs/reference/redis/)** - [Redis](https://redis.io/+external) is an in-memory database commonly used for caching. A managed service by [Upstash](https://upstash.com/+external). +- **[Upstash for Redis](/docs/upstash/redis/)** - [Redis](https://redis.io/+external) is an in-memory database commonly used for caching. A managed service by [Upstash](https://upstash.com/+external). --- diff --git a/happy-path/aim.html.markerb b/happy-path/aim.html.markerb index f705cfefd9..8b573ae330 100644 --- a/happy-path/aim.html.markerb +++ b/happy-path/aim.html.markerb @@ -22,7 +22,7 @@ The demo uses the following: * A [PostgreSQL](https://www.postgresql.org/+external) relational database to store the names of the audio clips * A [Tigris bucket](https://www.tigrisdata.com/+external) to store the the audio files -* [Upstash for Redis](https://fly.io/docs/reference/redis/) and [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API+external) to handle the connections for the realtime requirement +* [Upstash for Redis](https://fly.io/docs/upstash/redis/) and [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API+external) to handle the connections for the realtime requirement ## Demo flavors diff --git a/happy-path/postgresql.html.markerb b/happy-path/postgresql.html.markerb index a4917c571a..af07306b59 100644 --- a/happy-path/postgresql.html.markerb +++ b/happy-path/postgresql.html.markerb @@ -7,7 +7,7 @@ nav: demo Fly Postgres is deployed as a separate app, and that app comes initially configured with a single [Fly Postgres](https://fly.io/docs/postgres/) Machine. That's fine for development, but for production you need redundancy and scalability. With a [few commands](https://fly.io/docs/postgres/advanced-guides/high-availability-and-global-replication/) you can create an HA cluster in your primary region and read-only replicas elsewhere. -If you're interested in a managed offering, [Supabase Postgres](https://fly.io/docs/reference/supabase/) is in public alpha. +If you're interested in a managed offering, [Supabase Postgres](https://fly.io/docs/supabase/) is in public alpha. And there is no lock in here. We have a list of [recommended external providers](https://fly.io/docs/postgres/getting-started/what-you-should-know/#recommended-external-providers), but you're free to host your database literally anywhere. diff --git a/happy-path/redis.html.markerb b/happy-path/redis.html.markerb index ff8f23559d..a88f2e353d 100644 --- a/happy-path/redis.html.markerb +++ b/happy-path/redis.html.markerb @@ -5,7 +5,7 @@ nav: demo order: 7 --- -[Upstash Redis](https://fly.io/docs/reference/redis/) is used by the deep dive demo app for its [pubsub](https://redis.io/docs/latest/commands/?group=pubsub) capabilities, but it can do [so much more](https://upstash.com/docs/redis/overall/rediscompatibility). +[Upstash Redis](https://fly.io/docs/upstash/redis/) is used by the deep dive demo app for its [pubsub](https://redis.io/docs/latest/commands/?group=pubsub) capabilities, but it can do [so much more](https://upstash.com/docs/redis/overall/rediscompatibility). In particular, Redis is useful for caching: diff --git a/happy-path/tigris.html.markerb b/happy-path/tigris.html.markerb index d8c062f463..0ea3c73ad3 100644 --- a/happy-path/tigris.html.markerb +++ b/happy-path/tigris.html.markerb @@ -5,8 +5,8 @@ nav: demo order: 6 --- -[Tigris](https://fly.io/docs/reference/tigris/) is a globally distributed object storage service. It essentially requires no configuration, and seamlessly handles multi-regions. If you upload an audio file to a host in Virginia, you can access it from Amsterdam. Even better: subsequent accesses from regions other than the primary region are served locally. +[Tigris](https://fly.io/docs/tigris/) is a globally distributed object storage service. It essentially requires no configuration, and seamlessly handles multi-regions. If you upload an audio file to a host in Virginia, you can access it from Amsterdam. Even better: subsequent accesses from regions other than the primary region are served locally. -Unlike relational databases, there may be reasons why you want to make your object store available via the internet. In this demo, the object store starts out private, but you can make it [public](https://fly.io/docs/reference/tigris/#public-buckets) if you want. +Unlike relational databases, there may be reasons why you want to make your object store available via the internet. In this demo, the object store starts out private, but you can make it [public](https://fly.io/docs/tigris/#public-buckets) if you want. -And if you happen to have an existing S3 object store, check out [shadow buckets](https://fly.io/docs/reference/tigris/#migrating-to-tigris-with-shadow-buckets) which enable you to incrementally migrate your data. +And if you happen to have an existing S3 object store, check out [shadow buckets](https://fly.io/docs/tigris/#migrating-to-tigris-with-shadow-buckets) which enable you to incrementally migrate your data. diff --git a/index.html.md b/index.html.md index deb92b51c9..89fe7ce915 100644 --- a/index.html.md +++ b/index.html.md @@ -62,11 +62,11 @@ _Run GPU workloads on Fly Machines._ _Services from Fly.io and our extension partners to help you run your entire stack near your users._ -[Upstash for Redis®](/docs/reference/redis/) +[Upstash for Redis®](/docs/upstash/redis/) -[Tigris object storage](/docs/reference/tigris/) +[Tigris object storage](/docs/tigris/) -[Supabase Postgres (public alpha)](/docs/reference/supabase/) +[Supabase Postgres (public alpha)](/docs/supabase/) [LiteFS - Distributed SQLite](/docs/litefs/) @@ -88,7 +88,7 @@ _Explore built-in and custom Prometheus metrics and Grafana dashboards. Live tai [Fly.io Metrics](/docs/monitoring/metrics/) -[Error Monitoring by Sentry](/docs/reference/sentry/) +[Error Monitoring by Sentry](/docs/monitoring/sentry/) [Logging on Fly.io](/docs/monitoring/logging-overview/) @@ -100,6 +100,6 @@ _Built-in security and partner extensions._ [Security](/docs/security/) on the Fly.io platform -[Application security by Arcjet](/docs/reference/arcjet/) for JavaScript apps +[Application security by Arcjet](/docs/security/arcjet/) for JavaScript apps \ No newline at end of file diff --git a/js/frameworks/nextjs.html.markerb b/js/frameworks/nextjs.html.markerb index 30950ed520..3016d7e6d4 100644 --- a/js/frameworks/nextjs.html.markerb +++ b/js/frameworks/nextjs.html.markerb @@ -143,7 +143,7 @@ application. If you still have questions, post on our [community forum](https:/ ### Connecting to Supabase Postgres -[Supabase](https://fly.io/docs/reference/supabase/#create-and-manage-a-supabase-postgres-database) is a managed Postgres service deployed at Fly.io infrastructure. +[Supabase](https://fly.io/docs/supabase/#create-and-manage-a-supabase-postgres-database) is a managed Postgres service deployed at Fly.io infrastructure. You can create a Supabase Postgres instance at Fly.io and use the provided `DATABASE_URL` as described above. Alternatively, you can connect with a dedicated JavaScript client and leverage its API. In this section we'll help you to get started with such setup. @@ -159,7 +159,7 @@ flyctl ext supabase create ? Choose a name, use the default, or leave blank to generate one: hello-nextjs-db ? Choose the primary region (can't be changed later) Warsaw, Poland (waw) -Your Supabase database (hello-nextjs-db) in waw is ready. See details and next steps with: https://fly.io/docs/reference/supabase/ +Your Supabase database (hello-nextjs-db) in waw is ready. See details and next steps with: https://fly.io/docs/supabase/ Setting the following secrets on hello-nextjs: DATABASE_POOLER_URL diff --git a/js/the-basics/object-storage.html.md b/js/the-basics/object-storage.html.md index 6b0fd9771a..fdf04339a4 100644 --- a/js/the-basics/object-storage.html.md +++ b/js/the-basics/object-storage.html.md @@ -22,7 +22,7 @@ fly storage create ``` ```output ? Choose a name, use the default, or leave blank to generate one: -Your Tigris project (xxx) is ready. See details and next steps with: https://fly.io/docs/reference/tigris/ +Your Tigris project (xxx) is ready. See details and next steps with: https://fly.io/docs/tigris/ Setting the following secrets on xxx: AWS_ACCESS_KEY_ID: tid_xxx @@ -53,4 +53,4 @@ fly launch --from https://github.com/fly-apps/node-dictaphone.git ## Find out more! -Now that you are up and running, there is a lot more to explore on the [Tigris Global Object Storage](/docs/reference/tigris/) page. Highlights include public buckets, migrating to Tigris with shadow butckets, Pricing, and AWS API compatibility. \ No newline at end of file +Now that you are up and running, there is a lot more to explore on the [Tigris Global Object Storage](/docs/tigris/) page. Highlights include public buckets, migrating to Tigris with shadow butckets, Pricing, and AWS API compatibility. \ No newline at end of file diff --git a/laravel/database-guides/laravel-redis.html.markerb b/laravel/database-guides/laravel-redis.html.markerb index 04d2c6957a..6260836b4f 100644 --- a/laravel/database-guides/laravel-redis.html.markerb +++ b/laravel/database-guides/laravel-redis.html.markerb @@ -153,7 +153,7 @@ The simplest way to connect your local Laravel application to a Redis Fly App is ## _Laravel with Upstash Managed Redis Fly App_ -Want a fully-managed Redis Fly App? Try [Upstash Redis](https://upstash.com/)! To set up, you can follow our-in-depth guide [here](/docs/reference/redis/) +Want a fully-managed Redis Fly App? Try [Upstash Redis](https://upstash.com/)! To set up, you can follow our-in-depth guide [here](/docs/upstash/redis/) Once you've configured the necessary details through the flyctl prompts, and the app deployment completes, you should get a summary of the Redis cluster you've just deployed, like so: ```output diff --git a/monitoring/index.html.markerb b/monitoring/index.html.markerb index d4de41289e..c7671e4017 100644 --- a/monitoring/index.html.markerb +++ b/monitoring/index.html.markerb @@ -20,7 +20,7 @@ _Fully-managed metrics solutions to help you monitor your apps._ _Error monitoring for your apps from our extension providers._ -- **[Sentry](/docs/reference/sentry/):** Use Sentry on Fly.io and get actionable insights to resolve the most important code-related issues. Fly.io organizations that use Sentry can claim a year’s worth of Team Plan credits. +- **[Sentry](/docs/monitoring/sentry/):** Use Sentry on Fly.io and get actionable insights to resolve the most important code-related issues. Fly.io organizations that use Sentry can claim a year’s worth of Team Plan credits. --- diff --git a/monitoring/search-logs.html.markerb b/monitoring/search-logs.html.markerb index d24756834a..c88c54ffd8 100644 --- a/monitoring/search-logs.html.markerb +++ b/monitoring/search-logs.html.markerb @@ -20,6 +20,6 @@ You can access searchable logs in Grafana: **Important:** If you’re already signed in to Grafana, then you'll need to log out and log back in. -Searchable logs are built on our [Tigris Storage](/docs/reference/tigris/) and [Supabase Postgres](/docs/reference/supabase/) extensions. +Searchable logs are built on our [Tigris Storage](/docs/tigris/) and [Supabase Postgres](/docs/supabase/) extensions. For the beta period, log search is free and we retain logs for 30 days. Learn how to build more complex queries [Quickwit’s query language](https://quickwit.io/docs/get-started/query-language-intro+external). diff --git a/postgres/getting-started/what-you-should-know.html.md b/postgres/getting-started/what-you-should-know.html.md index 0c1de936d9..42f134633d 100644 --- a/postgres/getting-started/what-you-should-know.html.md +++ b/postgres/getting-started/what-you-should-know.html.md @@ -37,7 +37,7 @@ There are a lot of knobs to turn, but `fly pg config` only supports a few of the ## Fully managed Postgres