diff --git a/internal/blueprint/blueprint.go b/internal/blueprint/blueprint.go index 600247f11..6726dd1e4 100644 --- a/internal/blueprint/blueprint.go +++ b/internal/blueprint/blueprint.go @@ -351,6 +351,10 @@ func Convert(bp Blueprint) iblueprint.Blueprint { if fips := c.FIPS; fips != nil { customizations.FIPS = fips } + if installer := c.Installer; installer != nil { + iinst := iblueprint.InstallerCustomization(*installer) + customizations.Installer = &iinst + } } ibp := iblueprint.Blueprint{ diff --git a/internal/blueprint/blueprint_convert_test.go b/internal/blueprint/blueprint_convert_test.go index 4422a21f1..20ee9c169 100644 --- a/internal/blueprint/blueprint_convert_test.go +++ b/internal/blueprint/blueprint_convert_test.go @@ -170,6 +170,10 @@ func TestConvert(t *testing.T) { Filename: "repofile", }, }, + Installer: &InstallerCustomization{ + Unattended: true, + SudoNopasswd: []string{"%group", "user"}, + }, }, Distro: "distro", }, @@ -321,6 +325,10 @@ func TestConvert(t *testing.T) { Filename: "repofile", }, }, + Installer: &iblueprint.InstallerCustomization{ + Unattended: true, + SudoNopasswd: []string{"%group", "user"}, + }, }, Distro: "distro", }, diff --git a/internal/blueprint/customizations.go b/internal/blueprint/customizations.go index ccee534aa..6a565fc62 100644 --- a/internal/blueprint/customizations.go +++ b/internal/blueprint/customizations.go @@ -28,6 +28,7 @@ type Customizations struct { Files []FileCustomization `json:"files,omitempty" toml:"files,omitempty"` Repositories []RepositoryCustomization `json:"repositories,omitempty" toml:"repositories,omitempty"` FIPS *bool `json:"fips,omitempty" toml:"fips,omitempty"` + Installer *InstallerCustomization `json:"installer,omitempty" toml:"installer,omitempty"` } type IgnitionCustomization struct { diff --git a/internal/blueprint/installer_customizatios.go b/internal/blueprint/installer_customizatios.go new file mode 100644 index 000000000..9932b7590 --- /dev/null +++ b/internal/blueprint/installer_customizatios.go @@ -0,0 +1,6 @@ +package blueprint + +type InstallerCustomization struct { + Unattended bool `json:"unattended,omitempty" toml:"unattended,omitempty"` + SudoNopasswd []string `json:"sudo-nopasswd,omitempty" toml:"sudo-nopasswd,omitempty"` +}