diff --git a/README.md b/README.md new file mode 100644 index 000000000..0ce040a52 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +Icinga 2 Web +============ + +Table of Contents +----------------- + +1. [Vagrant - Virtual development environment](#vagrant) + +Vagrant +------- + +The Icinga 2 Web project ships with a Vagrant virtual machine that integrates +the source code with various services and example data in a controlled +environment. This enables developers and users to test Livestatus, status.dat, +MySQL and PostgreSQL backends as well as the LDAP authentication. All you +have to do is install Vagrant and run: + + vagrant up diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 000000000..8b07ab184 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,62 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant::Config.run do |config| + # All Vagrant configuration is done here. The most common configuration + # options are documented and commented below. For a complete reference, + # please see the online documentation at vagrantup.com. + + # Every Vagrant virtual environment requires a box to build off of. + config.vm.box = "centos-6.4-x64-vbox" + + # The url from where the 'config.vm.box' box will be fetched if it + # doesn't already exist on the user's system. + config.vm.box_url = "http://vagrant-boxes.icinga.org/centos-64-x64-vbox4212.box" + + # Boot with a GUI so you can see the screen. (Default is headless) + # config.vm.boot_mode = :gui + + # Assign this VM to a host-only network IP, allowing you to access it + # via the IP. Host-only networks can talk to the host machine as well as + # any other machines on the same network, but cannot be accessed (through this + # network interface) by any external networks. + # config.vm.network :hostonly, "192.168.33.10" + + # Assign this VM to a bridged network, allowing you to connect directly to a + # network using the host's network device. This makes the VM appear as another + # physical device on your network. + # config.vm.network :bridged + + # Forward a port from the guest to the host, which allows for outside + # computers to access the VM, whereas host only networking does not. + # config.vm.forward_port 80, 8080 + + # An example Puppet manifest to provision the message of the day: + # + # # group { "puppet": + # # ensure => "present", + # # } + # # + # # File { owner => 0, group => 0, mode => 0644 } + # # + # # file { '/etc/motd': + # # content => "Welcome to your Vagrant-built virtual machine! + # # Managed by Puppet.\n" + # # } + + # Share an additional folder to the guest VM. The first argument is + # an identifier, the second is the path on the guest to mount the + # folder, and the third is the path on the host to the actual folder. + # # config.vm.share_folder "puppet-templates", "/tmp/vagrant-puppet/templates", "templates" + + # Enable provisioning with Puppet stand alone. Puppet manifests + # are contained in a directory path relative to this Vagrantfile. + # You will need to create the manifests directory and a manifest in + # the file default.pp in the manifests_path directory. + config.vm.provision :puppet do |puppet| + puppet.module_path = ".vagrant-puppet/modules" + puppet.manifests_path = ".vagrant-puppet/manifests" + # # puppet.options = ["--templatedir", "/tmp/vagrant-puppet/templates"] + puppet.options = "-v -d" + end +end