Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Brincando com Puppet e Bots

Brincando com Puppet e Bots

Apresentação utilizada no workshop de Puppet no @ideiasemprod

Bruno Lara Tavares

April 21, 2013
Tweet

More Decks by Bruno Lara Tavares

Other Decks in Programming

Transcript

  1. Brincando
    Puppet
    com

    View full-size slide

  2. Brincando
    Puppet
    com
    e BOTS!

    View full-size slide

  3. Puppet é…
    Declarativo
    Open Source
    Cross platform

    View full-size slide

  4. A documentação é sua amiga
    Referencias de tipos –
    http://docs.puppetlabs.com/references/latest/type.html
    Principais tipos que vamos usar: Exec, File, Service e User

    View full-size slide

  5. Exemplo
    file { ‘/etc/motd’:!
    content => ‘Welcome!’,!
    ;!
    }!
    !

    View full-size slide

  6. Vagrant
    Possibilita criar máquinas virtuais
    com base em uma imagem
    Diversas opções para configurar
    a máquina recem criada
    Inicialmente baseado no Virtualbox

    View full-size slide

  7. Baseline
    Sandbox para máquinas virtuais
    https://github.com/bltavares/vagrant-baseline
    Facilita criação de ambientes pré-configurados
    Possibilita testar manifestos Puppet
    Mix and match!

    View full-size slide

  8. Ambientes atuais

    View full-size slide

  9. Mão na massa!

    View full-size slide

  10. Plano do dia
    •  Criar um servidor de IRC com o Puppet
    •  Configurar o ambiente pra rodar o Hubot
    apontando pro servidor
    •  Profit!

    View full-size slide

  11. 1.  Clonar  o  baseline  
    $ git clone
    https://github.com/bltavares/
    vagrant-baseline.git !
    !
    $ cd vagrant-baseline!
    !

    View full-size slide

  12. 2.  Configurar  o  servidor  IRC  
    package { 'ircd-ircu':!
    ensure => 'latest',!
    ;!
    }!
    !
    service { 'ircd-ircu':!
    enable => true,!
    require => Package['ircd-ircu'],!
    ;!
    }!
    puppet/custom/irc.pp!

    View full-size slide

  13. 3.  Subir  a  vm  
    $ DEBUG=1 host_name=nodots-nodejs-redis vagrant up!
    !
    $ vagrant ssh!

    View full-size slide

  14. 4.  Começar  a  instalar  o  Hubot  
    $ sudo npm install –g hubot coffee-script!
    !
    $ hubot --create !
    !
    $ cd !
    !
    $ sudo npm install!

    View full-size slide

  15. 5.  Integrar  o  Hubot  com  o  IRC  
    https://github.com/github/hubot/wiki/Adapter:-IRC!
    !
    $ sudo npm install --save hubot-irc!
    !
    $ chmod +x bin/hubot!
    !
    $ export HUBOT_IRC_SERVER=“localhost”!
    !
    $ export HUBOT_IRC_ROOMS=“#hubot”!
    !
    $ export HUBOT_IRC_UNFLOOD=“false”!
    !
    $ bin/hubot –a irc!

    View full-size slide

  16. Pronto!  
    Seu servidor irc e seu bot estam te esperando
    IP: 192.168.33.10

    View full-size slide

  17. Próximos  passos  para  você  tentar  
    As linhas que você escreveu de Puppet deram certo?
    -> Extrair um modulo para ser usado em outros projetos
    O Bot está legal?
    -> Escrever puppet pra baixar ele do github e iniciar no boot

    View full-size slide

  18. Imagens  
    •  hFps://placester.com/wp-­‐content/uploads/
    2012/09/sock-­‐puppet.jpg  
    •  hFp://www.hashicorp.com/images/blog/a-­‐
    new-­‐look-­‐for-­‐vagrant/logo-­‐8b7a4912.png  
    •  hFps://github-­‐images.s3.amazonaws.com/
    blog/2011/hubot.png  

    View full-size slide