Encore · Schema

Encore Infrastructure Resource

Schema describing a declarative infrastructure resource produced by Encore's Infrastructure from Code parser.

BackendFrameworkCloudTypeScriptGoDeveloperToolsInfrastructureFromCodeMicroservicesObservabilityMulticloud

Properties

Name Type Description
kind string
name string
service string Encore service that owns the resource.
provisioning object
config object Resource-specific configuration (delivery guarantee, retention, versioning, schedule, etc.).
View JSON Schema on GitHub

JSON Schema

encore-infrastructure-resource-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/encore-dev/main/json-schema/encore-infrastructure-resource-schema.json",
  "title": "Encore Infrastructure Resource",
  "description": "Schema describing a declarative infrastructure resource produced by Encore's Infrastructure from Code parser.",
  "type": "object",
  "required": ["kind", "name"],
  "properties": {
    "kind": {
      "type": "string",
      "enum": ["database", "pubsub_topic", "pubsub_subscription", "bucket", "cache", "cron_job", "secret"]
    },
    "name": {
      "type": "string"
    },
    "service": {
      "type": "string",
      "description": "Encore service that owns the resource."
    },
    "provisioning": {
      "type": "object",
      "properties": {
        "local": {
          "type": "string",
          "description": "How the resource is provisioned locally (e.g. docker-postgres, in-memory-pubsub, local-bucket)."
        },
        "aws": {
          "type": "string",
          "description": "AWS managed resource Encore Cloud provisions (e.g. rds-postgres, sqs+sns, s3)."
        },
        "gcp": {
          "type": "string",
          "description": "GCP managed resource Encore Cloud provisions (e.g. cloud-sql-postgres, pubsub, gcs)."
        }
      }
    },
    "config": {
      "type": "object",
      "additionalProperties": true,
      "description": "Resource-specific configuration (delivery guarantee, retention, versioning, schedule, etc.)."
    }
  },
  "additionalProperties": false
}