Max
либо я не понял задачу, либо твой цинизм... не понятен. https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/filter
George
Max
{{ user.name | regex_replace('(?!^)([A-Z])', '-\\1') | lower }}
cent
Max
скормим CCCUser
Max
что выйдет ?
cent
скормим CCCUser
Мне так и нужно.
Может быть Тебе нужно
{{ user.name | regex_replace('(?!^)([A-Z])+', '-\\1') | lower }}
Max
наше дело предложить.
Max
на питоне обработка регексов есть.
Max
а использование фильтра выглядит менее ужасным.
Max
голые регексы отлаживать тоже кайф.
Max
я пошель плакать в пейсы.
cent
а использование фильтра выглядит менее ужасным.
Я понимаю, что вероятно Тебе просто не с кем поговорить.
Но я уже запилил небольшой рефакторинг, и этот фильтр мне пока не требуется в этом моменте.
Закомментил на будущее.
И это куда продуктивнее, чем писать на питоне модули и подключать их, которые все равно будут регулярку внутри содержать.
Только для правок уже придется постоянно править питон, а не держать в переменной регекспу..
Max
👍🏼
Max
Max
это плагин, а не модуль, 4 строки кроме вызова однострочного библиотеки свыше
cent
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#migrating-from-with-x-to-loop - with_ возможно скоро будет депрекейтед?
Max
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/...? Или там вообще по дефолту используются настройки из этого конфига, если явно не указаны другие.
Я бы удивился, если б это было не так.
Vladislav 👻
cent
Vladislav 👻
copy автоматом декриптит
cent
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 напрямую работает
Dr. L.S.Dee
Anonymous
cent
Привет, ребята, быстрый вопрос: у меня есть конфигурация в / etc / ssh / sshd_config, которую я хочу иметь в ansible.cfg вместо sshd_config, например, настройки Ciphers и KexAlgorithm, это вообще возможно?
Вообще не гут такое хранить в ansible.cfg, а лучше хранить именно в ssh, например в ~/.ssh/config
Но можно парсить питоном, предварительно, наверное, и передавать переменными окружения в ansible )
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 напрямую", очевидно, запускаете от себя.
Anonymous
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 у каждого своя область видимости ключей, поэтому нам надо было сделать один общий базовый ключ, который мы шарим, поднимаем виртуалку, а дальше раскатываем наши профили и тех юзеров
Vladislav 👻
да разовый в рамках одной виртуалки, подняли раскатали, удалили
Vladislav 👻
новая виртуалка, тот же ключ
cent
cent
А кто-то знает? Есть ли какой хак в ansible, чтобы кусок yaml дособрать в самом yaml из цикла?
https://pastebin.com/raw/z5LrXZjD - подобное, чтобы за одну операцию описать?
George
George
Создали виртуалку с новым ключом (это опенстек умеет), сдернули его - настроили ВМ. Сделали пользаков. Ключ убили. С сервера снесли
George
Вольт тут нафиг не нужен
George
Ок, скажете, что у вас в базовом образе один и тот же бутстрап ключ. Но это же фактор риска, если он утечет. А хуже того - утечет и никто об этом не узнает
Vladislav 👻
как я написал, удаляем
George
Вот
George
Создали виртуалку с новым ключом (это опенстек умеет), сдернули его - настроили ВМ. Сделали пользаков. Ключ убили. С сервера снесли
Max
проблема барона Мюнхгаузена.
яйца были до пернатых.