Skip to content

setup_service

jkutkut edited this page Jun 11, 2023 · 2 revisions

Setup Service

This service allows to setup and manage the project. It contains logic to install, update and remove the project.

It features it's own REST API and a web UI to manage the project in a visual - no code manner.

With the use of a Docker Volume between the real server and the service, the service can manage the docker containers of the real machine. Protected under a API, the service allows remote control of containers of the project with a no code interface.

Technologies:

The setup service is written in Rust with the Rocket for the backend and React for the frontend.

The container has Docker installed to manage the containers of the project.

REST API

You can find the documentation here.

Finite State Machine:

The UI can start at start_menu, install_menu or services_handler.

flowchart TD
    %% --------- Definition ---------
    start_menu[Start  Menu]
    install_menu[Install Menu]
    product_editor_menu>Product Editor]
    %%layout_editor_menu
    installer{install}
    services_handler_menu[Services Handler]

    %% --------- Codes ---------
    start_menu -. not_created .-> start_menu
    install_menu -. created .-> install_menu
    services_handler_menu -. installed .-> services_handler_menu

    %% --------- Relations ---------
    start_menu -- begin --> install_menu

    install_menu --> installer
    install_menu --> product_editor_menu --> install_menu
    %%install_menu --> layout_editor_menu --> install_menu

    installer -- success --> services_handler_menu
    installer -- failure --> install_menu

    services_handler_menu -- start --> services_handler_menu
    services_handler_menu -- stop --> services_handler_menu
    services_handler_menu -- uninstall --> start_menu
Loading

Websites:

The microservice hosts the API, where the UI is hosted as a static website (result of compiling the front microservice). It also hosts the UI of the staff service.

Clone this wiki locally