diff options
author | Nathen Harvey <nharvey@chef.io> | 2016-01-21 12:43:27 -0500 |
---|---|---|
committer | Nathen Harvey <nharvey@chef.io> | 2016-01-21 12:43:27 -0500 |
commit | d85f059458b9c039d01e4cc4d5072f52af97f3b2 (patch) | |
tree | 10ccf7870be734cfe13f7eda35cd81f3ddf2c0c5 | |
parent | 1e746d158f00859933bf3cd0e2bedc0768c1e727 (diff) | |
download | chef-d85f059458b9c039d01e4cc4d5072f52af97f3b2.tar.gz |
Add CBGB to the repository
Includes rake task to generate markdown from toml
-rw-r--r-- | CBGB.md | 40 | ||||
-rw-r--r-- | CBGB.toml | 96 | ||||
-rw-r--r-- | Rakefile | 1 | ||||
-rw-r--r-- | tasks/cbgb.rb | 78 |
4 files changed, 215 insertions, 0 deletions
diff --git a/CBGB.md b/CBGB.md new file mode 100644 index 0000000000..b8ab2e80e7 --- /dev/null +++ b/CBGB.md @@ -0,0 +1,40 @@ +<!-- This is a generated file. Please do not edit directly --> +<!-- Modify CBGB.toml file and run `rake cbgb:generate` to regenerate --> + +# Chef Board of Governance (CBGB) + + Chef was designed from the outset to have a very open structure, including open design, open contribution, and consistent use of tools across the project. Given the large numbers of contributors, users, and companies with a stake in the future of the project, Chef leadership has established an advisory board, as part of its long term commitment to open governance. + + The Chef Board of Governance (CBGB) shall advise the Leadership on matters related to supporting the long-term governance, structure, and roadmap of the Project. + +More information can be found in the [Chef Board of Governance RFC](Chef Board of Governance). + +# Board of Governers + +## Project Lead + +* [Adam Jacob](https://github.com/adamhjk) + +### Users/Contributors (4) + +* [Ranjib Dey](https://github.com/ranjib) +* [Doug Ireton](https://github.com/dougireton) +* [Noah Kantrowitz](https://github.com/coderanger) +* [Charity Majors](https://github.com/charity) + + +### Corporate Contributors (4) + +* Etsy - Katherine Daniels +* Facebook - Phil Dibowitz +* Nordstrom - Mark Ayers +* PagerDuty - Evan Gilman + + +### Lieutenants (3) + +* [Jon Cowie](https://github.com/jonlives) +* [Joshua Timberman](https://github.com/jtimberman) +* [Seth Vargo](https://github.com/sethvargo) + + diff --git a/CBGB.toml b/CBGB.toml new file mode 100644 index 0000000000..07e9c9a25a --- /dev/null +++ b/CBGB.toml @@ -0,0 +1,96 @@ +# +# This file is structured to be consumed by both humans and computers. +# It is a TOML document containing Markdown +# +[Preamble] + title = "Chef Board of Governance (CBGB)" + text = """ + Chef was designed from the outset to have a very open structure, including open design, open contribution, and consistent use of tools across the project. Given the large numbers of contributors, users, and companies with a stake in the future of the project, Chef leadership has established an advisory board, as part of its long term commitment to open governance. + + The Chef Board of Governance (CBGB) shall advise the Leadership on matters related to supporting the long-term governance, structure, and roadmap of the Project. + +More information can be found in the [Chef Board of Governance RFC](Chef Board of Governance). +""" + +[Org] + [Org.Lead] + title = "Project Lead" + person = "adamhjk" + + [Org.Contributors] + title = "Users/Contributors (4)" + governers = [ + "ranjibdey", + "dougireton", + "coderanger", + "charitymajors" + ] + + [Org.Corporate-Contributors] + title = "Corporate Contributors (4)" + governers = [ + "etsy", + "facebook", + "nordstrom", + "pagerduty" + ] + + [Org.Lieutenants] + title = "Lieutenants (3)" + governers = [ + "jonlives", + "jtimberman", + "sethvargo" + ] + +[people] + [people.adamhjk] + Name = "Adam Jacob" + GitHub = "adamhjk" + IRC = "holoway" + + [people.jonlives] + Name = "Jon Cowie" + GitHub = "jonlives" + IRC = "jonlives" + + [people.coderanger] + Name = "Noah Kantrowitz" + GitHub = "coderanger" + + [people.jtimberman] + Name = "Joshua Timberman" + GitHub = "jtimberman" + + [people.ranjibdey] + Name = "Ranjib Dey" + GitHub = "ranjib" + + [people.sethvargo] + Name = "Seth Vargo" + GitHub = "sethvargo" + + [people.dougireton] + Name = "Doug Ireton" + GitHub = "dougireton" + + [people.charitymajors] + Name = "Charity Majors" + GitHub = "charity" + +[corporations] + [corporations.etsy] + Name = "Etsy" + Person = "Katherine Daniels" + + [corporations.facebook] + Name = "Facebook" + Person = "Phil Dibowitz" + + [corporations.nordstrom] + Name = "Nordstrom" + Person = "Mark Ayers" + + [corporations.pagerduty] + Name = "PagerDuty" + Person = "Evan Gilman" @@ -25,6 +25,7 @@ require "rdoc/task" require_relative "tasks/rspec" require_relative "tasks/external_tests" require_relative "tasks/maintainers" +require_relative "tasks/cbgb" ChefConfig::PackageTask.new(File.expand_path("..", __FILE__), "Chef") do |package| package.component_paths = ["chef-config"] diff --git a/tasks/cbgb.rb b/tasks/cbgb.rb new file mode 100644 index 0000000000..67457b6bd0 --- /dev/null +++ b/tasks/cbgb.rb @@ -0,0 +1,78 @@ +# +# Author:: Thom May (tmay@chef.io) +# Author:: Nathen Harvey (nharvey@chef.io) +# Copyright:: Copyright (c) 2015-2016, Chef Software, Inc +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require 'rake' +require 'tomlrb' + +CBGB_SOURCE = File.join(File.dirname(__FILE__), "..", "CBGB.toml") +CBGB_TARGET = File.join(File.dirname(__FILE__), "..", "CBGB.md") + +task :default => :generate + +namespace :cbgb do + desc "Generate MarkDown version of CBGB file" + task :generate do + cbgb = Tomlrb.load_file CBGB_SOURCE + out = "<!-- This is a generated file. Please do not edit directly -->\n" + out << "<!-- Modify CBGB.toml file and run `rake cbgb:generate` to regenerate -->\n\n" + out << "# " + cbgb["Preamble"]["title"] + "\n\n" + out << cbgb["Preamble"]["text"] + "\n" + out << "# Board of Governers\n\n" + out << "## " + cbgb["Org"]["Lead"]["title"] + "\n\n" + out << person(cbgb["people"], cbgb["Org"]["Lead"]["person"]) + "\n\n" + out << "### " + cbgb["Org"]["Contributors"]["title"] + "\n\n" + out << cbgb(cbgb["people"], cbgb["Org"]["Contributors"]["governers"]) + "\n\n" + out << "### " + cbgb["Org"]["Corporate-Contributors"]["title"] + "\n\n" + out << cbgb(cbgb["corporations"], cbgb["Org"]["Corporate-Contributors"]["governers"]) + "\n\n" + out << "### " + cbgb["Org"]["Lieutenants"]["title"] + "\n\n" + out << cbgb(cbgb["people"], cbgb["Org"]["Lieutenants"]["governers"]) + "\n\n" + File.open(CBGB_TARGET, "w") { |fn| + fn.write out + } + end +end + +def components(list, cmp) + out = "" + cmp.each do |k,v| + out << "\n#### #{v['title'].gsub('#','\\#')}\n" + out << cbgb(list, v['cbgb']) + end + out +end + +def cbgb(list, people) + o = "" + people.each do |p| + o << person(list, p) + "\n" + end + o +end + +def person(list, person) + if list[person].has_key?("GitHub") + out = "* [#{list[person]["Name"]}](https://github.com/#{list[person]["GitHub"]})" + else + out = "* #{list[person]["Name"]}" + end + if list[person].has_key?("Person") + out << " - #{list[person]["Person"]}" + end + out +end |