Trụ cột SaltStack bao gồm dưới cùng một khóa


2

Tôi không thể tìm thấy bất cứ điều gì trong tài liệu về việc có nhiều bao gồm trong cùng một khóa, nhưng khi tôi thử nó, tôi đã kết thúc chỉ với khóa cuối cùng bao gồm khóa dưới.

Ví dụ:

/srv/pillar/top.sls

base:
  '*':
    - ports

mèo /srv/pillar/ports/init.sls

include:
  - ports.frontend:
      key: ports
  - ports.backend:
      key: ports

/srv/pillar/ports/backend.sls

service1: 10000
service2: 10001

/srv/pillar/ports/frontend.sls

web1: 8000
web2: 8001

Kết quả salt '*' pillar.itemskhông có các phím khác trông như thế này:

ports:
    ----------
    service1:
        10000
    service2:
        10001

Kết quả mong muốn sẽ như thế này:

ports:
    web1:
        8000
    web2:
        8001
    service1:
        10000
    service2:
        10001

Câu trả lời:


4

Đây là chương trình tôi thấy phù hợp với tôi.

Nó có tệp K trung gian bao gồm tất cả các tệp phụ S 1 ... n , vì vậy khi tôi bao gồm tệp K, tôi chỉ định keyđối số của nó , có tất cả các tệp phụ dưới khóa được chỉ định.

/srv/pillar/ports/backend.sls

service1: 10000
service2: 10001

/srv/pillar/ports/frontend.sls

web1: 8000
web2: 8001

/srv/pillar/ports/all_ports.sls

include:
  - ports.frontend
  - ports.backend

/srv/pillar/ports/init.sls

include:
  - ports.all_ports:
      key: ports

/srv/pillar/top.sls

base:
  '*':
    - ports

Điều này sẽ dẫn đến một khóa trụ portstrông như thế này:

ports:
  web1: 8000
  web2: 8001
  service1: 10000
  service2: 10001

CẬP NHẬT

Tôi đã sửa các dấu hai chấm không phù hợp theo đề nghị của marco.


Bạn có biết làm thế nào (bạn đã thử) tham gia các khóa này trong từ điển cấp cao nhất không? Trong ví dụ trên, thay vì truy cập pillar['ports']['web1'], tôi muốn tham gia backend.slsvà các frontend.slstrụ cột để khóa này là cấp cao nhất có thể truy cập thông qua pillar['web1']. Cảm ơn trước.
uvsmtid

Tôi cũng đã thử và kết hợp các khóa trong từ điển cấp cao nhất và có thể hoạt động bằng cách hợp nhất bộ khóa (nếu không có tên xung đột). Vì vậy, để tránh tập trung vào câu trả lời của bạn, tôi đã đăng nó dưới dạng câu trả lời theo vấn đề liên quan hơn ở đây .
uvsmtid
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.