Skip to content

Instantly share code, notes, and snippets.

@timheuer
Last active February 21, 2024 02:08
Show Gist options
  • Save timheuer/8867929037abdfded994bcf2b049075c to your computer and use it in GitHub Desktop.
Save timheuer/8867929037abdfded994bcf2b049075c to your computer and use it in GitHub Desktop.
aspire-manifest-schema.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema for .NET Aspire Manifest",
"type": "object",
"properties": {
"resources": {
"type": "object",
"description": "A list of the resources",
"patternProperties": {
"^[a-zA-Z0-9]+$": {
"type": "object",
"description": "The resource type name",
"properties": {
"type": {
"description": "The resource type name",
"anyOf": [
{
"type": "string",
"enum": [
"azure.appconfiguration.v0",
"azure.keyvault.v0",
"azure.redis.v0",
"azure.servicebus.v0",
"azure.sql.database.v0",
"azure.sql.v0",
"azure.storage.blob.v0",
"azure.storage.queue.v0",
"azure.storage.table.v0",
"azure.storage.v0",
"container.v0",
"docker.v0",
"postgres.connection.v0",
"postgres.database.v0",
"postgres.server.v0",
"project.v0",
"rabbitmq.connection.v0",
"rabbitmq.server.v0",
"redis.v0",
"sqlserver.connection.v0",
"sqlserver.database.v0",
"sqlserver.server.v0"
]
},
{
"type": "string"
}
],
},
"parent": {
"type": "string",
"description": "The parent resource ID"
},
"path": {
"description": "Path to this resource if known",
"type": "string"
},
"context": {
"description": "Context path for Docker",
"type": "string"
},
"image": {
"description": "Docker image URI",
"type": "string"
},
"env": {
"type": "object",
"description": "Environment variables",
"patternProperties": {
"^[a-zA-Z0-9_]+$": {
"type": "string"
}
}
},
"bindings": {
"type": "object",
"description": "Object bindings",
"patternProperties": {
"^[a-zA-Z0-9]+$": {
"type": "object",
"properties": {
"scheme": {
"type": "string",
"description": "Scheme",
"enum": [ "tcp", "udp", "http", "https" ]
},
"protocol": {
"type": "string",
"description": "Protocol",
"enum": [ "tcp", "udp" ]
},
"transport": {
"type": "string",
"description": "Same as scheme but used to disambiguate between http and http2"
},
"containerPort": {
"type": "integer",
"description": "Container port to use"
}
},
"required": [ "scheme", "protocol", "transport" ]
}
}
},
"connectionString": {
"type": "string",
"description": "Connection string"
},
"inputs": {
"type": "object",
"description": "Input bindings",
"patternProperties": {
"^[a-zA-Z0-9]+$": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"secret": {
"type": "boolean"
}
}
}
}
}
},
"required": [ "type" ]
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment