GithubHelp home page GithubHelp logo

leodido / maintainers-generator Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 2.0 129 KB

Parse OWNERS file across repositories and output maintainers

License: Apache License 2.0

Go 92.68% Makefile 7.32%
maintainers open-source generator hacktoberfest owners owners-file prow

maintainers-generator's Introduction

maintainers-generator

Parse OWNERS file across repositories to output YAML containing all the maintainers!

Install

go get github.com/leodido/maintainers-generator

Usage

This is the CLI.

Usage of ./bin/maintainers-generator:
  -banner
        Whether you want a header on top of the output YAML maintainers file
  -dedupe
        Whether to dedupe or not sub-project areas for every maintainer. (default true)
  -dry-run
        Dry run for testing (uses API tokens but does not mutate).
  -github-app-id string
        ID of the GitHub app. If set, requires --github-app-private-key-path to be set and --github-token-path to be unset.
  -github-app-private-key-path string
        Path to the private key of the github app. If set, requires --github-app-id to bet set and --github-token-path to be unset
  -github-endpoint value
        GitHub's API endpoint (may differ for enterprise). (default https://api.github.com)
  -github-graphql-endpoint string
        GitHub GraphQL API endpoint (may differ for enterprise). (default "https://api.github.com/graphql")
  -github-host string
        GitHub's default host (may differ for enterprise) (default "github.com")
  -github-token-path string
        Path to the file containing the GitHub OAuth secret.
  -log-level string
        Log level. (default "info")
  -org string
        The GitHub organization name.
  -output string
        The path where to write the output YAML maintainers (default "stdout")
  -persons-db string
        The path to a JSON file containing handle => name/company mappings (default "data/data.json")
  -repo string
        The GitHub repository name.
  -sort
        Whether to sort the projects alphabetically. (default true)
  -version
        Print the version.

For example, you could run:

./bin/maintainers-generator --github-token-path /etc/token --org falcosecurity

Which will output a YAML to STDOUT like the following one:

- name: user1
  github: https://github.com/user1
  company: UNKNOWN
  projects:
  - https://github.com/falcosecurity/falcosecurity/community
- name: user2
  github: https://github.com/user2
  company: UNKNOWN
  projects:
  - https://github.com/falcosecurity/falcosecurity/.github
  - https://github.com/falcosecurity/falcosecurity/advocacy
  - https://github.com/falcosecurity/falcosecurity/charts
  - https://github.com/falcosecurity/falcosecurity/client-go
  - https://github.com/falcosecurity/falcosecurity/client-rs

TODOs

  • Extensive test suite
  • Complete support for the OWNERS spec
    • Support for no_parent_owners: true
    • Support for OWNERS file with filters
    • Support for emeritus_approvers

Analytics

maintainers-generator's People

Contributors

leodido avatar zuc avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

leogr zuc

maintainers-generator's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.