Guto Carvalho: Box vagrant para projeto PCP
18 de Setembro de 2016, 23:51 - sem comentários aindaCriei uma box vagrant para facilitar o uso do PCP.
https://atlas.hashicorp.com/gutocarvalho/boxes/centos7x64-pcp
Essa box contém o PCP com os pacotes nas seguintes versões
- Pupper Agent 4.6.2
- Mcollective 2.9.0
- Hiera 3.2.1
- Facter 3.4.1
- Puppet Server 2.6.0
- PuppetDB 4.2.2
- R10k 2.4.3
- PostgreSQL 9.5.4
- PuppetBoard 0.2.0
- ActiveMQ 5.14.0
Recomendo usar o vagrant 1.8.4 e virtualbox 5.0.26.
1. Instalando a box
Para instalar a box digite o comando abaixo no terminal
vagrant box add gutocarvalho/centos7x64-pcp
Crie um diretório para o projeto
mkdir pcp; cd pcp
Crie um arquivo Vagrantfile no diretorio com o conteúdo abaixo
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if Vagrant.has_plugin?("vagrant-hosts")
config.vm.provision :hosts do |provisioner|
provisioner.add_localhost_hostnames = false
provisioner.autoconfigure = true
provisioner.sync_hosts = true
provisioner.add_host '192.168.250.35', ['puppet']
provisioner.add_host '192.168.250.35', ['puppetdb']
end
end
config.vm.box = "centos7-pcp"
# puppet community platform
config.vm.define "puppetserver" do |puppetserver|
puppetserver.vm.hostname = "puppet-pcpm.hacklab"
puppetserver.vm.network :private_network, ip: "192.168.250.35"
puppetserver.hostsupdater.aliases = ["puppetboard.hacklab", "puppetexplorer.hacklab"]
puppetserver.vm.provider "virtualbox" do |v|
v.customize [ "modifyvm", :id, "--cpus", "2" ]
v.customize [ "modifyvm", :id, "--memory", "3072" ]
v.customize [ "modifyvm", :id, "--name", "puppet-pcpm.hacklab" ]
end
end
end
Instale os seguintes plugins
vagrant plugin install vagrant-hosts
vagrant plugin install vagrant-hostsupdater
Inicie o projeto
vagrant up
Acesse a vm
vagrant ssh
Divirta-se.
2. refs
Box source
Project PCP
[s]
Guto
Guto Carvalho: Novo PCP liberado com muitas novidades
18 de Setembro de 2016, 15:15 - sem comentários aindaO time do PCP acaba de finalizar uma atualização que traz as últimas versões de pacotes disponíveis.
- Pupper Agent 4.6.2
- Mcollective 2.9.0
- Hiera 3.2.1
- Facter 3.4.1
- Puppet Server 2.6.0
- PuppetDB 4.2.2
- R10k 2.4.3
- PostgreSQL 9.5.4
- PuppetBoard 0.2.0
- ActiveMQ 5.14.0
O PCP agora está de casa nova, a partir dessa versão estamos usando o GitLab.com como repositório.
Se tiver dúvidas entre na comunidade PCP no telegram
http://bit.ly/telegram-pcp
Divirta-se!
[s]
Guto
Guto Carvalho: Nova box vagrant com Puppet Server 2.6.0 em CentOS 7
18 de Setembro de 2016, 15:08 - sem comentários aindaDivulgando nova box CentOS 7.2 com Puppet 4.6.2 e Puppet Server 2.6.0 no atlas.
Agora fica mais fácil testar a última versão do Puppet Server com o menor esforço possível :)
Se você usa vagrant 1.8.x para fazer download da box digite
vagrant box add gutocarvalho/centos7x64-puppetserver
Para acessar dados da box
https://atlas.hashicorp.com/gutocarvalho/boxes/centos7x64-puppetserver
O repo git com o código para build da box
https://gitlab.com/gutocarvalho/packer-centos7-puppetserver
É isso, divirta-se.
[s]
Guto
Mundo Docker: Auto Complete para Docker
13 de Setembro de 2016, 16:09 - sem comentários aindaOlá!
Hoje o post será um pouco diferente dos que geralmente publicamos, queremos mostrar para vocês como é possível utilizar a funcionalidade de auto complete do shell para os comandos Docker. Mas para que isso? Simples, facilidade e agilidade na execução de comandos, quem aqui nunca apertou o tab depois de digitar ‘./conf’? Então, você deve sentir falta dessa facilidade quando se utiliza os subcomandos do docker, certo? Queremos mostrar pra vocês como resolver isso.
Como você já viu aqui, existem diversos subcomandos do docker, e cada um possui diversos parâmetros que podem ser utilizados, com o docker –help você poderá visualizar as opções disponíveis.
Mas isso é chato algumas vezes, é mais fácil começar a digitar docker run --vol...[tab][tab]
e deixar o autocomplete fazer o trabalho:
$ docker run --volume
--volume --volume-driver --volumes-from
#vamosinstalar?
No Mac OS X
O processo é simples, estando no Mac OS X temos que instalar o auto completion usando o brew:
$ brew install bash-completion
E em seguida adicionar as linhas em nosso arquivo de profile ($HOME/.bash_profile ou /Users//.bash_profile)
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Você pode executar os seguintes comandos, que devem ser utilizados nesta sequência:
$ echo "if [ -f $(brew --prefix)/etc/bash_completion ]; then" | tee -a $HOME/.bash_profile
$ echo " . $(brew --prefix)/etc/bash_completion" | tee -a $HOME/.bash_profile
$ echo "fi" | tee -a $HOME/.bash_profile
Atenção: Se não temos o homebrew instalado, veja em http://brew.sh/ mais informações de como instala-lo e utiliza-lo.
No Linux
No Linux, como sempre, é mais simples, basta instalar via gerenciador de pacotes da sua distribuição. Se for Debian like (Ubuntu, Mint, etc) usamos o apt-get:
$ sudo apt-get install bash-completion
Se for Red Hat like (RHEL, CentOS, Fedora, etc) então usamos yum:
$ sudo yum install bash-completion
Completion do Docker Engine
O arquivo está disponível em https://github.com/docker/docker/blob/master/contrib/completion/bash/docker portanto sempre que fizer uma atualização é recomendável que você baixe novamente esse arquivo para refletir os comandos e parâmetros novos disponibilizados pelo Docker.
Ao baixar devemos colocá-lo na pasta /etc/bash_completion.d/
se estivermos no Linux, se estivermos em um Mac OS X: $(brew --prefix)/etc/bash_completion.d
.
No Mac OS X
$ curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker > $(brew --prefix)/etc/bash_completion.d/docker
No Linux
$ curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker > /etc/bash_completion.d/docker
Completion do Docker Compose
De maneira similar o arquivo está disponível emhttps://github.com/docker/compose/blob/master/contrib/completion/bash/docker-compose . Reforçamos que sempre que fizer uma atualização é bom baixar novamente esse arquivo para refletir os comandos e parâmetros novos disponibilizados pelo Docker Compose.
Ao baixar também devemos colocá-lo na pasta /etc/bash_completion.d/
se estivermos no Linux ou devemos acrescentar a pasta do homebrew antes se estivermos em um Mac OS X: $(brew --prefix)/etc/bash_completion.d
.
No Mac OS X
$ curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose > $(brew --prefix)/etc/bash_completion.d/docker-compose
No Linux
$ curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
Completion do Docker Machine
O processo é praticamente o mesmo porém o docker-machine possui 3 arquivos de auto complete. Os arquivos estão disponíveis em https://github.com/docker/machine/tree/master/contrib/completion/bash .
Como dito anteriormente devemos colocá-los na pasta /etc/bash_completion.d/
se estivermos no Linux ou devemos acrescentar a pasta do homebrew antes se estivermos em um Mac OS X: $(brew --prefix)/etc/bash_completion.d
.
Como são mais arquivos recomendo utilizarmos um loop para baixarmos todos em sequência utilizando apenas um comando.
No Mac OS X
machineVersion=`docker-machine --version | tr -ds ',' ' ' | awk 'NR==1{print $(3)}'`
files=(docker-machine docker-machine-wrapper docker-machine-prompt)
for file in "${files[@]}"; do
curl -L https://raw.githubusercontent.com/docker/machine/v$machineVersion/contrib/completion/bash/$file.bash > `brew --prefix`/etc/bash_completion.d/$file
done
unset machineVersion
No Linux
machineVersion=`docker-machine --version | tr -ds ',' ' ' | awk 'NR==1{print $(3)}'`
files=(docker-machine docker-machine-wrapper docker-machine-prompt)
for file in "${files[@]}"; do
curl -L https://raw.githubusercontent.com/docker/machine/v$machineVersion/contrib/completion/bash/$file.bash > /etc/bash_completion.d/$file
done
unset machineVersion
Observe que:
- Se você utilizar alguma versão específica de uma dessas ferramentas basta baixar os arquivos da pasta correspondente. Por exemplo o docker engine, da maneira que mostramos vamos pegar o arquivo que está na branch master, atualmente versão 1.12.1, para pegar na versão 1.11.0 por exemplo o arquivo fica em https://github.com/docker/docker/blob/v1.11.0/contrib/completion/bash/docker
- O Docker disponibiliza alguns arquivos de completion para outros shells. O Docker Engine disponibiliza bash, zsh, fish e powershell como podemos ver em https://github.com/docker/docker/tree/master/contrib/completion .
- O Docker Compose e o Docker Machine disponibilizam apenas para bash e zshcomo vemos nas urls https://github.com/docker/compose/tree/master/contrib/completion e https://github.com/docker/machine/tree/master/contrib/completion .
E era isso por hoje pessoal, agradecimento especial ao @wsilva pela dica. Já sabe, ajude divulgando o blog, e tendo dúvidas ou sugestões deixa ai nos comentários
Abraço!
Fonte: http://dumpscerebrais.com/2016/09/auto-complete-para-docker-engine-machine-e-compose/
Guto Carvalho: Minhas imagens no Docker Hub
9 de Setembro de 2016, 22:52 - sem comentários aindaCriando minhas primeiras imagens para começar a estudar Docker de verdade.
Hub do Guto
https://hub.docker.com/u/gutocarvalho/
As duas imagens “-systemd” são bases para as imagens “-puppet”. A ideia é utilizar essas imagens para validar módulos Puppet dentro um pipeline que vai envolver dentre outras coisas do GitLab + GitLab CI.
Imagens disponíveis
Centos 7 + Puppet 4.6.2
https://hub.docker.com/r/gutocarvalho/centos-puppet/
Ubuntu 16.04 + Puppet 4.6.2
https://hub.docker.com/r/gutocarvalho/ubuntu-puppet/
Vou postando minhas aventuras por aqui.
[s]
Guto