mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-22 18:00:35 +00:00
185 lines
4.3 KiB
YAML
185 lines
4.3 KiB
YAML
---
|
|
$schema: http://json-schema.org/draft-04/schema#
|
|
title: Generic manifest
|
|
type: object
|
|
required: [name, provider, bootstrapper, system, volume]
|
|
properties:
|
|
name:
|
|
type: string
|
|
provider:
|
|
type: object
|
|
properties:
|
|
name: {type: string}
|
|
required: [name]
|
|
additionalProperties: true
|
|
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'
|
|
variant:
|
|
type: string
|
|
enum: [minbase]
|
|
required: [workspace]
|
|
additionalProperties: false
|
|
system:
|
|
type: object
|
|
properties:
|
|
architecture:
|
|
enum: [i386, amd64, arm64]
|
|
userspace_architecture:
|
|
enum: [i386]
|
|
bootloader:
|
|
enum:
|
|
- pvgrub
|
|
- grub
|
|
- extlinux
|
|
- none
|
|
charmap: {type: string}
|
|
hostname:
|
|
type: string
|
|
pattern: ^\S+$
|
|
locale: {type: string}
|
|
release: {type: string}
|
|
timezone: {type: string}
|
|
required:
|
|
- release
|
|
- architecture
|
|
- bootloader
|
|
- timezone
|
|
- locale
|
|
- charmap
|
|
additionalProperties: false
|
|
packages:
|
|
type: object
|
|
properties:
|
|
components:
|
|
type: array
|
|
items: {type: string}
|
|
minItems: 1
|
|
install:
|
|
type: array
|
|
items:
|
|
anyOf:
|
|
- pattern: ^[^/]+(/[^/]+)?$
|
|
- $ref: '#/definitions/absolute_path'
|
|
minItems: 1
|
|
install_standard: {type: boolean}
|
|
mirror:
|
|
type: string
|
|
format: uri
|
|
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
|
|
minProperties: 1
|
|
additionalProperties: false
|
|
apt.conf.d:
|
|
type: object
|
|
patternProperties:
|
|
^[0-9A-Za-z][0-9A-Za-z-_.]+$:
|
|
type: string
|
|
minProperties: 1
|
|
additionalProperties: false
|
|
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
|
|
minProperties: 1
|
|
additionalProperties: false
|
|
trusted-keys:
|
|
type: array
|
|
items:
|
|
$ref: '#/definitions/absolute_path'
|
|
minItems: 1
|
|
include-source-type: {type: boolean}
|
|
additionalProperties: false
|
|
plugins:
|
|
type: object
|
|
patternProperties:
|
|
^\w+$: {}
|
|
additionalProperties: false
|
|
volume:
|
|
type: object
|
|
properties:
|
|
backing: {type: string}
|
|
partitions:
|
|
type: object
|
|
oneOf:
|
|
- $ref: '#/definitions/no_partitions'
|
|
- $ref: '#/definitions/partition_table'
|
|
required: [partitions]
|
|
additionalProperties: false
|
|
definitions:
|
|
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]}
|
|
required: [root]
|
|
additionalProperties: false
|
|
partition:
|
|
type: object
|
|
properties:
|
|
filesystem:
|
|
enum: [ext2, ext3, ext4, xfs, btrfs]
|
|
format_command:
|
|
items: {type: string}
|
|
minItems: 1
|
|
type: array
|
|
size: {$ref: '#/definitions/bytes'}
|
|
required: [size, filesystem]
|
|
additionalProperties: false
|
|
partition_table:
|
|
type: object
|
|
properties:
|
|
boot: {$ref: '#/definitions/partition'}
|
|
root: {$ref: '#/definitions/partition'}
|
|
swap:
|
|
type: object
|
|
properties:
|
|
size: {$ref: '#/definitions/bytes'}
|
|
required: [size]
|
|
type: {enum: [msdos, gpt]}
|
|
required: [root]
|
|
additionalProperties: false
|
|
path:
|
|
type: string
|
|
pattern: ^[^\0]+$
|