Skip to main content

render-blueprints

Authors and validates render.yaml Blueprints for Render infrastructure. Use when the user needs to write or edit a render.yaml, wire services together with fromDatabase/fromService/fromGroup, set up projects and environments for multi-service apps, configure preview environments, validate against the schema, or fix immutable field errors. Trigger terms: render.yaml, Blueprint, IaC, fromDatabase, fromService, envVarGroups, previews, projects, environments.

Zur Installation springen

Quellinformationen

Repository
zhongjingyun/codex-plugins
Letzte Quellaktivität
6. Juli 2026 um 07:05
Erkannte Sprache von SKILL.md
Englisch
Sterne
16
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
6 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
render-blueprints
description
Authors and validates render.yaml Blueprints for Render infrastructure. Use when the user needs to write or edit a render.yaml, wire services together with fromDatabase/fromService/fromGroup, set up projects and environments for multi-service apps, configure preview environments, validate against the schema, or fix immutable field errors. Trigger terms: render.yaml, Blueprint, IaC, fromDatabase, fromService, envVarGroups, previews, projects, environments.
license
MIT
compatibility
Git repository on GitHub, GitLab, or Bitbucket for Blueprint sync. Render CLI v2.7.0+ recommended for `render blueprints validate`. IDEs can validate against the public JSON Schema URL below.
metadata
{"author":"Render","version":"1.0.0","category":"configuration"}
# Render Blueprints (render.yaml) Blueprints define Render infrastructure as YAML (commonly `render.yaml` at the repo root). This skill focuses on **authoring**, **wiring**, **projects/environments**, **previews**, **validation**, and **immutable fields**. Heavy detail lives under `references/`. ## When to Use Apply this skill when the user: - Creates or edits a `render.yaml` / Blueprint - Wires databases, private services, or Key Value into app env vars - Groups services with **projects** and **environments** - Configures **preview environments** for pull requests - Validates YAML against Render’s schema or CLI - Asks what can or cannot change after a resource is created For end-to-end deploy flows and MCP/CLI operations, see **render-deploy**. For env var strategy outside Blueprint syntax, see **render-env-vars**. For Docker-specific Blueprint fields, see **render-docker**. ## Blueprint Structure ### Top-level keys | Key | Purpose | |-----|---------| | `services` | Web, worker, cron, private service, Key Value, static (via `web` + `runtime: static`) | | `databases` | Managed PostgreSQL instances | | `envVarGroups` | Reusable env var sets attached to services | | `projects` | Optional grouping; contains `environments` and service lists | | `previews` | Defaults for PR preview environments | A Blueprint may also use patterns like **ungrouped** resources vs **environment-scoped** lists, depending on whether you adopt the projects model. Avoid duplicating the same logical resource in multiple places (see `references/common-mistakes.md`). ### Schema and IDE validation - **JSON Schema URL:** `https://render.com/schema/render.yaml.json` - Configure your editor to associate `render.yaml` with that schema for completions and diagnostics. ### Minimal example: web + PostgreSQL ```yaml databases: - name: mydb plan: basic-256mb region: oregon services: - type: web name: api runtime: node region: oregon plan: starter buildCommand: npm ci && npm run build startCommand: npm start envVars: - key: DATABASE_URL fromDatabase: name: mydb property: connectionString ``` ## Service Types | `type` | Role | |--------|------| | `web` | Public HTTP service (use `runtime: static` for static sites) | | `pserv` | Private service (internal HTTP/TCP; not public) | | `worker` | Long-running background process | | `cron` | Scheduled job (`schedule` required) | | `keyvalue` | Managed Key Value (Redis-compatible); alias **`redis`** accepted in Blueprints | ## Runtimes Common `runtime` values: **`node`**, **`python`**, **`go`**, **`ruby`**, **`rust`**, **`elixir`**, **`docker`**, **`image`**, **`static`**. - **`docker`**: Build from `Dockerfile` (see `dockerfilePath`, `dockerContext`, `dockerCommand`). - **`image`**: Run a prebuilt container image (registry + optional `registryCredential`). - **`static`**: Static site; requires `staticPublishPath` and build output paths (see references). ## Cross-Service Wiring Env vars under `envVars` (and analogous patterns in groups) can pull values from other resources instead of hardcoding secrets. ### `fromDatabase` Reference a database in `databases:` by `name`. Properties include: - `connectionString`, `host`, `port`, `user`, `password`, `database` ### `fromService` Reference a service by `name`. Typical properties: - `host`, `port`, `hostport`, `connectionString`, `envVarKey` Which properties are valid depends on target service type (e.g. Key Value vs `pserv`). See `references/wiring-patterns.md`. ### `fromGroup` Attach shared vars from `envVarGroups` (by group `name`). ### Other env var keys - **`value`**: Literal string. - **`generateValue`**: Let Render generate a random secret (password/API key). - **`sync`**: Set `sync: false` for secrets that should not sync from repo on every update (see edge cases in wiring reference). Full patterns and combinations: `references/wiring-patterns.md`. ## Projects and Environments For multi-service apps, use the **`projects`/`environments`** pattern instead of flat top-level `services`/`databases`. This groups all related resources into a single Render project, supports multiple environments (production, staging), and enables environment-scoped configuration. ```yaml projects: - name: my-app environments: - name: production services: - type: web name: api runtime: node plan: standard buildCommand: npm ci && npm run build startCommand: npm start envVars: - key: DATABASE_URL fromDatabase: name: db property: connectionString - key: REDIS_URL fromService: type: keyvalue name: cache property: connectionString - key: API_SECRET sync: false - type: worker name: jobs runtime: node plan: starter buildCommand: npm ci startCommand: node worker.js envVars: - key: DATABASE_URL fromDatabase: name: db property: connectionString - key: REDIS_URL fromService: type: keyvalue name: cache property: connectionString - type: keyvalue name: cache plan: starter maxmemoryPolicy: noeviction ipAllowList: - source: 0.0.0.0/0 description: everywhere databases: - name: db plan: starter ``` Key rules: - Each environment owns its `services` and `databases` lists. - Do not define the same resource at both the root level and inside an environment. - `envVarGroups` can be scoped to a project environment or shared across the workspace. - Environment isolation (Professional+) can block cross-environment private network traffic. For single-service apps, flat top-level `services`/`databases` is fine. Reach for the projects pattern when you have multiple services, need staging/production separation, or want environment-scoped env groups. ## Preview Environments Top-level `previews` controls PR previews: - **`previews.generation`**: `off` (default), `manual`, or `automatic` - **`previews.expireAfterDays`**: Auto-delete preview stacks after N days Services can override preview behavior (e.g. service-level `previews.generation`). Limitations: autoscaling behavior, `sync: false` vars, `previewPlan` / flexible instance constraints—see `references/preview-environments.md`. ## Validation ```bash render blueprints validate ``` Requires **Render CLI v2.7.0+**. Run from the repo root (or pass the appropriate path options your CLI version supports). Fix schema and semantic errors before merging Blueprint changes. Official schema: `https://render.com/schema/render.yaml.json` ## Immutable Fields **CRITICAL:** Some fields cannot change after the resource is created. Edits may be rejected or require replacement resources. ### Services - **`type`**: Cannot change (e.g. web → worker). - **`runtime`**: Cannot change (e.g. node → docker). ### Databases Cannot change after creation: - `name` (logical Blueprint/database identifier in this context) - `databaseName` - `user` - `region` - `postgresMajorVersion` Plan other fields (disk, HA, replicas) carefully up front; consult Render docs for fields that can scale vs require recreation. ## Key Fields (Quick Map) | Area | Fields | |------|--------| | Plans | `plan`, `previewPlan` (previews), database `plan` | | Build/run | `buildCommand`, `startCommand`, `preDeployCommand`, `rootDir` | | Deploy | `autoDeployTrigger`: `commit`, `checksPass`, or `off` | | Lifecycle | `maxShutdownDelaySeconds`: 1–300, default **30** | | HTTP | `healthCheckPath`, `domains` | | Storage | `disk` (`name`, `mountPath`, `sizeGB`) | | Scale | `scaling` / `numInstances` (see references) | | Monorepo | `buildFilter` (`paths`, `ignoredPaths`) | | Docker | `dockerfilePath`, `dockerContext`, `dockerCommand`, `registryCredential` | Deprecated names to avoid: `env` (use `runtime`), `redis` (use `keyvalue`), `autoDeploy` (use `autoDeployTrigger`), `pullRequestPreviewsEnabled` (use `previews.generation`). Details: `references/common-mistakes.md`. ## References | Document | Contents | |----------|----------| | `references/field-reference.md` | YAML fields by service type, database, groups, projects, previews, scaling, disk, static, Key Value | | `references/wiring-patterns.md` | `fromDatabase` / `fromService` / `fromGroup` examples, `sync: false`, `generateValue`, combinations | | `references/common-mistakes.md` | Branch + previews, `buildFilter`, replicas, duplicates, preview plans, wiring mistakes | | `references/preview-environments.md` | `previews.generation`, expiry, overrides, `previewPlan`, disks, PR workflow | ## Related Skills - **render-deploy** — Deploy flows, Blueprint vs direct create, MCP/deeplinks - **render-env-vars** — Env var strategy, secrets, Dashboard vs Blueprint - **render-docker** — Dockerfile-backed services and image runtime nuances
Auf GitHub ansehen