diff --git a/.dreck.yaml b/.dreck.yaml new file mode 100644 index 000000000..12c8a4c4b --- /dev/null +++ b/.dreck.yaml @@ -0,0 +1,11 @@ +features: + - aliases + - exec + +aliases: + - | + /plugin (.*) -> /label plugin/$1 + - | + /wai -> /label works as intended + - | + /release (.*) -> /exec /opt/bin/release-coredns $1 diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..67c24cd5d --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,44 @@ +# @miekg, miek@miek.nl, project lead: 11/11/2020 + +* @bradbeam @chrisohaver @dilyevsky @fastest963 @greenpau @grobie @isolus @johnbelamaric @miekg @pmoroney @rajansandeep @stp-ip @superq @yongtang + +/plugin/acl/ @miekg @ihac +/plugin/any/ @miekg +/plugin/auto/ @miekg @stp-ip +/plugin/autopath/ @chrisohaver @miekg +/plugin/azure/ @miekg @yongtang @darshanime +/plugin/bind/ @miekg +/plugin/bufsize/ @ykhr53 +/plugin/cache/ @grobie @miekg +/plugin/cancel/ @miekg +/plugin/chaos/ @miekg +/plugin/clouddns/ @miekg @yongtang +/plugin/dnssec/ @isolus @miekg +/plugin/dnstap/ @varyoo @yongtang +/plugin/erratic/ @miekg +/plugin/errors/ @miekg +/plugin/etcd/ @miekg @nitisht +/plugin/file/ @miekg @yongtang @stp-ip +/plugin/forward/ @grobie @johnbelamaric @miekg @rdrozhdzh +/plugin/grpc/ @inigohu @miekg +/plugin/health/ @fastest963 @miekg +/plugin/hosts/ @johnbelamaric @pmoroney +/plugin/k8s_external/ @miekg +/plugin/kubernetes/ @bradbeam @chrisohaver @johnbelamaric @miekg @rajansandeep @yongtang +/plugin/loadbalance/ @miekg +/plugin/log/ @miekg @nchrisdk +/plugin/loop/ @miekg @chrisohaver +/plugin/metadata/ @ekleiner @miekg +/plugin/metrics/ @fastest963 @miekg @superq @greenpau +/plugin/nsid/ @yongtang +/plugin/pprof/ @miekg +/plugin/reload/ @johnbelamaric +/plugin/rewrite/ @greenpau @johnbelamaric +/plugin/root/ @miekg +/plugin/route53/ @yongtang @dilyevsky +/plugin/secondary/ @bradbeam @miekg +/plugin/template/ @rtreffer +/plugin/tls/ @johnbelamaric +/plugin/trace/ @johnbelamaric +/plugin/transfer/ @miekg @chrisohaver +/plugin/whoami/ @miekg @chrisohaver diff --git a/OWNERS b/OWNERS deleted file mode 100644 index 7807a965a..000000000 --- a/OWNERS +++ /dev/null @@ -1,32 +0,0 @@ -approvers: - - bradbeam - - chrisohaver # Infoblox | cohaver@infoblox.com - - dilyevsky - - fastest963 - - greenpau - - grobie - - isolus - - johnbelamaric - - miekg # miek@miek.nl | project lead: 11/11/2020 - - pmoroney - - rajansandeep - - stp-ip - - superq - - yongtang - -features: - - comments - - reviewers - - aliases - - branches - - exec - -aliases: - - | - /plugin: (.*) -> /label add: plugin/$1 - - | - /approve -> /lgtm - - | - /wai -> /label add: works as intended - - | - /release: (.*) -> /exec: /opt/bin/release-coredns $1 diff --git a/owners_generate.go b/owners_generate.go index 10160febd..cc6208295 100644 --- a/owners_generate.go +++ b/owners_generate.go @@ -5,58 +5,29 @@ package main import ( + "bufio" "fmt" "io/ioutil" "log" "os" - "path" - "path/filepath" "sort" - - "gopkg.in/yaml.v2" + "strings" ) func main() { - o := map[string]struct{}{} - // top-level OWNERS file - o, err := owners("OWNERS", o) + o, err := owners("CODEOWNERS") if err != nil { log.Fatal(err) } - // each of the plugins, in case someone is not in the top-level one - err = filepath.Walk("plugin", - func(p string, i os.FileInfo, err error) error { - if err != nil { - return err - } - if i.IsDir() { - return nil - } - if path.Base(p) != "OWNERS" { - return nil - } - o, err = owners(p, o) - return err - }) - if err != nil { - log.Fatal(err) - } - - // sort it and format it - list := []string{} - for k := range o { - list = append(list, k) - } - sort.Strings(list) golist := `package chaos // Owners are all GitHub handlers of all maintainers. var Owners = []string{` c := ", " - for i, a := range list { - if i == len(list)-1 { + for i, a := range o { + if i == len(o)-1 { c = "}" } golist += fmt.Sprintf("%q%s", a, c) @@ -70,27 +41,50 @@ var Owners = []string{` return } -// owners parses a owner file without knowing a whole lot about its structure. -func owners(path string, owners map[string]struct{}) (map[string]struct{}, error) { - file, err := ioutil.ReadFile(path) +func owners(path string) ([]string, error) { + // simple line, by line based format + // + // # In this example, @doctocat owns any files in the build/logs + // # directory at the root of the repository and any of its + // # subdirectories. + // /build/logs/ @doctocat + f, err := os.Open(path) if err != nil { return nil, err } - c := yaml.MapSlice{} - err = yaml.Unmarshal(file, &c) - if err != nil { - return nil, err - } - for _, mi := range c { - key, ok := mi.Key.(string) - if !ok { + scanner := bufio.NewScanner(f) + users := map[string]struct{}{} + for scanner.Scan() { + text := scanner.Text() + if len(text) == 0 { continue } - if key == "approvers" { - for _, k := range mi.Value.([]interface{}) { - owners[k.(string)] = struct{}{} + if text[0] == '#' { + continue + } + ele := strings.Fields(text) + if len(ele) == 0 { + continue + } + + // ok ele[0] is the path, the rest are (in our case) github usernames prefixed with @ + for _, s := range ele[1:] { + if len(s) <= 1 { + continue } + users[s[1:]] = struct{}{} } } - return owners, nil + if err := scanner.Err(); err != nil { + return nil, err + } + u := []string{} + for k := range users { + if strings.HasPrefix(k, "@") { + k = k[1:] + } + u = append(u, k) + } + sort.Strings(u) + return u, nil } diff --git a/plugin/acl/OWNERS b/plugin/acl/OWNERS deleted file mode 100644 index f43391c43..000000000 --- a/plugin/acl/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - ihac -approvers: - - miekg - - ihac diff --git a/plugin/any/OWNERS b/plugin/any/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/any/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/auto/OWNERS b/plugin/auto/OWNERS deleted file mode 100644 index 3fc6bad85..000000000 --- a/plugin/auto/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -reviewers: - - miekg - - stp-ip -approvers: - - miekg diff --git a/plugin/autopath/OWNERS b/plugin/autopath/OWNERS deleted file mode 100644 index 187c629c9..000000000 --- a/plugin/autopath/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - chrisohaver - - miekg -approvers: - - chrisohaver - - miekg diff --git a/plugin/azure/OWNERS b/plugin/azure/OWNERS deleted file mode 100644 index c30e67ae3..000000000 --- a/plugin/azure/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -reviewers: - - miekg - - yongtang - - darshanime -approvers: - - miekg - - yongtang - - darshanime diff --git a/plugin/bind/OWNERS b/plugin/bind/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/bind/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/bufsize/OWNERS b/plugin/bufsize/OWNERS deleted file mode 100644 index e40116eae..000000000 --- a/plugin/bufsize/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - ykhr53 -approvers: - - ykhr53 \ No newline at end of file diff --git a/plugin/cache/OWNERS b/plugin/cache/OWNERS deleted file mode 100644 index 6b9f2f0df..000000000 --- a/plugin/cache/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - grobie - - miekg -approvers: - - grobie - - miekg diff --git a/plugin/cancel/OWNERS b/plugin/cancel/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/cancel/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/chaos/OWNERS b/plugin/chaos/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/chaos/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/clouddns/OWNERS b/plugin/clouddns/OWNERS deleted file mode 100644 index 716e8641a..000000000 --- a/plugin/clouddns/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - yongtang -approvers: - - miekg - - yongtang diff --git a/plugin/dnssec/OWNERS b/plugin/dnssec/OWNERS deleted file mode 100644 index 1bdb8e3d5..000000000 --- a/plugin/dnssec/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - isolus - - miekg -approvers: - - isolus - - miekg diff --git a/plugin/dnstap/OWNERS b/plugin/dnstap/OWNERS deleted file mode 100644 index 6f6724297..000000000 --- a/plugin/dnstap/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - varyoo - - yongtang -approvers: - - varyoo - - yongtang diff --git a/plugin/erratic/OWNERS b/plugin/erratic/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/erratic/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/errors/OWNERS b/plugin/errors/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/errors/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/etcd/OWNERS b/plugin/etcd/OWNERS deleted file mode 100644 index 256b53f99..000000000 --- a/plugin/etcd/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - nitisht -approvers: - - miekg - - nitisht diff --git a/plugin/file/OWNERS b/plugin/file/OWNERS deleted file mode 100644 index b69d5c74f..000000000 --- a/plugin/file/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -reviewers: - - miekg - - yongtang - - stp-ip -approvers: - - miekg - - yongtang diff --git a/plugin/forward/OWNERS b/plugin/forward/OWNERS deleted file mode 100644 index 201f57992..000000000 --- a/plugin/forward/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -reviewers: - - grobie - - johnbelamaric - - miekg - - rdrozhdzh -approvers: - - grobie - - johnbelamaric - - rdrozhdzh - - miekg diff --git a/plugin/grpc/OWNERS b/plugin/grpc/OWNERS deleted file mode 100644 index 7b778f5bd..000000000 --- a/plugin/grpc/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - inigohu - - miekg -approvers: - - inigohu - - miekg diff --git a/plugin/health/OWNERS b/plugin/health/OWNERS deleted file mode 100644 index d909fd451..000000000 --- a/plugin/health/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - fastest963 - - miekg -approvers: - - fastest963 - - miekg diff --git a/plugin/hosts/OWNERS b/plugin/hosts/OWNERS deleted file mode 100644 index ae6484f9d..000000000 --- a/plugin/hosts/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - johnbelamaric - - pmoroney -approvers: - - johnbelamaric - - pmoroney diff --git a/plugin/k8s_external/OWNERS b/plugin/k8s_external/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/k8s_external/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/kubernetes/OWNERS b/plugin/kubernetes/OWNERS deleted file mode 100644 index e662359c9..000000000 --- a/plugin/kubernetes/OWNERS +++ /dev/null @@ -1,14 +0,0 @@ -reviewers: - - bradbeam - - chrisohaver - - johnbelamaric - - miekg - - rajansandeep - - yongtang -approvers: - - bradbeam - - chrisohaver - - johnbelamaric - - miekg - - rajansandeep - - yongtang diff --git a/plugin/loadbalance/OWNERS b/plugin/loadbalance/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/loadbalance/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/log/OWNERS b/plugin/log/OWNERS deleted file mode 100644 index 06032ae2e..000000000 --- a/plugin/log/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - nchrisdk -approvers: - - miekg - - nchrisdk diff --git a/plugin/loop/OWNERS b/plugin/loop/OWNERS deleted file mode 100644 index 3a4ef23a1..000000000 --- a/plugin/loop/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - chrisohaver -approvers: - - miekg - - chrisohaver diff --git a/plugin/metadata/OWNERS b/plugin/metadata/OWNERS deleted file mode 100644 index 6d13ad9f1..000000000 --- a/plugin/metadata/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - ekleiner - - miekg -approvers: - - ekleiner - - miekg diff --git a/plugin/metrics/OWNERS b/plugin/metrics/OWNERS deleted file mode 100644 index 1b071c69e..000000000 --- a/plugin/metrics/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -reviewers: - - fastest963 - - miekg - - superq - - greenpau -approvers: - - fastest963 - - miekg - - superq diff --git a/plugin/nsid/OWNERS b/plugin/nsid/OWNERS deleted file mode 100644 index 4e0ca6d99..000000000 --- a/plugin/nsid/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - yongtang -approvers: - - yongtang diff --git a/plugin/pprof/OWNERS b/plugin/pprof/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/pprof/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/reload/OWNERS b/plugin/reload/OWNERS deleted file mode 100644 index f7f9ca271..000000000 --- a/plugin/reload/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - johnbelamaric -approvers: - - johnbelamaric diff --git a/plugin/rewrite/OWNERS b/plugin/rewrite/OWNERS deleted file mode 100644 index b77031d86..000000000 --- a/plugin/rewrite/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - greenpau - - johnbelamaric -approvers: - - greenpau - - johnbelamaric diff --git a/plugin/root/OWNERS b/plugin/root/OWNERS deleted file mode 100644 index eee46f686..000000000 --- a/plugin/root/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - miekg -approvers: - - miekg diff --git a/plugin/route53/OWNERS b/plugin/route53/OWNERS deleted file mode 100644 index aba4fe3da..000000000 --- a/plugin/route53/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - yongtang - - dilyevsky -approvers: - - yongtang - - dilyevsky diff --git a/plugin/secondary/OWNERS b/plugin/secondary/OWNERS deleted file mode 100644 index 252bba86c..000000000 --- a/plugin/secondary/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - bradbeam - - miekg -approvers: - - bradbeam - - miekg diff --git a/plugin/template/OWNERS b/plugin/template/OWNERS deleted file mode 100644 index b97eccf62..000000000 --- a/plugin/template/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - rtreffer -approvers: - - rtreffer diff --git a/plugin/tls/OWNERS b/plugin/tls/OWNERS deleted file mode 100644 index f7f9ca271..000000000 --- a/plugin/tls/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - johnbelamaric -approvers: - - johnbelamaric diff --git a/plugin/trace/OWNERS b/plugin/trace/OWNERS deleted file mode 100644 index f7f9ca271..000000000 --- a/plugin/trace/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: - - johnbelamaric -approvers: - - johnbelamaric diff --git a/plugin/transfer/OWNERS b/plugin/transfer/OWNERS deleted file mode 100644 index 3a4ef23a1..000000000 --- a/plugin/transfer/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - chrisohaver -approvers: - - miekg - - chrisohaver diff --git a/plugin/whoami/OWNERS b/plugin/whoami/OWNERS deleted file mode 100644 index 3a4ef23a1..000000000 --- a/plugin/whoami/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -reviewers: - - miekg - - chrisohaver -approvers: - - miekg - - chrisohaver