Extended Configurations for Organizations #1142
Replies: 4 comments 3 replies
-
|
I like the idea of making configs more scalable. Would you want this only in the action, or would you want to be able to do it from the CLI, too? It would require being online and (potentially, in the case of private repos) authenticating to the repo with the org-wide config, which isn't necessarily the worst thing, but it does add some complexity, IMO. Also, because I had a similar conversation recently at $dayjob, how would you expect conflicting settings to work? For a dev tool, org -> repo -> flags is the typical approach, but for a security tool, it might be desirable for the org-level settings to take precedent (or for some org-level settings to take precedent and others to be overridable on a per-repo basis). |
Beta Was this translation helpful? Give feedback.
-
|
Hi @mandreko-bitwarden, thanks for opening a discussion! FWIW, the way Homebrew does this is by synchronizing a You can see an example of that here: Homebrew/brew-pip-audit#232 (not a zizmor update in that case, but the same principle holds). There are a couple of interlocking things here:
|
Beta Was this translation helpful? Give feedback.
-
|
I solved this with a Required Workflow that triggers a Reusable Workflow. You can even make it opt-in or opt-out via Custom Properties.
It is a bit of an undocumented feature, but it works. Only grudge for me is Required Workflows do not support input, so if you need flexibility you need to duplicate Reusable Workflows, as you cannot call them with an input for dynamically deciding how Zizmor should behave. |
Beta Was this translation helpful? Give feedback.
-
|
#1585 highlights a similar set of user needs, so I've been thinking about this more. One possibility would be a The downside to that is that it'd be a single global config, i.e. wouldn't allow merging with any repo-specific config. The latter might be possible as well, but would require a much larger rearchitecting of how zizmor loads and associates configs with its input groups. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm part of an organization with a large number of repositories. We are implementing zizmor in all of them, and we're finding that we have to copy a
zizmor.ymlconfiguration file to each repository and maintain them individually when we make changes.I think it could be a good feature to allow a base configuration, like GitHub and other tools do in an organization-wide
.githubrepository. Another good example is Renovate, which allows you to make a per-repository configuration, which extends a base configuration that you store in a single repository.Locally, when we run zizmor, we can point to a shared
zizmor.ymlfile, but when running thezizmor-action, it only knows to look in the local repository unless we do something to remotely pull a new config manually.I'd love to see some functionality like this to help organizations create sane defaults, and then make minimal changes per-repository ;)
Beta Was this translation helpful? Give feedback.
All reactions