Bare-Metal Provisioning 101
Install the same node using kickstart
Bare-Metal Provisioning 201
Setup a basic cobbler server
Change the profile, re-kickstart the node
Setup a free-tier account with AWS
Spawn a Linux node from the AWS Console
Spawn a Linux node using the AWS API
Attach an Elastic IP and EBS to it
Install and start up MySQL
Create basic relational database / tables, using a variety of field types
Grant and revoke privileges
Write (or provide, probably depends on where this fits in relation
to scripting tutorial?) basic tool to insert and retrieve some data.
Spawn up second VM/MySQL install
Set up Master->Slave replication
Deliberately break and then fix replication
Set up Master<->Master replication
Introduction to percona toolkit
Set up Riak Cluster, modify the tool from 101 to demonstrate replication.
Introduction to variables and their meaning. Tuning MySQL configuration (use
mysqltuner.pl as a launch point?), pros and cons of various options.
Introducing EXPLAIN and how to analyse and improve queries and schema.
Backup options, mysqldump, LVM Snapshotting, Xtrabackup.
Do you need it? How much and why?
http://www.kitchensoap.com/2012/09/21/a-mature-role-for-automation-part-i/
Talk basic theory and approach in terms of Idempodency and Convergence.
Write a bash script to install something as idempodently as possible.
Discuss Chef and Puppet and while reflecting on the bash script.
Setup your workstation as a client to your Opscode account
Download the build-essential cookbook, and apply it to your workstation
Setup your own Chef Server
Write your own resources/providers
Write sanity tests for your code
Install a Forge module using the module tool
Apply it to your local machine
Apply it to your local machine
Setup a basic YUM or APT repo and put some packages in it
Setup a local mirror of CentOS (or what have you)
Setup a client to install from it
Build a simple RPM or deb
Version Control with Git 101
Create a new repo called 'scripts'
Place a useful shell script in it
Make a change, commit and push
Create a branch, make a change, commit, and push
Create a pull request and merge the branch into the master branch
Read Chapters 1-3 of the Pro Git book online
Work through Code School's Try Git online
Show DNS resolution for an A and a CNAME record in the configured zone
Display a simple web page