2014-07-05 20:01:20 +02:00
|
|
|
---
|
|
|
|
$schema: http://json-schema.org/draft-04/schema#
|
|
|
|
title: Generic manifest
|
|
|
|
type: object
|
2015-12-13 14:54:06 +01:00
|
|
|
required: [name, provider, bootstrapper, system, volume]
|
2014-07-05 20:01:20 +02:00
|
|
|
properties:
|
2015-12-13 14:54:06 +01:00
|
|
|
name:
|
|
|
|
type: string
|
2014-07-05 20:01:20 +02:00
|
|
|
provider:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
name: {type: string}
|
|
|
|
required: [name]
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: true
|
2014-07-05 20:01:20 +02:00
|
|
|
bootstrapper:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
exclude_packages:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
pattern: '^[^/]+$'
|
|
|
|
minItems: 1
|
|
|
|
include_packages:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
pattern: '^[^/]+$'
|
|
|
|
minItems: 1
|
|
|
|
mirror:
|
|
|
|
type: string
|
|
|
|
format: uri
|
|
|
|
tarball: {type: boolean}
|
|
|
|
workspace:
|
|
|
|
$ref: '#/definitions/path'
|
2015-12-09 19:00:06 +01:00
|
|
|
variant:
|
|
|
|
type: string
|
2015-12-13 15:24:37 +01:00
|
|
|
enum: [minbase]
|
2014-07-05 20:01:20 +02:00
|
|
|
required: [workspace]
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
system:
|
2015-05-02 12:45:55 +02:00
|
|
|
type: object
|
2014-07-05 20:01:20 +02:00
|
|
|
properties:
|
|
|
|
architecture:
|
2016-01-08 12:59:38 -06:00
|
|
|
enum: [i386, amd64, arm64]
|
2014-11-19 21:57:24 +00:00
|
|
|
userspace_architecture:
|
|
|
|
enum: [i386]
|
2014-07-05 20:01:20 +02:00
|
|
|
bootloader:
|
|
|
|
enum:
|
2016-09-22 17:19:40 +01:00
|
|
|
- pvgrub
|
|
|
|
- grub
|
|
|
|
- extlinux
|
|
|
|
- none
|
2014-07-05 20:01:20 +02:00
|
|
|
charmap: {type: string}
|
|
|
|
hostname:
|
|
|
|
type: string
|
|
|
|
pattern: ^\S+$
|
|
|
|
locale: {type: string}
|
2015-04-29 20:55:55 +02:00
|
|
|
release: {type: string}
|
2014-07-05 20:01:20 +02:00
|
|
|
timezone: {type: string}
|
|
|
|
required:
|
2016-09-22 17:19:40 +01:00
|
|
|
- release
|
|
|
|
- architecture
|
|
|
|
- bootloader
|
|
|
|
- timezone
|
|
|
|
- locale
|
|
|
|
- charmap
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
packages:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
components:
|
|
|
|
type: array
|
|
|
|
items: {type: string}
|
|
|
|
minItems: 1
|
|
|
|
install:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
anyOf:
|
2016-09-22 17:19:40 +01:00
|
|
|
- pattern: ^[^/]+(/[^/]+)?$
|
|
|
|
- $ref: '#/definitions/absolute_path'
|
2014-07-05 20:01:20 +02:00
|
|
|
minItems: 1
|
|
|
|
install_standard: {type: boolean}
|
|
|
|
mirror:
|
|
|
|
type: string
|
|
|
|
format: uri
|
2017-11-27 18:48:57 -08:00
|
|
|
security:
|
|
|
|
type: string
|
|
|
|
format: uri
|
2014-07-05 20:01:20 +02:00
|
|
|
preferences:
|
|
|
|
type: object
|
|
|
|
patternProperties:
|
|
|
|
^[^/\0]+$:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
package: {type: string}
|
|
|
|
pin: {type: string}
|
|
|
|
pin-priority: {type: integer}
|
|
|
|
required: [pin, package, pin-priority]
|
|
|
|
additionalProperties: false
|
|
|
|
minItems: 1
|
2016-03-11 03:03:34 +01:00
|
|
|
minProperties: 1
|
2014-07-05 20:01:20 +02:00
|
|
|
additionalProperties: false
|
2016-03-11 03:01:18 +01:00
|
|
|
apt.conf.d:
|
|
|
|
type: object
|
|
|
|
patternProperties:
|
|
|
|
^[0-9A-Za-z][0-9A-Za-z-_.]+$:
|
|
|
|
type: string
|
|
|
|
minProperties: 1
|
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
sources:
|
|
|
|
type: object
|
|
|
|
patternProperties:
|
|
|
|
^[^/\0]+$:
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
pattern: ^(deb|deb-src)\s+(\[\s*(.+\S)?\s*\]\s+)?\S+\s+\S+(\s+(.+\S))?\s*$
|
|
|
|
minItems: 1
|
|
|
|
type: array
|
2016-03-11 03:03:34 +01:00
|
|
|
minProperties: 1
|
2014-07-05 20:01:20 +02:00
|
|
|
additionalProperties: false
|
|
|
|
trusted-keys:
|
|
|
|
type: array
|
|
|
|
items:
|
2017-07-14 18:25:07 +02:00
|
|
|
$ref: '#/definitions/path'
|
2014-07-05 20:01:20 +02:00
|
|
|
minItems: 1
|
2015-03-03 19:39:58 -03:00
|
|
|
include-source-type: {type: boolean}
|
2014-07-05 20:01:20 +02:00
|
|
|
additionalProperties: false
|
|
|
|
plugins:
|
|
|
|
type: object
|
|
|
|
patternProperties:
|
2016-02-22 15:16:45 +01:00
|
|
|
^\w+$: {}
|
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
volume:
|
2017-05-14 21:09:19 +02:00
|
|
|
type: object
|
|
|
|
oneOf:
|
|
|
|
- $ref: '#/definitions/standardvolume'
|
|
|
|
- $ref: '#/definitions/logicalvolume'
|
|
|
|
definitions:
|
|
|
|
standardvolume:
|
2014-07-05 20:01:20 +02:00
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
backing: {type: string}
|
|
|
|
partitions:
|
|
|
|
type: object
|
|
|
|
oneOf:
|
2016-09-22 17:19:40 +01:00
|
|
|
- $ref: '#/definitions/no_partitions'
|
|
|
|
- $ref: '#/definitions/partition_table'
|
2014-07-05 20:01:20 +02:00
|
|
|
required: [partitions]
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: false
|
2017-05-14 21:09:19 +02:00
|
|
|
logicalvolume:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
backing:
|
|
|
|
enum: [lvm]
|
|
|
|
volumegroup : {type: string}
|
|
|
|
logicalvolume: {type: string}
|
|
|
|
partitions:
|
|
|
|
type: object
|
|
|
|
oneOf:
|
|
|
|
- $ref: '#/definitions/no_partitions'
|
|
|
|
- $ref: '#/definitions/partition_table'
|
|
|
|
required: [partitions]
|
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
absolute_path:
|
|
|
|
type: string
|
|
|
|
pattern: ^/[^\0]+$
|
|
|
|
bytes:
|
|
|
|
pattern: ^\d+([KMGT]i?B|B)$
|
|
|
|
type: string
|
|
|
|
no_partitions:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
root: {$ref: '#/definitions/partition'}
|
|
|
|
type: {enum: [none]}
|
2016-12-10 16:09:58 +01:00
|
|
|
required: [type, root]
|
2014-07-05 20:01:20 +02:00
|
|
|
additionalProperties: false
|
|
|
|
partition:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
filesystem:
|
2015-06-30 01:37:09 +00:00
|
|
|
enum: [ext2, ext3, ext4, xfs, btrfs]
|
2014-07-05 20:01:20 +02:00
|
|
|
format_command:
|
|
|
|
items: {type: string}
|
|
|
|
minItems: 1
|
|
|
|
type: array
|
2016-12-10 16:10:37 +01:00
|
|
|
mountopts:
|
|
|
|
items: {type: string}
|
|
|
|
minItems: 1
|
|
|
|
type: array
|
2014-07-05 20:01:20 +02:00
|
|
|
size: {$ref: '#/definitions/bytes'}
|
2018-01-25 14:48:34 +02:00
|
|
|
mode: {type: string}
|
2014-07-05 20:01:20 +02:00
|
|
|
required: [size, filesystem]
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
partition_table:
|
|
|
|
type: object
|
2016-12-10 16:11:38 +01:00
|
|
|
patternProperties:
|
2017-01-31 21:45:59 +01:00
|
|
|
^(?!type|swap).*: {$ref: '#/definitions/partition'}
|
2014-07-05 20:01:20 +02:00
|
|
|
properties:
|
|
|
|
swap:
|
|
|
|
type: object
|
|
|
|
properties:
|
|
|
|
size: {$ref: '#/definitions/bytes'}
|
|
|
|
required: [size]
|
|
|
|
type: {enum: [msdos, gpt]}
|
2016-12-10 16:09:58 +01:00
|
|
|
required: [type, root]
|
2015-05-02 12:45:55 +02:00
|
|
|
additionalProperties: false
|
2014-07-05 20:01:20 +02:00
|
|
|
path:
|
|
|
|
type: string
|
|
|
|
pattern: ^[^\0]+$
|