Terraform-provider-local: Habilitar a geração de arquivos locais não executáveis

Criado em 17 ago. 2017  ·  4Comentários  ·  Fonte: hashicorp/terraform-provider-local

Atualmente este provedor só gera arquivos com as permissões 0777 .

Existe uma maneira de parametrizar isso, talvez? Parece um pouco estranho tornar os arquivos executáveis ​​por padrão.

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

enhancement

Comentários muito úteis

@brett-richardson @apparentlymart enviou uma possível resolução para isso com #12. Eu permiti a configuração das permissões do arquivo em vez de um booleano executável. Deixou o comportamento atual intacto.

Todos 4 comentários

Olá @brett-richardson!

No momento, as opções para este recurso são bastante limitadas para mantê-lo simples. Ser capaz de definir permissões parece razoável, e espero que não tenhamos feito isso apenas porque isso introduz algumas considerações específicas da plataforma - o Terraform é executado no Windows e as permissões não funcionam da mesma maneira lá.

Talvez possamos contornar isso não generalizando demais e apenas abordando diretamente sua preocupação aqui, com um novo atributo executable que pode ser definido como false . Esse sinalizador provavelmente não faria absolutamente nada no Windows, já que o Windows convencionalmente não faz essa distinção (ou melhor, faz isso por meio de convenções de nome de arquivo), mas em sistemas do tipo POSIX poderia definir apenas permissões de leitura/gravação, em vez de leitura/gravação /executar. (Ele ainda deve respeitar o ativo umask do processo, então, na prática, o arquivo no disco geralmente _não_ será gravável em todo o mundo, mesmo que o modo aqui sugira isso.)

Isso faz muito sentido. Vou ver se consigo montar um PR quando tiver tempo.

@brett-richardson @apparentlymart enviou uma possível resolução para isso com #12. Eu permiti a configuração das permissões do arquivo em vez de um booleano executável. Deixou o comportamento atual intacto.

Isso é semelhante ao nº 19, então darei a mesma sugestão.

Embora não tenhamos um recurso multiplataforma, estou usando a seguinte solução alternativa...

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

Espero que ajude!

Esta página foi útil?
0 / 5 - 0 avaliações