Daniel
Это как раз не странно, а логично, т.к. он нужен для того, чтобы доставлять код на целевую машину (правда, источник - гит, а не деб/rpm/docker/etc)
ну вот например: я на мастер-хост машину стягиваю кучу файлов с других хостов. эти файлы нужно распихать по разным репам и веткам в этих репах
Timur
Репозитории кода как бы подразумевают, что в них коммитают и вносят изменения люди
Timur
А не скрипт какие-то Файлы забрасывает
Daniel
Вы хотите странного
и не такие извращения видела матушка земля. мне нужно версионирование - чтобы видеть когда, где и что менялось. это нормальное желание. ладно, буду дальше копать. спасибо за участие. у кого будут примеры - поделитесь плиз
Timur
Или вы думаете, что гит - это такое удобное хранилище для разных файлов?
Timur
Для отслеживания версионирования файлов есть другие инструменты
Daniel
Для отслеживания версионирования файлов есть другие инструменты
например? вот это было бы интересно послушать
Daniel
именно не только отслеживание, но и хранение разных версий
Timur
например? вот это было бы интересно послушать
Все нормальные сервисы артифактов это умеют
Daniel
Все нормальные сервисы артифактов это умеют
назовите парочку плиз, чтобы я загуглить мог
Timur
Каким облаком пользуетесь для начала?
Timur
И каким гитом?
Daniel
не облако. гитлаб, если вы про это
Timur
Сервера и прочие ресурсы у вас где крутятся?
Sergey
назовите парочку плиз, чтобы я загуглить мог
Artifactory/Nexus из распиаренных с платной поддержкой
Daniel
Сервера и прочие ресурсы у вас где крутятся?
обычные железные серваки в стойке в дц.на них kvm виртуалки. олдскул в общем
Timur
Если попроще, то есть, например s3git
Timur
Как раз для любителей работать с файлами и версиями как в гите
Daniel
Как раз для любителей работать с файлами и версиями как в гите
спасибо! да я не то что любитель, задача такая. первое, что пришло на ум - гит
Max
потом артифакт толкают в сервис артифактов, и наполняют метадатой - версия, ветка, и т.п.
Max
этот артифакт продвигают по фазам релиза, или выбрасывают.
Max
(если не прошел валидацию)
Max
эти действия обычно делает система ci/cd
George
я поэтому и предложил сходить в гитлаб апи (или что там есть в качестве централизованной системы)
Отделение Bereke Bank
Подскажите. Для одного хоста нужно указать пустой ansible_become_pass. Это сработает? И какой пароль он ожидает? шифрованный?
George
????? нет, плоский, нешифрованный. Как ты вводишь сам
George
пуской пароль быть не может - тогда просто опусти эту опцию
Отделение Bereke Bank
у провайдера создается машина с юзером centos (под рутом зайти нельзя). sudo пароля не требует при этом. впервые такое вижу
Отделение Bereke Bank
но centos при этом не рут
Отделение Bereke Bank
еще ансибл игнорит host_vars этого хоста 🤔 берет ansible_user из group_vars. я думал host_vars приоритетнее
George
username ALL=(ALL) NOPASSWD: ALL в /etc/sudoers
George
делаешь так. И можно судошиться без пароля )))))
Oleg
Комрадз! Есть ли какая ниб extra_opts у модуля unarchive, которая бы разархивировала мне tar.gz сразу в папку, тч папка/содержимое, а не папка/папка/содержимое?
Aleksey
Да естт
Aleksey
Прям в примерах
Alex
Амазон?
почему амазон, все так делают
Timur
Ну, не совсем. :)
Oleg
[--strip-components=1]
пробовал, без рез-тно
Timur
Тогда больше деталей в студию
Отделение Bereke Bank
Амазон?
ps.kz 😃 понадобилась там виртуалка. а так серваки в DO и там root
Отделение Bereke Bank
Да уже не в чем. George помог
Bogdan (SirEdvin)
Подскажите, а в ansible можно включить verbose режим исключительно для одной таски?
Maxim
хай народ! а кто-нибудь сталкивался с такой проблемой, что конфиг через джинджу не генерился? точнее так, логика плейбука: 1. выкачать архив 2. распаковать 3. через темплейт заменить существующий конфиг так вот, в логах ansible пишет типа changed, но по факту конфиг остается стоковым
Maxim
покажи код п.3
код чего? плейбука?
Oleksandr
п. 3
Maxim
а, тьфу, сорян
Maxim
покажи код п.3
он большой довольно, покажу часть где подмена должна быть D_ROUTING_KEY = "{{ d_routingKey }}" M_ROUTING_KEY = "{{ m_routingKey }}" E_ROUTING_KEY = "{{ e_routingKey }}" V_ROUTING_KEY = "{{ v_routingKey }}"
Maxim
причем что интересно, когда прогонять этот же плейбук с тегом, который этот конфиг генерит, то все прекрасно
Timur
С такой информацией вы немного помощи получите
Maxim
я понимаю, но тут может кто именно с ситуацией сталкивался, а не дебаг чего не так
George
нет, с ТАКОЙ ситуацией никто не сталкивался
Timur
я понимаю, но тут может кто именно с ситуацией сталкивался, а не дебаг чего не так
С ситуацией, когда человек просит помочь, но ничего внятного не сообщает о деталях, мы тут сталкиваемся регулярно
Timur
Но помочь вряд ли можем в таком случае
Bogdan (SirEdvin)
Подскажите, а в ansible можно включить verbose режим исключительно для одной таски?
Окей, просто использовал pause + prompt и это решило мою проблему
Maxim
а как заставить ansible сохранять source? ANSIBLE_KEEP_REMOTE_FILES сохраняет только AnsiballZ_stat.py и типа того
Maxim
source чего?
"src": "/home/user/.ansible/tmp/ansible-tmp-1559906186.670379-73296428907085/source",
Maxim
вот это
Timur
Можете нормально объяснить - что вы хотите сделать?
Maxim
Понятнее не стало
когда включаем вербос то можно json посмотреть, типа того "invocation": { "module_args": { "_original_basename": "file.j2", "attributes": null, "backup": false, "checksum": "8389cd225ca6ee88c9b6dcc8af8404ca7c747741", "content": null, "delimiter": null, "dest": "/var/lib/1/test3/file", "directory_mode": null, "follow": false, "force": true, "group": null, "local_follow": null, "mode": 493, "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/user/.ansible/tmp/ansible-tmp-1559906186.670379-73296428907085/source", "unsafe_writes": null, "validate": null } }
Maxim
вот этот src хотел бы сохранить и посмотреть что же там внутри
Timur
Что вы пытаетесь сделать?
Timur
Какой таск выполняете вообще?
Maxim
хочу понять почему конфиг не перезаписывается из шаблона
Timur
Покажите код, который запускаете
Maxim
таска выглядит так - name: CREATE API CONFIG template: src: conf_templates/api/config.j2 dest: "{{ folder }}/{{ symlink_api }}/bin/configs/config.conf" owner: "{{ system_user }}" group: "{{ system_group }}" mode: "{{ chmod_code }}"