
Sander
04.01.2017
00:11:49
Почитать то почитаю, но примеров бы, если у меня много сайтов, как это менеджить нормально. Примеров бы хороших

dmage
04.01.2017
00:12:44
ну так а в чем проблема?
ищешь по, которое надо менеджить и смотришь как уже запилено

Sander
04.01.2017
00:14:13
нашел примеров но очень мало https://github.com/okfn/infra

Google

Sander
04.01.2017
00:14:56
если один сайт деплоить, no problem.
проблема настроить multiple websites, with different frameworks and languages.

dmage
04.01.2017
00:15:26
https://galaxy.ansible.com/list#/roles?page=1&page_size=10
are you not russian speaker?

Sander
04.01.2017
00:16:44
я знаю ansible galaxy, но не нашел примеров, где multiple websites (много вебсайтов в одной настройке)

dmage
04.01.2017
00:17:10
вопрос в такой формулировке не несет смысла
попробуй перефразировать

Sander
04.01.2017
00:17:31
то есть у меня ansible должен из коробки создавать все, а не копи пастить одни и те же таски и настройки
смотри

Konstantin
04.01.2017
00:18:59
Парень говорит как юзать ansible когда всего море и чтоб потом в этом не запутаться.

Sander
04.01.2017
00:19:41
у меня есть сайты на laravel,
есть tasks, настройки стандартные, но не смотря на то что фрейморк везде один, настройки все равно немного различаться будут.
надо как-то конфиги прописывать для каждого хоста, скорей тут подойдет host_vars, но мне бы пример хороший как это все правильно собрать, так чтоб потом не запутаться
именно

Konstantin
04.01.2017
00:20:04
очень часто проекты на одном фрейворке почти одинаковы, по все равно нужно править по разному

Sander
04.01.2017
00:20:22
что-то на php, что то на nodejs, что-то на go

Google

Sander
04.01.2017
00:20:53
да, поэтому будут конфиги под каждый проект, но таски в основном будут одинаковые
ток templates, могут различаться немного
или какие-то еще настройки, а так распаковка и установка пхп на сервер везде почти одинаковая

Konstantin
04.01.2017
00:21:25
я таки делю между проектами/ есть работа, есть фриланс, есть свой проект

dmage
04.01.2017
00:21:28
мы выносим настройки в vars, в отдельные вар-файлы и в зависимости от необходимости подцепляем
вопрос очень абстрактный
нужно смотреть на конкретику и в зависимости от нее уже танцевать

Konstantin
04.01.2017
00:22:13
dmage до какого-то момента это спасает, но потом полная каша..

dmage
04.01.2017
00:22:23
т.е.?
пробуй документировать скрипты
если набор ролей весьма комплексный, неудивительно, что потом нельзя его полностью держать в голове

Sander
04.01.2017
00:24:01
делить конечно есть смысл, но это чисто проектики для клиентов,
если какой-то свой проект, то я скорей новый ansible config создам.

Konstantin
04.01.2017
00:24:31
ну понятно что я это делаю, но один и тот же конфиг турдно применить "почти" подходит для другого проекта.... но это почти. приходится выкидывать некоторые шаги, или использовать теги, или ставить проверки... потом третий проект и тож что то похоже, но еще что то добавляется...
вот потом уже начинаешь делить
на разные проекты

dmage
04.01.2017
00:25:26
отчасти помогает грамотная декомпозиция ролей с расчетом на максимальный реюз в дальнейшем

Konstantin
04.01.2017
00:26:17
верно, нужно делать роль чисто для установки nginx, а конфиги уже в другоую роль пихить, для примера

Sander
04.01.2017
00:26:19
поэтому я и ищу какие-нибудь проекты, чтоб посмотреть как другие делают
с best practices

dmage
04.01.2017
00:26:45
у тебя постановка вопроса настолько абстрактная, что тебе скорее не другие проекты нужны, а какой-нибудь ansible in action

Google

dmage
04.01.2017
00:26:51
прочитать

Konstantin
04.01.2017
00:27:49
тут только практика

Sander
04.01.2017
00:28:13
мне достаточно посмотреть на хороший конфиг, чтоб понять что к чему

dmage
04.01.2017
00:28:40
не могу себе представить "хороший конфиг"
у них другие критерии

Konstantin
04.01.2017
00:29:14
не ну что значит хороший конфиг... чаще всего конфиг зависит от архитектуры. от этого и прляшут....

dmage
04.01.2017
00:29:19
"комплексный", "мультиплатформенный", "универсальный"
итд

Sander
04.01.2017
00:31:06
ну когда программисты программируют есть правила написания кода, он тоже зависит от ситуации как пистать код, но есть правильность его написания
если мы бы не знали этих правил, то сложно было бы вообще понимать и читать чужой код

Konstantin
04.01.2017
00:32:52
вот пример, я так делаю в последнее время. есть роль psql. устанавливает и поднимает сервер. в defaults/main
psql_users: []
psql_dbs: []
psql_user_priv: []
т.е. ничего настраивать не будет, просто поднимет сервер. а уже в host_vars для каждого хоста прописано какую базу настроить и как доступ организовать. вот пример
получается рль можно куда угодно поднять

Konstantin
04.01.2017
00:33:40
и как угодно настроить взависимости от хоста

Sander
04.01.2017
00:33:49
ну вот host_vars я тоже посмотрел, что этот момент надо использовать в настройках
мне бы full проект посмотреть
ехх

Konstantin
04.01.2017
00:37:14
https://github.com/sovereign/sovereign
A set of Ansible playbooks to build and maintain your own private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and more.
ой
ну короче там много чего есть, может будет полезно

Google

Sander
04.01.2017
00:38:21
посмотрю
спасибо
правда это вроде немного старый вариант конфига,
почему-то нет ansible.conf

Konstantin
04.01.2017
00:39:06
еще раз. чаще всего конфиг формируетсяот того какая архитектура.

Sander
04.01.2017
00:39:13
ansible.cfg

Konstantin
04.01.2017
00:39:18
ansible.conf -- это не обязательно
вот пример моего конфига
[defaults]
inventory = hosts
ask_sudo_pass = True
retry_files_enabled = False
важно только inventory = hosts, чтоб пальмы не уставали ))

Sander
04.01.2017
00:42:35
да у меня он стоит

Admin
ERROR: S client not available

Sander
04.01.2017
00:43:05
[defaults]
inventory = ./inventories/hosts
log_path = ./logs/ansible.log

Max
04.01.2017
02:57:47
а ещё multiple sites on different lang нормальные парни делают в докере, что бы не превращать хосты в аццкий зоопарк всякой срани
и в данном случае деплоиться удобно будет - настраиваешь ансиблом хосты в базу, тип там агенты мониторинга, ключи и свежий docker engine из офф репки, а потом деплоишь с помощью docker_container модуля тем же ансиблом например
и главное нет никаких конфликтов и ебли с версиями языка
если сайтов у тебя действительно много

Dmitry
04.01.2017
06:50:46
омг

Max
04.01.2017
12:11:03
Главный любитель докера в чате говорит омг

Dmitry
04.01.2017
12:32:27
я? докера? вы что-то путаете
или с кем-то
омг - это про "непременно один плейбук на все проекты/сайты". я не пониманию саму концепцию, почему это должно быть именно так :)

Google

Max
04.01.2017
12:34:24

Dmitry
04.01.2017
12:35:18
это был так себе сарказм, потому что у меня по LXC контейнеру на проект, без всякого докера :)

Max
04.01.2017
12:36:24
А чо те докер тогда не нравится?)

Dmitry
04.01.2017
12:37:36
ущербная реализация

Max
04.01.2017
12:39:05
Хм

Denis 災 nobody
04.01.2017
12:41:21

Dmitry
04.01.2017
12:41:59
Хм
он должен приносить какое-то удобство, но неудобен при этом страшно

Max
04.01.2017
12:42:37

Dmitry
04.01.2017
12:42:56

Max
04.01.2017
12:43:10
Композ же
Или ансибл

Dmitry
04.01.2017
12:43:48
ансиблом я контейнер соберу и без этого говна :)
docker run --name my_db -p 5432:5432 -e POSTGRES_PASSWORD=password -e POSTGRES_USER=user -e POSTGRES_DB=my_db -e POSTGRES_DB_SCHEMA=schema_name my_db
у меня при виде этого в голове одна мысль: блеать, шта? seriously?

Max
04.01.2017
12:44:54
Это run же

Dmitry
04.01.2017
12:45:21
я в курсе. и чо. от этого он стал удобным? :)

Max
04.01.2017
12:45:41
С композом да, вполне

here1am
04.01.2017
19:43:59
нужны бест практисес о том, как держать все в гите. распихать по субмодулям или как-то ещё?

Vlad
04.01.2017
20:14:55

here1am
04.01.2017
20:24:34

Vlad
04.01.2017
20:26:10