Max
либо я не понял задачу, либо твой цинизм... не понятен. https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/filter
Max
{{ user.name | regex_replace('(?!^)([A-Z])', '-\\1') | lower }}
Max
скормим CCCUser
Max
что выйдет ?
cent
скормим CCCUser
Мне так и нужно. Может быть Тебе нужно {{ user.name | regex_replace('(?!^)([A-Z])+', '-\\1') | lower }}
Max
наше дело предложить.
Max
на питоне обработка регексов есть.
Max
а использование фильтра выглядит менее ужасным.
Max
голые регексы отлаживать тоже кайф.
Max
я пошель плакать в пейсы.
cent
а использование фильтра выглядит менее ужасным.
Я понимаю, что вероятно Тебе просто не с кем поговорить. Но я уже запилил небольшой рефакторинг, и этот фильтр мне пока не требуется в этом моменте. Закомментил на будущее. И это куда продуктивнее, чем писать на питоне модули и подключать их, которые все равно будут регулярку внутри содержать. Только для правок уже придется постоянно править питон, а не держать в переменной регекспу..
Max
👍🏼
Max
это плагин, а не модуль, 4 строки кроме вызова однострочного библиотеки свыше
cent
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#migrating-from-with-x-to-loop - with_ возможно скоро будет депрекейтед?
Max
короче, если библиотека устроит, на питоне перевод бы выглядел так: return dasherize(underscore(camelize(x)))
Max
если плагином,.
Vladislav 👻
Господа, а можно как-то в плейбуке одну таску выполнить локально? А то есть приватный ssh ключ, его надо расшифровать волтом и подсунуть в следующие таски
George
можно
George
как-то
Vladislav 👻
Точнее вопрос не так, вопрос в том, можно ли через delegate_to: localhost выполнить временный vault decrypt файла с приватным ключом
George
насчет шифровать ключи - это бессмысленно
Vladislav 👻
почему?
George
ну, смотри. Тут все от модуля зависит, который ты используешь
George
умеет он локально или не умеет
Vladislav 👻
а как понять, умеет он или нет?
Aleksandr
Привет! Как лучше организовать запись в бд инфы по выполняемым плеям (время выполнения, другая инфа) из ансибл для дальнейшего формирования отчета по установке?
Anonymous
Привет, ребята, быстрый вопрос: у меня есть конфигурация в / etc / ssh / sshd_config, которую я хочу иметь в ansible.cfg вместо sshd_config, например, настройки Ciphers и KexAlgorithm, это вообще возможно?
Vladislav 👻
вроде в ansible.cfg есть секция [ssh_connection]
Dr. L.S.Dee
Нууууу, вообще возможно. И то, и другое - текст, определенным образом структурированный. Его можно парсить, забирать некие элементы из одного файла и передавать в другой.
Anonymous
какой самый быстрый метод? Мне нужно использовать его только один раз, установил ansible, запустит его один раз и все.
Anonymous
например я хочу добавить это: Ciphers aes128-ctr,aes192-ctr,aes256-ctr,blabla
Dr. L.S.Dee
cat >>
cent
Можно плагин на питоне написать. Но я тоже не понял, зачем криптовать? И тем более приватные ключи?
Dr. L.S.Dee
Точно не знаю, не разбираюсь в этом ваше м красноглазии, но раз секция [ssh_connection] есть, может, там можно сослаться на /etc/...? Или там вообще по дефолту используются настройки из этого конфига, если явно не указаны другие. Я бы удивился, если б это было не так.
cent
я уже сделал через local_action
А декрипт как сделал?
Vladislav 👻
copy автоматом декриптит
Dr. L.S.Dee
https://docs.ansible.com/ansible/2.4/intro_configuration.html#openssh-specific-settings
Anonymous
Нет, на самом деле я не уверен, я пытаюсь запустить скрипт и no acceptable kex algorithm, хотя ssh to IP напрямую работает
Anonymous
Может, там сейчас что-то левое стоит?
вы имеете в виду в ansible.cfg?
cent
Привет, ребята, быстрый вопрос: у меня есть конфигурация в / etc / ssh / sshd_config, которую я хочу иметь в ansible.cfg вместо sshd_config, например, настройки Ciphers и KexAlgorithm, это вообще возможно?
Вообще не гут такое хранить в ansible.cfg, а лучше хранить именно в ssh, например в ~/.ssh/config Но можно парсить питоном, предварительно, наверное, и передавать переменными окружения в ansible )
Dr. L.S.Dee
вы имеете в виду в ansible.cfg?
Да. Потому что по умолчанию он должен использовать тот клиент OpenSSH, который определен для него в PATH.
Dr. L.S.Dee
Других клиент-специфических настроек там нет, кстати.
Dr. L.S.Dee
Т.е. и конфиг берется тот, который дефолтный для данного клиента в данном окружении.
Anonymous
Кстати, есть идеи, почему по умолчанию не работает? Я имею в виду, если я могу SSH к нему напрямую из Cli с помощью SSH, почему Netmiko имеет проблемы с этим? [defaults] transport = paramiko inventory = ./hosts host_key_checking = false timeout = 5
Dr. L.S.Dee
От какого пользователя работает Ансибл? Какие параметры клиента openSSH определены по умолчанию для этого пользователя?
Dr. L.S.Dee
"SSH to IP напрямую", очевидно, запускаете от себя.
cent
Возможно. Но как минимум, в таких случаях тогда этот ключ нужно криптануть под каждый конкретный env. Т.е. если запускается только с одной тачки одним админом, то не криптовать вовсе. А если несколькими, то для каждого пользователя под свой вольт ключ
Dr. L.S.Dee
Тогда странно.
Anonymous
Тогда странно.
спасибо. Я постараюсь продолжить исследования
cent
Если безопасно делать то, делать нужно так vars/vasya_key.yml vars/petya_key.yml И в эти ямлы пихать один и тот же ключ, если он один. Но по-хорошему, у каждого должен быть свой мастер ssh ключ
Vladislav 👻
не согласен - держи эмодзи 🤦‍♂️
cent
Конечно. А смысл держать криптованным, если все равно пароль один по всем рукам гуляет?)
Vladislav 👻
он не гуляет
Vladislav 👻
я хз, как у вас выстроен процесс, но у нас 3 админа правят балом, а смотреть репу и кидать ПРы может и разраб
Vladislav 👻
но давать смотреть разрабам ключи никто не собирается
cent
Если ключ разовый, то зачем его вообще тогда в git ложить?)
Vladislav 👻
потому что с этим ключом поднимаются виртуалки в openstack - это было еще в первом ответе
Vladislav 👻
более того, в openstack у каждого своя область видимости ключей, поэтому нам надо было сделать один общий базовый ключ, который мы шарим, поднимаем виртуалку, а дальше раскатываем наши профили и тех юзеров
cent
потому что с этим ключом поднимаются виртуалки в openstack - это было еще в первом ответе
Ты же сказал, что он разовый) Разовый - значит не предполагает передачу кому-то для дальнейших действий, потому что он уже первый раз был использован)
Vladislav 👻
да разовый в рамках одной виртуалки, подняли раскатали, удалили
Vladislav 👻
новая виртуалка, тот же ключ
cent
А кто-то знает? Есть ли какой хак в ansible, чтобы кусок yaml дособрать в самом yaml из цикла? https://pastebin.com/raw/z5LrXZjD - подобное, чтобы за одну операцию описать?
George
да разовый в рамках одной виртуалки, подняли раскатали, удалили
Не вижу проблем обойтись без разового ключа
George
Создали виртуалку с новым ключом (это опенстек умеет), сдернули его - настроили ВМ. Сделали пользаков. Ключ убили. С сервера снесли
George
Вольт тут нафиг не нужен
George
Ок, скажете, что у вас в базовом образе один и тот же бутстрап ключ. Но это же фактор риска, если он утечет. А хуже того - утечет и никто об этом не узнает
Vladislav 👻
как я написал, удаляем
George
Вот
George
Создали виртуалку с новым ключом (это опенстек умеет), сдернули его - настроили ВМ. Сделали пользаков. Ключ убили. С сервера снесли
Max
проблема барона Мюнхгаузена. яйца были до пернатых.