> ## Documentation Index
> Fetch the complete documentation index at: https://docs.failzero.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get FailZero running in 15 minutes

# Quickstart

Deploy your first DR plan in 15 minutes.

## 1. Sign Up

Go to [failzero.io](https://failzero.io) and create a free account.

## 2. Create Agent Token

<Steps>
  <Step title="Log in to failzero.io">
    Click your email in the top right
  </Step>

  <Step title="Create Token">
    Select **Agent** type and give it a name
  </Step>

  <Step title="Copy token">
    Save the `fzat_...` token (shown only once)
  </Step>
</Steps>

## 3. Deploy Agent

<CodeGroup>
  ```bash Docker theme={null}
  docker run -d \
    --name failzero-agent \
    -e FAILZERO_AGENT_TOKEN=fzat_your_token \
    -e FAILZERO_API_URL=https://api.failzero.io \
    -e PROVIDER_TYPE=gcp \
    -e GCP_PROJECT_ID=your-project \
    failzero/agent:latest
  ```

  ```bash GCP theme={null}
  gcloud compute instances create failzero-agent \
    --service-account=failzero-agent@your-project.iam.gserviceaccount.com \
    --scopes=cloud-platform \
    --metadata=FAILZERO_AGENT_TOKEN=fzat_your_token
  ```
</CodeGroup>

<Info>
  The agent uses your local IAM credentials. No keys shared with FailZero.
</Info>

## 4. Install CLI

```bash theme={null}
npm install -g @failzero/cli
```

## 5. Authenticate

```bash theme={null}
fz auth login
```

Opens browser, logs you in, stores token in keychain.

## 6. Create DR Plan

Create `testing-dr.yaml`:

```yaml theme={null}
name: "testing-api"

provider:
  type: "gcp"
  project_id: "your-project"
  region: "us-west1"

monitors:
  - name: "api-health"
    type: "https"
    endpoint: "https://api.yourapp.com/health"
    interval: "60s"
    failure_threshold: 3

failover:
  strategy: "manual"

  steps:
    - name: "promote-db"
      type: "database-promote"
      resource: "prod-db-replica"

    - name: "update-dns"
      type: "dns-update"
      zone: "your-zone"
      record: "api.yourapp.com."
      target: "BACKUP_IP"

notifications:
  - type: "webhook"
    url: "https://your-system.com/webhooks/failzero"
    events: ["threshold-reached", "failover-completed"]
```

## 7. Deploy

```bash theme={null}
fz deploy testing-dr.yaml
```

<Check>
  Plan deployed! Agent is now monitoring your infrastructure.
</Check>

## 8. Test Failover

```bash theme={null}
fz failover testing-api --reason "Testing"
```

<Warning>
  This executes your DR plan. Test in a non-production environment first.
</Warning>

## Next Steps

<CardGroup cols={2}>
  <Card title="Agent Deployment" icon="server" href="/agent/overview">
    Detailed agent setup for GCP, AWS, Kubernetes
  </Card>

  <Card title="Example Plans" icon="code" href="/guides/examples">
    Real-world DR configurations
  </Card>

  <Card title="CLI Reference" icon="terminal" href="/guides/cli">
    All CLI commands
  </Card>

  <Card title="Multi-Cloud" icon="globe" href="/guides/examples#multi-cloud">
    Fail over between GCP and AWS
  </Card>
</CardGroup>
