fix: Separate models required for separate schema files

This commit is contained in:
Gerald Pinder 2025-01-31 18:28:33 -05:00
parent d343201724
commit be0201ce76
16 changed files with 96 additions and 32 deletions

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/akmods-v1.json")
@jsonSchema("/modules/akmods-latest.json")
model AkmodsModule {
model AkmodsModuleLatest {
...AkmodsModuleV1;
}
@jsonSchema("/modules/akmods-v1.json")
model AkmodsModuleV1 {
/** The akmods module is a tool used for managing and installing kernel modules built by Universal Blue.
* https://blue-build.org/reference/modules/akmods/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/bling-v1.json")
@jsonSchema("/modules/bling-latest.json")
model BlingModule {
model BlingModuleLatest {
...BlingModuleV1;
}
@jsonSchema("/modules/bling-v1.json")
model BlingModuleV1 {
/** The bling module can be used to pull in small "bling" into your image.
* https://blue-build.org/reference/modules/bling/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/brew-v1.json")
@jsonSchema("/modules/brew-latest.json")
model BrewModule {
model BrewModuleLatest {
...BrewModuleV1;
}
@jsonSchema("/modules/brew-v1.json")
model BrewModuleV1 {
/** The brew module installs Homebrew / Linuxbrew at build time and ensures the package manager remains up-to-date.
* https://blue-build.org/reference/modules/brew/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/chezmoi-v1.json")
@jsonSchema("/modules/chezmoi-latest.json")
model ChezmoiModule {
model ChezmoiModuleLatest {
...ChezmoiModuleV1;
}
@jsonSchema("/modules/chezmoi-v1.json")
model ChezmoiModuleV1 {
/** The chezmoi module installs the latest chezmoi release at build time, along with services to clone a dotfile repository and keep it up-to-date.
* https://blue-build.org/reference/modules/chezmoi/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/default-flatpaks-v1.json")
@jsonSchema("/modules/default-flatpaks-latest.json")
model DefaultFlatpaksModule {
model DefaultFlatpaksModuleLatest {
...DefaultFlatpaksModuleV1;
}
@jsonSchema("/modules/default-flatpaks-v1.json")
model DefaultFlatpaksModuleV1 {
/** The default-flatpaks module can be used to install or uninstall flatpaks from a configurable remote on every boot.
* https://blue-build.org/reference/modules/default-flatpaks/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/files-v1.json")
@jsonSchema("/modules/files-latest.json")
model FilesModule {
model FilesModuleLatest {
...FilesModuleV1;
}
@jsonSchema("/modules/files-v1.json")
model FilesModuleV1 {
/** Copy files to your image at build time
* https://blue-build.org/reference/modules/files/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/fonts-v1.json")
@jsonSchema("/modules/fonts-latest.json")
model FontsModule {
model FontsModuleLatest {
...FontsModuleV1;
}
@jsonSchema("/modules/fonts-v1.json")
model FontsModuleV1 {
/** The fonts module can be used to install fonts from Nerd Fonts or Google Fonts.
* https://blue-build.org/reference/modules/fonts/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/gnome-extensions-v1.json")
@jsonSchema("/modules/gnome-extensions-latest.json")
model GnomeExtensionsModule {
model GnomeExtensionsModuleLatest {
...GnomeExtensionsModuleV1;
}
@jsonSchema("/modules/gnome-extensions-v1.json")
model GnomeExtensionsModuleV1 {
/** The gnome-extensions module can be used to install GNOME extensions inside system directory.
* https://blue-build.org/reference/modules/gnome-extensions/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/gschema-overrides-v1.json")
@jsonSchema("/modules/gschema-overrides-latest.json")
model GschemaOverridesModule {
model GschemaOverridesModuleLatest {
...GschemaOverridesModuleV1;
}
@jsonSchema("/modules/gschema-overrides-v1.json")
model GschemaOverridesModuleV1 {
/** The gschema-overrides module can be used for including system-setting overrides for GTK-based desktop environments.
* https://blue-build.org/reference/modules/gschema-overrides/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/initramfs-v1.json")
@jsonSchema("/modules/initramfs-latest.json")
model InitramfsModule {
model InitramfsModuleLatest {
...InitramfsModuleV1;
}
@jsonSchema("/modules/initramfs-v1.json")
model InitramfsModuleV1 {
/** The initramfs module is used to regenerate initramfs, needed to apply some modifications early in the Linux startup process.
* https://blue-build.org/reference/modules/initramfs/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/justfiles-v1.json")
@jsonSchema("/modules/justfiles-latest.json")
model JustfilesModule {
model JustfilesModuleLatest {
...JustfilesModuleV1;
}
@jsonSchema("/modules/justfiles-v1.json")
model JustfilesModuleV1 {
/** The justfiles module makes it easy to include just recipes from multiple files in Universal Blue -based images.
* https://blue-build.org/reference/modules/justfiles/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/rpm-ostree-v1.json")
@jsonSchema("/modules/rpm-ostree-latest.json")
model RpmOstreeModule {
model RpmOstreeModuleLatest {
...RpmOstreeModuleV1;
}
@jsonSchema("/modules/rpm-ostree-v1.json")
model RpmOstreeModuleV1 {
/** The rpm-ostree module offers pseudo-declarative package and repository management using rpm-ostree.
* https://blue-build.org/reference/modules/rpm-ostree/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/script-v1.json")
@jsonSchema("/modules/script-latest.json")
model ScriptModule {
model ScriptModuleLatest {
...ScriptModuleV1;
}
@jsonSchema("/modules/script-v1.json")
model ScriptModuleV1 {
/** The script module can be used to run arbitrary bash snippets and scripts at image build time.
* https://blue-build.org/reference/modules/script/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/signing-v1.json")
@jsonSchema("/modules/signing-latest.json")
model SigningModule {
model SigningModuleLatest {
...SigningModuleV1;
}
@jsonSchema("/modules/signing-v1.json")
model SigningModuleV1 {
/** The signing module is used to install the required signing policies for cosign image verification with rpm-ostree and bootc.
* https://blue-build.org/reference/modules/signing/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/systemd-v1.json")
@jsonSchema("/modules/systemd-latest.json")
model SystemdModule {
model SystemdModuleLatest {
...SystemdModuleV1;
}
@jsonSchema("/modules/systemd-v1.json")
model SystemdModuleV1 {
/** The systemd module streamlines the management of systemd units during image building.
* https://blue-build.org/reference/modules/systemd/
*/

View file

@ -1,9 +1,13 @@
import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/yafti-v1.json")
@jsonSchema("/modules/yafti-latest.json")
model YaftiModule {
model YaftiModuleLatest {
...YaftiModuleV1;
}
@jsonSchema("/modules/yafti-v1.json")
model YaftiModuleV1 {
/** The yafti module can be used to install yafti and set it up to run on first boot.
* https://blue-build.org/reference/modules/yafti/
*/