← Files RenderARCHIVED FILE

skills/render-blueprints/references/field-reference.md

8.27 KB · Oct 5, 2026 · 12:03 UTC

↓ Download file

# Render Blueprint YAML Field Reference

Authoritative detail for `render.yaml` fields. Pair with `wiring-patterns.md`, `common-mistakes.md`, and `preview-environments.md`.

## Conventions

- **`name`**: Stable identifier for the resource within the Blueprint; used by `fromService`, `fromDatabase`, and the Dashboard.
- **Required vs optional** vary by `type` and `runtime`; validate with the JSON Schema (`https://render.com/schema/render.yaml.json`) and `render blueprints validate`.

---

## Common service fields (most types)

Applies broadly to `web`, `pserv`, `worker`, `cron`, and often `keyvalue` where relevant.

| Field | Notes |
|-------|--------|
| `name` | Unique among services in scope. |
| `type` | `web`, `pserv`, `worker`, `cron`, `keyvalue` (alias `redis`). **Immutable after create.** |
| `runtime` | `node`, `python`, `go`, `ruby`, `rust`, `elixir`, `docker`, `image`, `static`. **Immutable after create.** |
| `region` | Deploy region. |
| `plan` | Instance/plan slug. |
| `previewPlan` | Plan used for preview instances; constraints vs primary `plan` (see preview doc). |
| `branch` | Git branch to deploy. |
| `rootDir` | Subdirectory for repo context. |
| `buildCommand` | Build step(s). |
| `startCommand` | Process to run (not used the same way for `cron`—see below). |
| `preDeployCommand` | Command before deploy rollout. |
| `autoDeployTrigger` | `commit`, `checksPass`, or `off`. |
| `maxShutdownDelaySeconds` | 1–300; default **30**. |
| `healthCheckPath` | HTTP path for health checks (`web` / some others as applicable). |
| `domains` | Custom domains list. |
| `envVars` | List of env var objects (see [Env vars patterns](#env-vars-patterns)). |
| `buildFilter` | Limit builds to path changes (see [buildFilter](#buildfilter)). |
| `disk` | Persistent disk attachment (see [disk](#disk)). |
| `scaling` | Autoscaling settings (see [scaling](#scaling)). |
| `numInstances` | Manual instance count; interacts with `scaling`. |
| `registryCredential` | For private registry pulls (`image` runtime / images). |
| `dockerfilePath` | Path to Dockerfile (`docker` runtime). |
| `dockerContext` | Docker build context path. |
| `dockerCommand` | Override container command. |
| `previews` | Service-level preview overrides (e.g. `generation`). |

**Cron-specific**

| Field | Notes |
|-------|--------|
| `schedule` | Cron expression. |
| `buildCommand` / `startCommand` | Build + command invoked on schedule. |

**Key Value (`keyvalue` / `redis`)**

| Field | Notes |
|-------|--------|
| `maxmemoryPolicy` | Eviction policy for Key Value. |
| `ipAllowList` | **Typically required** for access control; mistakes around this are common. |

**Private service (`pserv`)**

| Field | Notes |
|-------|--------|
| (common fields) | Internal hostname/port wiring via `fromService` for consumers. |

**Web + `runtime: static` (static sites)**

| Field | Notes |
|-------|--------|
| `staticPublishPath` | Directory of built assets to publish. |
| `headers` | Custom response headers (rules/objects per schema). |
| `routes` | SPA / routing rules (e.g. fallback to `index.html`). |

---

## Database fields (`databases`)

| Field | Notes |
|-------|--------|
| `name` | Blueprint identifier; **immutable** after creation. |
| `plan` | Database plan. |
| `previewPlan` | Plan for preview DB instances. |
| `previewDiskSizeGB` | Disk sizing for preview databases. |
| `postgresMajorVersion` | Major version; **immutable**. |
| `databaseName` | **Immutable.** |
| `user` | **Immutable.** |
| `region` | **Immutable.** |
| `diskSizeGB` | Storage size. |
| `storageAutoscalingEnabled` | Autoscale storage when supported. |
| `readReplicas` | Replica list; **empty list removes all replicas** (destructive). |
| `highAvailability` | HA enabled/disabled per plan support. |
| `ipAllowList` | CIDR restrictions where applicable. |

---

## envVarGroups

| Field | Notes |
|-------|--------|
| `name` | Group identifier for `fromGroup`. |
| `envVars` | Same patterns as service `envVars` (`value`, `generateValue`, `fromDatabase`, `fromService`, etc.). |

**Constraint:** `sync: false` is **not valid** in env var groups (see wiring / mistakes docs).

---

## projects / environments

Projects group one or more **environments** (e.g. production, staging) under a single Render project. Use this pattern for multi-service apps.

### Project fields

| Field | Notes |
|-------|--------|
| `name` | Project name (appears in Dashboard). |
| `environments` | List of environment blocks. |
| `envVarGroups` | Env var groups scoped to the project (shared across its environments). |

### Environment fields

Each environment is a self-contained set of resources:

| Field | Notes |
|-------|--------|
| `name` | Environment key (e.g. `production`, `staging`). |
| `services` | Services belonging to this environment (same schema as top-level `services`). |
| `databases` | Databases belonging to this environment (same schema as top-level `databases`). |
| `envVarGroups` | Env var groups scoped to this environment. |

### Structural rules

- **No duplication:** Define each resource in **one** place: either at the root level **or** inside a single environment. Never both.
- **Cross-environment wiring:** `fromDatabase` and `fromService` resolve within the same environment. Referencing resources across environments is not supported in Blueprint YAML.
- **Environment isolation:** On Professional and higher plans, environments can be isolated so services in different environments cannot reach each other over the private network.
- **When to use projects:** Multiple services that belong together, staging/production parity, environment-scoped env groups. Single-service apps can use flat top-level lists instead.

---

## previews (top-level)

| Field | Notes |
|-------|--------|
| `generation` | `off` (default), `manual`, or `automatic`. |
| `expireAfterDays` | Delete preview environments after N days. |

Services may override selected preview behavior.

---

## Env vars patterns

Each entry is typically keyed by `key` plus **one** of:

| Pattern | Purpose |
|---------|---------|
| `value` | Inline literal. |
| `generateValue` | Render generates a random secret. |
| `sync` | `false` = do not sync from Blueprint after initial setup (secrets); see limitations in preview/group docs. |
| `fromDatabase` | Pull DB host, port, user, password, database, or `connectionString`. |
| `fromService` | Pull host/port/connection info from another service. |
| `fromGroup` | Import vars from an `envVarGroup` by name. |

---

## scaling

| Field | Notes |
|-------|--------|
| `numInstances` | Fixed instance count when not using autoscaling (or as baseline depending on config). |
| `scaling.minInstances` | Floor for autoscaled services. |
| `scaling.maxInstances` | Ceiling for autoscaled services. |
| `scaling.targetCPUPercent` | CPU target for autoscaling. |
| `scaling.targetMemoryPercent` | Memory target for autoscaling. |

**Previews:** Autoscaling is disabled; previews use **minInstances** behavior (see `preview-environments.md`).

---

## disk

Attached disk object on a service:

| Field | Notes |
|-------|--------|
| `name` | Disk identifier. |
| `mountPath` | Mount path in the instance filesystem. |
| `sizeGB` | Size in GB. |

---

## buildFilter

Limit which Git changes trigger builds:

| Field | Notes |
|-------|--------|
| `paths` | Include paths (glob / path rules per schema). |
| `ignoredPaths` | Excluded paths. |

**Sync behavior:** Omitting `paths` or `ignoredPaths` when syncing can **replace** existing filters with empty lists—always send the full desired filter set.

---

## static site fields (`type: web`, `runtime: static`)

| Field | Notes |
|-------|--------|
| `buildCommand` | Build static assets. |
| `staticPublishPath` | Output directory for publishing. |
| `headers` | Header rules for responses. |
| `routes` | URL routing / SPA fallback configuration. |
| `buildFilter` | Path-based build triggers. |

---

## Key Value fields (`type: keyvalue`)

| Field | Notes |
|-------|--------|
| `name`, `region`, `plan` | Standard resource fields. |
| `maxmemoryPolicy` | Eviction policy string. |
| `ipAllowList` | **Required** for proper network restriction in typical setups—do not omit unless you explicitly accept open access per product rules. |

---

## Schema

Use `https://render.com/schema/render.yaml.json` as the source of truth for required fields and enum values; Render may add fields over time.

SHA-256: 809e6ee5af86d396626e33c969691ba2a49c1d306c2fea8a3626e3355b05794a