diff --git a/README.md b/README.md index 18b22d0..dcc5ed8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Ansible Playbooks ================= -**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 enhancement tool I'll be building on top of Ansible. 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 accessible to the configuration managament enhancement tool I'll be building 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! @@ -16,15 +16,15 @@ Future Playbooks: * **MySQL** - open source relational database system * **Apache** - open source web server * **NginX** - open source web server -* **Python** - open source highlevel interprited programming language -* **Ruby** - open source highlevel interprited programming language -* **PHP** - open source highlevel interprited programming language +* **Python** - open source highlevel interpreted programming language +* **Ruby** - open source highlevel interpreted programming language +* **PHP** - open source highlevel interpreted 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. 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: +Before running these Ansible playbooks, or any Ansible commands for that matter, it is essential that you have your public 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 username@111.222.333.444:~/.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. + $ scp ~/.ssh/id_rsa.pub username@111.222.333.444:~/.ssh/authorized_keys # You could also perform the same action against your Ansible hosts using the copy module and the **-k** flag to prompt 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: diff --git a/alfred/README.md b/alfred/README.md new file mode 100644 index 0000000..ab134fa --- /dev/null +++ b/alfred/README.md @@ -0,0 +1,4 @@ +Alfred +====== + +This Ansible playbook installs Alfred, an amazing productivity application which helps you do everything from launching specific applications, to running commands, to searching for files. \ No newline at end of file diff --git a/alfred/alfred.yaml b/alfred/alfred.yaml index e69de29..7cde195 100644 --- a/alfred/alfred.yaml +++ b/alfred/alfred.yaml @@ -0,0 +1,15 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Alfred\ 2 + app_name_pretty: Alfred + app_url: http://cachefly.alfredapp.com/Alfred_2.0.3_187.zip + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/appcleaner/README.md b/appcleaner/README.md new file mode 100644 index 0000000..01e20d2 --- /dev/null +++ b/appcleaner/README.md @@ -0,0 +1,4 @@ +AppCleaner +========== + +This Ansible playbook installs AppCleaner, an uninstallation helper program. \ No newline at end of file diff --git a/applications.yaml b/applications.yaml deleted file mode 100644 index 92ff139..0000000 --- a/applications.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- include: vlc/vlc.yaml -- include: transmission/transmission.yaml -- include: appcleaner/appcleaner.yaml -- include: keka/keka.yaml -- include: limechat/limechat.yaml -- include: firefox/firefox.yaml -# - include: opera/opera.yaml -- include: mou/mou.yaml -- include: texts/texts.yaml \ No newline at end of file diff --git a/brackets/README.md b/brackets/README.md new file mode 100644 index 0000000..5111ff0 --- /dev/null +++ b/brackets/README.md @@ -0,0 +1,4 @@ +Brackets +======== + +This Ansible playbook installs Brackets, a lightweight web development code editor, written in HTML, CSS, and Javascript. \ No newline at end of file diff --git a/brackets/brackets.yaml b/brackets/brackets.yaml index e69de29..0781cf0 100644 --- a/brackets/brackets.yaml +++ b/brackets/brackets.yaml @@ -0,0 +1,16 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Brackets\ Sprint\ 23 + app_name_pretty: Brackets + app_url: http://download.brackets.io/file.cfm?platform=OSX&build=23 + installer_type: app + install_method: dmg + mount_path: /Volumes/Brackets\ Sprint\ 23/ + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/chrome/chrome.yaml b/chrome/chrome.yaml deleted file mode 100644 index e69de29..0000000 diff --git a/coda/README.md b/coda/README.md new file mode 100644 index 0000000..dc8ff75 --- /dev/null +++ b/coda/README.md @@ -0,0 +1,4 @@ +Coda +==== + +This Ansible playbook installs Coda, a versitile web development code editor and FTP client. \ No newline at end of file diff --git a/coda/coda.yaml b/coda/coda.yaml index e69de29..ac9f7c1 100644 --- a/coda/coda.yaml +++ b/coda/coda.yaml @@ -0,0 +1,14 @@ +--- +- hosts: $hosts + user: $user + vars: + app_name: Coda + app_name_pretty: Coda + app_url: https://panic.com/coda/d/Coda%202.0.7.zip + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/codekit/README.md b/codekit/README.md new file mode 100644 index 0000000..857abc1 --- /dev/null +++ b/codekit/README.md @@ -0,0 +1,4 @@ +CodeKit +======= + +This Ansible playbook installs CodeKit, a highly performant web development toolkit, linting, compressing, minifying, and refreshing files in managed projects. \ No newline at end of file diff --git a/codekit/codekit.yaml b/codekit/codekit.yaml index e69de29..f58bcb6 100644 --- a/codekit/codekit.yaml +++ b/codekit/codekit.yaml @@ -0,0 +1,14 @@ +--- +- hosts: $hosts + user: $user + vars: + app_name: CodeKit + app_name_pretty: CodeKit + app_url: http://incident57.com/codekit/files/codekit-8283.zip + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/espresso/README.md b/espresso/README.md new file mode 100644 index 0000000..e308a96 --- /dev/null +++ b/espresso/README.md @@ -0,0 +1,4 @@ +Espresso +======== + +This Ansible playbook installs Espresso, a powerful CSS, HTML, Javascript and PHP web development editor. \ No newline at end of file diff --git a/espresso/espresso.yaml b/espresso/espresso.yaml index e69de29..50c743e 100644 --- a/espresso/espresso.yaml +++ b/espresso/espresso.yaml @@ -0,0 +1,15 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Espresso + app_name_pretty: Espresso + app_url: http://macrabbit.com/espresso/get/ + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/filezilla/README.md b/filezilla/README.md new file mode 100644 index 0000000..c2e574b --- /dev/null +++ b/filezilla/README.md @@ -0,0 +1,4 @@ +FileZilla +========= + +This Ansible playbook installs FileZilla, a feature rich, fast FTP client. \ No newline at end of file diff --git a/filezilla/filezilla.yaml b/filezilla/filezilla.yaml new file mode 100644 index 0000000..b50c49a --- /dev/null +++ b/filezilla/filezilla.yaml @@ -0,0 +1,15 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: FileZilla + app_name_pretty: FileZilla + app_url: http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.6.0.2/FileZilla_3.6.0.2_i686-apple-darwin9.app.tar.bz2 + installer_type: app + install_method: tar + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/firefox/README.md b/firefox/README.md new file mode 100644 index 0000000..64bbeae --- /dev/null +++ b/firefox/README.md @@ -0,0 +1,4 @@ +Firefox +======= + +This Ansible playbook installs Firefox, an advanced Gecko based web browser. \ No newline at end of file diff --git a/google-chrome/README.md b/google-chrome/README.md new file mode 100644 index 0000000..afc1ff5 --- /dev/null +++ b/google-chrome/README.md @@ -0,0 +1,4 @@ +Google Chrome +============= + +This Ansible playbook installs Google Chrome, a fast, secure, and extensible WebKit web browser. \ No newline at end of file diff --git a/google-chrome/google-chrome.yaml b/google-chrome/google-chrome.yaml new file mode 100644 index 0000000..668983b --- /dev/null +++ b/google-chrome/google-chrome.yaml @@ -0,0 +1,16 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Google\ Chrome + app_name_pretty: Google Chrome + app_url: https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg + installer_type: app + install_method: dmg + mount_path: /Volumes/Google\ Chrome/ + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/install/dmg.yaml b/install/dmg.yaml index d1ee919..31752da 100644 --- a/install/dmg.yaml +++ b/install/dmg.yaml @@ -9,7 +9,7 @@ - name: Copy $app_name_pretty app to Applications directory command: cp -R $mount_path$app_name.app /Applications when_string: $installer_type == 'app' -- name: Install $app_name pkg +- name: Install $app_name_pretty pkg command: sudo installer -package $mount_path$app_name.pkg -target $install_target when_string: $installer_type == 'pkg' - name: Unmount $app_name_pretty image diff --git a/install/tar.yaml b/install/tar.yaml index 530920b..3e0e958 100644 --- a/install/tar.yaml +++ b/install/tar.yaml @@ -13,7 +13,7 @@ - name: Copy $app_name_pretty app to Applications directory command: cp -R $app_name/$app_name.app /Applications chdir=$downloads when_string: $installer_type == 'app' -- name: Install $app_name pkg +- name: Install $app_name_pretty pkg command: sudo installer -package $app_name/$app_name.pkg -target $install_target chdir=$downloads when_string: $installer_type == 'pkg' - name: Remove extraction directory diff --git a/install/zip.yaml b/install/zip.yaml index f88e404..3b6fbc6 100644 --- a/install/zip.yaml +++ b/install/zip.yaml @@ -13,7 +13,7 @@ - name: Copy $app_name_pretty app to Applications directory command: cp -R $app_name/$app_name.app /Applications chdir=$downloads when_string: $installer_type == 'app' -- name: Install $app_name pkg +- name: Install $app_name_pretty pkg command: sudo installer -package $app_name/$app_name.pkg -target $install_target chdir=$downloads when_string: $installer_type == 'pkg' - name: Remove extraction directory diff --git a/kaleidoscope/kaleidoscope.yaml b/kaleidoscope/kaleidoscope.yaml index e69de29..ba92e7a 100644 --- a/kaleidoscope/kaleidoscope.yaml +++ b/kaleidoscope/kaleidoscope.yaml @@ -0,0 +1,14 @@ +--- +- hosts: $hosts + user: $user + vars: + app_name: Kaleidoscope + app_name_pretty: Kaleidoscope + app_url: http://www.kaleidoscopeapp.com/download + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/opera/README.md b/opera/README.md new file mode 100644 index 0000000..8e32083 --- /dev/null +++ b/opera/README.md @@ -0,0 +1,4 @@ +Opera +===== + +This Ansible playbook installs Opera, a feature rich Webkit (and soon Blink) web browser. \ No newline at end of file diff --git a/sample-applications.yaml b/sample-applications.yaml new file mode 100644 index 0000000..79d83f7 --- /dev/null +++ b/sample-applications.yaml @@ -0,0 +1,18 @@ +--- +# - include: vlc/vlc.yaml +# - include: transmission/transmission.yaml +# - include: appcleaner/appcleaner.yaml +# - include: keka/keka.yaml +# - include: limechat/limechat.yaml +# - include: firefox/firefox.yaml +# - include: opera/opera.yaml +# - include: mou/mou.yaml +# - include: texts/texts.yaml +# - include: sublime-text/sublime-text.yaml +# - include: sourcetree/sourcetree.yaml +- include: sequel-pro/sequel-pro.yaml +# - include: alfred/alfred.yaml +- include: google-chrome/google-chrome.yaml +- include: brackets/brackets.yaml +- include: trim-enabler/trim-enabler.yaml +- include: iterm/iterm.yaml \ No newline at end of file diff --git a/sequel-pro/README.md b/sequel-pro/README.md new file mode 100644 index 0000000..9b10016 --- /dev/null +++ b/sequel-pro/README.md @@ -0,0 +1,4 @@ +Sequel Pro +========== + +This Ansible playbook installs Sequel Pro, a feature rich and powerful MySQL database inspector/manager. \ No newline at end of file diff --git a/sequel-pro/sequel-pro.yaml b/sequel-pro/sequel-pro.yaml index e69de29..e9d2512 100644 --- a/sequel-pro/sequel-pro.yaml +++ b/sequel-pro/sequel-pro.yaml @@ -0,0 +1,15 @@ +--- +- hosts: $hosts + user: $user + vars: + app_name: Sequel\ Pro + app_name_pretty: Sequel Pro + app_url: http://sequel-pro.googlecode.com/files/sequel-pro-1.0.1.dmg + installer_type: app + install_method: dmg + mount_path: /Volumes/Sequel\ Pro\ 1.0.1/ + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/slicy/README.md b/slicy/README.md new file mode 100644 index 0000000..9068d46 --- /dev/null +++ b/slicy/README.md @@ -0,0 +1,4 @@ +Slicy +===== + +This Ansible playbook installs Slicy, a versitile tool that enhances Photoshop image slicing and retna graphic generation. \ No newline at end of file diff --git a/slicy/slicy.yaml b/slicy/slicy.yaml index e69de29..cd36f86 100644 --- a/slicy/slicy.yaml +++ b/slicy/slicy.yaml @@ -0,0 +1,14 @@ +--- +- hosts: $hosts + user: $user + vars: + app_name: Slicy + app_name_pretty: Slicy + app_url: http://macrabbit.com/slicy/get/ + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/sourcetree/sourcetree.yaml b/sourcetree/sourcetree.yaml index de0ccad..c84d093 100644 --- a/sourcetree/sourcetree.yaml +++ b/sourcetree/sourcetree.yaml @@ -1,6 +1,4 @@ --- -- include: ../setup.yaml - - hosts: $hosts user: $user gather_facts: false @@ -14,4 +12,5 @@ vars_files: - ../setup-vars.yaml tasks: + - include: ../setup.yaml - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/sublime-text/sublime-text.yaml b/sublime-text/sublime-text.yaml index 105e324..c380dde 100644 --- a/sublime-text/sublime-text.yaml +++ b/sublime-text/sublime-text.yaml @@ -1,6 +1,4 @@ --- -- include: ../setup.yaml - - hosts: $hosts user: $user vars: @@ -13,6 +11,7 @@ vars_files: - ../setup-vars.yaml tasks: + - include: ../setup.yaml - include: ../install/$install_method.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 diff --git a/transmit/README.md b/transmit/README.md new file mode 100644 index 0000000..9ae88c3 --- /dev/null +++ b/transmit/README.md @@ -0,0 +1,4 @@ +Transmit +======== + +This Ansible playbook installs Transmit, an extremely fast and high performing FTP client. \ No newline at end of file diff --git a/transmit/transmit.yaml b/transmit/transmit.yaml index e69de29..4e5fd02 100644 --- a/transmit/transmit.yaml +++ b/transmit/transmit.yaml @@ -0,0 +1,15 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Transmit + app_name_pretty: Transmit + app_url: http://www.panic.com/transmit/d/Transmit%204.3.3.zip + installer_type: app + install_method: zip + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file diff --git a/tree/README.md b/tree/README.md new file mode 100644 index 0000000..7e73ffe --- /dev/null +++ b/tree/README.md @@ -0,0 +1,4 @@ +Tree +==== + +This Ansible playbook installs tree, a command line utility for displaying folder and file structures and data. \ No newline at end of file diff --git a/trim-enabler/README.md b/trim-enabler/README.md new file mode 100644 index 0000000..e56cf3b --- /dev/null +++ b/trim-enabler/README.md @@ -0,0 +1,4 @@ +Trim Enabler +============ + +This Ansible playbook installs Trim Enabler, an essential utility for enabling Trim on SSDs. \ No newline at end of file diff --git a/trim-enabler/trim-enabler.yaml b/trim-enabler/trim-enabler.yaml index e69de29..20fc483 100644 --- a/trim-enabler/trim-enabler.yaml +++ b/trim-enabler/trim-enabler.yaml @@ -0,0 +1,16 @@ +--- +- hosts: $hosts + user: $user + sudo: yes + vars: + app_name: Trim\ Enabler + app_name_pretty: Trim Enabler + app_url: http://groths.org/trimenabler/TrimEnabler.dmg + installer_type: app + install_method: dmg + mount_path: /Volumes/Trim\ Enabler/ + vars_files: + - ../setup-vars.yaml + tasks: + - include: ../setup.yaml + - include: ../install/$install_method.yaml \ No newline at end of file