diff --git a/README.md b/README.md index 66498e9e..7127a729 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,9 @@ working, working, working on the [TOPIC] branch ... * misc/ - configuration files for Compass server setup - * conf/ - configuration files related to newly supported target systems will be added here. + * conf/ - legacy configuration files related to supported target systems are stored here. + + * plugins/ - new configuration files and/or package installers will be added here (see plugins/README.md) Code Structure in Runtime: ![alt text](./imgs/runtime_code_path.jpg "Modular Components") diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 00000000..e04c005a --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,30 @@ +Compass Plugins +=============== + +## Overview + + +Originally, all the configuration files of different target systems for adapter (flavor, os etc) are stored together in conf/adapter (flave, os, etc) directory, there are several problems of this mechanism: +1) it is difficult for compass core install.sh to install configuration files for a specific target systems. +2) it is difficult to distribute configuration files for new target system on an already installed compass system. +The new mechanism is to put each or several related target systems configuration files in a directory, for example, the followng chef_installer +directory under plugins directory will contain all the configuration files for the target systems which will be installed by chef package installer, another use case is, you can put a directory named kilo to include all the configuration files related to kilo. For chef installer +we also move the implementation and tests to plugins directory. + +### Directories + + + * plugins/ - contains all plugins. + + * chef_installer/ - contains Chef Installer related configurtion, implementation and unit test files. + + * adapter/ - contains adapter files related for target systems which will be installed by chef. + + * flavor/ - contains flavor files related for target system which will be installed by chef. + . + . + . + + * implementation/ - contains chef package installer python files. + + * tests/ - contains unit tests for chef package installer.