Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate org.yaml generation #195

Open
zuc opened this issue Sep 8, 2022 · 27 comments
Open

Automate org.yaml generation #195

zuc opened this issue Sep 8, 2022 · 27 comments
Assignees
Labels
help wanted Extra attention is needed kind/feature New feature or request

Comments

@zuc
Copy link
Member

zuc commented Sep 8, 2022

Motivation

Current peribolos file is being manually curated. This is of course prone to human error.

Feature

Generate org.yaml automatically.

Alternatives

N/A

Additional context

This should be done after #176 is completed.

@zuc zuc added the kind/feature New feature or request label Sep 8, 2022
@zuc
Copy link
Member Author

zuc commented Sep 8, 2022

/cc @leogr @maxgio92 @jasondellaluce
/assign @zuc

@zuc
Copy link
Member Author

zuc commented Sep 8, 2022

Note to self: current maintainers/repositories yaml files purposely exclude some data that is actually needed by peribolos (eg. archived repos).

@leogr
Copy link
Member

leogr commented Sep 8, 2022

Note to self: current maintainers/repositories yaml files purposely exclude some data that is actually needed by peribolos (eg. archived repos).

AFAIK, one must first archive the repository using the GH UI. Otherwise archived: true in peribolos won't work. Should we get that information from the GH API? 🤔

Also, the only path to invite a new member to the org is by adding it to org.yaml. I guess that will remain a change that has to be manually applied to org.yaml, right?

@zuc
Copy link
Member Author

zuc commented Sep 9, 2022

Fetching repo info from GH APIs to feed a file that is supposed to manage/update the same repo(s) doesn't seem a good path to me.

I still have to draw a plan on this but what I'd like to do is:

  1. Have a single source of truth about our repos in a general purpose, machine-readable format (that could be the existing https://github.com/falcosecurity/evolution/blob/main/repositories.yaml file which needs to be enriched with some data). This file will be manually curated to represent the desired state of the repos org-wide.
  2. For each repo listed in the above-mentioned file, fetch OWNERS file content; that could be done either using https://github.com/leodido/maintainers-generator or through a custom util.
  3. Have all the automation processes consume those files to perform all other ops (eg. generate org.yaml, generate markdown(s), ...).

@leogr
Copy link
Member

leogr commented Sep 12, 2022

Somehow related, IMO 👇
#198

@poiana
Copy link
Contributor

poiana commented Dec 11, 2022

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Dec 16, 2022

/remove-lifecycle stale

we still want this

@poiana
Copy link
Contributor

poiana commented Mar 16, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Mar 19, 2023

/remove-lifecycle stale
/help

@poiana
Copy link
Contributor

poiana commented Mar 19, 2023

@leogr:
This request has been marked as needing help from a contributor.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/remove-lifecycle stale
/help

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@poiana poiana added help wanted Extra attention is needed and removed lifecycle/stale labels Mar 19, 2023
@maxgio92
Copy link
Member

maxgio92 commented Mar 19, 2023

I have a question about this: why not org.yaml Peribolos config could be the source of truth about repositories too?

Edit: somehow related falcosecurity/test-infra#777

@leogr
Copy link
Member

leogr commented Mar 23, 2023

I have a question about this: why not org.yaml Peribolos config could be the source of truth about repositories too?

Edit: somehow related falcosecurity/test-infra#777

Hey @maxgio92

Good question!

Our source of truth is the OWNERS files that are spread across all repos and get modified using PRs (required for voting).

Furthermore, our governance has some logic that would not be possible to implement with only the data hosted by org.yaml.

For example, the repositories.yaml is the source of truth for core repository (since org.yaml can't host this data). Being maintainers of a core repository implies being part of the core-maintainers team in org.yaml (the vice-versa does not apply).

So it's more convenient to generate org.yaml starting from OWNERS files and other input files (like repositories.yaml) rather than the opposite. In some cases, like the examples above, it's the only possible way.

Hoping this will help to clarify.

@maxgio92
Copy link
Member

Sure, thank you @leogr.

@poiana
Copy link
Contributor

poiana commented Jun 21, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@poiana
Copy link
Contributor

poiana commented Jul 21, 2023

Stale issues rot after 30d of inactivity.

Mark the issue as fresh with /remove-lifecycle rotten.

Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle rotten

@poiana
Copy link
Contributor

poiana commented Aug 20, 2023

Rotten issues close after 30d of inactivity.

Reopen the issue with /reopen.

Mark the issue as fresh with /remove-lifecycle rotten.

Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana poiana closed this as completed Aug 20, 2023
@poiana
Copy link
Contributor

poiana commented Aug 20, 2023

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue with /reopen.

Mark the issue as fresh with /remove-lifecycle rotten.

Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@leogr
Copy link
Member

leogr commented Aug 21, 2023

/remove-lifecycle rotten
/reopen

@poiana poiana reopened this Aug 21, 2023
@poiana
Copy link
Contributor

poiana commented Aug 21, 2023

@leogr: Reopened this issue.

In response to this:

/remove-lifecycle rotten
/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@poiana
Copy link
Contributor

poiana commented Nov 19, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Nov 22, 2023

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented Feb 20, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Feb 21, 2024

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented May 21, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented May 22, 2024

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented Aug 20, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member

leogr commented Aug 20, 2024

/remove-lifecycle stale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed kind/feature New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants