Last modified 3 years ago Last modified on 11/07/17 17:13:36

Integrating GitHub Version Control with Chef System Management


Shared Access to Identity and Access Management Repositories

Identity and Access Management has access to three contexts in University of Alaska GitHub? Repository:

  • Personal (identified by UA Username)
  • OIT - IAM
  • OIT - Security

Within the OIT - IAM repository, there are two types of repositories, those that represent a Chef managed system and those that contain Source files.

Individual Repositories

In addition to OIT - IAM repositories, each user can develop and share private repositories.

Choosing a Context

Choosing a shared OIT - IAM Context

Once logged in by default, the context will be set to a user's personal repository. A drop down button allows the user to select the desired context for IAM activities.

IAM Context Selection

Identifying OIT - IAM Chef Cookbooks versus Source Files

A convention has been established for identifying which repositories contain Chef cookbooks, i.e., the configuration for an entire system, or source files to run an application. By convention, anything that is a cookbook follows the naming format of OIT-IAM/iam-<application name>-app.

For example, the image below shows that the first three listed repositories are Chef cookbooks for the People, Shibboleth v3, and Xpress Connect (XPC) applications. The fourth listing contains source files for the the application,

IAM Github repositories

Contents of an OIT - IAM Chef Cookbook Repository

Below is an example of a Chef Cookbook repository. Notice a few of the keywords used to indicate standard Chef directories and files such as, recipes, kitchen.yml, metadata.rb

IAM example cookbook repository

Contents of an OIT - IAM Source File Repository

The source files for people, as opposed to the Chef Cookbook, contain no set pattern, other than what is needed for the application itself.

IAM example source repository

Pulling a Repository to a Local Desktop

The following steps are describing how to clone an individual user's repository.

  • Login into
  • Use UA Username and password to login
  • Check repositories for latest work

Example of LTTOTH repository

  • Click on desired repository to get address to clone it
  • Click on clone or download down arrow (copy or copy to clipboard) will copy the repository location.
  • Go to terminal window
  • Either create directory for location or if in a desired hierarchy, then type
    git clone
  • Remember to pull before any edit and push often