Prática recomendada de fantoches para armazenar scripts para módulos personalizados

3

Eu tenho nós de agente do Windows. Eu estou criando meu próprio módulo que tem alguns scripts de powershell personalizados. Eu estou querendo saber onde eu deveria estar mantendo esses scripts de powershell. Dentro do meu próprio módulo em alguma pasta (digamos, scripts dir) ou em algum lugar fora do diretório do meu módulo? Qual é a prática recomendada / melhor em tal cenário?

git/
    - client
        - hieradata
        - manifests
        - modules
            - my_module
                - scripts/ # 1) Should it be within this dir?
                    - my_script.ps1
        - scripts/         # 2) Should it be within this dir or elsewhere?      
            - my_script.ps1 
        - templates
    
por Technext 18.02.2017 / 20:49

3 respostas

2

Um módulo pode ser enviado com seus próprios arquivos e modelos :

[modules_root]
    my_module
        files
            my_script
        manifests
            init.pp
        templates
            other_script.erb

Como a postagem do OP sugere a instalação de modelos fora do escopo dos módulos, ... Eu sinto que é necessário notar também que nós os instalaríamos com:

file {
    "/etc/toto":
        source => "puppet:///modules/my_module/my_script";
    "/etc/tata":
        content => template("my_module/other_script.erb");
}
    
por 18.02.2017 / 23:06
0

Os módulos são conjuntos independentes de código e dados. Você pode baixar módulos pré-construídos a partir do Puppet Forge ou você pode escrever seus próprios módulos.

De acordo com a documentação oficial , não existe uma prática "boa" onde colocar a sua scripts pessoais para um módulo personalizado.

No entanto, a pasta files can contém Contém arquivos estáticos, que nós gerenciados podem fazer o download , que é o local mais próximo para colocar alguns scripts pessoais.

Você também pode criar uma pasta script , se achar que está claro o suficiente para as pessoas lerem e entender o seu módulo.

 On disk, a module is simply a directory tree with a specific, predictable structure:

 - manifests
 - files
 - templates
 - lib
 - facts.d
 - examples
 - spec
 - functions
 - types

Em termos de melhores práticas gerais, recomendo que você leia este .

    
por 18.02.2017 / 23:30
0

O único local em que você deve armazenar esses scripts está no diretório files do módulo.

Você pode então implantar o script usando o parâmetro source do recurso file da seguinte forma:

file {'myfile':
  ensure => file,
  source => 'puppet:///modules/mymodule/myfile',
}
    
por 19.02.2017 / 10:49

Tags