
Artemiy
10.01.2017
19:42:32
Хм, я хотел общий конфиг иметь, а только переменными регулировать всё.

Semyon
10.01.2017
19:43:49
ну можно и так
тогда тебе надо выделить контрольную ноду и запускать всё с неё, передавая ей контекст
*как-то*

Google

Artemiy
10.01.2017
19:44:40
Вот да, я примерно так и предлагаю.
Идеи реализации есть?
Может кто-то так организовывает?

hamper ?
10.01.2017
19:45:25
у тебя каждый сервис отдельно деплоится?

Semyon
10.01.2017
19:45:41
ну тут главная заморочка как передать артефакты на контрольную ноду
но я вообще не уверен, что это правильная идея
почему бы не деплоить их отдельно?

hamper ?
10.01.2017
19:46:14
просто например на прошлом проекте у меня ансиблом только настройка серверов была, а деплой был на баш скриптах вообще, все от проекта зависит, где то одно удобнее где то другое

Artemiy
10.01.2017
19:47:28
Да, деплой каждого сервиса отдельно у меня.

hamper ?
10.01.2017
19:48:06
а условие деплоя какое? автоматически по коммиту в определенную ветку или ручной запуск?

Artemiy
10.01.2017
19:48:28
Комит в мастера
Такой флоу в голове
Build -> Tests -> Push to Docker Registry.
После пуша сервера должны забрать из регистри новый image и запустить.

Semyon
10.01.2017
19:54:01
а

Google

Semyon
10.01.2017
19:54:09
то есть проблему передачи артефактов ты решил
тогда проблем нет, можешь делать контрольную ноду
в гитлабе делать что-то в духе ssh control-node ansible-playbook deploy-service1.yml

Artemiy
10.01.2017
19:54:45
Ну да, по сути только тригернуть событие надо
Хах, блин, а ведь идея)
По ссх

Alexander
10.01.2017
20:55:18

Sander
10.01.2017
22:23:20
от чего у меня ansible пишет такое "ERROR! Decryption failed on"
почему он не может расшифровать файл когда я запускаю плейбук

Albert
10.01.2017
22:26:54
Ты ему файл с паролем подсунул?
И проверил что ansible-vault decrypt с этим же паролем работает?

Sander
10.01.2017
22:27:48
я в task ток переменные вписал, да он с паролем.
у меня до этого тоже с паролем все было и работало
мм
@Tahvok

Albert
10.01.2017
22:29:40

Sander
10.01.2017
22:31:36
да
ввожу decrypt потом пароль и воля
расшифровка прошла успешно
и edit пробывал

Albert
10.01.2017
22:32:09
Попробуй с файлом, а не вводить пароль
ansible-vault тоже файл принимает

Google

Albert
10.01.2017
22:32:36
help его прочти

Sander
10.01.2017
22:33:13
вот то еще раз decrypt encrypt сделал
я использую ansible-vault чтоб шифровать

Albert
10.01.2017
22:33:41
Ну понятно

Sander
10.01.2017
22:33:49
мм
ansible-vault encrypt edit decrypt

Albert
10.01.2017
22:34:03
А что именно шифруешь?

Sander
10.01.2017
22:34:10
ansible-vault encrypt group_vars/all/gitlab
там доступы типо для авторизации

Albert
10.01.2017
22:34:51
А как в ansible-playbook подсовываешь?

Sander
10.01.2017
22:35:32
---
- name: Login to gitlab registry
shell: "docker login -e {{ vault_gitlab_email }} -p {{ vault_gitlab_pass }} -u {{ vault_gitlab_user }} {{ vault_gitlab_host }}"

Albert
10.01.2017
22:35:47
Не параметры

Albert
10.01.2017
22:35:51
А пароль

Sander
10.01.2017
22:36:00
никак видать

Albert
10.01.2017
22:36:08
Для открытия файла gitlab
А
Сделай

Sander
10.01.2017
22:36:26
мне казалось он автоматом это делает
как тогда надо

Albert
10.01.2017
22:36:49
echo 'password' > .vault_pass

Google

Albert
10.01.2017
22:37:01
И к строке запуска добавь опцию
--vault-pass .vault_pass

Sander
10.01.2017
22:39:17
не все понял, но статью вроде нашел какую-то прочитаю

Albert
10.01.2017
22:40:45
Ну ты зашифровал файлы
Во время запуска плейбука ему нужен файл с паролем чтоб зашифрованые файлы расшифровать

Sander
10.01.2017
22:42:05
да это я понял
вот и пытаюсь понять как написать систему с паролем
чтоб оно работало у меня

Admin
ERROR: S client not available

Albert
10.01.2017
22:44:23
Чтоб он файл создавал с паролем?

Sander
10.01.2017
22:45:10
ну да нужен файл с паролем, я пока не оч понимаю этот момент
если файл с паролем то он в открытом доступе?

Albert
10.01.2017
22:45:54
Ну да
Идея чтоб файл был только во время запуска
То есть в гите у тебя просто зашифрованый файл, а пароль в голове
Когда надо запускать, тогда создаешь временый файл, запускаешь нужный плейбук, и стираешь файл

feature
10.01.2017
22:52:33
по-моему, тогда файл и не нужен
просто ввести в консоли при запросе
файл это если нужна автоматизация какая-нибудь. но т.к. пароль в нём в открытом виде лежит, то идея какая-то не додуманная
(особенно, когда нужно больше чем одному человеку иметь возможность запускать шифрованые вещи)

Google

Dmitry
11.01.2017
03:52:33
Идея в том, чтобы пароли а репах не лежали. Особенно если эта репа - публичный гитхаб.
Чтобы пароли не лежали на твоём компе - такого никто не обещал :)

Sander
11.01.2017
08:02:37
может надежней и безопасней создать deploy server и от туда делать все ansible таски.
ну да с открытым паролем какая-то вата, =/

hamper ?
11.01.2017
08:33:10
файл с паролем нужен что бы в репозитории пароль не хранить, файл с паролем лежит или локально если ансибл локально запускается или на деплой сервере куда доступ имеет только тот кто должен

Albert
11.01.2017
08:35:13

Sander
11.01.2017
08:37:13
это я знаю
я уже давно все сделал )
спасибо
очень помогли мне
?

Albert
11.01.2017
08:39:18
?

Aleksandr
11.01.2017
09:23:12
как можно переместить /etc/ansible/hosts из /etc/ansible/ в другую директорию?

here1am
11.01.2017
09:24:35
>You can specify a different inventory file using the -i <path> option on the command line.
http://docs.ansible.com/ansible/intro_configuration.html#inventory

feature
11.01.2017
09:25:01
или в ansible.cfg

Sergey
11.01.2017
09:25:04
hostfile = <path>
в конфиге

Aleksandr
11.01.2017
09:29:02
ok, спасибо. в ansible.cfg есть "inventory = /etc/ansible/hosts", как просмотрел, не понимаю

Denis
11.01.2017
09:30:02
И ansible.cfg не обязательно если что держать в etc

Aleksandr
11.01.2017
09:47:23

Denis
11.01.2017
09:48:54
Лежит себе в директории проекта, и из этой директории вызывай ansible-playbook и т.п.