bootstrap-vz/bootstrapvz/remote/build_servers/build-servers-schema.yml
Anders Ingemann 072969065c Implement docker integration test provider and docker tests
Also make build_server.remote_command() public. It's quite useful.
2015-12-13 23:12:00 +01:00

83 lines
2.2 KiB
YAML

---
$schema: http://json-schema.org/draft-04/schema#
title: Build server settings list
type: object
properties:
local:
type: object
properties:
type: {enum: [local]}
can_bootstrap: {$ref: '#/definitions/can_bootstrap'}
release: {type: string}
build_settings: {$ref: '#/definitions/build_settings'}
required: [type, can_bootstrap, release]
patternProperties:
^(?!local).*$: {$ref: '#/definitions/ssh'}
definitions:
absolute_path:
type: string
pattern: ^/[^\0]+$
can_bootstrap:
type: array
items:
enum:
- virtualbox
- ec2-ebs
- ec2-s3
- docker
build_settings:
type: object
properties:
guest_additions: {$ref: '#/definitions/absolute_path'}
ec2-credentials:
required: [access-key, secret-key]
type: object
properties:
access-key: {type: string}
secret-key: {type: string}
certificate: {type: string}
private-key: {type: string}
user-id:
type: string
pattern: (^arn:aws:iam::\d*:user/\w.*$)|(^\d{4}-\d{4}-\d{4}$)
additional_properties: false
apt_proxy:
type: object
properties:
address: {type: string}
port: {type: integer}
persistent: {type: boolean}
required: [address, port]
run_settings:
type: object
properties:
ec2-credentials:
required: [access-key, secret-key]
type: object
properties:
access-key: {type: string}
secret-key: {type: string}
additional_properties: false
docker:
type: object
properties:
machine: {type: string}
additional_properties: false
ssh:
type: object
properties:
type: {enum: [ssh]}
can_bootstrap: {$ref: '#/definitions/can_bootstrap'}
build_settings: {$ref: '#/definitions/build_settings'}
release: {type: string}
address: {type: string}
port: {type: integer}
username: {type: string}
password: {type: string}
keyfile: {$ref: '#/definitions/absolute_path'}
server_bin: {$ref: '#/definitions/absolute_path'}
required: [type, can_bootstrap, release]