@pro_ansible

Страница 214 из 625
Alexander
01.06.2017
12:20:04
только не помню, с какой версии это работает

Igor
01.06.2017
12:20:13
в 2.2 работает точно

Sander
01.06.2017
12:20:19
цифрами как-то можно? не очень понимаю когда права поставляются буквами

у меня 2.3

Google
Sander
01.06.2017
12:28:36
жалко

Igor
01.06.2017
12:29:45
выучи буквы

Sander
01.06.2017
12:33:05
мне надо на разные папки разные права, где-то 555, где-то 755. ---

еще и файлы

lastsky
01.06.2017
12:33:28
несколько тасков тогда сделай

или один, + with_items

Sander
01.06.2017
12:33:38
разве через буквы все это можно сделать на ansible

нужен один таск, куда я буду скармливать массив с путями папок

и он должен как-то, по массиву пробежаться и проставить на эти папки writable

то есть 755

lastsky
01.06.2017
12:35:19
ну тогда в массиве сделай {{ item.path }} / {{ item.mode }} / {{ item.state }}

Sander
01.06.2017
12:35:24
--- можно оставить на самый конец, чтоб время не тратить конечно

Google
lastsky
01.06.2017
12:35:59
хотя тебе надо recurse делать на папки, так что в две задачи. либо программируй на конфигах.

Sander
01.06.2017
12:36:31
наверное как-то так

- name: "test" file: path: "{{ item.path }}" recurse: yes state: directory mode: 0555 with_items: "{{ all }}"

но файлы делать тогда через буквы

lastsky
01.06.2017
12:37:02
если есть отдельные файлы и из не более трех - почему нет

а точнее как там, двух. если уже три - то цикл.

Sander
01.06.2017
12:37:39
в общем пока что сдпелаю то что знаю, потом вернусь к chmod.

@lastsky thank you

lastsky
01.06.2017
12:38:19
- name: set chmod for dirs file: path: "{{ item.path }}" recurse: yes state: directory mode: 0555 with_items: "{{ directories }}" - name: set chmod for exec files file: path: "{{ item.path }}" mode: 0755 with_items: "{{ exec_files }}"

только тебе item нужна а не item.path, и в переменные забить exec_files и directories

Igor
01.06.2017
12:40:38
вы наркоманы

=)

lastsky
01.06.2017
12:44:56
у меня где-то была подобная задача эспешали фо dyryavy ebany wordpress, так что я размялся. и сразу наркоманом стал? ну зашибись.

Sander
01.06.2017
12:48:21
я чуть позже посмотрю, но спасибо за готовую реализацию.

да, я wp тоже делал, но через bash dockerfile )

lastsky
01.06.2017
12:49:38
это не готовая реализация, я только в уме проверил - вроде работает.

Sander
01.06.2017
12:57:20
в anible -> archive хелпер, можно ли как-то запаковать файлы так, чтоб только файлы из данной папки он запаковывал, но не в вместе с той папкой, которую я ему указываю.

когда делаю так - name: "Archive project" archive: path: "./project/site" dest: "/var/www/site"

открываю архив и в архиве у меня лежит папка site, а нужно на уровень ниже

все справился

Google
Sander
01.06.2017
13:07:22
просто добавил /* звездочку в конце

спаисбо еще раз )

dmage
01.06.2017
14:18:07
а какой правильный подход должен быть, когда я правлю replace'ом в ини-подобном конфиге поле, но специфика такова, что может остаться еще одно поле с таким же именем, но другим значением?

как правильнее подойти, чтобы обеспечить уникальность поля?

Igor
01.06.2017
14:23:26
Мокажи пример данных

dmage
01.06.2017
14:25:23
ну вот например в конфиге есть две или более строчек вида

DBName=blabla

я ищу по DBName

replace я так понимаю сделает одну замену, lineinfile вероятно все, но хотелось бы чтобы в итоге осталось только одно поле, а-ля uniq

Igor
01.06.2017
14:27:20
replace можно указать заменить только одно вхождение а не всё

глянь там в параметрах

А, тебе одно надо оставить

Igor
01.06.2017
14:28:16
тогда надо сначала решить задачу удалить дубли

потом делать replace

dmage
01.06.2017
14:33:05
встроенной функциональности у ансибла нет для поиска дублей?

Dmitry
01.06.2017
20:46:15
раньше в ансибле программировали на конфигах, теперь его превращают в awk, ок

нужно больше обработки текста, еще больше

Wom
01.06.2017
20:50:55
перл туда встроить

lastsky
01.06.2017
20:58:33
а какой правильный подход должен быть, когда я правлю replace'ом в ини-подобном конфиге поле, но специфика такова, что может остаться еще одно поле с таким же именем, но другим значением?
для ini конфигов есть модуль ini_file который правит это значение в конкретной секции. а для того чтобы не было дублей - конфиги должны катиться модулем template с j2 и переменными, и быть везде унифицированными и под контролем.

или в ini_file берёшь опцию create и пересоздаешь конфиг без govno-style production management.

Google
lastsky
01.06.2017
21:00:43
здесь нет ничего сложного (с) (тм) (р)

Dmitrii
02.06.2017
08:05:27
А еще этот модуль к хуям сносит все форматирование и комментарии в файле, да.

Алексей
02.06.2017
08:08:24
комментарии на проде? ну зачем ?

Dmitrii
02.06.2017
08:08:51
Я не только прод ансиблом готовлю.

lastsky
02.06.2017
08:15:33
А еще этот модуль к хуям сносит все форматирование и комментарии в файле, да.
а какое форматирование? имеются ввиду extra spaces или huawei-like style когда знак равенства посередине всегда?

Dmitrii
02.06.2017
08:16:26
Вообще все форматирование. Вплоть до комментариев секций через символ ;

here1am
02.06.2017
08:58:08
а как вы храните всяческие пароли?

Admin
ERROR: S client not available

here1am
02.06.2017
08:59:35
про ansible vault я в курсе, может есть способы получше?

here1am
02.06.2017
09:02:05
а чем ваулт не то?
хранится там же, на месте. а я хочу всё в репу выложить

Pavel
02.06.2017
09:03:33
хранится там же, на месте. а я хочу всё в репу выложить
может тогда какой-то криптоконтейнер... но это уже более платформозависивое

Hackru
02.06.2017
09:03:52
так разве волт не шифруется паролем?

Pavel
02.06.2017
09:04:03
ну я и ваулт комичу

here1am
02.06.2017
09:04:08
ну так-то там aes и пароль, да. но в репе такое выглядит некузяво

Pavel
02.06.2017
09:04:20
так разве волт не шифруется паролем?
можно паролем, можно ключем..

Vlad
02.06.2017
09:04:51
хранится там же, на месте. а я хочу всё в репу выложить
Вместо файла с паролем можно задать скрипт который будет его выводить в stdout

Pavel
02.06.2017
09:05:18
ну я и ваулт комичу
в смысле не ваулт, а инвентори зашифрованое ваултом комичу...

зато для анзибля прозрачно все

Google
Дмитрий
02.06.2017
09:06:06
Первое, что пришло в голову под вариант "в репе некузяво" - это https://www.vaultproject.io и https://github.com/jhaals/ansible-vault. Сам не пробовал

here1am
02.06.2017
09:06:55
Вместо файла с паролем можно задать скрипт который будет его выводить в stdout
не, файл с паролем в репе я держать не хочу. пошифрованное выглядит неоч

Vlad
02.06.2017
09:08:22
не, файл с паролем в репе я держать не хочу. пошифрованное выглядит неоч
Нужно хранить зашифрованными только значения а не весь yaml

Pavel
02.06.2017
09:09:04
не, файл с паролем в репе я держать не хочу. пошифрованное выглядит неоч
у меня так и лежит, инвентори а репе зашифрованое ключем, а ключ не комитится... только у меня, директора и на флешке в сейфе

Pavel
02.06.2017
10:16:39
То есть вы не хотите хранить зашифрованный файл с паролями в репе, потому что "выглядит неоч", и вместо этого обсуждаете тут решения в которых надо ебаться с установкой отдельной роли, настройкой и поддержкой отдельного выделенного сервера с секретными ключами и прикрывать все это PEM-сертификатами? Вы вообще адекватные? ?

here1am
02.06.2017
10:23:08
кто мы? я тут один

я хочу узнать, что ещё можно сделать

Pavel
02.06.2017
10:23:59
Ну тебе просто кидают ссылки какие-то вместо того чтобы сказать "не выебывайся и храни зашифрованное в гите" :)

here1am
02.06.2017
10:24:34
ну я ж не спрашиваю, что мне делать

я спрашиваю, что вообще можно сделать, если хочется повыёбываться

Pavel
02.06.2017
10:25:39
Ну вообще, это все удобнее только когда есть люди которые хорошо знают как все это работает и готовы тратить силы на поддержку. На практике же либо становится много другой работы, либо ты увольняешься, конвертируя все свои наработки в технический долг для оставшихся людей, они потом долго с этим разбираются и в конце концов просто все выкидывают и лепят какой-нибудь костыль.

Так что если у тебя там большая распределенная система с десятками серверов и сотнями паролей, может это и имеет смысл.

Sander
02.06.2017
10:57:33
как-то только файлам можно сделать chmod? - name: "chmod" file: path: "/var/www/site" mode: u=r,g=r,o=r state: file recurse: yes

Pavel
02.06.2017
12:25:13
Полагаю что это только через bash команду нормально решается

Sergey
02.06.2017
12:29:01
https://stackoverflow.com/questions/28778738/ansible-mode-755-for-directories-and-644-for-files-recursively

Антон
02.06.2017
12:49:44
не знаете как сделать нормальный вывод ошибок, если использовать molecule с goss, если тест фейлится выводится какой то неструктурированный json?

Вот примерно так выводит, не знаете как это можно поправить? failed: [ansible-role-nginx] (item=goss_nginx.yaml) => {"failed": true, "item": "goss_nginx.yaml", "msg": "err : ; out : {\n \"results\": [\n {\n \"duration\": 20775....

Serg
02.06.2017
12:58:04
Народ кто пробовал связку bitbucket pipeline + Ansible?

Bogdan (SirEdvin)
02.06.2017
13:05:59
Ну тебе просто кидают ссылки какие-то вместо того чтобы сказать "не выебывайся и храни зашифрованное в гите" :)
Потому что как только появляется больше одного-двух девпосов/админов то и приходит такая проблема

Pavel
02.06.2017
13:07:44
Какая проблема?

Страница 214 из 625