Move composer scripts to root directory and add comprehensive Debian Atomic support
Some checks failed
Checks / Spelling (push) Has been cancelled
Checks / Python Linters (push) Has been cancelled
Checks / Shell Linters (push) Has been cancelled
Checks / 📦 Packit config lint (push) Has been cancelled
Checks / 🔍 Check for valid snapshot urls (push) Has been cancelled
Checks / 🔍 Check JSON files for formatting consistency (push) Has been cancelled
Generate / Documentation (push) Has been cancelled
Generate / Test Data (push) Has been cancelled
Tests / Unittest (push) Has been cancelled
Tests / Assembler test (legacy) (push) Has been cancelled
Tests / Smoke run: unittest as normal user on default runner (push) Has been cancelled
Some checks failed
Checks / Spelling (push) Has been cancelled
Checks / Python Linters (push) Has been cancelled
Checks / Shell Linters (push) Has been cancelled
Checks / 📦 Packit config lint (push) Has been cancelled
Checks / 🔍 Check for valid snapshot urls (push) Has been cancelled
Checks / 🔍 Check JSON files for formatting consistency (push) Has been cancelled
Generate / Documentation (push) Has been cancelled
Generate / Test Data (push) Has been cancelled
Tests / Unittest (push) Has been cancelled
Tests / Assembler test (legacy) (push) Has been cancelled
Tests / Smoke run: unittest as normal user on default runner (push) Has been cancelled
This commit is contained in:
parent
3f639d537a
commit
502e1469ae
38 changed files with 7797 additions and 352 deletions
|
|
@ -1,63 +1,67 @@
|
|||
{
|
||||
"name": "org.osbuild.apt.config",
|
||||
"version": "1",
|
||||
"description": "Configure apt package manager settings and sources",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Configure apt package manager settings",
|
||||
"description": [
|
||||
"The `sources` option configures Debian package sources and repositories.",
|
||||
"The `preferences` option configures package preferences and pinning.",
|
||||
"The `apt_proxy` option can be used to specify an apt-cacher-ng proxy for faster downloads.",
|
||||
"This stage will fail if the configuration files cannot be written or are invalid.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for configuration",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" configuration: information about the applied apt configuration"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"config": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"oneOf": [
|
||||
{"type": "string"},
|
||||
{"type": "number"},
|
||||
{"type": "boolean"}
|
||||
]
|
||||
}
|
||||
},
|
||||
"description": "apt.conf configuration sections and options"
|
||||
},
|
||||
"sources": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Additional sources.list.d files"
|
||||
"description": "Debian package sources configuration"
|
||||
},
|
||||
"preferences": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Package preference rules for apt"
|
||||
"description": "Package preferences and pinning configuration"
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"sources": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Debian package sources configuration"
|
||||
},
|
||||
"preferences": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Package preferences and pinning configuration"
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,21 @@
|
|||
{
|
||||
"name": "org.osbuild.apt",
|
||||
"version": "1",
|
||||
"description": "Install Debian packages using apt",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Install Debian packages using apt",
|
||||
"description": [
|
||||
"The `packages` option specifies an array of package names to install.",
|
||||
"The `recommends` option controls whether recommended packages are installed.",
|
||||
"The `unauthenticated` option allows installation of unauthenticated packages.",
|
||||
"The `update` option controls whether package lists are updated before installation.",
|
||||
"The `apt_proxy` option can be used to specify an apt-cacher-ng proxy for faster downloads.",
|
||||
"This stage will fail if any of the packages cannot be found or installed.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `apt-get` to update package lists and install packages",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for apt operations",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" packages: information about the installed packages"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "array",
|
||||
|
|
@ -14,18 +26,18 @@
|
|||
},
|
||||
"recommends": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Install recommended packages"
|
||||
"description": "Install recommended packages",
|
||||
"default": false
|
||||
},
|
||||
"unauthenticated": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Allow unauthenticated packages"
|
||||
"description": "Allow unauthenticated packages",
|
||||
"default": false
|
||||
},
|
||||
"update": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Update package lists before installation"
|
||||
"description": "Update package lists before installation",
|
||||
"default": true
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
|
|
@ -34,23 +46,43 @@
|
|||
},
|
||||
"required": ["packages"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "List of packages to install"
|
||||
},
|
||||
"recommends": {
|
||||
"type": "boolean",
|
||||
"description": "Install recommended packages",
|
||||
"default": false
|
||||
},
|
||||
"unauthenticated": {
|
||||
"type": "boolean",
|
||||
"description": "Allow unauthenticated packages",
|
||||
"default": false
|
||||
},
|
||||
"update": {
|
||||
"type": "boolean",
|
||||
"description": "Update package lists before installation",
|
||||
"default": true
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
},
|
||||
"required": ["packages"]
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID", "CAP_SYS_CHROOT"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +1,71 @@
|
|||
{
|
||||
"name": "org.osbuild.debian.source",
|
||||
"version": "1",
|
||||
"description": "Download and manage Debian source packages",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Download and manage Debian source packages",
|
||||
"description": [
|
||||
"The `source_package` option specifies the source package to download.",
|
||||
"The `suite` option specifies the Debian suite to download from.",
|
||||
"The `mirror` option specifies the Debian mirror URL.",
|
||||
"The `apt_proxy` option can be used to specify an apt-cacher-ng proxy for faster downloads.",
|
||||
"This stage will fail if the source package cannot be found or downloaded.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `apt-get` to download source packages",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for package operations",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" source: information about the downloaded source package"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"package": {
|
||||
"source_package": {
|
||||
"type": "string",
|
||||
"description": "Name of the Debian source package to download"
|
||||
"description": "Source package to download"
|
||||
},
|
||||
"suite": {
|
||||
"type": "string",
|
||||
"default": "bookworm",
|
||||
"description": "Debian suite for the package"
|
||||
"description": "Debian suite to download from",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"mirror": {
|
||||
"type": "string",
|
||||
"default": "http://deb.debian.org/debian",
|
||||
"description": "Debian mirror for package sources"
|
||||
"description": "Debian mirror URL",
|
||||
"default": "http://deb.debian.org/debian"
|
||||
},
|
||||
"components": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": ["main", "contrib", "non-free"],
|
||||
"description": "Debian repository components to use"
|
||||
},
|
||||
"output_dir": {
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"default": ".",
|
||||
"description": "Directory for downloaded source packages"
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
},
|
||||
"required": ["package"]
|
||||
"required": ["source_package"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"source_package": {
|
||||
"type": "string",
|
||||
"description": "Source package to download"
|
||||
},
|
||||
"suite": {
|
||||
"type": "string",
|
||||
"description": "Debian suite to download from",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"mirror": {
|
||||
"type": "string",
|
||||
"description": "Debian mirror URL",
|
||||
"default": "http://deb.debian.org/debian"
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
},
|
||||
"required": ["source_package"]
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,32 @@
|
|||
{
|
||||
"name": "org.osbuild.debootstrap",
|
||||
"version": "1",
|
||||
"description": "Create base Debian filesystem using debootstrap",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Create base Debian filesystem using debootstrap",
|
||||
"description": [
|
||||
"The `suite` option specifies the Debian suite to bootstrap (e.g., bookworm, sid).",
|
||||
"The `mirror` option specifies the Debian mirror URL for package downloads.",
|
||||
"The `arch` option specifies the target architecture (e.g., amd64, arm64).",
|
||||
"The `variant` option specifies the debootstrap variant (e.g., minbase, buildd).",
|
||||
"The `extra_packages` option allows additional packages to be included in the base filesystem.",
|
||||
"The `apt_proxy` option can be used to specify an apt-cacher-ng proxy for faster downloads.",
|
||||
"This stage will fail if debootstrap cannot be executed or if the base filesystem creation fails.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `debootstrap` to create the base Debian filesystem",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for debootstrap",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" filesystem: information about the created base filesystem"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"suite": {
|
||||
"type": "string",
|
||||
"default": "bookworm",
|
||||
"description": "Debian suite to bootstrap (e.g., bookworm, sid)"
|
||||
"description": "Debian suite to bootstrap (e.g., bookworm, sid)",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"mirror": {
|
||||
"type": "string",
|
||||
"default": "http://deb.debian.org/debian",
|
||||
"description": "Debian mirror URL"
|
||||
"description": "Debian mirror URL",
|
||||
"default": "http://deb.debian.org/debian"
|
||||
},
|
||||
"arch": {
|
||||
"type": "string",
|
||||
|
|
@ -21,16 +34,16 @@
|
|||
},
|
||||
"variant": {
|
||||
"type": "string",
|
||||
"default": "minbase",
|
||||
"description": "Debootstrap variant (e.g., minbase, buildd)"
|
||||
"description": "Debootstrap variant (e.g., minbase, buildd)",
|
||||
"default": "minbase"
|
||||
},
|
||||
"extra_packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": [],
|
||||
"description": "Additional packages to include in base filesystem"
|
||||
"description": "Additional packages to include in base filesystem",
|
||||
"default": []
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
|
|
@ -39,23 +52,48 @@
|
|||
},
|
||||
"required": ["suite", "mirror"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"suite": {
|
||||
"type": "string",
|
||||
"description": "Debian suite to bootstrap (e.g., bookworm, sid)",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"mirror": {
|
||||
"type": "string",
|
||||
"description": "Debian mirror URL",
|
||||
"default": "http://deb.debian.org/debian"
|
||||
},
|
||||
"arch": {
|
||||
"type": "string",
|
||||
"description": "Target architecture (e.g., amd64, arm64)"
|
||||
},
|
||||
"variant": {
|
||||
"type": "string",
|
||||
"description": "Debootstrap variant (e.g., minbase, buildd)",
|
||||
"default": "minbase"
|
||||
},
|
||||
"extra_packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Additional packages to include in base filesystem",
|
||||
"default": []
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
},
|
||||
"required": ["suite", "mirror"]
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,65 +1,67 @@
|
|||
{
|
||||
"name": "org.osbuild.ostree.commit",
|
||||
"version": "1",
|
||||
"description": "Create OSTree commit from filesystem tree",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Create OSTree commit from filesystem tree",
|
||||
"description": [
|
||||
"The `repo` option specifies the path to the OSTree repository.",
|
||||
"The `branch` option specifies the branch name for the commit.",
|
||||
"The `subject` option provides a commit message for the OSTree commit.",
|
||||
"The `body` option provides additional commit details.",
|
||||
"This stage will fail if the OSTree repository cannot be accessed or the commit fails.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `ostree` to create commits and manage the repository",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for OSTree operations",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" commit: information about the created OSTree commit"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"repository": {
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"default": "ostree-repo",
|
||||
"description": "OSTree repository name/path"
|
||||
"description": "Path to OSTree repository"
|
||||
},
|
||||
"branch": {
|
||||
"type": "string",
|
||||
"default": "debian/atomic",
|
||||
"description": "OSTree branch name for the commit"
|
||||
"description": "Branch name for the commit"
|
||||
},
|
||||
"subject": {
|
||||
"type": "string",
|
||||
"default": "Debian atomic commit",
|
||||
"description": "Commit message/subject"
|
||||
"description": "Commit message"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": {},
|
||||
"description": "Additional metadata key-value pairs"
|
||||
},
|
||||
"collection_id": {
|
||||
"body": {
|
||||
"type": "string",
|
||||
"description": "Collection ID for ref binding"
|
||||
},
|
||||
"ref_binding": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": [],
|
||||
"description": "List of ref bindings for the commit"
|
||||
"description": "Additional commit details"
|
||||
}
|
||||
},
|
||||
"required": ["branch"]
|
||||
"required": ["repo", "branch"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"description": "Path to OSTree repository"
|
||||
},
|
||||
"branch": {
|
||||
"type": "string",
|
||||
"description": "Branch name for the commit"
|
||||
},
|
||||
"subject": {
|
||||
"type": "string",
|
||||
"description": "Commit message"
|
||||
},
|
||||
"body": {
|
||||
"type": "string",
|
||||
"description": "Additional commit details"
|
||||
}
|
||||
},
|
||||
"required": ["repo", "branch"]
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,49 +1,67 @@
|
|||
{
|
||||
"name": "org.osbuild.ostree.deploy",
|
||||
"version": "1",
|
||||
"description": "Deploy OSTree branch to target filesystem",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Deploy OSTree branch to target filesystem",
|
||||
"description": [
|
||||
"The `repo` option specifies the path to the OSTree repository.",
|
||||
"The `branch` option specifies the branch name to deploy.",
|
||||
"The `target` option specifies the target filesystem path.",
|
||||
"The `osname` option specifies the operating system name for the deployment.",
|
||||
"This stage will fail if the OSTree repository cannot be accessed or the deployment fails.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `ostree` to deploy branches and manage the target filesystem",
|
||||
" * `chroot` to execute commands in the target filesystem",
|
||||
" * `mount` to prepare the target tree for OSTree operations",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" deployment: information about the OSTree deployment"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"repository": {
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"default": "ostree-repo",
|
||||
"description": "OSTree repository path"
|
||||
"description": "Path to OSTree repository"
|
||||
},
|
||||
"branch": {
|
||||
"type": "string",
|
||||
"default": "debian/atomic",
|
||||
"description": "OSTree branch to deploy"
|
||||
"description": "Branch name to deploy"
|
||||
},
|
||||
"ref": {
|
||||
"target": {
|
||||
"type": "string",
|
||||
"description": "Specific OSTree ref to deploy (overrides branch)"
|
||||
"description": "Target filesystem path"
|
||||
},
|
||||
"target_subdir": {
|
||||
"osname": {
|
||||
"type": "string",
|
||||
"default": "sysroot",
|
||||
"description": "Target subdirectory for deployment"
|
||||
"description": "Operating system name for deployment"
|
||||
}
|
||||
},
|
||||
"required": ["branch"]
|
||||
"required": ["repo", "branch", "target"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"repo": {
|
||||
"type": "string",
|
||||
"description": "Path to OSTree repository"
|
||||
},
|
||||
"branch": {
|
||||
"type": "string",
|
||||
"description": "Branch name to deploy"
|
||||
},
|
||||
"target": {
|
||||
"type": "string",
|
||||
"description": "Target filesystem path"
|
||||
},
|
||||
"osname": {
|
||||
"type": "string",
|
||||
"description": "Operating system name for deployment"
|
||||
}
|
||||
},
|
||||
"required": ["repo", "branch", "target"]
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID"]
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,86 @@
|
|||
{
|
||||
"name": "org.osbuild.sbuild",
|
||||
"version": "1",
|
||||
"description": "Build Debian packages using sbuild chroot environments",
|
||||
"options": {
|
||||
"type": "object",
|
||||
"summary": "Build Debian packages using sbuild",
|
||||
"description": [
|
||||
"The `source_package` option specifies the source package to build.",
|
||||
"The `build_deps` option specifies additional build dependencies.",
|
||||
"The `build_arch` option specifies the target architecture for the build.",
|
||||
"The `chroot_suite` option specifies the Debian suite for the build chroot.",
|
||||
"The `apt_proxy` option can be used to specify an apt-cacher-ng proxy for faster downloads.",
|
||||
"This stage will fail if the source package cannot be found or the build fails.",
|
||||
"Uses the following binaries from the host:",
|
||||
" * `sbuild` to build packages in isolated chroot environments",
|
||||
" * `chroot` to execute commands in the build environment",
|
||||
" * `mount` to prepare the build environment",
|
||||
"This stage will return the following metadata via the osbuild API:",
|
||||
" packages: information about the built packages"
|
||||
],
|
||||
"schema": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"suite": {
|
||||
"source_package": {
|
||||
"type": "string",
|
||||
"default": "bookworm",
|
||||
"description": "Debian suite for the build environment"
|
||||
"description": "Source package to build"
|
||||
},
|
||||
"arch": {
|
||||
"type": "string",
|
||||
"default": "amd64",
|
||||
"description": "Target architecture for building"
|
||||
"build_deps": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Additional build dependencies",
|
||||
"default": []
|
||||
},
|
||||
"mirror": {
|
||||
"build_arch": {
|
||||
"type": "string",
|
||||
"default": "http://deb.debian.org/debian",
|
||||
"description": "Debian mirror for chroot creation"
|
||||
"description": "Target architecture for the build"
|
||||
},
|
||||
"source_dir": {
|
||||
"chroot_suite": {
|
||||
"type": "string",
|
||||
"default": ".",
|
||||
"description": "Directory containing package source"
|
||||
"description": "Debian suite for the build chroot",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"output_dir": {
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"default": ".",
|
||||
"description": "Directory for built packages"
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"devices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"mounts": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"default": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_MKNOD", "CAP_SETGID", "CAP_SETUID", "CAP_SYS_CHROOT"]
|
||||
"required": ["source_package"]
|
||||
},
|
||||
"schema_2": {
|
||||
"options": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"source_package": {
|
||||
"type": "string",
|
||||
"description": "Source package to build"
|
||||
},
|
||||
"build_deps": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Additional build dependencies",
|
||||
"default": []
|
||||
},
|
||||
"build_arch": {
|
||||
"type": "string",
|
||||
"description": "Target architecture for the build"
|
||||
},
|
||||
"chroot_suite": {
|
||||
"type": "string",
|
||||
"description": "Debian suite for the build chroot",
|
||||
"default": "bookworm"
|
||||
},
|
||||
"apt_proxy": {
|
||||
"type": "string",
|
||||
"description": "apt-cacher-ng proxy URL (e.g., http://localhost:3142)"
|
||||
}
|
||||
},
|
||||
"required": ["source_package"]
|
||||
},
|
||||
"inputs": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue