diff --git a/generator/aliases.tmpl b/generator/aliases.tmpl index 32c71cc6f..e8c6d4abd 100644 --- a/generator/aliases.tmpl +++ b/generator/aliases.tmpl @@ -1,13 +1,16 @@ aliases: {{- range .Sigs}} {{.Dir}}-leads: - {{- range .Leads}} + {{- range .Leadership.Chairs}} + - {{.GitHub}} + {{- end}} + {{- range .Leadership.TechnicalLeads}} - {{.GitHub}} {{- end}} {{- end}} {{- range .WorkingGroups}} {{.Dir}}-leads: - {{- range .Leads}} + {{- range .Leadership.Chairs}} - {{.GitHub}} {{- end}} {{- end}} diff --git a/generator/app.go b/generator/app.go index 2c96eaf86..3a861e282 100644 --- a/generator/app.go +++ b/generator/app.go @@ -52,9 +52,8 @@ var ( templateDir = "generator" ) -// Lead represents a lead engineer for a particular group. There are usually -// 2 per group. -type Lead struct { +// Person represents an individual person holding a role in a group. +type Person struct { Name string Company string GitHub string @@ -85,7 +84,7 @@ type GithubTeams struct { Description string } -// Subproject represenst a specific subproject owned by the group +// Subproject represents a specific subproject owned by the group type Subproject struct { Name string Description string @@ -93,14 +92,20 @@ type Subproject struct { Meetings []Meeting } +// LeadershipGroup represents the different groups of leaders within a group +type LeadershipGroup struct { + Chairs []Person + TechnicalLeads []Person `yaml:"tech_leads"` + EmeritusLeads []Person `yaml:"emeritus_leads"` +} + // Group represents either a Special Interest Group (SIG) or a Working Group (WG) type Group struct { Name string Dir string MissionStatement string `yaml:"mission_statement"` Label string - Leads []Lead - EmeritusLeads []Lead `yaml:"emeritus_leads"` + Leadership LeadershipGroup `yaml:"leadership"` Meetings []Meeting Contact Contact Subprojects []Subproject diff --git a/generator/list.tmpl b/generator/list.tmpl index 200f73f9a..d09989da2 100644 --- a/generator/list.tmpl +++ b/generator/list.tmpl @@ -13,10 +13,10 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md) ### Master SIG List -| Name | Label | Leads | Contact | Meetings | -|------|--------|-------|---------|----------| +| Name | Label | Chairs | Contact | Meetings | +|------|-------|--------|---------|----------| {{- range .Sigs}} -|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}
{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
* [Mailing List]({{.Contact.MailingList}})|{{- range .Meetings -}} +|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}
{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
* [Mailing List]({{.Contact.MailingList}})|{{- range .Meetings -}} * {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})
{{- end -}} {{- range .Subprojects -}} @@ -32,5 +32,5 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md) | Name | Organizers | Contact | Meetings | |------|------------|---------|----------| {{- range .WorkingGroups}} -|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}
{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})
{{end}} +|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}
{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})
{{end}} {{- end }} diff --git a/generator/sig_readme.tmpl b/generator/sig_readme.tmpl index 95419750b..59bf440c1 100644 --- a/generator/sig_readme.tmpl +++ b/generator/sig_readme.tmpl @@ -1,5 +1,5 @@ {{- template "header" }} -# {{.Name}} SIG +# {{.Name}} Special Interest Group {{ .MissionStatement }} {{ if .Meetings }}## Meetings @@ -13,18 +13,35 @@ {{- end }} {{- end }} -{{ end -}} -## Leads -{{- range .Leads }} +{{- end }} +{{- if .Leadership }} + +## Leadership +{{- if .Leadership.Chairs }} + +### Chairs +The Chairs of the SIG run operations and processes governing the SIG. +{{ range .Leadership.Chairs }} * {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} {{- end }} -{{- if .EmeritusLeads }} +{{- end }} +{{- if .Leadership.TechnicalLeads }} + +### Technical Leads +The Technical Leads of the SIG establish new subprojects, decommission existing +subprojects, and resolve cross-subproject technical issues and decisions. +{{ range .Leadership.TechnicalLeads }} +* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} +{{- end }} +{{- end }} +{{- if .Leadership.EmeritusLeads }} ## Emeritus Leads -{{- range .EmeritusLeads }} +{{ range .Leadership.EmeritusLeads }} * {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} {{- end }} {{- end }} +{{- end }} ## Contact * [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}}) diff --git a/generator/wg_readme.tmpl b/generator/wg_readme.tmpl index c13818274..28c5bbd10 100644 --- a/generator/wg_readme.tmpl +++ b/generator/wg_readme.tmpl @@ -13,11 +13,16 @@ {{- end }} {{- end }} -{{ end -}} +{{- end }} +{{- if .Leadership }} +{{- if .Leadership.Chairs }} + ## Organizers -{{- range .Leads }} +{{ range .Leadership.Chairs }} * {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}} {{- end }} +{{- end }} +{{- end }} ## Contact * [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})