A box describes the image and necessary requirements for VM creation. They are described in json files. Each file can contain one or more box descriptions. Descriptions are usually grouped by the provider and the processor architecture.
Box description files are located in ~/.config/mdbci/boxes
folder or in config/boxes
directory of the project.
{
"debian_bullseye_gcp": {
"provider": "gcp",
"architecture": "amd64",
"image": "debian-cloud/debian-11",
"platform": "debian",
"platform_version": "bullseye",
"default_machine_type": "g1-small",
"default_cpu_count": "1",
"default_memory_size": "1024",
"supported_instance_types": ["a2-highgpu-1g", "a2-highgpu-2g"]
}
}
{
"debian_bullseye_aws" : {
"provider": "aws",
"architecture": "amd64",
"ami": "ami-05b99bc50bd882a41",
"user": "admin",
"default_machine_type": "t3.medium",
"default_cpu_count": "2",
"default_memory_size": "4096",
"platform": "debian",
"platform_version": "bullseye",
"vpc": "true",
"supported_instance_types": ["t2.nano","t2.micro"]
}
}
{
"debian_bullseye_libvirt": {
"provider": "libvirt",
"architecture": "amd64",
"box": "generic/debian11",
"platform": "debian",
"platform_version": "bullseye"
}
}
{
"rhel_9_ibm": {
"provider": "ibm",
"architecture": "ppc64le",
"image": "RHEL9-SP4",
"platform": "rhel",
"platform_version": "9",
"default_machine_type": "s1022",
"default_cpu_count": "1",
"default_memory_size": "4096",
}
}
Each box name usually consists of distribution name, version and box provider
provider
- box provider (aws, gcp, ibm, libvirt, digitalocean, docker)architecture
- processor arcitecture { amd64 | aarch64 | ppc64le }platform
- distribution nameplatfrom_version
- distribution versionskip_configuration
- boolean flag. If set, the machine will not be configured using Chef. None of products will be installed.
default_memory_size
- node RAM sizedefault_cpu_count
- node number of processorsdefault_machine_type
- node machine typesupported_instance_types
- list of machine types that can be run with this image
- AWS:
ami
- Amazon Machine Image IDvpc
- boolean flag, indicates whether the machine will be lauched in an Amazon VPC
- GCP:
image
- image or image family name
- IBM Cloud:
image
- image name
- Libvirt:
box
- Vagrant box name
configure_subscription_manager
- boolean flag for RedHat system registration. When the flag is set MDBCI registers the system via RHSM and attaches it to an available subscription on the machine creation and unsubscribes and de-registers on the destruction.configure_suse_connect
- boolean flag for SLES system registration. When the flag is set MDBCI activates the system via SUSEConnect on the machine creation and deactivates it on the destruction.