<?xml version="1.0" encoding="utf-8"?>

<!-- OBS-Profiles: @BUILD_FLAVOR@ -->

<image schemaversion="6.1" name="openSUSE-Tumbleweed-JeOS" displayname="openSUSE Tumbleweed JeOS">
    <description type="system">
        <author>openSUSE Project</author>
        <contact>crc@suse.com</contact>
        <specification>openSUSE Tumbleweed JeOS</specification>
    </description>
    <profiles>
        <profile name="kvm-and-xen" description="JeOS for KVM and HVM Xen" arch="x86_64"/>
        <profile name="VMware" description="JeOS for VMware" arch="x86_64"/>
        <profile name="MS-HyperV" description="JeOS for Hyper-V" arch="x86_64"/>
        <profile name="OpenStack-Cloud" description="JeOS for OpenStack Cloud" arch="x86_64"/>
        <profile name="RaspberryPi" description="JeOS for the Raspberry Pi" arch="aarch64"/>
    </profiles>
    <preferences profiles="kvm-and-xen">
        <version>15.1.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="vmx"
            filesystem="btrfs"
            format="qcow2"
            bootloader="grub2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="quiet plymouth.enable=0 console=ttyS0,115200 console=tty0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
        >
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="VMware">
        <version>15.1.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="vmx"
            filesystem="btrfs"
            format="vmdk"
            bootloader="grub2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="quiet plymouth.enable=0 console=ttyS0,115200 console=tty0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
        >
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
            <machine memory="1024" HWversion="10" guestOS="sles-64"/>
        </type>
    </preferences>

    <preferences profiles="OpenStack-Cloud">
        <version>15.1.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="vmx"
            filesystem="xfs"
            format="qcow2"
            boottimeout="1"
            bootloader="grub2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="quiet plymouth.enable=0 console=ttyS0,115200 console=tty0 net.ifnames=0"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
        >
            <size unit="G">1</size>
        </type>
    </preferences>

    <preferences profiles="MS-HyperV">
        <version>15.1.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="vmx"
            filesystem="btrfs"
            format="vhdx"
            boottimeout="10"
            bootloader="grub2"
            firmware="uefi"
            efipartsize="33"
            kernelcmdline="quiet plymouth.enable=0 rootdelay=300 console=ttyS0,115200 console=tty0 earlyprintk=ttyS0,115200"
            bootpartition="false"
            bootkernel="custom"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
        >
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/i386-pc"/>
                <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <size unit="G">24</size>
        </type>
    </preferences>

    <preferences profiles="RaspberryPi">
        <version>15.1.0</version>
        <packagemanager>zypper</packagemanager>
        <bootloader-theme>openSUSE</bootloader-theme>
        <rpm-excludedocs>true</rpm-excludedocs>
        <type
            image="oem"
            initrd_system="dracut"
            filesystem="btrfs"
            fsmountoptions="noatime,compress=lzo"
            bootloader="grub2"
            firmware="efi"
            kernelcmdline="quiet plymouth.enable=0 console=ttyS0,115200 console=tty"
            bootpartition="false"
            devicepersistency="by-uuid"
            btrfs_quota_groups="true"
            btrfs_root_is_snapshot="true"
            efipartsize="64"
            editbootinstall="editbootinstall_rpi.sh"
        >
            <systemdisk>
                <volume name="home"/>
                <volume name="root"/>
                <volume name="opt"/>
                <volume name="srv"/>
                <volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
                <volume name="usr/local"/>
                <volume name="var" copy_on_write="false"/>
            </systemdisk>
            <oemconfig>
              <oem-swap>true</oem-swap>
              <oem-swapsize>1000</oem-swapsize>
              <oem-skip-verify>true</oem-skip-verify>
            </oemconfig>
        </type>
    </preferences>

    <repository type="rpm-md" >
        <source path='obsrepositories:/'/>
    </repository>
    <packages type="image">
        <package name="patterns-base-base"/>
        <package name="aaa_base-extras"/> <!-- wouldn't be SUSE without that ;-) -->
        <package name="acl"/>
        <package name="chrony"/>
        <package name="curl"/> <!-- needed for openQA, maybe delete -->
        <package name="dracut"/>
        <package name="fipscheck"/>
        <package name="group(mail)"/> <!-- needed by useradd bsc#1061838-->
        <!-- Previously pam_cracklib was part of pam, but the replacement is only recommended -->
        <package name="pam_pwquality"/>
        <package name="cracklib-dict-small"/> <!-- Avoid the big 10MiB one -->
        <package name="iputils"/>
        <package name="issue-generator"/> <!-- bsc#1084879 -->
        <package name="vim-small"/>
        <package name="shim" arch="x86_64"/>
        <package name="grub2"/>
        <package name="grub2-arm64-efi" arch="aarch64"/>
        <package name="grub2-branding-openSUSE" bootinclude="true"/>
        <package name="grub2-x86_64-efi" arch="x86_64"/>
        <package name="haveged"/>
        <package name="less" />
        <package name="tar"/>
        <package name="parted"/>
        <package name="systemd-sysvinit"/>
        <package name="timezone"/>
        <package name="wicked"/>
        <package name="iproute2"/> 
        <package name="openssh"/>
        <package name="rsync"/>
        <package name="dosfstools"/> <!-- For fscking /boot/efi -->
        <package name="lsof"/> <!-- For zypper ps (bsc#1167553) -->
        <package name="live-add-yast-repos"/>
        <!-- <package name="rsyslog"/> for SLE -->
        <package name="systemd-logger"/> <!-- for openSUSE -->
        <package name="zypper-needs-restarting"/> <!-- Some deployment script use this (bsc#1173548) -->
    </packages>

    <!-- Not needed in OpenStack as it uses XFS and cloud-init -->
    <packages type="image" profiles="kvm-and-xen,VMware,MS-HyperV,RaspberryPi">
        <!-- Only for btrfs -->
        <package name="btrfsprogs"/>
        <package name="btrfsmaintenance"/>
        <package name="grub2-snapper-plugin"/>  <!-- snapper - grub2 - integration, "small" -->
        <package name="snapper-zypp-plugin"/>   <!-- this is key snapper/zypp integration, as requested in the PRD -->
        <package name="snapper"/>

        <!-- Only if not cloud-init -->
        <package name="jeos-firstboot"/>
        <package name="fbiterm"/> <!-- Optionally used by jeos-firstboot for non-latin fonts -->

        <!-- Not useful with OpenStack --> 
        <package name="firewalld"/>
    </packages>

    <packages type="image" profiles="kvm-and-xen">
        <package name="xen-tools-domU" arch="x86_64"/>
        <package name="xen-libs" arch="x86_64"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="kvm-and-xen,OpenStack-Cloud">
        <package name="qemu-guest-agent" arch="x86_64"/>
    </packages>
    <packages type="image" profiles="VMware">
        <package name="open-vm-tools" arch="x86_64"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="OpenStack-Cloud">
        <package name="cloud-init"/>
        <package name="cloud-init-config-suse" />
        <package name="xfsprogs"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="MS-HyperV">
        <package name="hyper-v"/>
        <package name="kernel-default-base"/>
    </packages>
    <packages type="image" profiles="RaspberryPi">
        <package name="raspberrypi-firmware" arch="aarch64"/>
        <package name="raspberrypi-firmware-config" arch="aarch64"/>
        <package name="raspberrypi-firmware-dt" arch="aarch64"/>
        <package name="dracut-kiwi-oem-repart"/>
        <package name="kernel-default"/>
        <!-- For WiFi: -->
        <package name="jeos-firstboot-rpiwifi"/>
        <package name="bcm43xx-firmware"/>
        <package name="kernel-firmware"/><!-- Fix choice between kernel-firmware and kernel-firmware-all -->
        <package name="u-boot-rpiarm64" arch="aarch64"/>
    </packages>

<!-- TW does not have those release packages
    <packages type="image" profiles="kvm-and-xen">
        <package name="openSUSE-release-appliance-kvm"/>
    </packages>
    <packages type="image" profiles="OpenStack-Cloud">
        <package name="openSUSE-release-appliance-openstack"/>
    </packages>
    <packages type="image" profiles="MS-HyperV">
        <package name="openSUSE-release-appliance-hyperv"/>
    </packages>
    <packages type="image" profiles="VMware">
        <package name="openSUSE-release-appliance-vmware"/>
    </packages>
-->

    <packages type="bootstrap">
        <package name="udev"/>
        <package name="filesystem"/>
        <package name="glibc-locale-base"/>
        <package name="ca-certificates-mozilla"/>
        <package name="openSUSE-release"/>
        <package name="openSUSE-release-ftp"/>
    </packages>
</image>