# Deploy

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

Learn how to deploy pgflow to production, monitor workflow execution, and maintain your system over time.

## Supabase

<CardGrid>
  <LinkCard
    title="Deploy your first flow"
    href="/deploy/supabase/deploy-first-flow/"
    description="First-time deployment guide: connection string, secrets, and worker setup"
  />
  <LinkCard
    title="Update deployed flows"
    href="/deploy/supabase/update-deployed-flows/"
    description="Safe workflow for deploying updates using worker deprecation"
  />
  <LinkCard
    title="Keep workers running"
    href="/deploy/supabase/keep-workers-running/"
    description="Set up automated monitoring to ensure workers stay operational"
  />
</CardGrid>

## Observe

<CardGrid>
  <LinkCard
    title="Monitor flow execution"
    href="/deploy/monitor-execution/"
    description="Track workflow runs, step progress, and task status using SQL queries"
  />
  <LinkCard
    title="Monitor workers health"
    href="/deploy/monitor-workers-health/"
    description="Check worker heartbeats and operational status"
  />
</CardGrid>

## Maintain

<CardGrid>
  <LinkCard
    title="Connection string encoding"
    href="/deploy/connection-string/"
    description="URL-encode special characters in database passwords"
  />
  <LinkCard
    title="Update pgflow"
    href="/deploy/update-pgflow/"
    description="Safely upgrade pgflow to newer versions"
  />
  <LinkCard
    title="Tune deployed flows"
    href="/deploy/tune-flow-config/"
    description="Adjust retry behavior and timeouts for production flows"
  />
  <LinkCard
    title="Prune records"
    href="/deploy/prune-records/"
    description="Clean up old workflow execution data to manage database size"
  />
</CardGrid>