chef-essentials-classroom
This repo contains all the components required to build Chef Essentials (Linux) training environments.
/cookbooks => Contains the build cookbook for configuring Chef Workstation and Chef Node images
/packer => Contains Packer templates that use the build cookbook to generate Amazon AMIs
/terraform => Contains Terraform plans for deploying classroom workstations/nodes to AWS
TODO: Lots of things coming down the pipeline in the immediate future. The commands below to get started are likely to change as more abstraction is added to the tooling.
Currently the process to spin up a classroom is the following:
-
The root config file is
terraform.tfvars
Update the values interraform.tfvars
to include your information specifically. -
Run the command
curl -w "\n" 'https://discovery.etcd.io/new?size=<insert the number of student nodes + 1 here>'
e.g.curl -w "\n" 'https://discovery.etcd.io/new?size=45'
-
Paste the output of your curl command into the
disco
variable interraform.tfvars
-
Run the command
terraform apply -parallelism=<total node count>
e.g.terraform apply -parallelism=45
Voila! You should have a classroom!
Students should be able to log into the URL of the guacamole server with
Username: chef
Password: chef
The url should look something like this:
http://ec2-ip-of-guac-server.compute-1.amazonaws.com:8080/guacamole/#/