{
  "version": "2",
  "mpp-vars": {
    "efi_size": 204800,
    "boot_size": 204800,
    "root_size": 20557791
  },
  "pipelines": [
    {
      "mpp-import-pipeline": {
        "path": "f34-build-v2.json",
        "id": "build"
      },
      "runner": "org.osbuild.fedora34"
    },
    {
      "name": "ostree-tree",
      "build": "name:build",
      "stages": [
        {
          "type": "org.osbuild.rpm",
          "options": {
            "gpgkeys": [
              "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBF1RVqsBEADWMBqYv/G1r4PwyiPQCfg5fXFGXV1FCZ32qMi9gLUTv1CX7rYy\nH4Inj93oic+lt1kQ0kQCkINOwQczOkm6XDkEekmMrHknJpFLwrTK4AS28bYF2RjL\nM+QJ/dGXDMPYsP0tkLvoxaHr9WTRq89A+AmONcUAQIMJg3JxXAAafBi2UszUUEPI\nU35MyufFt2ePd1k/6hVAO8S2VT72TxXSY7Ha4X2J0pGzbqQ6Dq3AVzogsnoIi09A\n7fYutYZPVVAEGRUqavl0th8LyuZShASZ38CdAHBMvWV4bVZghd/wDV5ev3LXUE0o\nitLAqNSeiDJ3grKWN6v0qdU0l3Ya60sugABd3xaE+ROe8kDCy3WmAaO51Q880ZA2\niXOTJFObqkBTP9j9+ZeQ+KNE8SBoiH1EybKtBU8HmygZvu8ZC1TKUyL5gwGUJt8v\nergy5Bw3Q7av520sNGD3cIWr4fBAVYwdBoZT8RcsnU1PP67NmOGFcwSFJ/LpiOMC\npZ1IBvjOC7KyKEZY2/63kjW73mB7OHOd18BHtGVkA3QAdVlcSule/z68VOAy6bih\nE6mdxP28D4INsts8w6yr4G+3aEIN8u0qRQq66Ri5mOXTyle+ONudtfGg3U9lgicg\nz6oVk17RT0jV9uL6K41sGZ1sH/6yTXQKagdAYr3w1ix2L46JgzC+/+6SSwARAQAB\ntDFGZWRvcmEgKDMyKSA8ZmVkb3JhLTMyLXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQI4BBMBAgAiBQJdUVarAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK\nCRBsEwJtEslE0LdAD/wKdAMtfzr7O2y06/sOPnrb3D39Y2DXbB8y0iEmRdBL29Bq\n5btxwmAka7JZRJVFxPsOVqZ6KARjS0/oCBmJc0jCRANFCtM4UjVHTSsxrJfuPkel\nvrlNE9tcR6OCRpuj/PZgUa39iifF/FTUfDgh4Q91xiQoLqfBxOJzravQHoK9VzrM\nNTOu6J6l4zeGzY/ocj6DpT+5fdUO/3HgGFNiNYPC6GVzeiA3AAVR0sCyGENuqqdg\nwUxV3BIht05M5Wcdvxg1U9x5I3yjkLQw+idvX4pevTiCh9/0u+4g80cT/21Cxsdx\n7+DVHaewXbF87QQIcOAing0S5QE67r2uPVxmWy/56TKUqDoyP8SNsV62lT2jutsj\nLevNxUky011g5w3bc61UeaeKrrurFdRs+RwBVkXmtqm/i6g0ZTWZyWGO6gJd+HWA\nqY1NYiq4+cMvNLatmA2sOoCsRNmE9q6jM/ESVgaH8hSp8GcLuzt9/r4PZZGl5CvU\neldOiD221u8rzuHmLs4dsgwJJ9pgLT0cUAsOpbMPI0JpGIPQ2SG6yK7LmO6HFOxb\nAkz7IGUt0gy1MzPTyBvnB+WgD1I+IQXXsJbhP5+d+d3mOnqsd6oDM/grKBzrhoUe\noNadc9uzjqKlOrmrdIR3Bz38SSiWlde5fu6xPqJdmGZRNjXtcyJlbSPVDIloxw==\n=QWRO\n-----END PGP PUBLIC KEY BLOCK-----\n"
            ]
          },
          "inputs": {
            "packages": {
              "type": "org.osbuild.files",
              "origin": "org.osbuild.source",
              "mpp-depsolve": {
                "architecture": "x86_64",
                "module-platform-id": "f34",
                "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f34/f34-x86_64-fedora-20210512/",
                "repos": [
                  {
                    "id": "default",
                    "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f34/f34-x86_64-fedora-20210512/"
                  }
                ],
                "packages": [
                  "@cloud-server-environment",
                  "chrony",
                  "dracut-config-generic",
                  "grub2-pc",
                  "kernel-core",
                  "langpacks-en",
                  "nss-altfiles",
                  "ostree",
                  "polkit",
                  "rpm-ostree",
                  "selinux-policy-targeted",
                  "systemd-udev"
                ],
                "excludes": [
                  "dracut-config-rescue"
                ]
              }
            }
          }
        },
        {
          "type": "org.osbuild.locale",
          "options": {
            "language": "en_US"
          }
        },
        {
          "type": "org.osbuild.selinux",
          "options": {
            "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts"
          }
        },
        {
          "type": "org.osbuild.ostree.preptree",
          "options": {
            "etc_group_members": [
              "wheel",
              "docker"
            ]
          }
        }
      ]
    },
    {
      "name": "ostree-commit",
      "build": "name:build",
      "stages": [
        {
          "type": "org.osbuild.ostree.init",
          "options": {
            "path": "/repo"
          }
        },
        {
          "type": "org.osbuild.ostree.commit",
          "inputs": {
            "tree": {
              "type": "org.osbuild.tree",
              "origin": "org.osbuild.pipeline",
              "references": [
                "name:ostree-tree"
              ]
            }
          },
          "options": {
            "ref": "fedora/x86_64/osbuild",
            "os_version": "34"
          }
        }
      ]
    },
    {
      "name": "image-tree",
      "build": "name:build",
      "stages": [
        {
          "type": "org.osbuild.ostree",
          "inputs": {
            "commit": {
              "type": "org.osbuild.ostree",
              "origin": "org.osbuild.pipeline",
              "references": [
                "name:ostree-commit"
              ]
            }
          },
          "options": {
            "osname": "fedora",
            "ref": "fedora/x86_64/osbuild",
            "mounts": [
              {
                "path": "/boot"
              },
              {
                "path": "/boot/efi",
                "mode": 448
              }
            ],
            "rootfs": {
              "uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac"
            },
            "kernel_opts": [
              "console=tty0",
              "console=ttyS0",
              "systemd.log_target=console",
              "systemd.journald.forward_to_console=1"
            ]
          }
        },
        {
          "type": "org.osbuild.grub2",
          "options": {
            "root_fs_uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac",
            "boot_fs_uuid": "156f0420-627b-4151-ae6f-fda298097515",
            "uefi": {
              "vendor": "fedora",
              "install": true
            },
            "legacy": "i386-pc",
            "write_defaults": false
          }
        }
      ]
    },
    {
      "name": "image",
      "build": "name:build",
      "stages": [
        {
          "type": "org.osbuild.truncate",
          "options": {
            "filename": "disk.img",
            "size":  {"mpp-format-string": "{(4096 + efi_size + boot_size + root_size + 33) * 512}"}
          }
        },
        {
          "type": "org.osbuild.sfdisk",
          "devices": {
            "device": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img"
              }
            }
          },
          "options": {
            "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0",
            "label": "gpt",
            "partitions": [
              {
                "start": 2048,
                "size": 2048,
                "type": "21686148-6449-6E6F-744E-656564454649",
                "bootable": true,
                "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549"
              },
              {
                "start": 4096,
                "size":  {"mpp-format-int": "{efi_size}"},
                "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
                "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33"
              },
              {
                "start":  {"mpp-format-int": "{4096 + efi_size}"},
                "size":  {"mpp-format-int": "{boot_size}"},
                "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
                "uuid": "61B2905B-DF3E-4FB3-80FA-49D1E773AA32"
              },
              {
                "start":  {"mpp-format-int": "{4096 + efi_size + boot_size}"},
                "size":  {"mpp-format-int": "{root_size}"},
                "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
                "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562"
              }
            ]
          }
        },
        {
          "type": "org.osbuild.mkfs.fat",
          "devices": {
            "device": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start": 4096,
                "size":  {"mpp-format-int": "{efi_size}"}
              }
            }
          },
          "options": {
            "label": "ESP",
            "volid": "7B7795E7"
          }
        },
        {
          "type": "org.osbuild.mkfs.ext4",
          "devices": {
            "device": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start":  {"mpp-format-int": "{4096 + efi_size}"},
                "size":  {"mpp-format-int": "{boot_size}"}
              }
            }
          },
          "options": {
            "uuid": "156f0420-627b-4151-ae6f-fda298097515",
            "label": "boot"
          }
        },
        {
          "type": "org.osbuild.mkfs.xfs",
          "devices": {
            "device": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start":  {"mpp-format-int": "{4096 + efi_size + boot_size}"},
                "size":  {"mpp-format-int": "{root_size}"}
              }
            }
          },
          "options": {
            "uuid": "76a22bf4-f153-4541-b6c7-0332c0dfaeac",
            "label": "root"
          }
        },
        {
          "type": "org.osbuild.copy",
          "inputs": {
            "tree": {
              "type": "org.osbuild.tree",
              "origin": "org.osbuild.pipeline",
              "references": [
                "name:image-tree"
              ]
            }
          },
          "options": {
            "paths": [
              {
                "from": "input://tree/",
                "to": "mount://root/"
              }
            ]
          },
          "devices": {
            "efi": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start": 4096,
                "size":  {"mpp-format-int": "{efi_size}"}
              }
            },
            "boot": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start":  {"mpp-format-int": "{4096 + efi_size}"},
                "size":  {"mpp-format-int": "{boot_size}"}
              }
            },
            "root": {
              "type": "org.osbuild.loopback",
              "options": {
                "filename": "disk.img",
                "start":  {"mpp-format-int": "{4096 + efi_size + boot_size}"},
                "size":  {"mpp-format-int": "{root_size}"}
              }
            }
          },
          "mounts": {
            "root": {
              "type": "org.osbuild.xfs",
              "source": "root",
              "target": "/"
            },
            "boot": {
              "type": "org.osbuild.ext4",
              "source": "boot",
              "target": "/boot"
            },
            "efi": {
              "type": "org.osbuild.fat",
              "source": "efi",
              "target": "/boot/efi"
            }
          }
        },
        {
          "type": "org.osbuild.grub2.inst",
          "options": {
            "platform": "i386-pc",
            "filename": "disk.img",
            "location": 2048,
            "core": {
              "type": "mkimage",
              "partlabel": "gpt",
              "filesystem": "ext4"
            },
            "prefix": {
              "type": "partition",
              "partlabel": "gpt",
              "number": 2,
              "path": "/grub2"
            }
          }
        }
      ]
    },
    {
      "name": "qcow2",
      "build": "name:build",
      "stages": [
        {
          "type": "org.osbuild.qemu",
          "inputs": {
            "image": {
              "type": "org.osbuild.files",
              "origin": "org.osbuild.pipeline",
              "references": {
                "name:image": {
                  "file": "disk.img"
                }
              }
            }
          },
          "options": {
            "filename": "disk.qcow2",
            "format": {
              "type": "qcow2",
              "compat": "1.1"
            }
          }
        }
      ]
    }
  ]
}
