GithubHelp home page GithubHelp logo

jnoss / vagrant-generic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from huit/vagrant-generic

0.0 3.0 0.0 415 KB

A generic Vagrant-powered development environment with sensible defaults

Shell 46.90% Puppet 53.10%

vagrant-generic's Introduction

vagrant-generic

A generic Vagrant-powered development environment. This is a good basic starting point for spinning up a clean Vagrant image and running Puppet. Check out the branches for specific implementations such as MediaWiki, OpenStack, and Splunk.

General notes

Vagrant 1.4+ is required for the private networking feature to work.

For the local install, we are using the Puppet Labs CentOS box. For the remote install, we are using the newest Amazon Linux AMI. CentOS and Amazon Linux are reasonably similar, and are binary- and package-compatible.

We run librarian-puppet to fetch Puppet modules and dependencies once the VM has booted.

Local install using VirtualBox

  • Install VirtualBox
  • Install Vagrant
  • Clone this repository
  • From the repository base run vagrant up

Local install using VMWare Fusion or Workstation

  • Install VMWare Fusion or VMWare Workstation
  • Install Vagrant for VMWare
  • Clone this repository
  • From the repository base run vagrant up --provider vmware_fusion or vagrant up --provider vmware_workstation

Remote install using AWS

  • Install Vagrant
  • Install the Vagrant AWS plugin:
    vagrant plugin install vagrant-aws
  • From the AWS Console or using command line tools, create a new EC2 security group called "vagrant" with, at minimum, SSH (port 22) access.
  • If you do not already have one, create a new SSH keypair in EC2.
  • Import our AWS Vagrant box (this is a skeleton Vagrant box that points to the proper Amazon Linux AMI):
    vagrant box add amazon-linux-2013.09 https://raw.github.com/huit/huit-vagrant-boxes/master/aws/amazon-linux-2013.09.box
  • Create a Vagrant configuration file in your home directory ~/.vagrant.d/Vagrantfile and use the below template. You must specify your AWS credentials and SSH key location, as well as your AWS region.
    Vagrant.configure('2') do |config|
      config.vm.provider :aws do |aws, override|
        aws.access_key_id     = 'YOUR_AWS_ACCESS_KEY'
        aws.secret_access_key = 'YOUR_AWS_SECRET_KEY'
        aws.keypair_name      = 'YOUR_AWS_KEYPAIR'
        aws.region            = 'us-east-1'

        override.ssh.private_key_path = 'PATH_TO_YOUR_PRIVATE_KEY'
      end
    end

For more options see: https://github.com/mitchellh/vagrant-aws

  • Run: vagrant up --provider=aws

Extra credit

Install the vagrant-hostsupdater plugin to keep your local /etc/hosts file in sync with your VM's IP address and allow you to access VMs by hostname.

Install the vagrant-vbguest plugin to keep the guest tools up-to-date with new versions of VirtualBox.

To speed up running vagrant provision pass in the environment variable LIBRARIAN=false, which will disable running librarian-puppet to check for and update Puppet modules. Unless you have changed the Puppetfile.lock, there is no need to run librarian additional times.

  LIBRARIAN=false vagrant provision

vagrant-generic's People

Contributors

tfhartmann avatar agperson avatar jnoss avatar hakamadare avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.