Skip to content

Commit

Permalink
Reorganized some things, added relevant REAME files to some of the th…
Browse files Browse the repository at this point in the history
…e tools, and fleshed out future plans.
  • Loading branch information
Michael Griffin committed Apr 15, 2013
1 parent 8c5f1ec commit 4adb679
Show file tree
Hide file tree
Showing 36 changed files with 78 additions and 36 deletions.
4 changes: 3 additions & 1 deletion PLANS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ Plans

* Look into using Jinja2 to adhere with DRY principles. If an app comes in a tar archive, have a workflow for extracting apps from those archives, same thing if it comes in a dmg, or a zip.
* Look into the ability to change directories for multiple commands as upposed to having to change directories on each command.
* Ensure generalization of playbooks and assist distribution by replacing hosts and usernames with code that will allow them to be set on run time.
* Ensure generalization of playbooks and assist distribution by replacing hosts and usernames with code that will allow them to be set on run time.
* Consider streamlining playbook creation by specifying the install-type (app, homebrew, pkg, apt, yum) and letting conditional execution pick the correct playbook to run based on that variable. This would allow tools that can be manually installed, or installed through a package management service like homebrew or apt, to have the ability to be installed different ways.
* Ensure that the tool created on top of Ansible has the abiltiy to check the version of installed mac applications, and not reinstall them if they match, unless a user forces an reinstall. Also provide the abiltiy to manipulate default file type handlers.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Ansible Playbooks
=================

**The following only applies to some of these playbooks. The majority have been created to provision Mac development machines. Eventually they will be transformed to handle different operating systems and other variables, such as versions.**
**The majority of these playbooks have been created to provision Mac development machines. I am going to separate these playbooks into their own separate git repos, or not, depending on how I decide I want them accessable to the configuration managament tool I'll be buiiling on top of Ansible. Eventually they will be transformed to handle different operating systems and other variables, such as versions.**

Configure servers in a snap with these concise Ansible playbooks!

Expand All @@ -21,10 +21,10 @@ Future Playbooks:
* **PHP** - open source highlevel interprited programming language
* **RVM** - open source Ruby version and environment manager

Before running these Ansible playbooks, or any Ansible commands for that matter, it is essential that you have your publick SSH keys copied to your server's `~/.ssh/authorized_keys` file. The following command will copy your public key from your management computer, to the server:
Before running these Ansible playbooks, or any Ansible commands for that matter, it is essential that you have your publick SSH keys copied to your server's `~/.ssh/authorized_keys` file. If you decide that this will make life too easy for you, feel free to use the `-k` flag when running `ansible-playbook` (or `ansible` for that matter too), which will tell Ansible to prompt you for your SSH password. The following command will copy your public key from your management computer, to the server:

# Don't space out and forget to ensure that you replace the username and ip/host address with your specific credentials.
$ scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
$ scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys # You could also perform the same action against your Ansible hosts using the copy module and the **-k** flag to promp you for your SSH password.

Then all you have to do, as long as you have properly installed Ansible, and have added it's location to your $PATH, is run the following command to confirm that everything is hunky-dory:

Expand Down
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions install-type/homebrew.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
- name: Installing $app_name_pretty
homebrew: name=$app_name state=installed update_homebrew=yes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions iterm/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
iTerm
=====

This Ansible playbook installs iTerm (2), a powerfull and highly customizable, feature-rich, command line interface replacement for Terminal.
7 changes: 3 additions & 4 deletions iterm/iterm.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: app
app_name: iTerm
app_name_pretty: iTerm
app_url: https://copy.com/HTIIPAwoiKVY
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/zip.yaml
- include: ../install-type/zip.yaml
4 changes: 4 additions & 0 deletions limechat/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
LimeChat
========

This Ansible playbook installs LimeChat, a lightweight and feature rich IRC client for Mac.
6 changes: 3 additions & 3 deletions limechat/limechat.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
Expand All @@ -10,6 +10,6 @@
app_name_pretty: LimeChat
app_url: https://downloads.sourceforge.net/project/limechat/limechat/LimeChat_2.34.tbz?use_mirror=master
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/tar.yaml
- include: ../install-type/tar.yaml
Empty file added nginx/handlers/handlers.yaml
Empty file.
Empty file added nginx/nginx.yaml
Empty file.
Empty file added nginx/tasks/tasks.yaml
Empty file.
Empty file added nginx/templates/nginx.conf.j2
Empty file.
Empty file added php/handlers/handlers.yaml
Empty file.
Empty file added php/php.yaml
Empty file.
Empty file added php/tasks/tasks.yaml
Empty file.
Empty file added php/templates/php.ini.j2
Empty file.
File renamed without changes.
3 changes: 1 addition & 2 deletions local-setup.yaml → setup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
- hosts: $hosts
user: $user
sudo: yes
gather_facts: false
vars_files:
- local-setup-vars.yaml
- setup-vars.yaml
tasks:
- name: Create Ansible downloads directory
file: path=$downloads state=directory
4 changes: 4 additions & 0 deletions sourcetree/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
SourceTree
==========

This Ansible playbook installs SourceTree, a rock solid Git client for Mac and Windows.
6 changes: 3 additions & 3 deletions sourcetree/sourcetree.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
Expand All @@ -11,6 +11,6 @@
app_url: https://copy.com/RDxUBW9uhWiQ/SourceTree-1.5.8.dmg?download=1
mount_path: /Volumes/SourceTree/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.yaml
- include: ../install-type/dmg.yaml
4 changes: 4 additions & 0 deletions sublime-text/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Sublime Text
============

This Ansible playbook installs Sublime Text, a powerfull, performant, extensable, and versitile code editor. It also sets up `subl` and `sublime` symlinks in your `/usr/bin/` directory for the highly useful Sublime Text `subl` command.
7 changes: 3 additions & 4 deletions sublime-text/sublime-text.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: app
app_name: Sublime\ Text
app_name_pretty: Sublime\ Text
app_url: http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203021.dmg
mount_path: /Volumes/Sublime\ Text/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.yaml
- include: ../install-type/dmg.yaml
- name: Create symlink subl for Sublime Text's subl command
file: src=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl dest=/usr/bin/subl state=link
- name: Create symlink sublime for Sublime Text's subl command
Expand Down
4 changes: 4 additions & 0 deletions transmission/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Transmission
============

This Ansible playbook installs Transmission, a lightwieght bittorrent client for Mac and Linux.
7 changes: 3 additions & 4 deletions transmission/transmission.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: app
app_name: Transmission
app_name_pretty: Transmission
app_url: https://copy.com/jTqaA0JWmTmn/Transmission-2.77.dmg?download=1
mount_path: /Volumes/Transmission/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.yaml
- include: ../install-type/dmg.yaml
12 changes: 12 additions & 0 deletions tree/tree.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
- include: ../setup.yaml

- hosts: $hosts
user: $user
vars:
app_name: tree
app_name_pretty: tree
vars_files:
- ../setup-vars.yaml
tasks:
- include: ../install-type/homebrew.yaml
4 changes: 4 additions & 0 deletions vagrant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Vagrant
=======

This Ansible playbook installs Vagrant, an powerful tool which automates virtualization and provisionment.
7 changes: 3 additions & 4 deletions vagrant/vagrant.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: pkg
install_target: /Volumes/OSX
Expand All @@ -12,6 +11,6 @@
app_url: http://files.vagrantup.com/packages/64e360814c3ad960d810456add977fd4c7d47ce6/Vagrant.dmg
mount_path: /Volumes/Vagrant/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.pkg
- include: ../install-type/dmg.pkg
4 changes: 4 additions & 0 deletions virtualbox/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
VirtualBox
==========

This Ansible playbook installs VirtualBox, a home and enterprise virtualization software package.
7 changes: 3 additions & 4 deletions virtualbox/virtualbox.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: pkg
install_target: /Volumes/OSX
Expand All @@ -12,6 +11,6 @@
app_url: http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2.12-84980-OSX.dmg
mount_path: /Volumes/VirtualBox/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.yaml
- include: ../install-type/dmg.yaml
4 changes: 4 additions & 0 deletions vlc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
VLC
===

This Ansible playbook installs VLC, a lightweigt and versitile media player for Mac, Linux, and Windows, and will eventually have the ability to make it the default file handler for specified file types.
7 changes: 3 additions & 4 deletions vlc/vlc.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
---
- include: ../local-setup.yaml
- include: ../setup.yaml

- hosts: $hosts
user: $user
gather_facts: false
vars:
install_type: app
app_name: VLC
app_name_pretty: VLC
app_url: https://copy.com/8WKZ3x1ZWOIC/VLC-2.0.6.dmg?download=1
mount_path: /Volumes/vlc-2.0.6/
vars_files:
- ../local-setup-vars.yaml
- ../setup-vars.yaml
tasks:
- include: ../file/dmg.yaml
- include: ../install-type/dmg.yaml

0 comments on commit 4adb679

Please sign in to comment.