Puppet File Source สามารถมาจากเว็บเซอร์วิสได้หรือไม่?


10

มีวิธี (แบบง่าย) ในการให้หุ่นเชิดใช้ไฟล์ที่มีอยู่บนอินเทอร์เน็ตสำหรับคุณสมบัติแหล่งที่มาของไฟล์หรือไม่?

เช่น:

file { "/home/text.txt":
  source => [
    "http://www.example.com/text.txt",
  ]
}

หากคุณให้ความสำคัญกับความถูกต้องของเซิร์ฟเวอร์อย่างน้อยก็ใช้ https และใช้โดเมนที่น่าเชื่อถือมากขึ้นเพราะคุณไม่รู้ว่าใครจะควบคุมคนนั้น ... อืมม ... มันน่ากลัวมากจากที่นี่
mc0e

คำตอบ:


4

ฉันกำลังเขียนคำตอบที่อัปเดตเพื่อแจ้งผู้อ่านในอนาคตว่าตอนนี้ทรัพยากรไฟล์ใช้แหล่ง HTTP อย่างแน่นอน

จากเอกสาร :

แหล่ง

ไฟล์ต้นฉบับซึ่งจะถูกคัดลอกลงในระบบโลคัล คุณลักษณะนี้ใช้ร่วมกันเฉพาะกับเนื้อหาและเป้าหมาย ค่าที่อนุญาตคือ:

  • puppet: URIs ซึ่งชี้ไปที่ไฟล์ในโมดูลหรือจุดเชื่อมต่อเซิร์ฟเวอร์ไฟล์ Puppet
  • พา ธ ที่ผ่านการรับรองโดยสมบูรณ์ไปยังไฟล์ที่มีในเครื่อง (รวมถึงไฟล์ที่ใช้ร่วมกันของ NFS หรือไดร์ฟที่แม็พ Windows)
  • ไฟล์: URIs ซึ่งทำหน้าที่เหมือนกับพา ธ ไฟล์ในเครื่อง
  • http: URIs ซึ่งชี้ไปยังไฟล์ที่ให้บริการโดยเว็บเซิร์ฟเวอร์ทั่วไป

ดังนั้นคุณสามารถใช้โครงสร้างตามที่คุณเขียนมัน:

file { "/home/text.txt":
  source => "http://www.example.com/text.txt",
}

2
ตั้งแต่ Puppet เวอร์ชัน 4.4.0 (ผ่าน
tickets

4

มันได้รับการร้องขอเป็นคุณสมบัติสำหรับปี ... แต่คุณต้องการท้ายต้องฟังก์ชั่นที่กำหนดเองสำหรับนี้ ... หรือจะใช้หรือcurl wgetดูหุ่น Forge

มีอะไรใน text.txt


txt.txt เป็นเพียงตัวอย่าง ฉันต้องการใช้มันเพื่อดึงลูกค้า Freeradius ออกจากระบบผู้ดูแลระบบ
gunwin

4

ไม่สามารถทำได้นอกกรอบในขณะนี้:

แหล่งที่มา:

...

รูปแบบ URI ที่มีคือหุ่นเชิดและไฟล์ Puppet URIs จะดึงไฟล์จากเซิร์ฟเวอร์ไฟล์ในตัวของ Puppet

ฉันสิ้นสุดการใช้defineฉันพบในอินเทอร์เน็ต:

define remote_file($remote_location=undef, $mode='0644'){
  exec{ "retrieve_${title}":
    command => "/usr/bin/wget -q ${remote_location} -O ${title}",
    creates => $title,
  }

  file{$title:
    mode    => $mode,
    require => Exec["retrieve_${title}"],
  }
}

remote_file{'/home/text.txt':
  remote_location => 'http://www.example.com/text.txt'
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.