Permalink
Browse files

Cleaned up Vagrantfile, added more docs on deployment

  • Loading branch information...
1 parent 343af74 commit 2f42417760efe96817b806473db8e7a63e489ebb @tlpinney tlpinney committed Mar 13, 2012
Showing with 42 additions and 52 deletions.
  1. +41 −0 deploy/README
  2. +0 −51 deploy/Vagrantfile
  3. +1 −1 deploy/fabfile.py
View
@@ -16,9 +16,50 @@ export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXX
# create a amazon ec2 key pair for "rtfd" and save it to ~/.ssh/rtfd.pem
knife ec2 server create -r 'role[webserver]' -I ami-7000f019 -f m1.small
+# you can run this to get the servers you have running, as well as their ip addresses
+knife ec2 server list
+
+# if you ever want to start over from scratch you can destroy the instance by doing
+knife ec2 delete i-xxxxxxx
+
# more work is needed for it to be integrated into knife
+# ssh to the machine
+ssh -i ~/.ssh/rtfd.pem ubuntu@X.X.X.X
+sudo su -
+edit .ssh/authorized_keys
+
+# remove section command="echo 'Please login as the ubuntu user rather than root user.';echo;sleep 10"
+# so it starts with ssh-rsa
+# This should be automated
+
+
+# if fabric is not installed you will need to do a
+pip install fabric
+
+# install chef on the ec2 server
+fab install_chef -H X.X.X.X -i ~/.ssh/rtfd.pem
+
+# sync the chef scripts to the server
+# Make sure to have your key in ssh-agent for rsync to use
+eval `ssh-agent`
+ssh-add ~/.ssh/rtfd.pem
+fab sync_config -H X.X.X.X -i ~/.ssh/rtfd.pem
+
+# sync and run chef on the ec2 instance
+fab update -H X.X.X.X -i ~/.ssh/rtfd.pem
+
+
+
+
To use Vagrant
+# get latest virtualbox if you don't already have it
+http://www.virtualbox.org/wiki/Downloads
+
+# get the latest vagrant
+# install from downloads or from gem
+http://downloads.vagrantup.com/
+
To start, run `vagrant up`
View
@@ -1,62 +1,11 @@
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 = "lucid32"
-
- # 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://domain.com/path/to/above.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.
- # config.vm.network "33.33.33.10"
-
- # 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
config.vm.forward_port 9999, 9999
-
- # 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 "v-data", "/vagrant_data", "../data"
-
- # Enable provisioning with chef solo, specifying a cookbooks path (relative
- # to this Vagrantfile), and adding some recipes and/or roles.
- #
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.roles_path = "roles"
chef.add_role "all"
end
-
- # Enable provisioning with chef server, specifying the chef server URL,
- # and the path to the validation key (relative to this Vagrantfile).
- #
- # The Opscode Platform uses HTTPS. Substitute your organization for
- # ORGNAME in the URL and validation key.
- #
- # If you have your own Chef Server, use the appropriate URL, which may be
- # HTTP instead of HTTPS depending on your configuration. Also change the
- # validation key to validation.pem.
- #
- # config.vm.provision :chef_server do |chef|
- # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
- # chef.validation_key_path = "ORGNAME-validator.pem"
- # end
- #
- # If you're using the Opscode platform, your validator client is
- # ORGNAME-validator, replacing ORGNAME with your organization name.
- #
- # IF you have your own Chef Server, the default validation client name is
- # chef-validator, unless you changed the configuration.
- #
- # chef.validation_client_name = "ORGNAME-validator"
end
View
@@ -1,6 +1,6 @@
from fabric.api import env, local, run, sudo
env.user = 'root'
-env.hosts = ['204.232.205.6']
+#env.hosts = ['204.232.205.6']
env.code_dir = '/home/docs/sites/readthedocs.org/checkouts/readthedocs.org'
env.virtualenv = '/home/docs/sites/readthedocs.org'

0 comments on commit 2f42417

Please sign in to comment.