You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tom Hughes 709c582dd5 Configure weighted plugin for gdnsd 18 hours ago
cookbooks Configure weighted plugin for gdnsd 18 hours ago
hooks Fix new rubocop warnings 2 years ago
roles Enable SNMP access to naga 2 days ago
test Add framework for managing letsencrypt certificates 2 years ago
.dockerignore Add basic Dockerfile for linting tests 6 months ago
.editorconfig Add basic .editorconfig file 1 month ago
.gitignore Ignore .kitchen.local.yml 3 years ago
.kitchen.provision.rb Update apt cache before running kitchen test suites 3 years ago
.kitchen.yml Add a python cookbook 2 years ago
.mailmap Add mailmap entry for Stereo 9 months ago
.rubocop.yml Remove some rubocop customisations that match cookstyle defaults 2 months ago
.rubocop_todo.yml Update cookstyle todo 1 week ago
.ruby-version Use .ruby-version for local and travis 6 months ago
.travis.yml Replace foodcritic and rubocop with cookstyle 2 months ago Add a readme and a contributing guide. 5 years ago
Dockerfile Cleanup Dockerfile used for linting 1 week ago
Gemfile Replace foodcritic and rubocop with cookstyle 2 months ago
Gemfile.lock Update bundle 1 week ago
LICENSE Convert more URLs to https 1 year ago Fix link in and add OWG link 7 months ago

OpenStreetMap chef cookbooks

Build Status

This repository manages the configuration of all the servers run by the OpenStreetMap Foundation’s Operations Working Group. We use Chef to automated the configuration of all of our servers.

OSMF Operations Working Group


We make extensive use of roles to configure the servers. In general we have:

Server-specific roles (e.g. katla.rb)

These deal with particular setup or quirks of a server, such as its IP address. They also include roles representing the service they are performing, and the location they are in and any particular hardware they have that needs configuration. All our servers are named after dragons.

Hardware-specific roles (e.g. tyan-s7010.rb)

Covers anything specific to a certain piece of hardware, like a motherboard, that could apply to multiple machines.

Location-specific roles (e.g. equinix.rb)

These form a hierarchy of datacentres, organisations, and countries where our servers are located.

Service-specific roles (e.g. web-frontend)

These cover the services that the server is running, and will include the recipes required for that service along with any specific configurations and other cascading roles.


We use the ‘Organization Repository’ approach, where we have all our cookbooks in this repository (as opposed to one repository per cookbook). Additionally we don’t make use of external cookbooks so every cookbook required is in this repository.


Contributions are welcome! Please see for more details.

Contact Us