@pro_ansible

Страница 618 из 625
bebebe
21.10.2018
13:13:06
можно и сложить, я могу это сделать за вас

Maxim
21.10.2018
13:13:21
там что-то вроде with_items: admins + project_name

Vadim
21.10.2018
13:13:39
вытягивать админов для проекта через json_query, например

Maxim
21.10.2018
13:13:40
или по-другому как-то?

Google
Maxim
21.10.2018
13:14:01
Vadim
21.10.2018
13:14:52
для более сложных случаев у нас свой монструозный питоновский модуль который устанавливает факты, дергая где надо API, например

bebebe
21.10.2018
13:15:03
не обязательно, можно сделать следующим образом users: .... global_admins: &global_admins - <<: *admin1 - <<: *admin2 project_admins: <<: *global_admins - *project_admin - *project_admin2

Maxim
21.10.2018
13:15:41
о, можно свести копипасту к одной строчке

круто

Алексей
21.10.2018
13:20:30
Всякие паппеты рассчитывают список юзеров и имеют одну точку зрения на результат. Ансибл в силу работы имеет каждый раз разную. При типичном конечно кейсе

Maxim
21.10.2018
13:21:14
ну то что эти юзеры будут в разном порядке приезжать - это же вроде не так страшно

или я что-то упускаю?

bebebe
21.10.2018
13:31:49
Maxim
21.10.2018
13:32:08
в каком плане?

то что элементы в массиве будут отсортированы по-разному вроде бы в любом случае не страшно же

главное, чтобы внутри элементов поля в тыкву не превратились

Google
Maxim
21.10.2018
13:33:31
или я по-прежнему чего-то не понимаю?

bebebe
21.10.2018
13:46:49
главное, чтобы внутри элементов поля в тыкву не превратились
а под тыквой что подразумеваете? все так пришлось за вас рабочий вариант накидать, держите http://termbin.com/jnfs

Алексей
21.10.2018
13:52:11
Тыква это а не вариант. Комбинаторный взрыв проектов пользователей и их прав.

bebebe
21.10.2018
13:53:12
а под тыквой что подразумеваете? все так пришлось за вас рабочий вариант накидать, держите http://termbin.com/jnfs
используйте https://github.com/kislyuk/yq что-бы валидировать что получилось, найдете более удобный для вас формат ну и читайте спецификацию http://yaml.org/spec/1.2/spec.html

Constantin
21.10.2018
14:00:28
Ребят, а как вы плэйбуки с letsencrypt тестируете? Есть --stage флаг у certbotа, но он все равно пытается провести dns проверку, а я просто на локальном окружении хочу потестить, что все хорошо работает, пусть и с фэйковыми сертификатами

bebebe
21.10.2018
14:02:36
—stage - это обращение к staging api со стороны letsencrypt, проверка происходит таже самая, только 1. отдается не "зеленый сертификат" 2. отсутствуют лимиты на количество запросов и сертиифатов, как раз для того что-бы не попасть под баны на prod letsencrypt'e во время множества тестирований

Constantin
21.10.2018
14:04:08
—stage - это обращение к staging api со стороны letsencrypt, проверка происходит таже самая, только 1. отдается не "зеленый сертификат" 2. отсутствуют лимиты на количество запросов и сертиифатов, как раз для того что-бы не попасть под баны на prod letsencrypt'e во время множества тестирований
Ну это я знаю, мне инетересно, можно ли как-то потестировать без DNS проверки, то есть чтобы с локальной виртуалки в вагранте или из докер контейнера Пока пришла в голову мысль поискать контейнер, или север, который на любой запрос от certbot на него будет отвечать, что все ок. Чтобы генерились левые сертификаты без проверки по DNS, этого бы вполне хватило

bebebe
21.10.2018
14:06:20
в ваших тестовых окружениях нет доступа до интернетов?

Sergey
21.10.2018
14:06:40
Constantin
21.10.2018
14:08:18
в ваших тестовых окружениях нет доступа до интернетов?
Из интернета нет доступа до моих образов =)

bebebe
21.10.2018
14:08:45
а как образы качать без инета)00
локальный артифактори видимо. хотя нужно как-то прокидывать внутрь http порт, или менеджить тестовую зону в dns вообщем, не до конца понятно что будет тестироваться, работоспособность самого letsencrypt или то что letsencrypt клиент вызывается с нужными параметрами. впрочем, это уже оффтопик. в k8s есть letsencrypt Issuer для докера есть letsnecrypt-companion https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

Constantin
21.10.2018
14:09:38
Maxim
21.10.2018
14:15:50
а под тыквой что подразумеваете? все так пришлось за вас рабочий вариант накидать, держите http://termbin.com/jnfs
я всё никак не могу понять, чем мне может навредить разный порядок пользователей при разных прогонах спасибо за пример, пойду пробовать

bebebe
21.10.2018
14:26:38
я всё никак не могу понять, чем мне может навредить разный порядок пользователей при разных прогонах спасибо за пример, пойду пробовать
ну в теории... если у вас такие сложные архитектурные решения зависят от порядка пользователей, то наверное начать нужно с другого... ;)

Maxim
21.10.2018
14:28:01
Да вот и мне пока кажется, что не зависит от их порядка ничего ;)

Sergey
21.10.2018
16:00:18
то есть задача в конкретизированном виде выглядит так: есть контора, которая делает всякий маркетинговый треш есть ряд админов, который довольно фиксирован есть команды разработчиков, которые меняются от проекта к проекту, а так же - пересекаются между проектами есть сервера, которые бывают выделенные для проекта, а бывают предназначены для N проектов одновременно цель задачи: завести всех админов и всех проектных юзеров на целевом сервере учитывая довольно лютую перемешанность разработчиков между проектами хочется держать список (детальный - с ключами, группами, etc) всех юзеров в каком-то строго одном месте, а в роли рассовывать только "указатели" на элементы этого списка для серверов, предназначенных для N проектов одновременно, эти списки из ролей должны как-то мержиться а админы в полном составе должны присутствовать на всех серверах
делается LDAP, и без вот этого вот всего

Google
Kirill
21.10.2018
16:06:16
LDAP это всегда в таких случаях single point of failure

то есть задача в конкретизированном виде выглядит так: есть контора, которая делает всякий маркетинговый треш есть ряд админов, который довольно фиксирован есть команды разработчиков, которые меняются от проекта к проекту, а так же - пересекаются между проектами есть сервера, которые бывают выделенные для проекта, а бывают предназначены для N проектов одновременно цель задачи: завести всех админов и всех проектных юзеров на целевом сервере учитывая довольно лютую перемешанность разработчиков между проектами хочется держать список (детальный - с ключами, группами, etc) всех юзеров в каком-то строго одном месте, а в роли рассовывать только "указатели" на элементы этого списка для серверов, предназначенных для N проектов одновременно, эти списки из ролей должны как-то мержиться а админы в полном составе должны присутствовать на всех серверах
как вариант - центральный LDAP сервер с паблик ключами, при попадании туда нового ключа делаешь пакет из базы LDAP, подписываешь его для целостности, остальные сервера сверяют целостность пакета LDAP каждые n минут, если база обновилась - тянут базу и разворачивают ее куда-то типа /etc/ssh-keys/ - а) нет single point of failre б) удаление и заведение нового пользователя в одном месте с) нету LDAP трафика туда-сюда

bebebe
21.10.2018
16:11:59
делается LDAP, и без вот этого вот всего
насколько я понял, там не только ldap, но и прописывание пользователей этих в "странных" местах, ldap не поддающимся

Kirill
21.10.2018
16:13:20
но опять же весь этот онанизм выгоден при пользователях >100, во всех остальных случаях можно чо нить другое придумать

bebebe
21.10.2018
16:14:55
Кирилл, зачем вы вангуете, можно все узнать у автора ? я так понял он ему просто досталось наследие

Sergey
21.10.2018
16:15:16
LDAP это всегда в таких случаях single point of failure
неправда, т.к. все балалайки, которые из системы в LDAP ходят, умеют прозрачно для всех дойти до резервного сервера

и пользователь даже ничего не заметит

bebebe
21.10.2018
16:15:55
и те, даже которые умеют, не всегда могут в связку RBAC+LDAP

Kirill
21.10.2018
16:16:28
бывает так что падает все включая резервные

Sergey
21.10.2018
16:17:57
если три лдапа уронил - ССЗБ

Vitaly
21.10.2018
16:47:44
Другое дело, многие решения умеют только проверку пароля через ldap. Пользователей надо руками локально заводить

bebebe
21.10.2018
16:54:31
Это не оффтопик ли, коллеги?

Sergey
21.10.2018
19:15:34
Это не оффтопик ли, коллеги?
Хм, согласен, прекращаю.

Павел
21.10.2018
19:41:00
Товарищи, поделитесь опытом, может холиварный вопрос или кому как удобно, но все-таки. У кого как запускаются плейбуки? Вот есть, например задачи контроля конфигурации сотен серверов, ее должны контролировать штук 30 плейбуков. Это все запихивается в какой-нибудь CI? Например у нас тимсити и можно туда запихать. Или как-то по другому запускаются плейбуки обычно? Какие есть лучшие практики в этом отношении?

Sergey
21.10.2018
19:42:20
Чаще всего всё завязывается на рабочие процессы в компании. Вот как у вас заведено - так и стоит делать, потому что потом натягивать реальность на результаты работы, как сову на глобус - такое себе занятие.

(при написании данного поста ни одна сова не пострадала ?)

Google
Sergey
21.10.2018
19:43:23
Тогда можно начать с простого - веб-мордочка по вкусу (Jenkins, AWX, Rundeck)

Либо что-то люто самописное, но там часто возникают проблемы с тем, чтобы подружить это самописное с Ансиблом.

А упомянутая троица умеет в инвентори и плейбуки.

(с плагинами, канеш)

Павел
21.10.2018
19:45:04
Тогда можно начать с простого - веб-мордочка по вкусу (Jenkins, AWX, Rundeck)
Спасибо, буду пробовать эти варианты, а то в тимсити прямо убого как-то получается.

Vlad
21.10.2018
19:45:36
У нас очень просто. Есть репозиторий в gitlab. При коммите запускается ci запускающий ansible. Он-же дергается через хук самим сервером при перезагрузке.

Sergey
21.10.2018
19:45:55
https://plugins.jetbrains.com/plugin/9017-ansible-runner

не зашло?

Aleksei
21.10.2018
19:47:57
Зачем дженкинс если awx все из коробки умеет

Павел
21.10.2018
19:48:32
не зашло?
Там есть несколько особенностей, ограничений. Например, ситуация: Хочется запускать плейбуки от отдельного пользователя на сервере раннеров, а мы не можем, потому что раннеры работают от другого пользователя и так положено. Плагин позволяет тупо взять репу с плейбуками и ролями и запустить его от юзера, от которого работают раннеры. В общем неудобно.

inqfen
21.10.2018
19:49:02
У меня подобное в гитлабе

Мне норм

Aleksei
21.10.2018
19:50:45
У меня подобное в гитлабе
А там можно периодикал джобы делать?

inqfen
21.10.2018
19:51:25
Sergey
21.10.2018
19:54:02
А там можно периодикал джобы делать?
в рандеке - тоже можно, кстати

Google
Алексей
21.10.2018
19:56:41
Aleksei
21.10.2018
19:56:45
в рандеке - тоже можно, кстати
Рандек хз зачем теперь нужен

Artem
21.10.2018
20:37:27
Рэднэк

Alex
21.10.2018
21:38:08
Рандек хз зачем теперь нужен
Гадость страшная этот рандек. Я пару лет назад хотел внедрить вместо Дженкинса, так там бага была которая не могла запускать ансибл. Потом хотел Дженкинс заюзать, не совпало по бизнес процессам. Попробовал авх, тоже не совпало по бизнес процессам. Gocd это просто для красивой кнопочки, функционала вообще нет. Теперь хочу попробовать Форман и гитлаб ci.

Alex
21.10.2018
22:18:54
gitlab-ci тоже не рекомендую для большего, чем docker build .
У нас только для запуска тестирования ролей молекулой в планах настроить его.

Alex
22.10.2018
07:39:33
Rundeck это не замена дженкинсу
По функционалу больше похоже на ci инструмент.

bebebe
22.10.2018
07:40:14
Alex
22.10.2018
07:40:26
Это вам кажется так
Вполне может быть

Алексей
22.10.2018
07:42:07
Ранек это вебкрон же

dmbm
22.10.2018
07:46:34
Привет! А что лучше выбрать, типа rundeck, awx, tower или что-то подбное? Нужна доменная авторизация, гибкая и настраиваемая ролевая модель, т.е. доступ к определённым inventory определённым группам, доступ на запуск определённых плейбуков, понятный интерфейс для дежурного. Лучше - если возможен запуск не только ансибл, а например ещё и других скриптов. У кого какой опыт работы с такими системами?

Dan
22.10.2018
07:48:47
@devops_ru
@ru_devops

Victor
22.10.2018
08:05:09
@ru_devops
Это что еще такое?

Dan
22.10.2018
08:05:40
Это что еще такое?
Ты серьёзно?

Victor
22.10.2018
08:06:13
вполне, в чем отличие от @devops_ru ?

Кроме того что там народу меньше

Dan
22.10.2018
08:06:30
вполне, в чем отличие от @devops_ru ?
Зайди в оба чата, пообщайся, и сравни

Страница 618 из 625