
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

Igor
01.06.2017
12:23:52

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

Google

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

Sergey
02.06.2017
07:23:48

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

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 я в курсе, может есть способы получше?

Pavel
02.06.2017
09:01:12

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

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

Vlad
02.06.2017
09:08:22

Pavel
02.06.2017
09:09:04

here1am
02.06.2017
09:09:41

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
Какая проблема?