Merge branch 'schema' into calamares
All of the schemata are now valid JSON-schema files, and all of the example config files validate against those schema files.
This commit is contained in:
commit
0f0bae0235
@ -4,16 +4,22 @@ $id: https://calamares.io/schemas/fstab
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"mountOptions":
|
||||
type: map
|
||||
mapping:
|
||||
"default": { type: string, required: true }
|
||||
"btrfs": { type: string, required: true }
|
||||
"ssdExtraMountOptions":
|
||||
type: map
|
||||
mapping:
|
||||
"ext4": { type: string, required: true }
|
||||
"jfs": { type: string, required: true }
|
||||
"xfs": { type: string, required: true }
|
||||
"swap": { type: string, required: true }
|
||||
"btrfs": { type: string, required: true }
|
||||
mountOptions:
|
||||
type: object
|
||||
additionalProperties: true # we don't know which FS exist
|
||||
properties:
|
||||
default: { type: string }
|
||||
btrfs: { type: string }
|
||||
required: [ default ]
|
||||
ssdExtraMountOptions:
|
||||
type: object
|
||||
additionalProperties: true # we don't know which FS exist
|
||||
properties:
|
||||
ext4: { type: string }
|
||||
jfs: { type: string }
|
||||
xfs: { type: string }
|
||||
swap: { type: string }
|
||||
btrfs: { type: string }
|
||||
efiMountOptions: { type: string }
|
||||
crypttabOptions: { type: string }
|
||||
required: [ mountOptions ]
|
||||
|
@ -4,4 +4,6 @@ $id: https://calamares.io/schemas/initcpio
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
kernel: { type: string, required: true }
|
||||
kernel: { type: string }
|
||||
be_unsafe: { type: boolean, default: false }
|
||||
required: [ kernel ]
|
||||
|
@ -1,8 +1,10 @@
|
||||
---
|
||||
$schema: https://json-schema.org/schema#
|
||||
$id: https://calamares.io/schemas/finished
|
||||
additionalProperties: keyboard
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
xOrgConfFileName: { type: string, required: true }
|
||||
convertedKeymapPath: { type: string, required: true }
|
||||
xOrgConfFileName: { type: string }
|
||||
convertedKeymapPath: { type: string }
|
||||
writeEtcDefaultKeyboard: { type: boolean, default: true }
|
||||
required: [ xOrgConfFileName, convertedKeymapPath ]
|
||||
|
@ -4,14 +4,16 @@ $id: https://calamares.io/schemas/license
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"entries":
|
||||
type: seq
|
||||
sequence:
|
||||
- type: map
|
||||
mapping:
|
||||
"id": { type: str }
|
||||
"name": { type: str }
|
||||
"vendor": { type: str }
|
||||
"type": { type: str }
|
||||
"url": { type: str }
|
||||
"required": { type: boolean, default: false }
|
||||
entries:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
id: { type: string }
|
||||
name: { type: string }
|
||||
vendor: { type: string }
|
||||
type: { type: string }
|
||||
url: { type: string }
|
||||
required: { type: boolean, default: false }
|
||||
expand: { type: boolean, default: false }
|
||||
|
@ -4,4 +4,5 @@ $id: https://calamares.io/schemas/luksopenswaphookcfg
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"configFilePath": { type: string, required: true }
|
||||
configFilePath: { type: string }
|
||||
required: [ configFilePath ]
|
||||
|
@ -4,21 +4,26 @@ $id: https://calamares.io/schemas/mount
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"extraMounts":
|
||||
type: seq
|
||||
sequence:
|
||||
- type: map
|
||||
mapping:
|
||||
"device": { type: string, required: true }
|
||||
"fs": { type: str }
|
||||
"mountPoint": { type: string, required: true }
|
||||
"options": { type: str }
|
||||
"extraMountsEfi":
|
||||
type: seq
|
||||
sequence:
|
||||
- type: map
|
||||
mapping:
|
||||
"device": { type: string, required: true }
|
||||
"fs": { type: str }
|
||||
"mountPoint": { type: string, required: true }
|
||||
"options": { type: str }
|
||||
# TODO: share the schema definition, since these are identical
|
||||
extraMounts:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
device: { type: string }
|
||||
fs: { type: string }
|
||||
mountPoint: { type: string }
|
||||
options: { type: string }
|
||||
required: [ device, mountPoint ]
|
||||
extraMountsEfi:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
device: { type: string }
|
||||
fs: { type: string }
|
||||
mountPoint: { type: string }
|
||||
options: { type: string }
|
||||
required: [ device, mountPoint ]
|
||||
|
@ -4,4 +4,13 @@ $id: https://calamares.io/schemas/netinstall
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
groupsUrl: { type: string, required: true }
|
||||
groupsUrl: { type: string }
|
||||
required: { type: boolean, default: false }
|
||||
label: # Translatable labels
|
||||
type: object
|
||||
additionalProperties: true
|
||||
properties:
|
||||
sidebar: { type: string }
|
||||
title: { type: string }
|
||||
groups: { type: array } # TODO: the schema for the whole groups file
|
||||
required: [ groupsUrl ]
|
||||
|
@ -4,4 +4,4 @@ $id: https://calamares.io/schemas/plymouthcfg
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
plymouth_theme: { type: str }
|
||||
plymouth_theme: { type: string }
|
||||
|
@ -4,4 +4,5 @@ $id: https://calamares.io/schemas/removeuser
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"username": { type: string, required: true }
|
||||
username: { type: string }
|
||||
required: [ username ]
|
||||
|
@ -2,35 +2,15 @@
|
||||
#
|
||||
# This module represents the last part of the installation, the unmounting
|
||||
# of partitions used for the install. It is also the last place where it
|
||||
# is possible to copy files to the target system, thus the best place to
|
||||
# copy an installation log.
|
||||
# is possible to copy files to the target system.
|
||||
#
|
||||
# The "copy log files" functionality is deprecated; use the *preservefiles*
|
||||
# module instead, which is more flexible.
|
||||
#
|
||||
# This module has two configuration keys:
|
||||
# srcLog location in the live system where the log is
|
||||
# destLog location in the target system to copy the log
|
||||
#
|
||||
# You can either use the default source path (which is
|
||||
# `/root/.cache/calamares/session.log` ) to copy the regular log,
|
||||
# or if you want to use the full output of `sudo calamares -d` you will need
|
||||
# to redirect standard output, for instance in a launcher script or
|
||||
# in the desktop file.
|
||||
#
|
||||
# Example launcher script:
|
||||
#
|
||||
# ```
|
||||
# #!/bin/sh
|
||||
# sudo /usr/bin/calamares -d > installation.log
|
||||
# ```
|
||||
#
|
||||
# Example desktop line:
|
||||
#
|
||||
# ```
|
||||
# Exec=sudo /usr/bin/calamares -d > installation.log
|
||||
# ```
|
||||
#
|
||||
# If no source and destination are set, no copy is attempted. If the
|
||||
# copy fails for some reason, a warning is printed but the installation
|
||||
# does not fail.
|
||||
|
||||
---
|
||||
# example when using the normal Calamares log:
|
||||
|
@ -4,5 +4,5 @@ $id: https://calamares.io/schemas/umount
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"srcLog": { type: str }
|
||||
"destLog": { type: str }
|
||||
srcLog: { type: string }
|
||||
destLog: { type: string }
|
||||
|
@ -4,11 +4,15 @@ $id: https://calamares.io/schemas/unpackfs
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
"unpack":
|
||||
type: seq
|
||||
sequence:
|
||||
- type: map
|
||||
mapping:
|
||||
"source": { type: string, required: true }
|
||||
"sourcefs": { type: str }
|
||||
"destination": { type: str }
|
||||
unpack:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
source: { type: string }
|
||||
sourcefs: { type: string }
|
||||
destination: { type: string }
|
||||
excludeFile: { type: string }
|
||||
exclude: { type: array, items: { type: string } }
|
||||
required: [ source , sourcefs, destination ]
|
||||
|
Loading…
Reference in New Issue
Block a user