<span id="managed-addons" />

# マネージドアドオン

Lizard は、単一のコマンドでマネージド **Postgres**、**Redis**、**S3 互換オブジェクトストレージ** をプロビジョニングします。各アドオンはプロジェクト内に作成され、固定の環境変数セットを公開し、サービスから [参照](https://lizard.build/ja/docs/concepts/architecture#cross-resource-references) を通じて利用されます。

<span id="provision-an-addon" />

## アドオンをプロビジョニングする

```bash
lizard add postgres            # one addon
lizard add postgres redis s3   # several at once
lizard add --list              # show available types
```

<span id="naming" />

## 命名

特定の種類の **最初の** アドオンは、その種類そのものを名前として受け取ります。つまり、`${{postgres.DATABASE_URL}}` はそのまますぐに動作します。同じ種類の追加アドオンには、`postgres-autumn-bear` のような生成された名前が付きます。

種類エイリアスへのフォールバックはありません。参照では、アドオンの **実際の** 名前を使う必要があります。参照は ID で保存されるため、後からアドオン名を変更しても、既存の利用側は壊れません:

```bash
lizard service rename --service postgres   # addons rename through the same command
```

<span id="consuming-an-addon" />

## アドオンを利用する

任意のサービスからアドオンの変数を参照できます。参照はデプロイ時に解決され、アドオンの認証情報が変更されると自動的にローテーションされます:

```bash
lizard secrets set DATABASE_URL='${{postgres.DATABASE_URL}}' --service api
lizard redeploy --service api
```

参照は、実際にそれを使うサービスにだけスコープしてください（[Secret scoping](https://lizard.build/ja/docs/variables#scoping) を参照）。

<span id="variables-by-type" />

## 種類ごとの変数

| アドオン | 変数 |
|-------|-----------|
| **postgres** | `DATABASE_URL`, `PGHOST`, `PGPORT`, `PGUSER`, `PGPASSWORD`, `PGDATABASE`, `POSTGRES_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD` |
| **redis** | `REDIS_URL` |
| **s3** | `S3_ENDPOINT`, `S3_DEFAULT_BUCKET`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_REGION` |

<span id="dashboard-browsers" />

## ダッシュボードブラウザー

[dashboard](https://lizard.build/ja/docs/dashboard) には各アドオン用のデータブラウザーが用意されています。Postgres には SQL/テーブルエディター、Redis にはキーブラウザー、S3 にはバケット/オブジェクトブラウザーがあり、Lizard を離れずにデータを確認して編集できます。

<span id="storage" />

## ストレージ

アドオンのデータボリュームは **増加専用** です。容量の増加は次のコマンドで行います:

```bash
lizard scale --service postgres --storage 8192
```

<span id="per-type-guides" />

## 種類別ガイド

- [Postgres](https://lizard.build/ja/docs/addons/postgres)
- [Redis](https://lizard.build/ja/docs/addons/redis)
- [Object Storage (S3)](https://lizard.build/ja/docs/addons/storage)

プロトタイプで通常この 3 つが一度に必要になる理由については、[SaaS に必要なスタックの残り](https://lizard.build/blog/google-antigravity-how-to-deploy-your-app-to-production#the-rest-of-the-stack-a-saas-needs) を参照してください。
