This commit is contained in:
Timofey.Kovalev
2025-07-25 17:25:14 +03:00
parent a5055b226f
commit f3af311a30
4 changed files with 70 additions and 8 deletions

53
README.md Normal file
View File

@ -0,0 +1,53 @@
# Qini
**Легковесный init для контейнеров**, который управляет несколькими процессами, связывая их `stdin/stdout` и гарантируя остановку всех процессов, если один из них завершается.
**Идеально для Docker-контейнеров**, чтобы избежать "висящих" процессов и обеспечить корректное завершение работы.
---
## Особенности
**Автоматическое завершение всех процессов**, если один из них остановлен
**Перенаправление stdin/stdout** между процессами
**Простая конфигурация** в формате JSON
**Минималистичный и быстрый** (написан на Go)
**Простая сборка** через `make`
---
## Установка
### Сборка из исходников
```sh
git clone https://gitlab.stageoffice.ru/UCS-ENV/qini
cd qini
make
```
---
## Конфиг
Простой пример конфига в котором необходимо указать процессы сверху вниз в той последовательности как они будут собраны в цепочку связывания stdin/stdout
```
{
"services": [
{
"cmd": "/bin/ls",
},
{
"cmd": "/bin/grep",
"args": ["main"]
}
]
}
```
---
## Запуск
```
$ qini -c config.json
```