Repository: osbuild/osbuild-composer
Pull request #3001 (2022-09-19 15:23:43)

Expose Fedora IoT types in Cloud API
The main purpose of this PR is exposing the Fedora iot-raw-image in Image Builder (COMPOSER-1696).

### Changes

- Added all (working) Fedora IoT image types to the Cloud API
  - The IoT installer can't currently be built so it will be added when it's fixed.
- Renamed all `fedora-iot-X` image types to `iot-X`.
- Dropped the special case of `edge-commit` -> `fedora-iot-commit` when requesting the RHEL name for Fedora.

### Image Type Renaming

The `fedora-iot-` image types have all been renamed to simply `iot-` (e.g., `fedora-iot-commit` -> `iot-commit`).  We made the same change in RHEL for Edge image types (`rhel-edge-commit` -> `edge-commit`) a while ago and I think it's better to not have the distro name in the image type.  Backwards compatible aliases are maintained.
I think it's better we make the change now so that we don't have to support both the old and new names in the Cloud API and Image Builder in the future.


Patch:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d7f640f47..78e5afb46 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -602,7 +602,7 @@ API:
           - aws/rhel-8.7-nightly-x86_64
           - aws/rhel-9.1-nightly-x86_64
         INTERNAL_NETWORK: ["true"]
-      - IMAGE_TYPE: ["edge-commit"]
+      - IMAGE_TYPE: ["iot-commit"]
         RUNNER:
           - aws/fedora-35-x86_64
           - aws/fedora-36-x86_64
diff --git a/internal/cloudapi/v2/handler.go b/internal/cloudapi/v2/handler.go
index 1ad9951f3..3242ce6d9 100644
--- a/internal/cloudapi/v2/handler.go
+++ b/internal/cloudapi/v2/handler.go
@@ -365,6 +365,10 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
 			case ImageTypesEdgeInstaller:
 				fallthrough
 			case ImageTypesEdgeCommit:
+				fallthrough
+			case ImageTypesIotCommit:
+				fallthrough
+			case ImageTypesIotRawImage:
 				var awsS3UploadOptions AWSS3UploadOptions
 				jsonUploadOptions, err := json.Marshal(*ir.UploadOptions)
 				if err != nil {
@@ -391,6 +395,8 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
 
 				irTarget = t
 			case ImageTypesEdgeContainer:
+				fallthrough
+			case ImageTypesIotContainer:
 				var containerUploadOptions ContainerUploadOptions
 				jsonUploadOptions, err := json.Marshal(*ir.UploadOptions)
 				if err != nil {
@@ -545,18 +551,17 @@ func imageTypeFromApiImageType(it ImageTypes, arch distro.Arch) string {
 	case ImageTypesImageInstaller:
 		return "image-installer"
 	case ImageTypesEdgeCommit:
-		// Fedora doesn't define "rhel-edge-commit", or "edge-commit" yet.
-		// Assume that if the distro contains "fedora-iot-commit", it's Fedora
-		// and translate ImageTypesEdgeCommit to fedora-iot-commit in this case.
-		// This should definitely be removed in the near future.
-		if _, err := arch.GetImageType("fedora-iot-commit"); err == nil {
-			return "fedora-iot-commit"
-		}
 		return "rhel-edge-commit"
 	case ImageTypesEdgeContainer:
 		return "rhel-edge-container"
 	case ImageTypesEdgeInstaller:
 		return "rhel-edge-installer"
+	case ImageTypesIotCommit:
+		return "iot-commit"
+	case ImageTypesIotContainer:
+		return "iot-container"
+	case ImageTypesIotRawImage:
+		return "iot-raw-image"
 	}
 	return ""
 }
diff --git a/internal/cloudapi/v2/openapi.v2.gen.go b/internal/cloudapi/v2/openapi.v2.gen.go
index 4fbae6114..9446dbdb0 100644
--- a/internal/cloudapi/v2/openapi.v2.gen.go
+++ b/internal/cloudapi/v2/openapi.v2.gen.go
@@ -74,6 +74,12 @@ const (
 
 	ImageTypesImageInstaller ImageTypes = "image-installer"
 
+	ImageTypesIotCommit ImageTypes = "iot-commit"
+
+	ImageTypesIotContainer ImageTypes = "iot-container"
+
+	ImageTypesIotRawImage ImageTypes = "iot-raw-image"
+
 	ImageTypesVsphere ImageTypes = "vsphere"
 )
 
@@ -784,117 +790,118 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
 var swaggerSpec = []string{
 
 	"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",
-	"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",
+	"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",
-	"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",
+	"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",
+	"/z8AAP//9d2HvV9rAAA=",
 }
 
 // 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 317400114..96f302907 100644
--- a/internal/cloudapi/v2/openapi.v2.yml
+++ b/internal/cloudapi/v2/openapi.v2.yml
@@ -758,8 +758,8 @@ components:
       type: string
       enum:
         - aws
-        - aws-rhui
         - aws-ha-rhui
+        - aws-rhui
         - aws-sap-rhui
         - azure
         - azure-rhui
@@ -770,6 +770,9 @@ components:
         - gcp-rhui
         - guest-image
         - image-installer
+        - iot-commit
+        - iot-container
+        - iot-raw-image
         - vsphere
     Repository:
       type: object
diff --git a/internal/distro/fedora/distro.go b/internal/distro/fedora/distro.go
index db5ecb7e9..dd7f44ff0 100644
--- a/internal/distro/fedora/distro.go
+++ b/internal/distro/fedora/distro.go
@@ -71,8 +71,8 @@ var (
 
 	// Image Definitions
 	iotCommitImgType = imageType{
-		name:        "fedora-iot-commit",
-		nameAliases: []string{"iot-commit"},
+		name:        "iot-commit",
+		nameAliases: []string{"fedora-iot-commit"},
 		filename:    "commit.tar",
 		mimeType:    "application/x-tar",
 		packageSets: map[string]packageSetFunc{
@@ -89,8 +89,8 @@ var (
 	}
 
 	iotOCIImgType = imageType{
-		name:        "fedora-iot-container",
-		nameAliases: []string{"iot-container"},
+		name:        "iot-container",
+		nameAliases: []string{"fedora-iot-container"},
 		filename:    "container.tar",
 		mimeType:    "application/x-tar",
 		packageSets: map[string]packageSetFunc{
@@ -111,8 +111,8 @@ var (
 	}
 
 	iotInstallerImgType = imageType{
-		name:        "fedora-iot-installer",
-		nameAliases: []string{"iot-installer"},
+		name:        "iot-installer",
+		nameAliases: []string{"fedora-iot-installer"},
 		filename:    "installer.iso",
 		mimeType:    "application/x-iso9660-image",
 		packageSets: map[string]packageSetFunc{
@@ -131,8 +131,8 @@ var (
 	}
 
 	iotRawImgType = imageType{
-		name:        "fedora-iot-raw-image",
-		nameAliases: []string{"iot-raw-image"},
+		name:        "iot-raw-image",
+		nameAliases: []string{"fedora-iot-raw-image"},
 		filename:    "image.raw.xz",
 		mimeType:    "application/xz",
 		packageSets: map[string]packageSetFunc{},
@@ -681,7 +681,7 @@ func (t *imageType) checkOptions(customizations *blueprint.Customizations, optio
 			return fmt.Errorf("boot ISO image type %q requires specifying a URL from which to retrieve the OSTree commit", t.name)
 		}
 
-		if t.name == "iot-installer" || t.name == "fedora-iot-installer" {
+		if t.name == "iot-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, ", "))


Test patch:
diff --git a/internal/distro/fedora/distro_test.go b/internal/distro/fedora/distro_test.go
index c9fa97fdc..eb368ba54 100644
--- a/internal/distro/fedora/distro_test.go
+++ b/internal/distro/fedora/distro_test.go
@@ -92,25 +92,23 @@ func TestFilenameFromType(t *testing.T) {
 				mimeType: "application/x-vmdk",
 			},
 		},
-
 		{
-			name: "iot-commit",
-			args: args{"iot-commit"},
+			name: "container",
+			args: args{"container"},
 			want: wantResult{
-				filename: "commit.tar",
+				filename: "container.tar",
 				mimeType: "application/x-tar",
 			},
 		},
-		// Alias
 		{
-			name: "fedora-iot-commit",
-			args: args{"fedora-iot-commit"},
+			name: "iot-commit",
+			args: args{"iot-commit"},
 			want: wantResult{
 				filename: "commit.tar",
 				mimeType: "application/x-tar",
 			},
 		},
-		{
+		{ // Alias
 			name: "fedora-iot-commit",
 			args: args{"fedora-iot-commit"},
 			want: wantResult{
@@ -118,23 +116,6 @@ func TestFilenameFromType(t *testing.T) {
 				mimeType: "application/x-tar",
 			},
 		},
-		{
-			name: "fedora-iot-container",
-			args: args{"fedora-iot-container"},
-			want: wantResult{
-				filename: "container.tar",
-				mimeType: "application/x-tar",
-			},
-		},
-		{
-			name: "container",
-			args: args{"container"},
-			want: wantResult{
-				filename: "container.tar",
-				mimeType: "application/x-tar",
-			},
-		},
-		// Alias
 		{
 			name: "iot-container",
 			args: args{"iot-container"},
@@ -143,7 +124,7 @@ func TestFilenameFromType(t *testing.T) {
 				mimeType: "application/x-tar",
 			},
 		},
-		{
+		{ // Alias
 			name: "fedora-iot-container",
 			args: args{"fedora-iot-container"},
 			want: wantResult{
@@ -151,16 +132,6 @@ func TestFilenameFromType(t *testing.T) {
 				mimeType: "application/x-tar",
 			},
 		},
-
-		{
-			name: "fedora-iot-installer",
-			args: args{"fedora-iot-installer"},
-			want: wantResult{
-				filename: "installer.iso",
-				mimeType: "application/x-iso9660-image",
-			},
-		},
-		// Alias
 		{
 			name: "iot-installer",
 			args: args{"iot-installer"},
@@ -169,7 +140,7 @@ func TestFilenameFromType(t *testing.T) {
 				mimeType: "application/x-iso9660-image",
 			},
 		},
-		{
+		{ // Alias
 			name: "fedora-iot-installer",
 			args: args{"fedora-iot-installer"},
 			want: wantResult{
@@ -274,10 +245,10 @@ func TestImageType_Name(t *testing.T) {
 				"vhd",
 				"vmdk",
 				"ami",
-				"fedora-iot-commit",
-				"fedora-iot-container",
-				"fedora-iot-installer",
-				"fedora-iot-raw-image",
+				"iot-commit",
+				"iot-container",
+				"iot-installer",
+				"iot-raw-image",
 				"oci",
 			},
 		},
@@ -288,10 +259,10 @@ func TestImageType_Name(t *testing.T) {
 				"openstack",
 				"ami",
 				"oci",
-				"fedora-iot-commit",
-				"fedora-iot-container",
-				"fedora-iot-installer",
-				"fedora-iot-raw-image",
+				"iot-commit",
+				"iot-container",
+				"iot-installer",
+				"iot-raw-image",
 			},
 		},
 	}
@@ -305,7 +276,7 @@ func TestImageType_Name(t *testing.T) {
 				arch, err := dist.distro.GetArch(mapping.arch)
 				if assert.NoError(t, err) {
 					for _, imgName := range mapping.imgNames {
-						if imgName == "fedora-iot-commit" {
+						if imgName == "iot-commit" {
 							continue
 						}
 						imgType, err := arch.GetImageType(imgName)
@@ -332,32 +303,32 @@ func TestImageTypeAliases(t *testing.T) {
 		want wantResult
 	}{
 		{
-			name: "fedora-iot-commit aliases",
+			name: "iot-commit aliases",
 			args: args{
-				imageTypeAliases: []string{"iot-commit"},
+				imageTypeAliases: []string{"fedora-iot-commit"},
 			},
 			want: wantResult{
-				imageTypeName: "fedora-iot-commit",
+				imageTypeName: "iot-commit",
 			},
 		},
 
 		{
-			name: "fedora-iot-container aliases",
+			name: "iot-container aliases",
 			args: args{
-				imageTypeAliases: []string{"iot-container"},
+				imageTypeAliases: []string{"fedora-iot-container"},
 			},
 			want: wantResult{
-				imageTypeName: "fedora-iot-container",
+				imageTypeName: "iot-container",
 			},
 		},
 
 		{
-			name: "fedora-iot-installer aliases",
+			name: "iot-installer aliases",
 			args: args{
-				imageTypeAliases: []string{"iot-installer"},
+				imageTypeAliases: []string{"fedora-iot-installer"},
 			},
 			want: wantResult{
-				imageTypeName: "fedora-iot-installer",
+				imageTypeName: "iot-installer",
 			},
 		},
 	}
@@ -419,9 +390,9 @@ func TestDistro_ManifestError(t *testing.T) {
 			}
 			testPackageSpecSets := distro_test_common.GetTestingImagePackageSpecSets("kernel", imgType)
 			_, err := imgType.Manifest(bp.Customizations, imgOpts, nil, testPackageSpecSets, nil, 0)
-			if imgTypeName == "fedora-iot-commit" || imgTypeName == "fedora-iot-container" || imgTypeName == "fedora-iot-raw-image" {
+			if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-raw-image" {
 				assert.EqualError(t, err, "kernel boot parameter customizations are not supported for ostree types")
-			} else if imgTypeName == "fedora-iot-installer" {
+			} else if imgTypeName == "iot-installer" {
 				assert.EqualError(t, err, fmt.Sprintf("boot ISO image type \"%s\" requires specifying a URL from which to retrieve the OSTree commit", imgTypeName))
 			} else {
 				assert.NoError(t, err)
@@ -444,10 +415,10 @@ func TestArchitecture_ListImageTypes(t *testing.T) {
 				"vhd",
 				"vmdk",
 				"ami",
-				"fedora-iot-commit",
-				"fedora-iot-container",
-				"fedora-iot-installer",
-				"fedora-iot-raw-image",
+				"iot-commit",
+				"iot-container",
+				"iot-installer",
+				"iot-raw-image",
 				"oci",
 				"container",
 			},
@@ -458,10 +429,10 @@ func TestArchitecture_ListImageTypes(t *testing.T) {
 				"qcow2",
 				"openstack",
 				"ami",
-				"fedora-iot-commit",
-				"fedora-iot-container",
-				"fedora-iot-installer",
-				"fedora-iot-raw-image",
+				"iot-commit",
+				"iot-container",
+				"iot-installer",
+				"iot-raw-image",
 				"oci",
 				"container",
 			},
@@ -555,9 +526,9 @@ func TestDistro_CustomFileSystemManifestError(t *testing.T) {
 		for _, imgTypeName := range arch.ListImageTypes() {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, nil, nil, 0)
-			if imgTypeName == "fedora-iot-commit" || imgTypeName == "fedora-iot-container" || imgTypeName == "fedora-iot-raw-image" {
+			if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-raw-image" {
 				assert.EqualError(t, err, "Custom mountpoints are not supported for ostree types")
-			} else if imgTypeName == "fedora-iot-installer" {
+			} else if imgTypeName == "iot-installer" {
 				continue
 			} else {
 				assert.EqualError(t, err, "The following custom mountpoints are not supported [\"/etc\"]")
@@ -584,9 +555,9 @@ func TestDistro_TestRootMountPoint(t *testing.T) {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			testPackageSpecSets := distro_test_common.GetTestingImagePackageSpecSets("kernel", imgType)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, testPackageSpecSets, nil, 0)
-			if imgTypeName == "fedora-iot-commit" || imgTypeName == "fedora-iot-container" || imgTypeName == "fedora-iot-raw-image" {
+			if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-raw-image" {
 				assert.EqualError(t, err, "Custom mountpoints are not supported for ostree types")
-			} else if imgTypeName == "fedora-iot-installer" {
+			} else if imgTypeName == "iot-installer" {
 				continue
 			} else {
 				assert.NoError(t, err)
@@ -617,7 +588,7 @@ func TestDistro_CustomFileSystemSubDirectories(t *testing.T) {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			testPackageSpecSets := distro_test_common.GetTestingImagePackageSpecSets("kernel", imgType)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, testPackageSpecSets, nil, 0)
-			if strings.HasPrefix(imgTypeName, "fedora-iot-") {
+			if strings.HasPrefix(imgTypeName, "iot-") {
 				continue
 			} else {
 				assert.NoError(t, err)
@@ -656,7 +627,7 @@ func TestDistro_MountpointsWithArbitraryDepthAllowed(t *testing.T) {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			testPackageSpecSets := distro_test_common.GetTestingImagePackageSpecSets("kernel", imgType)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, testPackageSpecSets, nil, 0)
-			if strings.HasPrefix(imgTypeName, "fedora-iot-") {
+			if strings.HasPrefix(imgTypeName, "iot-") {
 				continue
 			} else {
 				assert.NoError(t, err)
@@ -690,7 +661,7 @@ func TestDistro_DirtyMountpointsNotAllowed(t *testing.T) {
 		for _, imgTypeName := range arch.ListImageTypes() {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, nil, nil, 0)
-			if strings.HasPrefix(imgTypeName, "fedora-iot-") {
+			if strings.HasPrefix(imgTypeName, "iot-") {
 				continue
 			} else {
 				assert.EqualError(t, err, "The following custom mountpoints are not supported [\"//\" \"/var//\" \"/var//log/audit/\"]")
@@ -720,9 +691,9 @@ func TestDistro_CustomFileSystemPatternMatching(t *testing.T) {
 		for _, imgTypeName := range arch.ListImageTypes() {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, nil, nil, 0)
-			if imgTypeName == "fedora-iot-commit" || imgTypeName == "fedora-iot-container" || imgTypeName == "fedora-iot-raw-image" {
+			if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-raw-image" {
 				assert.EqualError(t, err, "Custom mountpoints are not supported for ostree types")
-			} else if imgTypeName == "fedora-iot-installer" {
+			} else if imgTypeName == "iot-installer" {
 				continue
 			} else {
 				assert.EqualError(t, err, "The following custom mountpoints are not supported [\"/variable\" \"/variable/log/audit\"]")
@@ -749,9 +720,9 @@ func TestDistro_CustomUsrPartitionNotLargeEnough(t *testing.T) {
 			imgType, _ := arch.GetImageType(imgTypeName)
 			testPackageSpecSets := distro_test_common.GetTestingImagePackageSpecSets("kernel", imgType)
 			_, err := imgType.Manifest(bp.Customizations, distro.ImageOptions{}, nil, testPackageSpecSets, nil, 0)
-			if imgTypeName == "fedora-iot-commit" || imgTypeName == "fedora-iot-container" || imgTypeName == "fedora-iot-raw-image" {
+			if imgTypeName == "iot-commit" || imgTypeName == "iot-container" || imgTypeName == "iot-raw-image" {
 				assert.EqualError(t, err, "Custom mountpoints are not supported for ostree types")
-			} else if imgTypeName == "fedora-iot-installer" {
+			} else if imgTypeName == "iot-installer" {
 				continue
 			} else {
 				assert.NoError(t, err)
diff --git a/test/cases/api.sh b/test/cases/api.sh
index c84f6df99..d8fe82403 100755
--- a/test/cases/api.sh
+++ b/test/cases/api.sh
@@ -35,6 +35,7 @@ export IMAGE_TYPE_GCP="gcp"
 export IMAGE_TYPE_IMAGE_INSTALLER="image-installer"
 export IMAGE_TYPE_GUEST="guest-image"
 export IMAGE_TYPE_VSPHERE="vsphere"
+export IMAGE_TYPE_IOT_COMMIT="iot-commit"
 
 if (( $# > 2 )); then
     echo "$0 does not support more than two arguments"
@@ -66,7 +67,7 @@ case ${IMAGE_TYPE} in
     "$IMAGE_TYPE_EDGE_CONTAINER")
         CLOUD_PROVIDER="${CLOUD_PROVIDER_CONTAINER_IMAGE_REGISTRY}"
         ;;
-    "$IMAGE_TYPE_EDGE_COMMIT"|"$IMAGE_TYPE_EDGE_INSTALLER"|"$IMAGE_TYPE_IMAGE_INSTALLER"|"$IMAGE_TYPE_GUEST"|"$IMAGE_TYPE_VSPHERE")
+    "$IMAGE_TYPE_EDGE_COMMIT"|"$IMAGE_TYPE_IOT_COMMIT"|"$IMAGE_TYPE_EDGE_INSTALLER"|"$IMAGE_TYPE_IMAGE_INSTALLER"|"$IMAGE_TYPE_GUEST"|"$IMAGE_TYPE_VSPHERE")
         # blobby image types: upload to s3 and provide download link
         CLOUD_PROVIDER="${2:-$CLOUD_PROVIDER_AWS_S3}"
         if [ "${CLOUD_PROVIDER}" != "${CLOUD_PROVIDER_AWS_S3}" ] && [ "${CLOUD_PROVIDER}" != "${CLOUD_PROVIDER_GENERIC_S3}" ]; then
diff --git a/test/cases/api/aws.s3.sh b/test/cases/api/aws.s3.sh
index 29cd5bc9d..12723f8f5 100644
--- a/test/cases/api/aws.s3.sh
+++ b/test/cases/api/aws.s3.sh
@@ -47,7 +47,7 @@ function installClient() {
 
 function createReqFile() {
     case ${IMAGE_TYPE} in
-        "$IMAGE_TYPE_EDGE_COMMIT"|"$IMAGE_TYPE_EDGE_CONTAINER"|"$IMAGE_TYPE_EDGE_INSTALLER"|"$IMAGE_TYPE_IMAGE_INSTALLER")
+        "$IMAGE_TYPE_EDGE_COMMIT"|"$IMAGE_TYPE_IOT_COMMIT"|"$IMAGE_TYPE_EDGE_CONTAINER"|"$IMAGE_TYPE_EDGE_INSTALLER"|"$IMAGE_TYPE_IMAGE_INSTALLER")
             createReqFileEdge
             ;;
         "$IMAGE_TYPE_VSPHERE")
@@ -90,7 +90,7 @@ function verify() {
 
     # Download the object using the Presigned URL and inspect
     case ${IMAGE_TYPE} in
-        "$IMAGE_TYPE_EDGE_COMMIT")
+        "$IMAGE_TYPE_EDGE_COMMIT"|"${IMAGE_TYPE_IOT_COMMIT}")
             if [[ $ID == "fedora" ]]; then
                 # on Fedora, the test case uploads the artifact publicly,
                 # so check here that the URL isn't presigned
diff --git a/test/cases/api/common/s3.sh b/test/cases/api/common/s3.sh
index d88461c9d..0a924369f 100644
--- a/test/cases/api/common/s3.sh
+++ b/test/cases/api/common/s3.sh
@@ -121,7 +121,7 @@ function createReqFileVSphere() {
 EOF
 }
 
-# verify edge commit content
+# verify edge/iot commit content
 function verifyEdgeCommit() {
     filename="$1"
     greenprint "Verifying contents of ${filename}"
diff --git a/test/cases/generic_s3.sh b/test/cases/generic_s3.sh
index 6a2539038..8f15cc2d0 100755
--- a/test/cases/generic_s3.sh
+++ b/test/cases/generic_s3.sh
@@ -33,11 +33,11 @@ trap cleanup EXIT
 # resources in case the test unexpectedly fails or is canceled
 CI="${CI:-false}"
 if [[ "$CI" == true ]]; then
-  # in CI, imitate GenerateCIArtifactName() from internal/test/helpers.go
-  TEST_ID="$DISTRO_CODE-$ARCH-$CI_COMMIT_BRANCH-$CI_BUILD_ID"
+    # in CI, imitate GenerateCIArtifactName() from internal/test/helpers.go
+    TEST_ID="$DISTRO_CODE-$ARCH-$CI_COMMIT_BRANCH-$CI_BUILD_ID"
 else
-  # if not running in Jenkins, generate ID not relying on specific env variables
-  TEST_ID=$(uuidgen);
+    # if not running in Jenkins, generate ID not relying on specific env variables
+    TEST_ID=$(uuidgen);
 fi
 
 # Set up temporary files.
@@ -88,8 +88,8 @@ ${CONTAINER_RUNTIME} run --rm -d \
     -e MINIO_ROOT_USER="${MINIO_ROOT_USER}" \
     -e MINIO_ROOT_PASSWORD="${MINIO_ROOT_PASSWORD}" \
     ${CONTAINER_MINIO_SERVER} server /data
-# Kill the server once we're done
-trap '${CONTAINER_RUNTIME} kill ${MINIO_CONTAINER_NAME}' EXIT
+    # Kill the server once we're done
+    trap '${CONTAINER_RUNTIME} kill ${MINIO_CONTAINER_NAME}' EXIT
 
 # Configure the local server (retry until the service is up)
 MINIO_CONFIGURE_RETRY=0
@@ -99,13 +99,13 @@ until [ "${MINIO_CONFIGURE_RETRY}" -ge "${MINIO_CONFIGURE_MAX_RETRY}" ]
 do
     ${MC_CMD} alias set ${MINIO_SERVER_ALIAS} ${MINIO_ENDPOINT} ${MINIO_ROOT_USER} "${MINIO_ROOT_PASSWORD}" && break
     MINIO_CONFIGURE_RETRY=$(${MINIO_CONFIGURE_RETRY} + 1)
-	echo "Retrying [${MINIO_CONFIGURE_RETRY}/${MINIO_CONFIGURE_MAX_RETRY}] in ${MINIO_RETRY_INTERVAL}(s) "
-	sleep ${MINIO_RETRY_INTERVAL}
+    echo "Retrying [${MINIO_CONFIGURE_RETRY}/${MINIO_CONFIGURE_MAX_RETRY}] in ${MINIO_RETRY_INTERVAL}(s) "
+    sleep ${MINIO_RETRY_INTERVAL}
 done
 
 if [ "${MINIO_CONFIGURE_RETRY}" -ge "${MINIO_CONFIGURE_MAX_RETRY}" ]; then
-  echo "Failed to set MinIO alias after ${MINIO_CONFIGURE_MAX_RETRY} attempts!"
-  exit 1
+    echo "Failed to set MinIO alias after ${MINIO_CONFIGURE_MAX_RETRY} attempts!"
+    exit 1
 fi
 
 # Create the bucket
diff --git a/test/cases/ostree-ng.sh b/test/cases/ostree-ng.sh
index e8d6ff14a..f512ac4bc 100755
--- a/test/cases/ostree-ng.sh
+++ b/test/cases/ostree-ng.sh
@@ -93,8 +93,8 @@ SSH_KEY_PUB=$(cat "${SSH_KEY}".pub)
 
 case "${ID}-${VERSION_ID}" in
     "fedora-"*)
-        CONTAINER_TYPE=fedora-iot-container
-        INSTALLER_TYPE=fedora-iot-installer
+        CONTAINER_TYPE=iot-container
+        INSTALLER_TYPE=iot-installer
         OSTREE_REF="fedora/${VERSION_ID}/${ARCH}/iot"
         OSTREE_OSNAME=fedora
         OS_VARIANT="fedora-unknown"
diff --git a/test/cases/ostree-raw-image.sh b/test/cases/ostree-raw-image.sh
index 4fbf389d6..1d0cdebe8 100755
--- a/test/cases/ostree-raw-image.sh
+++ b/test/cases/ostree-raw-image.sh
@@ -102,8 +102,8 @@ case "${ID}-${VERSION_ID}" in
         OS_VARIANT="centos-stream9"
         ;;
     "fedora-"*)
-        CONTAINER_TYPE=fedora-iot-container
-        RAW_IMAGE_TYPE=fedora-iot-raw-image
+        CONTAINER_TYPE=iot-container
+        RAW_IMAGE_TYPE=iot-raw-image
         OSTREE_REF="fedora/${VERSION_ID}/${ARCH}/iot"
         OS_VARIANT="fedora-unknown"
         OSTREE_OSNAME="fedora-iot"
diff --git a/test/cases/ostree.sh b/test/cases/ostree.sh
index 9847850a0..70a27649a 100755
--- a/test/cases/ostree.sh
+++ b/test/cases/ostree.sh
@@ -16,7 +16,7 @@ fi
 # Set os-variant and boot location used by virt-install.
 case "${ID}-${VERSION_ID}" in
     "fedora-35")
-        IMAGE_TYPE=fedora-iot-commit
+        IMAGE_TYPE=iot-commit
         OSTREE_REF="fedora/35/${ARCH}/iot"
         OS_VARIANT="fedora35"
         USER_IN_COMMIT="false"
@@ -24,7 +24,7 @@ case "${ID}-${VERSION_ID}" in
         EMBEDED_CONTAINER="false"
         ;;
     "fedora-36")
-        IMAGE_TYPE=fedora-iot-commit
+        IMAGE_TYPE=iot-commit
         OSTREE_REF="fedora/36/${ARCH}/iot"
         OS_VARIANT="fedora36"
         USER_IN_COMMIT="false"
@@ -32,7 +32,7 @@ case "${ID}-${VERSION_ID}" in
         EMBEDED_CONTAINER="false"
         ;;
     "fedora-37")
-        IMAGE_TYPE=fedora-iot-commit
+        IMAGE_TYPE=iot-commit
         OSTREE_REF="fedora/37/${ARCH}/iot"
         OS_VARIANT="fedora-unknown"
         USER_IN_COMMIT="false"
diff --git a/test/data/manifests/fedora_35-aarch64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_35-aarch64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-aarch64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_35-aarch64-iot_commit-boot.json
index 27cd0945b..42018762b 100644
--- a/test/data/manifests/fedora_35-aarch64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_35-aarch64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "aarch64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-aarch64-fedora_iot_container-boot.json b/test/data/manifests/fedora_35-aarch64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-aarch64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_35-aarch64-iot_container-boot.json
index 37a57ec5b..e2c231ff2 100644
--- a/test/data/manifests/fedora_35-aarch64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_35-aarch64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "aarch64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-aarch64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_35-aarch64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-aarch64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_35-aarch64-iot_installer-boot.json
index 21783f391..d23689ba0 100644
--- a/test/data/manifests/fedora_35-aarch64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_35-aarch64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-aarch64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_35-aarch64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-aarch64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_35-aarch64-iot_installer_with_users-boot.json
index 9568bbd05..bb9b32288 100644
--- a/test/data/manifests/fedora_35-aarch64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_35-aarch64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-aarch64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_35-aarch64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-aarch64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_35-aarch64-iot_raw_image-boot.json
index d73b109cf..ca64e9638 100644
--- a/test/data/manifests/fedora_35-aarch64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_35-aarch64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "aarch64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_35-x86_64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_commit-boot.json
index 7290450f9..cad63db80 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_commit_debug-boot.json b/test/data/manifests/fedora_35-x86_64-iot_commit_debug-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_commit_debug-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_commit_debug-boot.json
index 067a7c0ec..32b091347 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_commit_debug-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_commit_debug-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_container-boot.json b/test/data/manifests/fedora_35-x86_64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_container-boot.json
index 95e897a75..ce4586b4e 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_35-x86_64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_installer-boot.json
index 423b98146..3f233c790 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_35-x86_64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_installer_with_users-boot.json
index bce178aa5..d411fa490 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_35-x86_64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_35-x86_64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_35-x86_64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_35-x86_64-iot_raw_image-boot.json
index b666e5849..fe439755c 100644
--- a/test/data/manifests/fedora_35-x86_64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_35-x86_64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-35",
     "arch": "x86_64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-aarch64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_36-aarch64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-aarch64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_36-aarch64-iot_commit-boot.json
index b7313fd53..98ffced5d 100644
--- a/test/data/manifests/fedora_36-aarch64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_36-aarch64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "aarch64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-aarch64-fedora_iot_container-boot.json b/test/data/manifests/fedora_36-aarch64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-aarch64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_36-aarch64-iot_container-boot.json
index d95a99112..73898f37d 100644
--- a/test/data/manifests/fedora_36-aarch64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_36-aarch64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "aarch64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-aarch64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_36-aarch64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-aarch64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_36-aarch64-iot_installer-boot.json
index 18c137ef2..472727e0e 100644
--- a/test/data/manifests/fedora_36-aarch64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_36-aarch64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-aarch64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_36-aarch64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-aarch64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_36-aarch64-iot_installer_with_users-boot.json
index e9fa9c6f0..26d0d4745 100644
--- a/test/data/manifests/fedora_36-aarch64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_36-aarch64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-aarch64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-aarch64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json
index f6980dae2..88e495ec0 100644
--- a/test/data/manifests/fedora_36-aarch64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "aarch64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_commit-boot.json
index 07edf06a8..f5d16a760 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_commit_debug-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit_debug-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_commit_debug-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_commit_debug-boot.json
index 77646c368..4aaf0718f 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_commit_debug-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_commit_debug-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_container-boot.json b/test/data/manifests/fedora_36-x86_64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_container-boot.json
index a1a9ec7b8..d8c1cfbd9 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_36-x86_64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_installer-boot.json
index 7f2c86ab8..6e0cc5790 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_36-x86_64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_installer_with_users-boot.json
index a23e3dad6..21038babf 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_36-x86_64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_36-x86_64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json
index b575a4683..6c6b48aea 100644
--- a/test/data/manifests/fedora_36-x86_64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-36",
     "arch": "x86_64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-aarch64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_37-aarch64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-aarch64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_37-aarch64-iot_commit-boot.json
index f9d4c7c9e..8c881e4e9 100644
--- a/test/data/manifests/fedora_37-aarch64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_37-aarch64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "aarch64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-aarch64-fedora_iot_container-boot.json b/test/data/manifests/fedora_37-aarch64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-aarch64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_37-aarch64-iot_container-boot.json
index 9927edee4..42006edb4 100644
--- a/test/data/manifests/fedora_37-aarch64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_37-aarch64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "aarch64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-aarch64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_37-aarch64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-aarch64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_37-aarch64-iot_installer-boot.json
index 9da2299a5..73b678763 100644
--- a/test/data/manifests/fedora_37-aarch64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_37-aarch64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-aarch64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_37-aarch64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-aarch64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_37-aarch64-iot_installer_with_users-boot.json
index c0ff4afae..ad3fed41e 100644
--- a/test/data/manifests/fedora_37-aarch64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_37-aarch64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-aarch64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-aarch64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json
index b409bc042..f8ab10432 100644
--- a/test/data/manifests/fedora_37-aarch64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "aarch64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_commit-boot.json
index 18ecd78f3..e4cf67ec0 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_commit_debug-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit_debug-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_commit_debug-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_commit_debug-boot.json
index 72e693ed8..7ba582518 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_commit_debug-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_commit_debug-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_container-boot.json b/test/data/manifests/fedora_37-x86_64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_container-boot.json
index f6df8924c..e1aa4b2c8 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_37-x86_64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_installer-boot.json
index 7f556394b..ff7ce8303 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_37-x86_64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_installer_with_users-boot.json
index ffbaf4178..1deb4d6e2 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_37-x86_64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_37-x86_64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json
index 93d3c1904..16d363241 100644
--- a/test/data/manifests/fedora_37-x86_64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-37",
     "arch": "x86_64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-aarch64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_38-aarch64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-aarch64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_38-aarch64-iot_commit-boot.json
index 06bb7b679..b7e2e3eb5 100644
--- a/test/data/manifests/fedora_38-aarch64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_38-aarch64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "aarch64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-aarch64-fedora_iot_container-boot.json b/test/data/manifests/fedora_38-aarch64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-aarch64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_38-aarch64-iot_container-boot.json
index 886ec64c3..1dc8f182c 100644
--- a/test/data/manifests/fedora_38-aarch64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_38-aarch64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "aarch64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-aarch64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_38-aarch64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-aarch64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_38-aarch64-iot_installer-boot.json
index de4c95ad1..b195f29ec 100644
--- a/test/data/manifests/fedora_38-aarch64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_38-aarch64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-aarch64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_38-aarch64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-aarch64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_38-aarch64-iot_installer_with_users-boot.json
index dfa5a4e60..03d9963b3 100644
--- a/test/data/manifests/fedora_38-aarch64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_38-aarch64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "aarch64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-aarch64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-aarch64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json
index 138bc4813..baddae70a 100644
--- a/test/data/manifests/fedora_38-aarch64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "aarch64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_commit-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_commit-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_commit-boot.json
index 4e954b8d0..f4c8e1fe1 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_commit-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_commit-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_commit_debug-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit_debug-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_commit_debug-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_commit_debug-boot.json
index f3f6f401b..5d9b738fe 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_commit_debug-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_commit_debug-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-commit",
+    "image-type": "iot-commit",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_container-boot.json b/test/data/manifests/fedora_38-x86_64-iot_container-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_container-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_container-boot.json
index 51113dae0..315f5ef6b 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_container-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_container-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-container",
+    "image-type": "iot-container",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_installer-boot.json b/test/data/manifests/fedora_38-x86_64-iot_installer-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_installer-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_installer-boot.json
index 3d1c0c11e..1b3c8f8af 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_installer-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_installer-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_installer_with_users-boot.json b/test/data/manifests/fedora_38-x86_64-iot_installer_with_users-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_installer_with_users-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_installer_with_users-boot.json
index af062730e..67130cc86 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_installer_with_users-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_installer_with_users-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-installer",
+    "image-type": "iot-installer",
     "repositories": [
       {
         "name": "fedora",
diff --git a/test/data/manifests/fedora_38-x86_64-fedora_iot_raw_image-boot.json b/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json
similarity index 99%
rename from test/data/manifests/fedora_38-x86_64-fedora_iot_raw_image-boot.json
rename to test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json
index 1165403d4..194b1fdde 100644
--- a/test/data/manifests/fedora_38-x86_64-fedora_iot_raw_image-boot.json
+++ b/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json
@@ -2,7 +2,7 @@
   "compose-request": {
     "distro": "fedora-38",
     "arch": "x86_64",
-    "image-type": "fedora-iot-raw-image",
+    "image-type": "iot-raw-image",
     "repositories": [
       {
         "name": "fedora",
diff --git a/tools/test-case-generators/format-request-map.json b/tools/test-case-generators/format-request-map.json
index 314e8ec62..a2eb04360 100644
--- a/tools/test-case-generators/format-request-map.json
+++ b/tools/test-case-generators/format-request-map.json
@@ -240,22 +240,22 @@
     "no-image-info": true,
     "overrides": {}
   },
-  "fedora-iot-commit": {
+  "iot-commit": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-commit",
+      "image-type": "iot-commit",
       "repositories": [],
       "filename": "commit.tar",
       "blueprint": {}
     },
     "overrides": {}
   },
-  "fedora-iot-commit-debug": {
+  "iot-commit-debug": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-commit",
+      "image-type": "iot-commit",
       "repositories": [],
       "filename": "commit.tar",
       "blueprint": {
@@ -271,22 +271,22 @@
       "x86_64"
     ]
   },
-  "fedora-iot-container": {
+  "iot-container": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-container",
+      "image-type": "iot-container",
       "repositories": [],
       "filename": "container.tar",
       "blueprint": {}
     },
     "overrides": {}
   },
-  "fedora-iot-installer": {
+  "iot-installer": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-installer",
+      "image-type": "iot-installer",
       "repositories": [],
       "filename": "installer.iso",
       "ostree": {
@@ -299,11 +299,11 @@
     "no-image-info": true,
     "overrides": {}
   },
-  "fedora-iot-installer-with-users": {
+  "iot-installer-with-users": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-installer",
+      "image-type": "iot-installer",
       "repositories": [],
       "filename": "installer.iso",
       "ostree": {
@@ -345,11 +345,11 @@
     "no-image-info": true,
     "overrides": {}
   },
-  "fedora-iot-raw-image": {
+  "iot-raw-image": {
     "compose-request": {
       "distro": "",
       "arch": "",
-      "image-type": "fedora-iot-raw-image",
+      "image-type": "iot-raw-image",
       "repositories": [],
       "filename": "image.raw.xz",
       "ostree": {