¿Puede Puppet File Source provenir de un servicio web?


10

¿Hay una manera (simple) de hacer que Puppet use un archivo disponible en Internet para la propiedad Source de un archivo?

p.ej:

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

Si valora la integridad de sus servidores, al menos use https. Y usa un dominio más confiable porque no sabes quién podría estar controlando ese ... ummm ... Se pone más oscuro desde aquí.
mc0e

Respuestas:


4

Estoy escribiendo una respuesta actualizada para notificar a los futuros lectores que ahora el recurso File implementa la fuente HTTP.

De los documentos :

fuente

Un archivo fuente, que se copiará en su lugar en el sistema local. Este atributo es mutuamente exclusivo con contenido y destino. Los valores permitidos son:

  • puppet: URI, que apuntan a archivos en módulos o puntos de montaje del servidor de archivos Puppet.
  • Rutas totalmente calificadas a archivos disponibles localmente (incluidos archivos en recursos compartidos NFS o unidades mapeadas de Windows).
  • file: URI, que se comportan igual que las rutas de archivos locales.
  • http: URI, que apuntan a archivos servidos por servidores web comunes

Entonces puede usar la construcción tal como la escribió:

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

2
a partir de la versión 4.4.0 de Puppet (a través de ticket tickets.puppetlabs.com/browse/PUP-1072 )
KJH


4

No es posible salir de la caja en este momento:

fuente:

...

Los esquemas de URI disponibles son títeres y archivos. Los URI de Puppet recuperarán archivos del servidor de archivos integrado de Puppet

Terminé usando lo defineque encontré en Internet:

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'
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.