Terraform-provider-local: Habilitar la generación de archivos locales no ejecutables

Creado en 17 ago. 2017  ·  4Comentarios  ·  Fuente: hashicorp/terraform-provider-local

Actualmente este proveedor solo genera archivos con los permisos 0777 .

¿Hay alguna manera de parametrizar esto tal vez? Parece un poco extraño hacer que los archivos sean ejecutables de forma predeterminada.

https://github.com/terraform-providers/terraform-provider-local/blob/8a97bc491e1e8a28197e40d40226d6748eb07ac6/local/resource_local_file.go#L71

enhancement

Comentario más útil

@brett-richardson @apparentlymart envió una posible resolución para esto con el n.º 12. He permitido la configuración de los permisos del archivo en lugar de un booleano ejecutable. Dejó el comportamiento actual intacto.

Todos 4 comentarios

¡Hola @brett-richardson!

En este momento, las opciones para este recurso son bastante limitadas para mantenerlo simple. Poder establecer permisos parece razonable, y espero que no lo hayamos hecho solo porque eso introduce algunas consideraciones específicas de la plataforma: Terraform se ejecuta en Windows y los permisos no funcionan de la misma manera allí.

Tal vez podríamos eludir esto al no generalizar demasiado y solo abordar directamente su inquietud aquí, con un nuevo atributo executable que se puede establecer en false . Es probable que esa bandera no haga absolutamente nada en Windows, ya que Windows convencionalmente no hace tal distinción (o más bien, lo hace a través de convenciones de nombres de archivo), pero en sistemas similares a POSIX podría establecer solo permisos de lectura/escritura, en lugar de lectura/escritura. /ejecutar. (Aún debe respetar el umask activo del proceso, por lo que en la práctica el archivo en el disco generalmente _no_ será de escritura mundial aunque el modo aquí lo sugiera).

Eso tiene mucho sentido. Veré si puedo armar un PR cuando tenga tiempo.

@brett-richardson @apparentlymart envió una posible resolución para esto con el n.º 12. He permitido la configuración de los permisos del archivo en lugar de un booleano ejecutable. Dejó el comportamiento actual intacto.

Esto es similar al n. ° 19, por lo que daré la misma sugerencia.

Si bien no contamos con una función multiplataforma, he estado utilizando la siguiente solución...

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

¡Espero eso ayude!

¿Fue útil esta página
0 / 5 - 0 calificaciones