diff --git a/internal/blueprint/blueprint.go b/internal/blueprint/blueprint.go index 4434b37ad..df997c499 100644 --- a/internal/blueprint/blueprint.go +++ b/internal/blueprint/blueprint.go @@ -363,6 +363,14 @@ func Convert(bp Blueprint) iblueprint.Blueprint { } customizations.Installer = &iinst } + if rpm := c.RPM; rpm != nil && rpm.ImportKeys != nil { + irpm := iblueprint.RPMCustomization{ + ImportKeys: &iblueprint.RPMImportKeys{ + Files: rpm.ImportKeys.Files, + }, + } + customizations.RPM = &irpm + } } ibp := iblueprint.Blueprint{ diff --git a/internal/blueprint/blueprint_convert_test.go b/internal/blueprint/blueprint_convert_test.go index 20ee9c169..81ea93762 100644 --- a/internal/blueprint/blueprint_convert_test.go +++ b/internal/blueprint/blueprint_convert_test.go @@ -174,6 +174,11 @@ func TestConvert(t *testing.T) { Unattended: true, SudoNopasswd: []string{"%group", "user"}, }, + RPM: &RPMCustomization{ + ImportKeys: &RPMImportKeys{ + Files: []string{"/root/gpg-key"}, + }, + }, }, Distro: "distro", }, @@ -329,6 +334,11 @@ func TestConvert(t *testing.T) { Unattended: true, SudoNopasswd: []string{"%group", "user"}, }, + RPM: &iblueprint.RPMCustomization{ + ImportKeys: &iblueprint.RPMImportKeys{ + Files: []string{"/root/gpg-key"}, + }, + }, }, Distro: "distro", }, diff --git a/internal/blueprint/customizations.go b/internal/blueprint/customizations.go index 303fab13c..7b73f3614 100644 --- a/internal/blueprint/customizations.go +++ b/internal/blueprint/customizations.go @@ -29,6 +29,7 @@ type Customizations struct { Repositories []RepositoryCustomization `json:"repositories,omitempty" toml:"repositories,omitempty"` FIPS *bool `json:"fips,omitempty" toml:"fips,omitempty"` Installer *InstallerCustomization `json:"installer,omitempty" toml:"installer,omitempty"` + RPM *RPMCustomization `json:"rpm,omitempty" toml:"rpm,omitempty"` } type IgnitionCustomization struct { diff --git a/internal/blueprint/rpm_customizations.go b/internal/blueprint/rpm_customizations.go new file mode 100644 index 000000000..d33ffd6c6 --- /dev/null +++ b/internal/blueprint/rpm_customizations.go @@ -0,0 +1,10 @@ +package blueprint + +type RPMImportKeys struct { + // File paths in the image to import keys from + Files []string `json:"files,omitempty" toml:"files,omitempty"` +} + +type RPMCustomization struct { + ImportKeys *RPMImportKeys `json:"import_keys,omitempty" toml:"import_keys,omitempty"` +} diff --git a/internal/cloudapi/v2/compose.go b/internal/cloudapi/v2/compose.go index 189bbb762..18007b415 100644 --- a/internal/cloudapi/v2/compose.go +++ b/internal/cloudapi/v2/compose.go @@ -432,6 +432,14 @@ func (request *ComposeRequest) GetCustomizationsFromBlueprintRequest() (*bluepri } } + if rpm := rbpc.Rpm; rpm != nil && rpm.ImportKeys != nil { + c.RPM = &blueprint.RPMCustomization{ + ImportKeys: &blueprint.RPMImportKeys{ + Files: *rpm.ImportKeys.Files, + }, + } + } + return c, nil } @@ -912,6 +920,14 @@ func (request *ComposeRequest) GetBlueprintFromCustomizations() (blueprint.Bluep bp.Customizations.Installer = installer } + if request.Customizations.Rpm != nil && request.Customizations.Rpm.ImportKeys != nil { + bp.Customizations.RPM = &blueprint.RPMCustomization{ + ImportKeys: &blueprint.RPMImportKeys{ + Files: *request.Customizations.Rpm.ImportKeys.Files, + }, + } + } + // Did bp.Customizations get set at all? If not, set it back to nil if reflect.DeepEqual(*bp.Customizations, blueprint.Customizations{}) { bp.Customizations = nil diff --git a/internal/cloudapi/v2/compose_test.go b/internal/cloudapi/v2/compose_test.go index bd0b78f42..8199a7229 100644 --- a/internal/cloudapi/v2/compose_test.go +++ b/internal/cloudapi/v2/compose_test.go @@ -135,6 +135,13 @@ func GetTestBlueprint() blueprint.Blueprint { Unattended: true, SudoNopasswd: []string{`%wheel`}, }, + RPM: &blueprint.RPMCustomization{ + ImportKeys: &blueprint.RPMImportKeys{ + Files: []string{ + "/root/gpg-key", + }, + }, + }, } return expected @@ -259,6 +266,13 @@ func TestGetBlueprintFromCustomizations(t *testing.T) { Unattended: common.ToPtr(true), SudoNopasswd: &[]string{`%wheel`}, }, + Rpm: &RPMCustomization{ + ImportKeys: &ImportKeys{ + Files: &[]string{ + "/root/gpg-key", + }, + }, + }, }} bp, err = cr.GetBlueprintFromCustomizations() @@ -406,6 +420,13 @@ func TestGetBlueprintFromCompose(t *testing.T) { Unattended: common.ToPtr(true), SudoNopasswd: &[]string{`%wheel`}, }, + Rpm: &RPMCustomization{ + ImportKeys: &ImportKeys{ + Files: &[]string{ + "/root/gpg-key", + }, + }, + }, }, }} diff --git a/internal/cloudapi/v2/openapi.v2.gen.go b/internal/cloudapi/v2/openapi.v2.gen.go index f123c9840..f6711b657 100644 --- a/internal/cloudapi/v2/openapi.v2.gen.go +++ b/internal/cloudapi/v2/openapi.v2.gen.go @@ -289,6 +289,7 @@ type BlueprintCustomizations struct { // Repositories to write to /etc/yum.repos.d/ in the final image. Note // that these are not used at build time. Repositories *[]BlueprintRepository `json:"repositories,omitempty"` + Rpm *RPMCustomization `json:"rpm,omitempty"` Services *Services `json:"services,omitempty"` // List of ssh keys @@ -584,9 +585,10 @@ type Customizations struct { // for the OS itself (they will not be available for the build root or // any other part of the build process). The package_sets field for these // repositories is ignored. - PayloadRepositories *[]Repository `json:"payload_repositories,omitempty"` - Services *Services `json:"services,omitempty"` - Subscription *Subscription `json:"subscription,omitempty"` + PayloadRepositories *[]Repository `json:"payload_repositories,omitempty"` + Rpm *RPMCustomization `json:"rpm,omitempty"` + Services *Services `json:"services,omitempty"` + Subscription *Subscription `json:"subscription,omitempty"` // Timezone configuration Timezone *Timezone `json:"timezone,omitempty"` @@ -812,6 +814,11 @@ type ImageStatusValue string // ImageTypes defines model for ImageTypes. type ImageTypes string +// ImportKeys defines model for ImportKeys. +type ImportKeys struct { + Files *[]string `json:"files,omitempty"` +} + // Installer defines model for Installer. type Installer struct { SudoNopasswd *[]string `json:"sudo-nopasswd,omitempty"` @@ -968,6 +975,11 @@ type PulpOSTreeUploadStatus struct { RepoUrl string `json:"repo_url"` } +// RPMCustomization defines model for RPMCustomization. +type RPMCustomization struct { + ImportKeys *ImportKeys `json:"import_keys,omitempty"` +} + // Repository configuration. // At least one of the 'baseurl', 'mirrorlist', 'metalink' properties must // be specified. If more of them are specified, the order of precedence is @@ -1363,178 +1375,179 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/internal/cloudapi/v2/openapi.v2.yml b/internal/cloudapi/v2/openapi.v2.yml index 499880576..afafc34a9 100644 --- a/internal/cloudapi/v2/openapi.v2.yml +++ b/internal/cloudapi/v2/openapi.v2.yml @@ -1024,6 +1024,18 @@ components: type: array items: type: string + ImportKeys: + type: object + properties: + files: + type: array + items: + type: string + RPMCustomization: + type: object + properties: + import_keys: + $ref: '#/components/schemas/ImportKeys' UploadTarget: type: object required: @@ -1354,6 +1366,8 @@ components: description: Enable FIPS mode installer: $ref: '#/components/schemas/Installer' + rpm: + $ref: '#/components/schemas/RPMCustomization' SSHKey: type: object additionalProperties: false @@ -1498,6 +1512,8 @@ components: $ref: '#/components/schemas/FIPS' installer: $ref: '#/components/schemas/Installer' + rpm: + $ref: '#/components/schemas/RPMCustomization' Container: type: object required: diff --git a/internal/weldr/api_test.go b/internal/weldr/api_test.go index 524a763c9..74c0d2adc 100644 --- a/internal/weldr/api_test.go +++ b/internal/weldr/api_test.go @@ -545,11 +545,18 @@ func TestBlueprintsCustomizationInfoToml(t *testing.T) { "minsize": 2147483648 } ], - "openscap": { - "datastream": "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml", - "profile_id": "xccdf_org.ssgproject.content_profile_cis" - }, - "partitioning_mode": "raw" + "openscap": { + "datastream": "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml", + "profile_id": "xccdf_org.ssgproject.content_profile_cis" + }, + "partitioning_mode": "raw", + "rpm": { + "import_keys": { + "files": [ + "/root/gpg-key" + ] + } + } } }` resp := test.SendHTTP(api, true, "POST", "/api/v0/blueprints/new", testBlueprint) @@ -645,6 +652,11 @@ func TestBlueprintsCustomizationInfoToml(t *testing.T) { ProfileID: "xccdf_org.ssgproject.content_profile_cis", }, PartitioningMode: "raw", + RPM: &blueprint.RPMCustomization{ + ImportKeys: &blueprint.RPMImportKeys{ + Files: []string{"/root/gpg-key"}, + }, + }, }, } diff --git a/test/cases/api.sh b/test/cases/api.sh index 481f7d3d8..f0e1116ce 100755 --- a/test/cases/api.sh +++ b/test/cases/api.sh @@ -445,6 +445,17 @@ EOF ) export FIREWALL_CUSTOMIZATION_BLOCK +RPM_CUSTOMIZATION_BLOCK=$(cat <