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 Slide

  2. Brincando
    Puppet
    com
    e BOTS!

    View Slide

  3. Puppet é…
    Declarativo
    Open Source
    Cross platform

    View 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 Slide

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

    View 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 Slide

  7. Vagrantfile

    View Slide

  8. 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 Slide

  9. Ambientes atuais

    View Slide

  10. Mão na massa!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. 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 Slide

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

    View Slide

  18. 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 Slide

  19. Obrigado!
    [email protected]
    Twitter
    Github

    View Slide

  20. 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 Slide