# Bundle¶

Bundle is a minimum unit of delivery for ADCM. Bundle should include at least one config_. Also bundle could include more config files, ansible-script files and any other required files.

All directories and files relative to one bundle should be compressed by tar-command to one bundle file.

This bundle file can be uploaded to ADCM via:

POST /api/v1/stack/upload/


and loaded into ADCM database:

POST /api/v1/stack/load/


When loaded, ADCM uncompress bundle-file, search for every file with name config.yaml and treat them as config_.

Bundle could be one of two types: Cluster Bundle or Host Bundle.

## Cluster Bundle¶

Cluster bundle should include exactly once definition of a cluster prototype and zero, one or more definitions of the service prototypes. These definitions can be in one or many config-files.

## Host Bundle¶

Host bundle should include exactly once definition of a host prototype and one or zero definition of a host provider prototype.