evolution icon indicating copy to clipboard operation
evolution copied to clipboard

Automate `org.yaml` generation

Open zuc opened this issue 3 years ago • 37 comments

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 avatar Sep 08 '22 10:09 zuc

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

zuc avatar Sep 08 '22 10:09 zuc

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

zuc avatar Sep 08 '22 10:09 zuc

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? :thinking:

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?

leogr avatar Sep 08 '22 16:09 leogr

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), ...).

zuc avatar Sep 09 '22 08:09 zuc

Somehow related, IMO :point_down: https://github.com/falcosecurity/evolution/issues/198

leogr avatar Sep 12 '22 15:09 leogr

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 avatar Dec 11 '22 15:12 poiana

/remove-lifecycle stale

we still want this

leogr avatar Dec 16 '22 10:12 leogr

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 avatar Mar 16 '23 15:03 poiana

/remove-lifecycle stale /help

leogr avatar Mar 19 '23 15:03 leogr

@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 avatar Mar 19 '23 15:03 poiana

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

Edit: somehow related https://github.com/falcosecurity/test-infra/issues/777

maxgio92 avatar Mar 19 '23 21:03 maxgio92

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.

leogr avatar Mar 23 '23 13:03 leogr

Sure, thank you @leogr.

maxgio92 avatar Mar 23 '23 15:03 maxgio92

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 avatar Jun 21 '23 19:06 poiana

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 avatar Jul 21 '23 19:07 poiana

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 avatar Aug 20 '23 19:08 poiana

@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.

poiana avatar Aug 20 '23 19:08 poiana

/remove-lifecycle rotten /reopen

leogr avatar Aug 21 '23 09:08 leogr

@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 avatar Aug 21 '23 09:08 poiana

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 avatar Nov 19 '23 09:11 poiana

/remove-lifecycle stale

leogr avatar Nov 22 '23 16:11 leogr

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 avatar Feb 20 '24 21:02 poiana

/remove-lifecycle stale

leogr avatar Feb 21 '24 13:02 leogr

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 avatar May 21 '24 15:05 poiana

/remove-lifecycle stale

leogr avatar May 22 '24 08:05 leogr

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 avatar Aug 20 '24 10:08 poiana

/remove-lifecycle stale

leogr avatar Aug 20 '24 12:08 leogr