github.com/emc-advanced-dev/unik@v0.0.0-20190717152701-a58d3e8e33b7/docs/architecture.md (about) 1 # UniK Design 2 3 The UniK Daemon consists of 3 major components. 4 * The **API server** 5 * **Compilers** 6 * **Providers** 7 8 The **API Server** handles requests from the CLI / any HTTP Client, then determines which is the appropriate **provider** and/or **compiler** to service the request. 9 10 When the **API Server** receives a *build* request (`POST /images/:image_name/create`), it calls the specified **compiler** to build the raw image, and then passes the raw image to the specified **provider**, who processes the raw image with the `Stage()` method, turning it into an infrastructure-specific bootable image (e.g. an *Amazon AMI* on AWS) 11 12 The provider for all subsequent operations on the image are determined by a reference to the provider the image was built on. 13 14 For more on adding providers, see [providers](providers/README.md) 15 16 For more on adding compilers, see [compilers](compilers/README.md)