diff --git a/internal/blueprint/blueprint.go b/internal/blueprint/blueprint.go index 973fd6d10..80a13692a 100644 --- a/internal/blueprint/blueprint.go +++ b/internal/blueprint/blueprint.go @@ -355,6 +355,12 @@ func Convert(bp Blueprint) iblueprint.Blueprint { Contents: installer.Kickstart.Contents, } } + if installer.Modules != nil { + iinst.Modules = &iblueprint.AnacondaModules{ + Enable: installer.Modules.Enable, + Disable: installer.Modules.Disable, + } + } customizations.Installer = &iinst } if rpm := c.RPM; rpm != nil && rpm.ImportKeys != nil { diff --git a/internal/blueprint/blueprint_convert_test.go b/internal/blueprint/blueprint_convert_test.go index 41d91c8d1..5ac2cd596 100644 --- a/internal/blueprint/blueprint_convert_test.go +++ b/internal/blueprint/blueprint_convert_test.go @@ -173,6 +173,15 @@ func TestConvert(t *testing.T) { Installer: &InstallerCustomization{ Unattended: true, SudoNopasswd: []string{"%group", "user"}, + Modules: &AnacondaModules{ + Enable: []string{ + "org.fedoraproject.Anaconda.Modules.Localization", + "org.fedoraproject.Anaconda.Modules.Users", + }, + Disable: []string{ + "org.fedoraproject.Anaconda.Modules.Network", + }, + }, }, RPM: &RPMCustomization{ ImportKeys: &RPMImportKeys{ @@ -351,6 +360,15 @@ func TestConvert(t *testing.T) { Installer: &iblueprint.InstallerCustomization{ Unattended: true, SudoNopasswd: []string{"%group", "user"}, + Modules: &iblueprint.AnacondaModules{ + Enable: []string{ + "org.fedoraproject.Anaconda.Modules.Localization", + "org.fedoraproject.Anaconda.Modules.Users", + }, + Disable: []string{ + "org.fedoraproject.Anaconda.Modules.Network", + }, + }, }, RPM: &iblueprint.RPMCustomization{ ImportKeys: &iblueprint.RPMImportKeys{ diff --git a/internal/blueprint/installer_customizatios.go b/internal/blueprint/installer_customizatios.go index 471112a9e..0d1fc42ae 100644 --- a/internal/blueprint/installer_customizatios.go +++ b/internal/blueprint/installer_customizatios.go @@ -1,11 +1,17 @@ package blueprint type InstallerCustomization struct { - Unattended bool `json:"unattended,omitempty" toml:"unattended,omitempty"` - SudoNopasswd []string `json:"sudo-nopasswd,omitempty" toml:"sudo-nopasswd,omitempty"` - Kickstart *Kickstart `json:"kickstart,omitempty" toml:"kickstart,omitempty"` + Unattended bool `json:"unattended,omitempty" toml:"unattended,omitempty"` + SudoNopasswd []string `json:"sudo-nopasswd,omitempty" toml:"sudo-nopasswd,omitempty"` + Kickstart *Kickstart `json:"kickstart,omitempty" toml:"kickstart,omitempty"` + Modules *AnacondaModules `json:"modules,omitempty" toml:"modules,omitempty"` } type Kickstart struct { Contents string `json:"contents" toml:"contents"` } + +type AnacondaModules struct { + Enable []string `json:"enable,omitempty" toml:"enable,omitempty"` + Disable []string `json:"disable,omitempty" toml:"disable,omitempty"` +}