Алексей Уколов: Для этого можно использовать параметр ip_hash в модуле upstream. Или добавлять одним юзерам куки, и уже в зависимости от неё редиректить на нужную версию приложения, все запросы.
Хотя, с другой стороны ведь есть sudo. Которая позволяет указывать команды и аргументы, которые имеет право запускать пользователь.
Можно например юзеру user_project1_deploy позволить запускать "script -p project1 -a deploy"
И только эту команду с этими аргументами он сможет выполнить.
Ну вот у нас система сборки уже есть.
Вот теперь хочется сделать так чтобы она могла работать по внешнему запросу, я собственно и ищу способы реализации этого внешнего запроса.
А по поводу SUID и SGUID, ну и толку. Будет возможность у юзера запускать скрипт под правами пользователя для деплоя. Ну и сможет он тогда деплоить абсолютно любой проект куда угодно.
Первым делом я так и реализовал. Но мне не нравится.
Например - Есть у меня пользователь Вася, ему нужно деплоить проект Project1.
Создал я пользователя на сервере для деплоя именно этого проекта. И вот сразу куча проблем:
1) Для деплоя нужно иметь доступ к коду проекта на продакшне. То есть пользователь Вася может случайно удалить код на продакшне.
2) При деплое осуществляются миграции в базу данных. То есть пользвотель Вася будет иметь права что-то делать с базой данных на продакшне
3) Есть у меня таких Вась человек 10 и проектов штук 30. Одним Васям нужно деплоить в одни проекты, другим Васям нужно ревертить в других проектах, Остальных Васям нужно только собирать остальные проекты.
И вот представьте сколько мне нужно будет создать пользователей, и настроить для них права на разных серверах.
user_project1_deploy - права для веб1,веб2,веб3 серверов - права для бд1,бд2,бд3 сервера
user_project2_deploy - права для веб11,веб5,веб7 серверов - права для бд11,бд5 серверов
user_project3_build - права для build1 сервера
...
и таких ~40 юзеров, у которых будет ssh доступ к юзерам на серверах веб и дб.
Если взять в среднем что для каждого такого юзера нужные права для 6 серверов то получается во всей инфраструктуре будет 240 новых пользователей для такой просто задачи.
Да нет, не как пулемет. Сейчас даже реже чем раз в минуту щелкает.
Диапозон стоит 202-253. Я же правильно понимаю, если снижать нижнюю планку, то он это напряжение на сервера пускать будет? Для блоков питания это не очень страшно (напряжение ниже 200)?
Андрей Ермаченок: А вот еще выддержка из документации:
The UPS detects and reacts to line voltage distortions by transferring to battery operation to protect the connected equipment. Where power quality is poor, the UPS may frequently transfer to battery peration. If the connected equipment can operate normally under such conditions, reduce the sensitivity setting to conserve battery capacity and service life.
Я правильно пониимаю что для UPS ничего страшного, что так часто он переходит в режим защиты?
Конечно
Модель такая - Smart-UPS 1000 RM
По поводу переключения на батареи, я взял это из документации.
Там указано что:
LOTRANSFER
Low line voltage causing transfer to battery power or activation of SmartBoost. Allowable values depend on the last letter of the firmware or APCMODEL. Typical values are:
D 106 103 100 097
M 177 172 168 182
A 092 090 088 086
I 208 204 200 196
И
LOTRANS
The line voltage below which the UPS will switch to batteries.
Этот параметр можно настривать естественно.
Также на них горит диод "AVR BOOST"
В документации написано что эта означает:
This LED illuminates to indicate the UPS is compensating for a low
utility voltage.
Как видите мои незнания UPS получается исходят из документации.