2016-12-12 6 views
0

Я немного запутался в использовании file_roots. В настоящее время мы настраиваем каталог солей следующим образом.Указание файлов SLS на каталог солей

srv/salt/<folder-connected-to-git>: содержит все папки, которые мы хотим использовать, например win (repo/repo-ng),/scripts/states и т. Д. Для нашей сборки соли. Но у него нет нашей папки с двоичными файлами (содержит инсталляторы для программ).

Мастер-файл конфигурации использует следующее:

file_roots: 
    base: 
    - /srv/salt/<folder-connected-to-git> 

Так при настройке SLS инсталляторы пакетов мы используем salt://, чтобы указать базовую папку. Поскольку папка двоичных файлов находится за пределами этого пути (в /srv/salt), я дал абсолютный путь (то есть /srv/salt/binaries). Похоже, что при запуске соль не признает этот путь абсолютным путем (возможно, вместо этого он ищет его на миньоне).

Есть ли способ указывать на каталог за пределами базы. Если нет, то я мог бы изменить мое file_roots к:

file_roots: 
    base: 
    - /srv/salt/ 
    prod: 
    - /srv/salt/<git-folder> 

Но тогда бы соль искать репо (в кэш к фавориту) внутри /srv/salt/ вместо /srv/salt/<git-folder>? Могу ли я изменить то, на что указывает salt://, не меняя file_roots?

ответ

0

Существует built in fileserver, который работает совместно с salt '*' cp.get_file или salt '*' cp.get_dir. Чтобы использовать это с помощью file_roots, вам может понадобиться создать отдельную среду для двоичных файлов.

Я не уверен, если он предназначен для использования таким образом. Особенно это касается помещений file_roots. Но я недавно узнал, что среда сделана максимально гибкой, чтобы вы могли использовать их для всех, что вам может понадобиться.

Возможно, вы захотите взглянуть на gitfs - что позволяет mount git репозиториев в ваше дерево состояний. Это сделало бы среду ненужной. Мы используем этот подход для формул.

В настоящее время мы решаем эту проблему с помощью частной сети и веб-сервера, который делает доступными большие файлы для всех миньонов внутри этой сети. Это работает очень хорошо, так как все наши миньоны подключены к этой частной сети. Запуск такой сети заставляет вас следить за обеспечением миньонов и общения мастеров внутри этой сети. Для этого мы используем локальные брандмауэры для всех подключенных миньонов.