Reorganized some things, added relevant REAME files to some of the the tools, and fleshed out future plans.
This commit is contained in:
parent
8c5f1ec042
commit
4adb679c0a
2
PLANS.md
2
PLANS.md
@ -4,3 +4,5 @@ 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.
|
||||
* 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.
|
||||
@ -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!
|
||||
|
||||
@ -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 username@111.222.333.444:~/.ssh/authorized_keys
|
||||
$ 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.
|
||||
|
||||
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:
|
||||
|
||||
|
||||
3
install-type/homebrew.yaml
Normal file
3
install-type/homebrew.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: Installing $app_name_pretty
|
||||
homebrew: name=$app_name state=installed update_homebrew=yes
|
||||
4
iterm/README.md
Normal file
4
iterm/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
iTerm
|
||||
=====
|
||||
|
||||
This Ansible playbook installs iTerm (2), a powerfull and highly customizable, feature-rich, command line interface replacement for Terminal.
|
||||
@ -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
limechat/README.md
Normal file
4
limechat/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
LimeChat
|
||||
========
|
||||
|
||||
This Ansible playbook installs LimeChat, a lightweight and feature rich IRC client for Mac.
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
- include: ../local-setup.yaml
|
||||
- include: ../setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
@ -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
|
||||
0
nginx/handlers/handlers.yaml
Normal file
0
nginx/handlers/handlers.yaml
Normal file
0
nginx/nginx.yaml
Normal file
0
nginx/nginx.yaml
Normal file
0
nginx/tasks/tasks.yaml
Normal file
0
nginx/tasks/tasks.yaml
Normal file
0
nginx/templates/nginx.conf.j2
Normal file
0
nginx/templates/nginx.conf.j2
Normal file
0
php/handlers/handlers.yaml
Normal file
0
php/handlers/handlers.yaml
Normal file
0
php/php.yaml
Normal file
0
php/php.yaml
Normal file
0
php/tasks/tasks.yaml
Normal file
0
php/tasks/tasks.yaml
Normal file
0
php/templates/php.ini.j2
Normal file
0
php/templates/php.ini.j2
Normal file
@ -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
sourcetree/README.md
Normal file
4
sourcetree/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
SourceTree
|
||||
==========
|
||||
|
||||
This Ansible playbook installs SourceTree, a rock solid Git client for Mac and Windows.
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
- include: ../local-setup.yaml
|
||||
- include: ../setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
@ -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
|
||||
@ -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.
|
||||
@ -1,9 +1,8 @@
|
||||
---
|
||||
- include: ../local-setup.yaml
|
||||
- include: ../setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
install_type: app
|
||||
app_name: Sublime\ Text
|
||||
@ -11,9 +10,9 @@
|
||||
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
|
||||
|
||||
4
transmission/README.md
Normal file
4
transmission/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
Transmission
|
||||
============
|
||||
|
||||
This Ansible playbook installs Transmission, a lightwieght bittorrent client for Mac and Linux.
|
||||
@ -1,9 +1,8 @@
|
||||
---
|
||||
- include: ../local-setup.yaml
|
||||
- include: ../setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
install_type: app
|
||||
app_name: Transmission
|
||||
@ -11,6 +10,6 @@
|
||||
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
|
||||
@ -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
vagrant/README.md
Normal file
4
vagrant/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
Vagrant
|
||||
=======
|
||||
|
||||
This Ansible playbook installs Vagrant, an powerful tool which automates virtualization and provisionment.
|
||||
@ -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
|
||||
@ -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
virtualbox/README.md
Normal file
4
virtualbox/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
VirtualBox
|
||||
==========
|
||||
|
||||
This Ansible playbook installs VirtualBox, a home and enterprise virtualization software package.
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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.
|
||||
@ -1,9 +1,8 @@
|
||||
---
|
||||
- include: ../local-setup.yaml
|
||||
- include: ../setup.yaml
|
||||
|
||||
- hosts: $hosts
|
||||
user: $user
|
||||
gather_facts: false
|
||||
vars:
|
||||
install_type: app
|
||||
app_name: VLC
|
||||
@ -11,6 +10,6 @@
|
||||
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
|
||||
Loading…
x
Reference in New Issue
Block a user