config DOCKER_CHECK_CONFIG
	bool "Installs check-config.sh with dependencies"
	default n
	depends on PACKAGE_dockerd
	select PACKAGE_bash
	select PACKAGE_kmod-ikconfig

# These options are mostly specified by https://github.com/moby/moby/blob/master/contrib/check-config.sh

config DOCKER_CGROUP_OPTIONS
	bool "Enable available kernel support for CGroupsV1"
	default y
	depends on PACKAGE_dockerd
	select KERNEL_CGROUPS
	select KERNEL_CGROUP_CPUACCT
	select KERNEL_CGROUP_DEVICE
	select KERNEL_CGROUP_FREEZER
	select KERNEL_CGROUP_SCHED
	select KERNEL_NAMESPACES
	select KERNEL_CPUSETS
	select KERNEL_MEMCG
	select KERNEL_KEYS
	select KERNEL_NET_CLS_CGROUP
	select KERNEL_CGROUP_NET_PRIO
	select KERNEL_POSIX_MQUEUE
	select PACKAGE_cgroupfs-mount
	help
		Selects kernel options to enable CGroups V1.

config DOCKER_OPTIONAL_FEATURES
	bool "Enable optional kernel support for Docker"
	default y
	depends on PACKAGE_dockerd
	select KERNEL_MEMCG_SWAP_ENABLED
	select KERNEL_CFQ_GROUP_IOSCHED
	select KERNEL_CGROUP_PERF
	select KERNEL_CGROUP_HUGETLB
	help
		Select 'Optional Features' kernel options for Docker that are unselected.
		See https://github.com/moby/moby/blob/master/contrib/check-config.sh

menu "Network"
	depends on PACKAGE_dockerd

	config DOCKER_NET_OVERLAY
		bool "Includes the Overlay network feature"
		default n
		select PACKAGE_kmod-vxlan
		help
			Selects kmod-vxlan for the Overlay network feature.

	config DOCKER_NET_ENCRYPT
		bool "Includes encrypted networking kernel modules"
		depends on DOCKER_NET_OVERLAY
		default n
		select PACKAGE_kmod-crypto-gcm
		select PACKAGE_kmod-crypto-seqiv
		select PACKAGE_kmod-crypto-ghash
		select PACKAGE_kmod-ipsec
		help
		  Select needed kernel modules for encrypted networking support.

	config DOCKER_NET_MACVLAN
		bool "Includes macvlan kernel modules"
		default y
		select PACKAGE_kmod-macvlan
		select PACKAGE_kmod-dummy

	config DOCKER_NET_TFTP
		bool "Includes ftp/tftp client kernel modules"
		default n
		select PACKAGE_kmod-nf-nathelper
		select PACKAGE_kmod-nf-nathelper-extra
endmenu

menu "Storage"
	depends on PACKAGE_dockerd

	config DOCKER_STO_DEVMAPPER
	bool "Enables support for devmapper snapshotting"
		default n
		select PACKAGE_libdevmapper

	config DOCKER_STO_EXT4
		bool "Enables support for ext3 or ext4 as the backing filesystem"
		default y
		select KERNEL_EXT4_FS_POSIX_ACL
		select KERNEL_EXT4_FS_SECURITY

	config DOCKER_STO_BTRFS
		bool "Enables support for btrfs as the backing filesystem"
		default n
		select KERNEL_BTRFS_FS_POSIX_ACL
		select PACKAGE_btrfs-progs
endmenu
