#-------------------------------------------------------------------------------
# This file contains operating system package requirements for Kubernetes stack.
# Do not modify this file unless you know what you are doing.
# Modifying this file may result in unexpected behavior.
#-------------------------------------------------------------------------------

# NOTE (fdegir): Kubernetes stack operating system package requirements
# Kubernetes stack can be deployed on instances created using libvirt thus why
# these packages are installed since we do not know what the target environment
# is in advance, without doing further processing of user input.
libvirt-bin     [platform:dpkg]
libvirt-dev     [platform:dpkg]
pkg-config      [platform:dpkg]
python3-pymysql [platform:dpkg]
python3-zmq     [platform:dpkg]
qemu-utils      [platform:dpkg]
qemu-kvm        [platform:dpkg]
qemu-system-x86 [platform:dpkg]
sgabios         [platform:dpkg]

# vim: set ts=2 sw=2 expandtab:
