#1965·codimd

edu-hub

Author: kunjusk697Created Sep 3, 2026Updated Sep 3, 2026

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://render.com/schema/render.yaml.json", "title": "render.yaml JSON Schema", "description": "A JSON schema for render.yaml files. See https://render.com/docs/blueprint-spec for more information", "type": "object", "definitions": { "autoDeployTrigger": { "type": "string", "enum": ["off", "commit", "checksPass"], "description": "Sets the automatic deploy behavior for a Git-based service." }, "buildFilter": { "type": "object", "description": "File paths in the service's repo to include or ignore when determining whether to trigger an automatic build. Especially useful for monorepos.", "properties": { "paths": { "type": "array", "description": "File paths to include when determining whether to trigger a build. Uses glob syntax.", "items": { "type": "string" } }, "ignoredPaths": { "type": "array", "description": "File paths to ignore when determining whether to trigger a build, even if they match a path in 'paths'. Uses glob syntax.", "items": { "type": "string" } } } }, "diskSizeGB": { "type": "integer", "minimum": 1, "description": "The disk size in GB. Must be either 1 or a multiple of 5." }, "storageAutoscalingEnabled": { "type": "boolean", "description": "Storage Autoscaling configuration for the database." }, "connectionPool": { "type": "string", "enum": ["pgbouncer", "none"], "description": "The type of connection pool to operate in front of the database, if any." }, "databaseEnvVarProperty": { "type": "string", "enum": [ "connectionString", "connectionPoolString", "host", "port", "user", "password", "database" ], "description": "The property of the database to reference." }, "serviceEnvVarProperty": { "type": "string", "enum": ["host", "port", "hostport", "connectionString"], "description": "The property of the service to reference." }, "cronService": { "type": "object", "description": "A cron job service that runs on a schedule.", "properties": { "type": { "type": "string", "const": "cron", "description": "The type of service. Must be 'cron' for cron jobs." }, "name": { "type": "string", "description": "The service's name. Must be unique within the Blueprint." }, "region": { "$ref": "#/definitions/region" }, "plan": { "$ref": "#/definitions/cronPlan" }, "runtime": { "$ref": "#/definitions/runtime" }, "schedule": { "type": "string", "description": "The schedule for running the cron job, as a cron expression." }, "buildCommand": { "type": "string", "description": "The command that Render runs to build your service." }, "startCommand": { "type": "string", "description": "The command that Render runs to start your service." }, "dockerCommand": { "type": "string", "description": "The command to run when starting the Docker-based service. If omitted, uses the CMD defined in the Dockerfile." }, "dockerfilePath": { "type": "string", "description": "The path to the service's Dockerfile, relative to the repo root." }, "dockerContext": { "type": "string", "description": "The path to the service's Docker build context, relative to the repo root." }, "registryCredential": { "$ref": "#/definitions/registryCredential" }, "repo": { "type": "string", "description": "The URL of the GitHub/GitLab repo to use. If omitted, uses the repo containing the render.yaml file." }, "branch": { "type": "string", "description": "The branch of the linked repo to use. If omitted, uses the repo's default branch." }, "image": { "$ref": "#/definitions/image" }, "envVars": { "type": "array", "description": "Environment variables for the service.", "items": { "$ref": "#/definitions/envVar" } }, "buildFilter": { "$ref": "#/definitions/buildFilter" }, "rootDir": { "type": "string", "description": "The service's root directory within its repo. If omitted, uses the repo's root directory." }, "autoDeploy": { "type": "boolean", "description": "Whether to automatically deploy the service when the linked branch is updated." }, "autoDeployTrigger": { "$ref": "#/definitions/autoDeployTrigger" }, "preDeployCommand": { "type": "string", "description": "Command that runs after the build command but before the start command. Recommended for database migrations." } }, "required": ["type", "name", "runtime", "schedule"], "additionalProperties": false }, "database": { "type": "object", "description": "A PostgreSQL database instance.", "properties": { "name": { "type": "string", "description": "The PostgreSQL instance's name. Must be unique within the Blueprint." }, "databaseName": { "type": "string", "description": "The name of your database within the PostgreSQL instance. If omitted, Render automatically generates a name based on the instance name." }, "user": { "type": "string", "description": "The name of the PostgreSQL user to create for your instance. If omitted, Render automatically generates a name based on the instance name." }, "region": { "$ref": "#/definitions/region" }, "plan": { "$ref": "#/definitions/postgresPlan" }, "diskSizeGB": { "$ref": "#/definitions/diskSizeGB" }, "storageAutoscalingEnabled": { "$ref": "#/definitions/storageAutoscalingEnabled" }, "connectionPool": { "$ref": "#/definitions/connectionPool" }, "previewPlan": { "$ref": "#/definitions/postgresPlan", "description": "The compute plan to use for this database in preview environments." }, "previewDiskSizeGB": { "$ref": "#/definitions/diskSizeGB", "description": "The disk size to use for this database in preview environments. If omitted, preview instances use the same disk size as the primary database (specified by diskSizeGB)." }, "postgresMajorVersion": { "type": "string", "enum": ["10", "11", "12", "13", "14", "15", "16", "17", "18"], "description": "What major version of PostgreSQL the database will use. Please refer to https://render.com/docs/postgresql-upgrading#version-support for which versions may be valid for this owner." }, "highAvailability": { "type": "object", "description": "High availability configuration for the database.", "properties": { "enabled": { "type": "boolean", "description": "Whether to enable high availability for the database." } }, "required": ["enabled"], "additionalProperties": false }, "ipAllowList": { "$ref": "#/definitions/ipAllowList" }, "readReplicas": { "type": "array", "description": "Read replicas for the database instance.", "items": { "$ref": "#/definitions/readReplica" } } }, "required": ["name"], "additionalProperties": false }, "disk": { "type": "object", "description": "Persistent disk configuration for a service.", "properties": { "name": { "type": "string", "description": "The name of the disk." }, "mountPath": { "type": "string", "description": "The path where the disk will be mounted in the service." }, "sizeGB": { "type": "integer", "minimum": 1, "description": "The size of the disk in GB. Defaults to 10 if omitted." } }, "required": ["name", "mountPath"], "additionalProperties": false }, "environment": { "type": "object", "description": "An environment containing multiple services and databases.", "allOf": [ { "$ref": "#/definitions/resources" }, { "type": "object", "properties": { "name": { "type": "string", "description": "The environment's name. Must be unique within the Blueprint." }, "networking": { "type": "object", "description": "Networking configuration for the environment.", "properties": { "isolation": { "type": "string", "enum": ["enabled", "disabled"], "default": "disabled", "description": "Whether network isolation is enabled for the environment." } }, "additionalProperties": false }, "permissions": { "type": "object", "description": "Permissions configuration for the environment.", "properties": { "protection": { "type": "string", "enum": ["enabled", "disabled"], "default": "disabled", "description": "Whether protection is enabled for the environment." } }, "additionalProperties": false } }, "required": ["name"] } ], "unevaluatedProperties": false }, "envVar": { "anyOf": [ { "$ref": "#/definitions/envVarFromKeyValue" }, { "$ref": "#/definitions/envVarFromDatabase" }, { "$ref": "#/definitions/envVarFromService" }, { "$ref": "#/definitions/envVarFromGroup" } ], "description": "An environment variable definition." }, "envVarFromDatabase": { "type": "object", "description": "An environment variable that references a property of a database.", "properties": { "key": { "type": "string", "description": "The name of the environment variable." }, "fromDatabase": { "type": "object", "description": "Reference to a database property.", "properties": { "name": { "type": "string", "description": "The name of the database to reference." }, "property": { "$ref": "#/definitions/databaseEnvVarProperty" } }, "required": ["name", "property"] } }, "required": ["key", "fromDatabase"], "additionalProperties": false }, "envVarFromKeyValue": { "type": "object", "description": "An environment variable with a direct value or special configuration.", "properties": { "key": { "type": "string", "description": "The name of the environment variable." }, "value": { "anyOf": [{ "type": "string" }, { "type": "number" }], "description": "The value of the environment variable." }, "generateValue": { "type": "boolean", "description": "Whether to generate a base64-encoded 256-bit value for this environment variable." }, "sync": { "type": "boolean", "description": "Whether to prompt for a value in the Render Dashboard during Blueprint creation. Set to false for secrets." }, "previewValue": { "anyOf": [{ "type": "string" }, { "type": "number" }], "description": "The value to use for this environment variable in preview environments." } }, "required": ["key"], "additionalProperties": false }, "envVarFromService": { "type": "object", "description": "An environment variable that references a property or environment variable of another service.", "properties": { "key": { "type": "string", "description": "The name of the environment variable." }, "fromService": { "type": "object", "description": "Reference to another service.", "properties": { "type": { "$ref": "#/definitions/serviceType", "description": "The type of the service to reference." }, "name": { "type": "string", "description": "The name of the service to reference." }, "property": { "$ref": "#/definitions/serviceEnvVarProperty" }, "envVarKey": { "type": "string", "description": "The environment variable key to reference from the service." } }, "required": ["name", "type"] } }, "required": ["key", "fromService"], "additionalProperties": false }, "envVarFromGroup": { "type": "object", "description": "An environment variable that references an environment group.", "properties": { "fromGroup": { "type": "string", "description": "The name of the environment group to reference." } }, "required": ["fromGroup"], "additionalProperties": false }, "envVarGroup": { "description": "An environment group containing multiple environment variables.", "properties": { "name": { "type": "string", "description": "The name of the environment group." }, "envVars": { "type": "array", "description": "The environment variables in this group.", "items": { "$ref": "#/definitions/envVarFromKeyValue" } } }, "required": ["name", "envVars"], "additionalProperties": false }, "header": { "type": "object", "description": "HTTP response header configuration for static sites.", "properties": { "path": { "type": "string", "description": "The path pattern for which this header should be applied." }, "name": { "type": "string", "description": "The name of the HTTP header." }, "value": { "type": "string", "description": "The value of the HTTP header." } }, "required": ["path", "name", "value"] }, "image": { "type": "object", "description": "Configuration for pulling a prebuilt Docker image from a registry.", "properties": { "url": { "type": "string", "description": "The URL of the Docker image to pull." }, "creds": { "$ref": "#/definitions/registryCredential", "description": "Registry credentials for accessing private images." } }, "required": ["url"], "additionalProperties": false }, "readReplica": { "type": "object", "description": "A read replica configuration for a database.", "properties": { "name": { "type": "string", "description": "The name of the read replica." } }, "required": ["name"], "additionalProperties": false }, "ipAllowList": { "type": "array", "description": "List of IP addresses or CIDR blocks that are allowed to access the service externally.", "items": { "type": "object", "properties": { "source": { "type": "string", "description": "The IP address or CIDR block to allow access from." }, "description": { "type": "string", "description": "Optional description for this IP allow list entry." } }, "required": ["source"] } }, "numInstances": { "type": "integer", "minimum": 1, "description": "For a manually scaled service, the number of instances to scale the service to." }, "cronPlan": { "type": "string", "description": "The compute plan for a cron job.", "enum": [ "starter", "standard", "pro", "pro plus", "0.5c-512mb", "1c-2g", "2c-4g", "2c-8g", "2c-16g", "4c-8g", "4c-16g", "4c-32g", "8c-16g", "8c-32g", "8c-64g" ] }, "keyValuePlan": { "type": "string", "description": "The compute plan for a Key Value instance.", "enum": [ "free", "starter", "standard", "pro", "pro plus", "pro max", "pro ultra", "256mb", "1g", "5g", "10g", "20g", "40g" ] }, "postgresPlan": { "type": "string", "description": "The compute plan for a PostgreSQL database.", "enum": [ "free", "starter", "standard", "pro", "pro plus", "basic-256mb", "basic-1gb", "basic-4gb", "pro-4gb", "pro-8gb", "pro-16gb", "pro-32gb", "pro-64gb", "pro-128gb", "pro-192gb", "pro-256gb", "pro-384gb", "pro-512gb", "accelerated-16gb", "accelerated-32gb", "accelerated-64gb", "accelerated-128gb", "accelerated-256gb", "accelerated-384gb", "accelerated-512gb", "accelerated-768gb", "accelerated-1024gb", "0.1c-256mb", "0.5c-1g", "1c-2g", "1c-4g", "2c-4g", "2c-8g", "2c-16g", "4c-16g", "4c-32g", "8c-32g", "8c-64g", "16c-64g", "16c-128g", "32c-128g", "32c-256g", "48c-192g", "48c-384g", "64c-256g", "64c-512g", "96c-384g", "96c-768g", "128c-512g", "128c-1024g" ] }, "serverPlan": { "type": "string", "description": "The compute plan for a web service, private service, or background worker.", "enum": [ "free", "starter", "standard", "pro", "pro plus", "pro max", "pro ultra", "0.5c-512mb", "1c-2g", "2c-4g", "2c-8g", "2c-16g", "4c-8g", "4c-16g", "4c-32g", "8c-16g", "8c-32g", "8c-64g", "12c-24g", "12c-48g", "12c-96g" ] }, "previewsGeneration": { "type": "string", "description": "The preview generation mode.", "enum": ["automatic", "manual", "off"] }, "project": { "type": "object", "properties": { "name": { "type": "string", "description": "The project's name. Must be unique within the Blueprint." }, "environments": { "type": "array", "description": "A list of environments for this project.", "items": { "$ref": "#/definitions/environment" } } }, "required": ["name", "environments"], "additionalProperties": false