distro: allow user and group customizations for edge-installer
Followup from,f34380d5b5and3a1765a5a8, copied to the rest of the RHEL distro definitions. For now, these customizations have no effect on the manifest. The new `with-users` variants of the edge-installer test cases include the user customizations in the blueprint, but the manifests are (currently) the same as the corresponding base cases.
This commit is contained in:
parent
d3f217d40f
commit
15243f1dc5
8 changed files with 77491 additions and 6 deletions
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"math/rand"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/osbuild/osbuild-composer/internal/crypt"
|
||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||
|
|
@ -218,8 +219,11 @@ func (t *imageTypeS2) pipelines(customizations *blueprint.Customizations, option
|
|||
if options.OSTree.Parent == "" {
|
||||
return nil, fmt.Errorf("boot ISO image type %q requires specifying a URL from which to retrieve the OSTree commit", t.name)
|
||||
}
|
||||
if customizations != nil {
|
||||
return nil, fmt.Errorf("boot ISO image type %q does not support blueprint customizations", t.name)
|
||||
if t.name == "rhel-edge-installer" {
|
||||
allowed := []string{"User", "Group"}
|
||||
if err := customizations.CheckAllowed(allowed...); err != nil {
|
||||
return nil, fmt.Errorf("unsupported blueprint customizations found for boot ISO image type %q: (allowed: %s)", t.name, strings.Join(allowed, ", "))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -445,8 +445,11 @@ func (t *imageType) checkOptions(customizations *blueprint.Customizations, optio
|
|||
if err := customizations.CheckAllowed("InstallationDevice"); err != nil {
|
||||
return fmt.Errorf("boot ISO image type %q contains unsupported blueprint customizations: %v", t.name, err)
|
||||
}
|
||||
} else if customizations != nil {
|
||||
return fmt.Errorf("boot ISO image type %q does not support blueprint customizations", t.name)
|
||||
} else if t.name == "edge-installer" {
|
||||
allowed := []string{"User", "Group"}
|
||||
if err := customizations.CheckAllowed(allowed...); err != nil {
|
||||
return fmt.Errorf("unsupported blueprint customizations found for boot ISO image type %q: (allowed: %s)", t.name, strings.Join(allowed, ", "))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -475,8 +475,11 @@ func (t *imageType) checkOptions(customizations *blueprint.Customizations, optio
|
|||
if options.OSTree.Parent == "" {
|
||||
return fmt.Errorf("boot ISO image type %q requires specifying a URL from which to retrieve the OSTree commit", t.name)
|
||||
}
|
||||
if customizations != nil {
|
||||
return fmt.Errorf("boot ISO image type %q does not support blueprint customizations", t.name)
|
||||
if t.name == "edge-installer" {
|
||||
allowed := []string{"User", "Group"}
|
||||
if err := customizations.CheckAllowed(allowed...); err != nil {
|
||||
return fmt.Errorf("unsupported blueprint customizations found for boot ISO image type %q: (allowed: %s)", t.name, strings.Join(allowed, ", "))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
18760
test/data/manifests/rhel_85-aarch64-edge_installer_with_users-boot.json
Normal file
18760
test/data/manifests/rhel_85-aarch64-edge_installer_with_users-boot.json
Normal file
File diff suppressed because it is too large
Load diff
19214
test/data/manifests/rhel_85-x86_64-edge_installer_with_users-boot.json
Normal file
19214
test/data/manifests/rhel_85-x86_64-edge_installer_with_users-boot.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -165,6 +165,52 @@
|
|||
"x86_64"
|
||||
]
|
||||
},
|
||||
"rhel-edge-installer-with-users": {
|
||||
"compose-request": {
|
||||
"distro": "",
|
||||
"arch": "",
|
||||
"image-type": "rhel-edge-installer",
|
||||
"repositories": [],
|
||||
"filename": "installer.iso",
|
||||
"ostree": {
|
||||
"ref": "test/edge",
|
||||
"url": "http://edge.example.com/repo",
|
||||
"parent": "test/edge"
|
||||
},
|
||||
"blueprint": {
|
||||
"name": "edge-installer-users",
|
||||
"customizations": {
|
||||
"user": [
|
||||
{
|
||||
"name": "user2",
|
||||
"description": "description 2",
|
||||
"password": "$6$BhyxFBgrEFh0VrPJ$MllG8auiU26x2pmzL4.1maHzPHrA.4gTdCvlATFp8HJU9UPee4zCS9BVl2HOzKaUYD/zEm8r/OF05F2icWB0K/",
|
||||
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC61wMCjOSHwbVb4VfVyl5sn497qW4PsdQ7Ty7aD6wDNZ/QjjULkDV/yW5WjDlDQ7UqFH0Sr7vywjqDizUAqK7zM5FsUKsUXWHWwg/ehKg8j9xKcMv11AkFoUoujtfAujnKODkk58XSA9whPr7qcw3vPrmog680pnMSzf9LC7J6kXfs6lkoKfBh9VnlxusCrw2yg0qI1fHAZBLPx7mW6+me71QZsS6sVz8v8KXyrXsKTdnF50FjzHcK9HXDBtSJS5wA3fkcRYymJe0o6WMWNdgSRVpoSiWaHHmFgdMUJaYoCfhXzyl7LtNb3Q+Sveg+tJK7JaRXBLMUllOlJ6ll5Hod root@localhost",
|
||||
"home": "/home/home2",
|
||||
"shell": "/bin/sh",
|
||||
"groups": [
|
||||
"group1"
|
||||
],
|
||||
"uid": 1020,
|
||||
"gid": 1050
|
||||
}
|
||||
],
|
||||
"group": [
|
||||
{
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
{
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-image-info": true,
|
||||
"overrides": {}
|
||||
},
|
||||
"fedora-iot-commit": {
|
||||
"compose-request": {
|
||||
"distro": "",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue