Vagrant+Jettyでホストから接続

VagrantでChefを使ってJettyをインストールしてみました。

さて、ホスト側から接続確認してみたいですね。

vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "xxx"
  config.vm.box_url = "https://xxx.box"
  config.omnibus.chef_version = "11.12.4"
  config.vm.provision "chef_solo", run_list: ["jetty"]
end

この設定ではホスト側から接続しようとしても接続できません。

デフォルトのvagrantfileの以下の設定のコメントを外して追加しましょう。

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

再起動して

$vagrant reload

ホスト側で開いてみる。
http://192.168.33.10:8080/

Jettyのトップ画面が開きました!!

jetty-top

主に開発側なのであまりインフラのことがわからずこういったネットワーク設定は結構はまりますね〜。

Vagrant+Chefでdata_bagsを使ってユーザーを作成してみる

ChefのRecipe(レシピ)にuserリソースを使って記述していくのもいいですがスマートに書けないかと思いdata_bagsを使ってみました。

環境

$vagrant -v
Vagrant 1.6.1
vagrant root
.vagrant
cookbooks
user_book
files
recipes
└data_bags
user.json

こんな感じでdata_bagsフォルダを作ってユーザー作成用のjsonデータを作った

{
  "id" : "username",
  "username" : "username",
  "home" : "/home/username",
  "shell" : "/bin/bash"
}

vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "boxname"
  config.vm.box_url = "http://xxxxx/xxx.box"
  config.omnibus.chef_version = :latest
  config.vm.provision "chef_solo", run_list: ["user_book"]
end

ここには勘違いがありました。

“Vagrant+Chefでdata_bagsを使ってユーザーを作成してみる” の続きを読む