
Vasiliy
05.07.2017
07:48:15
Что бы с дефолтовыми не было в перемешку

Bogdan
05.07.2017
07:56:58
может проще дефолтные потом отпарсить?

Alexey
05.07.2017
11:15:43
Коллеги, я новичок в системах оркестрации. Мне очень хотелось бы посмотреть какие-то примеры как устроена инфраструктура оркестрации у других (Какое ПО они используют, для каких целей, почему не альтернативы и т.д.). Просто я не верю, что то, как это устроена у нас (к примеру, ты разворачиваешь всё Ansible, но все пароли и логины заходишь и вбиваешь в конфиги ручками) - это правильное развитие событий.
Если есть какие-то классные видео на эту тему - будет круто, т.к. на просторах интернета я нашёл пока только обучалки по Ansible, что не есть то, что нужно.
В общем, буду благодарен за любые видео, статейки или возможность лично от кого-то узнать, как это должно правильно работать. Заранее спасибо!

Google

Bogdan (SirEdvin)
05.07.2017
11:17:25
Коллеги, я новичок в системах оркестрации. Мне очень хотелось бы посмотреть какие-то примеры как устроена инфраструктура оркестрации у других (Какое ПО они используют, для каких целей, почему не альтернативы и т.д.). Просто я не верю, что то, как это устроена у нас (к примеру, ты разворачиваешь всё Ansible, но все пароли и логины заходишь и вбиваешь в конфиги ручками) - это правильное развитие событий.
Если есть какие-то классные видео на эту тему - будет круто, т.к. на просторах интернета я нашёл пока только обучалки по Ansible, что не есть то, что нужно.
В общем, буду благодарен за любые видео, статейки или возможность лично от кого-то узнать, как это должно правильно работать. Заранее спасибо!
ansible-vault
hashicrop-vault
Есть для таких штук

Oleksandr
05.07.2017
11:19:38

Bogdan (SirEdvin)
05.07.2017
11:20:33

Oleksandr
05.07.2017
11:21:29
Не ну человек после ansiblа проходится и вбивает руками ) видать не знает... пока не овладеет минимумом смысл hashicorp vault предлагать ?
вообще в заголовке чата есть классная ссылка - там практически % на 95 актуальная инфа

Alexey
05.07.2017
11:27:32
Окей, спасибо за ответы! Прос Hashicorp Vault слышал, но на предложение его развернуть было высказано фи. Обязательно прочитаю на днях про Ansible-Vault!
Есть ещё такой вопрос: бывают ситуации когда одна машина из 30 должна заливаться по-иному (к примеру лишний файл закидываться в firewalld или сервис устанавливаться). Я под данную машинку должен создавать отдельный playbook или правильнее делать обработку данного события в самом playbook?

Sergey
05.07.2017
12:37:07
....так что пиши плейбук в общем, насколько возможно, виде, и разруливай особенности конкретных хостов через host_vars

Alexey
05.07.2017
12:39:04

Sergey
05.07.2017
12:40:02
если приходится вешать гроздьями when-ы - ты что-то делаешь не так

lastsky
05.07.2017
12:40:37
да, именно, можно when на block же вешать )
(шутка)

Sergey
05.07.2017
12:41:28

Google

Alexey
05.07.2017
12:44:49
Эм... А я уже начал читать о block'ах и думать, что это крутая вещь =)

lastsky
05.07.2017
12:46:41
ну да, эта штука иногда полезна, когда ты уже написал велосипед из граблей, и тебе лень вешать гроздьями when.

Alexey
05.07.2017
12:48:04
И есть ещё один вопрос относительно структуры playbook'ов: Правильно делать единый реп со всеми playbook'ами внутри по типу:
playbook1.yml
playbook2.yml
....
playbookn.yml
roles
type1
role1
type2
role2
type3
role3
Или же лучше для каждого playbook'а делать отдельную структуру каталогов?
Просто сейчас у меня первый вариант и там тьма playbook'ов. Каждый проект как минимум имеет 3 версии с разными указанными хостами (dev, preprod, prod). А т.к. проектов тьма, то получается не плохой список
И что-то мне подсказывает, что так быть не должно


lastsky
05.07.2017
12:53:11
Эм... А я уже начал читать о block'ах и думать, что это крутая вещь =)
https://github.com/major/ansible-hardening/blob/master/tasks/main.yml#L17 можно вот взять пример у хайдена, если тебе нужно разрулить задачи одной роли по дистро-зависимым переменным, и для одного дистро одни переменные, для другого совсем другие. ну и см. далее там тонна примеров по программированию на конфигах.

A
05.07.2017
12:55:08

lastsky
05.07.2017
12:57:48
https://github.com/openstack/openstack-ansible вот тут его творчество в полную силу, можно читать долгими зимними вечерами и восклицать "бля а так можно разве?"

A
05.07.2017
13:00:08
ну мне больше интересно посмотреть на эти вот секьюрити-рекомендации для центось/рхел.
https://github.com/major/ansible-hardening/blob/master/templates/sshd_config_block.j2
вон в sshd_config в принципе адекватные вещи пишутся

Bogdan
05.07.2017
15:09:49
Пипл, а как можно натравить lineinfile на все файлы в папке?

Alex
05.07.2017
15:11:05
with_fileglob

lastsky
05.07.2017
15:11:30
*для локальных файлов работает

Pavel
05.07.2017
15:12:16
регистрировать переменную, выполнять ls, ну а дальше цикл

Bogdan
05.07.2017
15:15:13

Alex
05.07.2017
15:16:24
ага только для локальных, тогда только shell ls

Pavel
05.07.2017
15:18:44
ну или стартовать в пулл мод

Bogdan
05.07.2017
15:22:39
пришлось извратиться:
- name: looping over a REMOTE command result
shell: "ls /etc/ssh/authorized_keys1"
register: command_result
- name: remove key
lineinfile: dest={{ item }}
line="{{key}}"
state=absent
with_items:
- "{{ command_result.stdout_lines }}"

Igor
05.07.2017
15:29:50

lastsky
05.07.2017
15:32:19

Google

lastsky
05.07.2017
15:33:05
БОЛЬШЕ ШЕЛЛА В АНСИБЛ!!! (c)

Bogdan
05.07.2017
15:41:37
БОЛЬШЕ ШЕЛЛА В АНСИБЛ!!! (c)
согласен:
- name: listing files
find:
paths: "/etc/ssh/authorized_keys1"
patterns: "*"
register: result
- name: remove key
lineinfile: dest={{ item.path }}
line="{{key}}"
state=absent
with_items:
- "{{ result.files }}"
лучше?

lastsky
05.07.2017
15:46:09
угу, я также юзаю, проблем нет

Alex
05.07.2017
15:48:25
таки да, не знал про find

Anatoly
05.07.2017
16:00:37
как правильно сетить local_facts? сосздавать ini файл? а то что то set_fact так не работает

Quilleribe
06.07.2017
05:31:57
@FolderArchive - канал, где сливают платный полезный - образовательный контент и курсы, например можно скачать курсы "Нетологии" или все курсы "Бизнес Молодости".

qeng
06.07.2017
11:14:41
помогите с шаблоном. есть такой список переменных:
vault:
default:
myuser: "myuser"
mypassword: "mypassword"
server:
192.168.1.1:
auth: "secret1"
name: "name1"
192.168.1.2:
auth: "secret2"
name: "name2"
и такой шаблон:
{% for item in vault.server %}
host "{{ item.name }}" {
auth = "{{ item.auth }}"
}
{% endfor %}
на выходе получаю только % в файле

Sergey
06.07.2017
11:28:38
поставь по минусу перед IP-адресами ?
то бишь преврати ключи словаря в элементы списка (по которым как раз и работает with_items)

qeng
06.07.2017
12:01:45
неа, не помогло

Dmitry
06.07.2017
12:05:36
ну для начала минусы надо ставить выше
потому что он ходит по vault.serevr
а, да
перед ипами
тогда, как говорит один мой начальник - одна из обезьянок пиздит

Sergey
06.07.2017
12:40:13
ну теоретически vault может совпадать с именем какого-то внутреннего объекта в ансибле
так что я бы попробовал переименовать во что-то более обыденное - creds, auths, dannyes, parolys ?

Google

Anatoly
06.07.2017
12:41:48

A
06.07.2017
12:43:03

Anatoly
06.07.2017
12:43:37
ну и при чем здесь шаблонизатор тоже остается загадкой, кстати.

A
06.07.2017
12:44:38
я писал на пхп, да.

Anatoly
06.07.2017
12:45:27

Admin
ERROR: S client not available

Sergey
06.07.2017
13:48:42

qeng
06.07.2017
13:50:02
нет, дело не имени vault

Sergey
06.07.2017
13:59:41
как сейчас выглядит входной yaml?
где он лежит?

qeng
06.07.2017
14:11:50
сам yaml лежит в group_vars, default из него дёргаю нормально. затык именно с шаблоном
структура такаяже как описал выше
минусы перед ip в списке servers поставил

Sergey
06.07.2017
14:18:42
а в выходном файле по-прежнему проценты? O_o

qeng
06.07.2017
14:20:03
в этом шаблоне. один символ, да. тот, куда default дёргается, всё хорошо

Sergey
06.07.2017
14:27:43
а если IP-адреса, используемые в качестве названий словарей, попихать в кавычки, и спрашивать именно их? просто items?

qeng
06.07.2017
14:35:18
про спрашивать именно их не понял
в общем, всё вы правильно подсказали, проверил на http://jinja2test.tk/
осталсь одна загадка, почему на выходе у меня только один символ - %

Google

lastsky
06.07.2017
17:04:47

Алексей
06.07.2017
17:05:17
а лучши эмотиконами

lastsky
06.07.2017
17:05:30

Алексей
06.07.2017
17:05:55
да да я про нееже

lastsky
06.07.2017
17:06:25
emojifuck - замена brainfuck.
или ещё вот прекрасный пример - YOPTASCRIPT :)
ксива.малява("Я и правда язык") нах

qeng
06.07.2017
17:12:05

lastsky
06.07.2017
17:13:09
ну баг зарегай в ansible, последний способ найти решение. либо узнать что оно через уменьшение этажности вложенных списков.

Andrey
06.07.2017
17:42:25
привет. подскажете, в ansible 2.3 как то можно обратиться к имени инвентаря как к переменной?

n4nn31355
07.07.2017
00:05:48
Гайс, хочу деплоить пользовательский публичный ssh-ключ. Как лучше организовать? Т.е. мне нужно из консоли указывать путь к файлу или сам ключ, пока не очень понимаю как это нормально сделать
Есть вариант, конечно, с указанием ключа в ENV, но об этом тоже надо помнить или в роль смотреть
Хм. Хотя ansible-way, наверное, для каждого хоста все ключи заносить в переменную/файл и хранить в git. Ибо иначе не идемпотентно будет

lastsky
07.07.2017
00:32:03
http://docs.ansible.com/ansible/authorized_key_module.html
примерчики всякие тоннами