Tôi đang cố gắng tạo một trạng thái giả trong Salt để lấy các phụ thuộc từ danh sách có nguồn gốc từ một trụ cột.
Trong top.sls
tập tin của tôi , tôi có:
base:
'*':
- components
Sau đó, trong components.sls
, tôi có:
{% if 'components' in pillar.items() %}
include:
{% for component in pillar.get('components',[]) %}
- {{ component }}
{% endfor %}
{% endif %}
{% if 'components' in pillar.items() %}
components:
require:
{% for component in pillar.get('components',[]) %}
- {{ component }}
{% endfor %}
{% endif %}
Khi tôi kiểm tra nội dung trụ cột, tôi thấy:
$ salt my-minion-id pillar.items
my-minion-id:
----------
components:
- a-dependency-name
Nhưng khi tôi cố gắng xem tập hợp các trạng thái, tôi thấy:
$ salt my-minion-id state.show_sls components
my-minion-id:
----------
... Và đó là nó.
Mục tiêu cuối cùng của tôi, ở đây, là để điều trị các minion như thù địch, vì vậy tôi đang cố gắng để kéo vai trò chi tiết ra khỏi trụ cột thay vì gán vai trò trong tôi file_root
's top.sls
. Theo hiểu biết của tôi, mọi minion đều có quyền truy cập đầy đủ vào nội dung của file_root và tôi không muốn một minion thù địch biết tường lửa hoặc dịch vụ cụ thể của bất kỳ nút không liên quan nào.
Biên tập:
Tôi phát hiện ra rằng cấu trúc trụ cột của tôi không hỗ trợ sáp nhập trụ cột, vì nó sử dụng danh sách, vì vậy tôi đã chuyển sang cấu trúc trụ cột sử dụng các giá trị không có giá trị:
my-minion-id:
----------
components:
----------
a-dependency-name:
None