Size: a a a

ansible — русскоговорящее сообщество

2019 May 28

DZ

Dmitriy Zaytsev in ansible — русскоговорящее сообщество
Котики, покритикуйте идеи?

Дано:
- несколько примерно одинаковых, но всегда разных, клиентов с желанием доступа к коду ansible. Клиент А не должен иметь доступа к коду клиента Б.
- уже два разных репозитория с разным набором ролей, плейбуков, переменных, etc. Разбиение по группам проектов.
- необходимость завести ещё минимум парочку - ну и вообще делать это с некоторой регулярностью.
- обратная совместимость между клиентами при этом не важна, т.е. можно делать изменения для одного клиента, ломающие что-то в другом.
- код постоянно развивается


Проблема:
Поддержка и синхронизация изменений даже в двух репозиториях становится неприятной. При четырех всё расползётся сильнее. Ну и чем дальше - тем хуже.


Решения:?
- Распиливать большие репозитории на репы для ролей, внутри каждого репозитория клиента собирать нужные роли скриптами (не уверен, что галакси умеет работать с приватными репами. Если умеет - то всё ещё проще.)

- Разделить конфигурацию и код - все роли в одном месте, вся конфигурация по репам клиентов + скрипты для сбора ролей (даже тупо гит сабмодули) - как более простая в реализации идея номер 1.

- Держать мастер-репозиторий, как источник истины, скриптами генерить вторичные репозитории для клиентов.

- Что-то ещё?
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
Dmitriy Zaytsev
Котики, покритикуйте идеи?

Дано:
- несколько примерно одинаковых, но всегда разных, клиентов с желанием доступа к коду ansible. Клиент А не должен иметь доступа к коду клиента Б.
- уже два разных репозитория с разным набором ролей, плейбуков, переменных, etc. Разбиение по группам проектов.
- необходимость завести ещё минимум парочку - ну и вообще делать это с некоторой регулярностью.
- обратная совместимость между клиентами при этом не важна, т.е. можно делать изменения для одного клиента, ломающие что-то в другом.
- код постоянно развивается


Проблема:
Поддержка и синхронизация изменений даже в двух репозиториях становится неприятной. При четырех всё расползётся сильнее. Ну и чем дальше - тем хуже.


Решения:?
- Распиливать большие репозитории на репы для ролей, внутри каждого репозитория клиента собирать нужные роли скриптами (не уверен, что галакси умеет работать с приватными репами. Если умеет - то всё ещё проще.)

- Разделить конфигурацию и код - все роли в одном месте, вся конфигурация по репам клиентов + скрипты для сбора ролей (даже тупо гит сабмодули) - как более простая в реализации идея номер 1.

- Держать мастер-репозиторий, как источник истины, скриптами генерить вторичные репозитории для клиентов.

- Что-то ещё?
мы решили так - всё в опенсорц, у клиентов только плейбуки. что бы было безопасно - всё обмазано вторым апачом
https://github.com/lean-delivery/
источник

DZ

Dmitriy Zaytsev in ansible — русскоговорящее сообщество
Проблемы, подводные камни?
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
ну, этими штуками пользуемся не только мы (это как плюс так и минус)
источник

O

O in ansible — русскоговорящее сообщество
Dmitriy Zaytsev
Котики, покритикуйте идеи?

Дано:
- несколько примерно одинаковых, но всегда разных, клиентов с желанием доступа к коду ansible. Клиент А не должен иметь доступа к коду клиента Б.
- уже два разных репозитория с разным набором ролей, плейбуков, переменных, etc. Разбиение по группам проектов.
- необходимость завести ещё минимум парочку - ну и вообще делать это с некоторой регулярностью.
- обратная совместимость между клиентами при этом не важна, т.е. можно делать изменения для одного клиента, ломающие что-то в другом.
- код постоянно развивается


Проблема:
Поддержка и синхронизация изменений даже в двух репозиториях становится неприятной. При четырех всё расползётся сильнее. Ну и чем дальше - тем хуже.


Решения:?
- Распиливать большие репозитории на репы для ролей, внутри каждого репозитория клиента собирать нужные роли скриптами (не уверен, что галакси умеет работать с приватными репами. Если умеет - то всё ещё проще.)

- Разделить конфигурацию и код - все роли в одном месте, вся конфигурация по репам клиентов + скрипты для сбора ролей (даже тупо гит сабмодули) - как более простая в реализации идея номер 1.

- Держать мастер-репозиторий, как источник истины, скриптами генерить вторичные репозитории для клиентов.

- Что-то ещё?
AWX поддерживает роди и группы
источник

C

CHIP in ansible — русскоговорящее сообщество
Dmitriy Zaytsev
Котики, покритикуйте идеи?

Дано:
- несколько примерно одинаковых, но всегда разных, клиентов с желанием доступа к коду ansible. Клиент А не должен иметь доступа к коду клиента Б.
- уже два разных репозитория с разным набором ролей, плейбуков, переменных, etc. Разбиение по группам проектов.
- необходимость завести ещё минимум парочку - ну и вообще делать это с некоторой регулярностью.
- обратная совместимость между клиентами при этом не важна, т.е. можно делать изменения для одного клиента, ломающие что-то в другом.
- код постоянно развивается


Проблема:
Поддержка и синхронизация изменений даже в двух репозиториях становится неприятной. При четырех всё расползётся сильнее. Ну и чем дальше - тем хуже.


Решения:?
- Распиливать большие репозитории на репы для ролей, внутри каждого репозитория клиента собирать нужные роли скриптами (не уверен, что галакси умеет работать с приватными репами. Если умеет - то всё ещё проще.)

- Разделить конфигурацию и код - все роли в одном месте, вся конфигурация по репам клиентов + скрипты для сбора ролей (даже тупо гит сабмодули) - как более простая в реализации идея номер 1.

- Держать мастер-репозиторий, как источник истины, скриптами генерить вторичные репозитории для клиентов.

- Что-то ещё?
Это все покрывает тот же гитлаб
источник
2019 May 30

PK

Pavel Kozlov in ansible — русскоговорящее сообщество
Коллеги доброго вечера
вопрос
надо запустить опрос версий установленного ПО
на хосте это запускается строчкой
"c:\Program Files\winlogbeat\winlogbeat.exe" version
а вот как эту строчку запихнуть в win_command:
я не очень понимаю
т.е. как раставить кавычки?
источник

PK

Pavel Kozlov in ansible — русскоговорящее сообщество
спасибо, пропустил, все описано в доке
     win_command: winlogbeat.exe version
     args:
       chdir: c:\Program Files\winlogbeat\
     register: winlogbeat_ver
источник
2019 June 01

МБ

Михаил Беркович in ansible — русскоговорящее сообщество
Привет, Коллеги! Не подскажете как создать папку в ~ ? Именно в корне.
/www создаётся на раз. А необходимо создать в "тильде", в корне прям, короче.

https://pastebin.com/M0A1MCAm
вот такая заготовка.
источник

N

Nikita in ansible — русскоговорящее сообщество
~ - это же вроде хомяк
источник

N

Nikita in ansible — русскоговорящее сообщество
типа /home/ansibleusername)
источник

МБ

Михаил Беркович in ansible — русскоговорящее сообщество
То есть прям path: $HOME/www ?
Так будет верно?
источник

N

Nikita in ansible — русскоговорящее сообщество
а вам где нужно создать папку?
источник

N

Nikita in ansible — русскоговорящее сообщество
ну для рута ~ = /root, для пользователя user ~ = /home/user
источник

МБ

Михаил Беркович in ansible — русскоговорящее сообщество
user@namevps:~$ mkdir -r namefolder

Типа такого выполнить.
источник

МБ

Михаил Беркович in ansible — русскоговорящее сообщество
Nikita
ну для рута ~ = /root, для пользователя user ~ = /home/user
А, то есть просто /root/www ?
источник

N

Nikita in ansible — русскоговорящее сообщество
тильда
источник

N

Nikita in ansible — русскоговорящее сообщество
это ссылка на домашнюю директорию пользователя
источник

N

Nikita in ansible — русскоговорящее сообщество
даже если вы запускаете с помощью судо - у вас не меняется домашняя директория
источник

МБ

Михаил Беркович in ansible — русскоговорящее сообщество
path: /root/www
не создал. Или снова ошибка?
источник