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)