Skip to content

Instantly share code, notes, and snippets.

@austince
Last active March 18, 2019 21:35
Show Gist options
  • Save austince/9c8240a98c5efa195a72be8eb76aef52 to your computer and use it in GitHub Desktop.
Save austince/9c8240a98c5efa195a72be8eb76aef52 to your computer and use it in GitHub Desktop.
json schema to validate Dockerrun.aws.json Version 1 files
{
"$id": "https://gist.githubusercontent.com/austince/9c8240a98c5efa195a72be8eb76aef52/raw/ab96ba8866e8b13e9afd4e989b5b4f3d2feb9684/dockerrun-v1-json-schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "AWS Dockerrun.aws.json v1 schema",
"type": "object",
"additionalProperties": false,
"required": [
"AWSEBDockerrunVersion",
"Image"
],
"properties": {
"AWSEBDockerrunVersion": {
"const": 1
},
"Authentication": {
"type": "object",
"required": [
"Bucket",
"Key"
],
"additionalProperties": false,
"properties": {
"Bucket": {
"type": "string"
},
"Key": {
"type": "string"
}
}
},
"Image": {
"type": "array",
"description": "Creates volumes from folders in the Amazon EC2 container instance, or from your source bundle (deployed to /var/app/current).",
"items": {
"type": "object",
"required": [
"name",
"host"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"host": {
"type": "object",
"required": [
"sourcePath"
],
"additionalProperties": false,
"properties": {
"sourcePath": {
"type": "string"
}
}
}
}
}
},
"Ports": {
"type": "array",
"description": "Maps network ports on the container to ports on the host.",
"items": {
"type": "object",
"required": [
"ContainerPort",
"HostPort"
],
"additionalProperties": false,
"properties": {
"ContainerPort": {
"type": "integer",
"minimum": 0
},
"HostPort": {
"type": "integer",
"minimum": 0
}
}
}
},
"Volumes": {
"type": "array",
"description": "Map volumes from an EC2 instance to your Docker container. Specify one or more arrays of volumes to map.",
"items": {
"type": "object",
"required": [
"HostDirectory",
"ContainerDirectory"
],
"additionalProperties": false,
"properties": {
"HostDirectory": {
"type": "string"
},
"ContainerDirectory": {
"type": "string"
}
}
}
},
"Logging": {
"type": "string",
"description": "Specify the directory inside the container to which your application writes logs. Elastic Beanstalk uploads any logs in this directory to Amazon S3 when you request tail or bundle logs.",
"minLength": 1
},
"Entrypoint": {
"type": "string",
"description": "Specify a default command to run when the container starts.",
"minLength": 1
},
"Command": {
"type": "string",
"description": "Specify a command to execute in the container. If you specify an Entrypoint, then Command is added as an argument to Entrypoint.",
"minLength": 1
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment