= Managing System Installation and Upgrades with Chef = == Overview == Most IAM project systems are now managed by Chef. This allows any change to the system to be built and deployed to every server running the project source. The systems currently managed by Chef are: * CAS * Cloudpath products for Wireless SetupIAM wiki * People * Shibboleth IdP Those services not managed by Chef are ZUAUSR, EDIR LDAP, and Radius. The server held in reserve for a Grouper prototype has also not been set up for Chef. Chef is managed from the user's desktop. All changes are made and the configuration is tested on the desktop. When satisfied that there are no errors in the system build and configuration, the new version of the service is pushed to UA !GitHub (see [[GitVersionControl|GitHub Version Control]]). == System Requirements == === !GitHub === You will need: * An account on the University of Alaska !GitHub service: https://github.alaska.edu. * !Git installed on your desktop * The latest version of the project that you want to modify * A plain text editor, such as vi or emacs. * A directory to hold your chef "cookbooks", by convention usually named just that See [[GitVersionControl|GitHub Version Control]] for a visual walk through of the University of Alaska !GitHub site. === ChefDK === === Vagrant === Vagrant manages the connections between your desktop and the remote Chef server. The following is taken directly from their site, [[https://www.vagrant.com/dcos/provisoning/chef_client.html|Chef Client provisioning]], to explain the relationship between Chef and Vagrant. '' "The Vagrant Chef Client provisioner allows you to provision the guest using Chef, specifically by connecting to an existing Chef Server and registering the Vagrant machine as a node within your infrastructure." '' Installation and Setup are managed within the ChefDK. If you are curious and want to learn more about Vagrant's relationship to Chef, [[https://www.vagrant.com/dcos/provisoning/chef_client.html|Chef Client provisioning]] provides several links to detailed information on the product. === Virtual Box === === Additional Helpful Applications === ==== Mac O/S - Xcode ==== == Sample !Git/Chef Sessions == Two example runs are included, a download of a project and an upload of changes to a project. * [[ChefDownload|Sample of Chef Download]] * [[ChefUpload| Sample of Chef Upload]]