# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.installer
# SPDX-Security-Contact: security@coresecret.eu
recipe:
  guben0afx256r:               # g=GPT || m=MBR
                               # u=UEFI || b=BIOS
                               # b=btrfs || 4=ext4 only
                               # e=ephemeral "/tmp" and "SWAP" || n=non-ephemeral "/tmp" and "SWAP" (yet not supported)
                               # n0=non RAID || m6=mdadm RAID6 || m5=mdadm RAID5 || b1=btrfs RAID1 (yet not supported)
                               # a="/dev/sda" only setup || b="/dev/sdb" || c="/dev/sdc" and so forth
                               # f=fixed size || a=automatic size (yet not supported)
                               # x256=size of device in GiB
                               # r=rescue partition || n=no rescue partition
    active: true               # Choose this recipe.
    control:
      description: "CISS 2025 - GPT - BTRFS - Ephemeral - non RAID - 256GiB - rescue"
      firmware: "UEFI"         # MUST be "UEFI" for "gpt" || "BIOS":
      id: "guben0afx256r"      # MUST be equal to the second part of the recipe-variables string.
      name: "ciss.2025.gpt.btrfs.ephemeral.non-raid.256GiB.rescue"
      raid:                    # mdadm RAID settings only (not yet supported).
        enable: false
        disks:
          member: 4
          spare: 1
        level: 6               # Only Level "1", "5", "6" and "10" are supported.
      table: "gpt"             # MUST be "gpt" for "UEFI" || "msdos":
      syntax: true             # This is set to "false" by default, otherwise if the recipe is tested by the authors to "true".
      ### Version of the specific recipe.
      version: "1.1.2"
    dev:
      sda:
        1:
          begin: "2MiB"
          end: "512MiB"
          bootable: true
          encryption:
            enable: false      # MUST be "false" for "/boot/efi"
            ephemeral: false   # MUST be "false" for "/boot/efi"
            integrity: false   # MUST be "false" for "/boot/efi"
            nuke: false        # MUST be "false" for "/boot/efi"
            cipher: ""
            hash: ""
            itertime: ""
            key: ""
            label: ""
            metadatasize: ""
            pbkdf: ""
            rng: ""
          filesystem:
            btrfs:
              checksum: ""
              compress: ""
              level: ""
              dedup: true
              subvolume: ""
              snapshot: ""
            format: true
            label: "ESP"
            options: ""
            version: "fat32"
          mount:
            enable: true       # MUST be "true" for "/boot/efi"
            options: "umask=0077,uid=0,gid=0"
            optsnap: ""
            path: "/boot/efi"
          primary: primary
        2:
          begin: "512MiB"
          end: "2GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false   # MUST be "false" for "/boot"
            integrity: false   # MUST be "false" for "/boot"
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_boot"
            metadatasize: "32MiB"
            pbkdf: "pbkdf"     # MUST be "pbkdf" for "/boot"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "0"
              dedup: true
              subvolume: "@boot"
              snapshot: ""
            format: true
            version: "btrfs"
            label: "btrfs_boot"
            options: ""
          mount:
            enable: true       # MUST be "true" for "/boot"
            options: "defaults,nodev,nosuid,noexec,noatime,compress=no,discard=async,subvol=@boot"
            optsnap: ""
            path: "/boot"
          primary: primary
        3:
          begin: "2GiB"
          end: "6GiB"
          bootable: true
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: false
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_rescue"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: ""
              compress: ""
              level: ""
              dedup: true
              subvolume: ""
              snapshot: ""
            format: true
            label: "ext4_rescue"
            options: ""
            version: "ext4"
          mount:
            enable: true
            options: "defaults,nodev"
            optsnap: ""
            path: "/recovery"
          primary: primary
        4:
          begin: "6GiB"
          end: "8GiB"
          bootable: false
          encryption:
            enable: true       # MUST be "true" for ephemeral "SWAP"
            ephemeral: true    # MUST be "true" for ephemeral "SWAP"
            integrity: false   # MUST be "false" for ephemeral "SWAP"
            nuke: false        # MUST be "false" for ephemeral "SWAP"
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_ephemeral_SWAP"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: ""
              compress: ""
              level: ""
              dedup: true
              subvolume: ""
              snapshot: ""
            format: true
            label: "host_swap" # MUST be "host_swap" for ephemeral "SWAP"
            options: ""
            version: "ext4"    # MUST be "ext4" for ephemeral "SWAP"
          mount:
            enable: true
            options: "defaults,discard"
            optsnap: ""
            path: "SWAP"
          primary: primary
        5:
          begin: "8GiB"
          end: "10GiB"
          bootable: false
          encryption:
            enable: true       # MUST be "true" for ephemeral "/tmp"
            ephemeral: true    # MUST be "true" for ephemeral "/tmp"
            integrity: false   # MUST be "false" for ephemeral "/tmp"
            nuke: false        # MUST be "false" for ephemeral "/tmp"
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_ephemeral_tmp"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: ""
              compress: ""
              level: ""
              dedup: true
              subvolume: ""
              snapshot: ""
            format: true
            label: "host_tmp"  # MUST be "host_tmp" for ephemeral "/tmp"
            options: ""
            version: "ext4"    # MUST be "ext4" for ephemeral "/tmp"
          mount:
            enable: true
            options: "defaults,rw,nodev,nosuid,noatime,discard,mode=1777"
            optsnap: ""
            path: "/tmp"
          primary: primary
        6:
          begin: "10GiB"
          end: "42GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_root"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@root"
              snapshot: "@root_snap"
            format: true
            label: "btrfs_root"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,errors=remount-ro,noatime,discard=async,autodefrag,subvol=@root"
            optsnap: "ro,nodev,nosuid,noexec,nodatacow,subvol=@root_snap"
            path: "/"
          primary: primary
        7:
          begin: "42GiB"
          end: "84GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_home"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@home"
              snapshot: "@home_snap"
            format: true
            label: "btrfs_home"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,relatime,discard=async,autodefrag,subvol=@home"
            optsnap: "ro,nodev,nosuid,noexec,nodatacow,subvol=@home_snap"
            path: "/home"
          primary: primary
        8:
          begin: "42GiB"
          end: "84GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_usr"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@usr"
              snapshot: ""
            format: true
            label: "btrfs_usr"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,relatime,discard=async,subvol=@usr"
            optsnap: ""
            path: "/usr"
          primary: primary
        9:
          begin: "126GiB"
          end: "190GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_var"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@var"
              snapshot: "@var_snap"
            format: true
            label: "btrfs_var"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,relatime,discard=async,subvol=@var"
            optsnap: "ro,nodev,nosuid,noexec,nodatacow,subvol=@var_snap"
            path: "/var"
          primary: primary
        10:
          begin: "190GiB"
          end: "206GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_var_log"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@var_log"
              snapshot: ""
            format: true
            label: "btrfs_var_log"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,noexec,noatime,nodatacow,discard=async,subvol=@var_log"
            optsnap: ""
            path: "/var/log"
          primary: primary
        11:
          begin: "206GiB"
          end: "222GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_var_log_audit"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@var_log_audit"
              snapshot: ""
            format: true
            label: "btrfs_var_log_audit"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,noexec,noatime,nodatacow,discard=async,subvol=@var_log_audit"
            optsnap: ""
            path: "/var/log/audit"
          primary: primary
        12:
          begin: "222GiB"
          end: "238GiB"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_var_tmp"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@var_tmp"
              snapshot: ""
            format: true
            label: "btrfs_var_tmp"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,noatime,nodatacow,discard=async,subvol=@var_tmp"
            optsnap: ""
            path: "/var/tmp"
          primary: primary
        13:
          begin: "238GiB"
          end: "-1"
          bootable: false
          encryption:
            enable: true
            ephemeral: false
            integrity: false
            nuke: true
            cipher: "aes-xts-plain64"
            hash: "sha512"
            itertime: "3000"
            key: "512"
            label: "crypt_opt"
            metadatasize: "32MiB"
            pbkdf: "argon2id"
            rng: "use-random"
          filesystem:
            btrfs:
              checksum: "sha256"
              compress: "zstd"
              level: "7"
              dedup: true
              subvolume: "@opt"
              snapshot: ""
            format: true
            label: "btrfs_opt"
            options: ""
            version: "btrfs"
          mount:
            enable: true
            options: "defaults,nodev,nosuid,relatime,discard=async,subvol=@opt"
            optsnap: ""
            path: "/opt"
          primary: primary

# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
