wiki:ChefConfigurationManagement

Version 4 (modified by lttoth@…, 8 years ago) (diff)

--

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 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 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, 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, 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.