## Deploy a first service with the stack When starting the adminembedded processus, it will take or create an `apps` folder this folder is structured as followed : ``` use@alexa:~/$ tree apps apps ├── admin_running_services ├── bundled_factory_apps ├── contents ├── deployed_applications └── status ``` Folders : | Folder | description | | ---------------------- | ------------------------------------------------------------ | | admin_running_services | contains the activated and running services configuration | | bundled_factory_apps | this folder contains "factory" apps, ready for deployment. | | contents | this folder contains, for each application stored files, needed for applications (applications have a read/write access to this folder) | | deployed_application | this folder contains deployed and configured applications, ready to start | | status | this folder contains for each application, a status file, and some logs stored by the application | Here is below the state diagram of a service / an application : ```mermaid stateDiagram [*] --> deployed deployed --> configured configured --> started started --> stopped stopped --> started stopped --> undeployed undeployed --> [*] ``` ## Application definition An application in nodeiot, is a folder, with files in it, with a small json descriptor. In order to be able to easily beeing resetted, redeployed, applications are designed to separate Read and Write. The "Writes" are only available in the `status` folder as well as the `content`folder. Every application can ship datafiles, configuration files, during the configuration of the application, some parameters are given so configure or setup the application. An application may have one or many executable. ### Application Descriptor In the application folder, a `manifest.json` file is placed for giving informations about the service ``` { "application_id":"", "application_name": "test_application", "application_version": "1.0", "application_description": "test application for the admin", "application_commandline": "/bin/python3 t.py", "monitoring_status_file_path": "status.json", "running_user": "use", "additional_properties": {}, "content_path": "content_path" } ```