justaugustus
Repos
153
Followers
425
Following
51

Release infrastructure for Kubernetes and related components

438
457

Pre-release organization info, meeting notes, collaboration, etc.

38
9

Container and file artifact promotion tooling for the Kubernetes project

124
59

CNCF Technical Advisory Group on Contributor Strategy -- maintainer relations, building up contributors, governance, graduation, and more.

80
59

OpenSSF Scorecard - Security health metrics for Open Source

3204
314

OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors

7794
1371

Events

build(deps): Bump github/codeql-action from 2.2.1 to 2.2.2 (#79)

Bumps github/codeql-action from 2.2.1 to 2.2.2.


updated-dependencies:

  • dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ...

Signed-off-by: dependabot[bot] support@github.com Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Created at 2 hours ago
pull request closed
build(deps): Bump github/codeql-action from 2.2.1 to 2.2.2

Bumps github/codeql-action from 2.2.1 to 2.2.2.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Created at 2 hours ago
pull request closed
workflows: Add peribolos dry-run postsubmit

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago

workflows: Add peribolos dry-run postsubmit (#174)

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago

workflows: Add peribolos dry-run postsubmit

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago

[DROP] workflows: Test peribolos run w/ read-all permissions

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
pull request opened
workflows: Add peribolos pre- and postsubmits

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
create branch
justaugustus create branch add-jobs
Created at 4 days ago
create tag
justaugustus create tag v0.0.1
Created at 4 days ago

config: Split orgs into component subdirectories based on teams (#173)

  • config: Add uwu-tools org
  • config: Remove repos and split teams into separate directories
  • admin: Specify that team repos should be configured during updates

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
pull request closed
config: Split orgs into component subdirectories based on teams
  • config: Add uwu-tools org
  • config: Remove repos and split teams into separate directories
  • admin: Specify that team repos should be configured during updates

Signed-off-by: Stephen Augustus foo@auggie.dev


This gets the configs into a similar structure as https://github.com/kubernetes/org/tree/main/config, namely:

  • multiple orgs to run peribolos against: config/{org1,org2}/org.yaml
  • no repos to reconcile (at this stage)
  • orgs have multiple teams: config/org1/{group1,group2}/teams.yaml

Here's what that looks like:

❯ ./admin/update.sh --github-token-path ~/.github-token --confirm
+++ dirname ./admin/update.sh
++ cd ./admin/..
++ pwd -P
+ REPO_ROOT=/Users/augustus/prj/uwu-tools/peribolos
+ readonly REPO_ROOT
+ admins=('auggie-bot' 'cpanato' 'justaugustus')
+ readonly admins
+ readonly min_admins=3
+ min_admins=3
+ readonly config_path=config
+ config_path=config
+ cd /Users/augustus/prj/uwu-tools/peribolos
+ make update-prep
go build -v -o /Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos
github.com/uwu-tools/peribolos
+ cmd=/Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos
+ args=(--config-path="$config_path" --fix-org --fix-org-members --fix-teams --fix-team-members --fix-team-repos --min-admins="$min_admins" "${admins[@]/#/--required-admins=}")
+ /Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos --config-path=config --fix-org --fix-org-members --fix-teams --fix-team-members --fix-team-repos --min-admins=3 --required-admins=auggie-bot --required-admins=cpanato --required-admins=justaugustus --github-token-path /Users/augustus/.github-token --confirm
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"Throttle(300, 100, *)","severity":"info","time":"2023-02-02T13:47:34-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/cmd/main.go:114","func":"github.com/uwu-tools/peribolos/cmd.rootCmd","level":"info","msg":"Adding config for org: relengfam","severity":"info","time":"2023-02-02T13:47:34-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/cmd/main.go:114","func":"github.com/uwu-tools/peribolos/cmd.rootCmd","level":"info","msg":"Adding config for org: uwu-tools","severity":"info","time":"2023-02-02T13:47:34-05:00"}
orgs:
  relengfam:
    admins:
    - auggie-bot
    - cpanato
    - justaugustus
    billing_email: fake@example.com
    company: ""
    default_repository_permission: read
    description: ""
    email: ""
    has_organization_projects: true
    has_repository_projects: true
    location: ""
    members_can_create_repositories: true
    name: ""
  uwu-tools:
    admins:
    - auggie-bot
    - cpanato
    - justaugustus
    - sethmccombs
    billing_email: foo@auggie.dev
    company: ""
    default_repository_permission: read
    description: ""
    email: ""
    has_organization_projects: true
    has_repository_projects: true
    location: ""
    members:
    - detiber
    members_can_create_repositories: true
    name: ""
    teams:
      gh-jira-issue-sync-admins:
        description: ""
        maintainers:
        - justaugustus
        members:
        - detiber
        privacy: closed
        repos:
          gh-jira-issue-sync: admin
      gh-jira-issue-sync-maintainers:
        description: ""
        maintainers:
        - justaugustus
        members:
        - detiber
        privacy: closed
        repos:
          gh-jira-issue-sync: maintain
      peribolos-admins:
        description: ""
        maintainers:
        - justaugustus
        - cpanato
        members:
        - detiber
        privacy: closed
        repos:
          peribolos: admin
      peribolos-maintainers:
        description: ""
        maintainers:
        - justaugustus
        - cpanato
        members:
        - detiber
        privacy: closed
        repos:
          peribolos: maintain

{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetOrg(relengfam)","severity":"info","time":"2023-02-02T13:47:34-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:34-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgInvitations(relengfam)","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"User()","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(relengfam, admin)","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(relengfam, member)","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:35-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/org/org.go:52","func":"github.com/uwu-tools/peribolos/org.Configure","level":"info","msg":"Skipping org repositories configuration","severity":"info","time":"2023-02-02T13:47:36-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeams(relengfam)","severity":"info","time":"2023-02-02T13:47:36-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:36-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetOrg(uwu-tools)","severity":"info","time":"2023-02-02T13:47:36-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:36-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgInvitations(uwu-tools)","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(uwu-tools, admin)","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(uwu-tools, member)","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:37-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/org/org.go:52","func":"github.com/uwu-tools/peribolos/org.Configure","level":"info","msg":"Skipping org repositories configuration","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeams(uwu-tools)","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, gh-jira-issue-sync-admins, member)","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, gh-jira-issue-sync-admins, maintainer)","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:38-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamInvitationsBySlug(uwu-tools, gh-jira-issue-sync-admins)","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamReposBySlug(uwu-tools, gh-jira-issue-sync-admins)","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, gh-jira-issue-sync-maintainers, member)","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, gh-jira-issue-sync-maintainers, maintainer)","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:39-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamInvitationsBySlug(uwu-tools, gh-jira-issue-sync-maintainers)","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamReposBySlug(uwu-tools, gh-jira-issue-sync-maintainers)","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, peribolos-admins, member)","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, peribolos-admins, maintainer)","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:40-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamInvitationsBySlug(uwu-tools, peribolos-admins)","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamReposBySlug(uwu-tools, peribolos-admins)","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, peribolos-maintainers, member)","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamMembersBySlug(uwu-tools, peribolos-maintainers, maintainer)","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:41-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamInvitationsBySlug(uwu-tools, peribolos-maintainers)","severity":"info","time":"2023-02-02T13:47:42-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:42-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeamReposBySlug(uwu-tools, peribolos-maintainers)","severity":"info","time":"2023-02-02T13:47:42-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T13:47:42-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/cmd/main.go:142","func":"github.com/uwu-tools/peribolos/cmd.rootCmd","level":"info","msg":"Finished syncing configuration.","severity":"info","time":"2023-02-02T13:47:42-05:00"}
Created at 4 days ago
pull request opened
config: Split orgs into component subdirectories based on teams
Created at 4 days ago

build(deps): bump sigs.k8s.io/yaml from 1.2.0 to 1.3.0 (#11)

build(deps): bump github.com/google/go-cmp from 0.5.6 to 0.5.7 (#13)

initial conversion to run on actions

Signed-off-by: cpanato ctadeu@gmail.com

.github: Initial config for CodeQL & Scorecard

Signed-off-by: Stephen Augustus foo@auggie.dev

Merge pull request #17 from cpanato/actions

Initial conversion to run on actions

ko: Use apko v0.1.2 as base image (#18)

Signed-off-by: Stephen Augustus foo@auggie.dev

.github: Harden Action runners (#19)

Signed-off-by: Stephen Augustus foo@auggie.dev

fix ci

Signed-off-by: cpanato ctadeu@gmail.com

remove test to work in new test case suite

Signed-off-by: cpanato ctadeu@gmail.com

Merge pull request #20 from cpanato/test

fix ci

make peribolos run locally and as github actions

Signed-off-by: cpanato ctadeu@gmail.com

Line-wrap flags for readability

Signed-off-by: Stephen Augustus foo@auggie.dev

Use constants for flag names

Signed-off-by: Stephen Augustus foo@auggie.dev

Move parsing from Action input to separate method

Signed-off-by: Stephen Augustus foo@auggie.dev

Fix handling for Actions environments

Signed-off-by: Stephen Augustus foo@auggie.dev

Merge pull request #21 from cpanato/work-as-binaryu

Allow local runs and simulating GitHub Actions environment

build(deps): bump actions/setup-go from 2.2.0 to 3 (#23)

Encapsulate run logic in a separate function

Signed-off-by: Stephen Augustus foo@auggie.dev

Move options logic to separate file

Signed-off-by: Stephen Augustus foo@auggie.dev

Infer if peribolos is running in a GitHub Action from env vars

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago

Perform config merges if specified config path is a directory (#172)

The merge command primarily exists as a preprocessor. Together with bash and Makefile targets, it:

  • merges org configs across multiple directories
  • outputs the merged config as a file
  • runs peribolos against the generated config

This change internalizes that preprocessing when it recognizes that peribolos is being run against a config dir, instead of an individual YAML config file.

The specified config dir can be named anything, but the nested org configs will be expected to have the following form:

<config-dir>/<org-name>/org.yaml

The merge subcommand may be removed in a future iteration.

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
pull request closed
Perform config merges if specified config path is a directory

The merge command primarily exists as a preprocessor. Together with bash and Makefile targets, it:

  • merges org configs across multiple directories
  • outputs the merged config as a file
  • runs peribolos against the generated config

This change internalizes that preprocessing when it recognizes that peribolos is being run against a config dir, instead of an individual YAML config file.

The specified config dir can be named anything, but the nested org configs will be expected to have the following form:

<config-dir>/<org-name>/org.yaml

The merge subcommand may be removed in a future iteration.

Signed-off-by: Stephen Augustus foo@auggie.dev


Example command:

peribolos --config-path=config --fix-org --fix-org-members --fix-teams --fix-team-members --min-admins=3 --required-admins=auggie-bot --required-admins=cpanato --required-admins=justaugustus --github-token-path /Users/augustus/.github-token

Example output:

❯ ./admin/update.sh --github-token-path ~/.github-token
+++ dirname ./admin/update.sh
++ cd ./admin/..
++ pwd -P
+ REPO_ROOT=/Users/augustus/prj/uwu-tools/peribolos
+ readonly REPO_ROOT
+ admins=('auggie-bot' 'cpanato' 'justaugustus')
+ readonly admins
+ readonly min_admins=3
+ min_admins=3
+ readonly config_path=config
+ config_path=config
+ cd /Users/augustus/prj/uwu-tools/peribolos
+ make update-prep
go build -v -o /Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos
github.com/uwu-tools/peribolos
+ cmd=/Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos
+ args=(--config-path="$config_path" --fix-org --fix-org-members --fix-teams --fix-team-members --min-admins="$min_admins" "${admins[@]/#/--required-admins=}")
+ /Users/augustus/prj/uwu-tools/peribolos/_output/bin/peribolos --config-path=config --fix-org --fix-org-members --fix-teams --fix-team-members --min-admins=3 --required-admins=auggie-bot --required-admins=cpanato --required-admins=justaugustus --github-token-path /Users/augustus/.github-token
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"Throttle(300, 100, *)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/cmd/main.go:114","func":"github.com/uwu-tools/peribolos/cmd.rootCmd","level":"info","msg":"Adding config for org: relengfam","severity":"info","time":"2023-02-02T06:34:53-05:00"}
orgs:
  relengfam:
    admins:
    - auggie-bot
    - cpanato
    - justaugustus
    billing_email: fake@example.com
    company: ""
    default_repository_permission: read
    description: ""
    email: ""
    has_organization_projects: true
    has_repository_projects: true
    location: ""
    members_can_create_repositories: true
    name: ""
    repos:
      .allstar:
        default_branch: main
        has_projects: true
      artifacts:
        default_branch: main
        description: Kubernetes artifact promotion configurations
        has_projects: true
        homepage: https://artifacts.k8s.io/
      discuss-test:
        default_branch: main
        has_projects: true
        private: true

{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetOrg(relengfam)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgInvitations(relengfam)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"User()","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(relengfam, admin)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(relengfam, member)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/org/org.go:52","func":"github.com/uwu-tools/peribolos/org.Configure","level":"info","msg":"Skipping org repositories configuration","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:918","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeams(relengfam)","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20230130201249-27b8435f1305/prow/github/client.go:1191","func":"k8s.io/test-infra/prow/github.(*client).doRequest","level":"info","msg":"Using GitHub REST API Version: 2022-11-28","severity":"info","time":"2023-02-02T06:34:53-05:00"}
{"component":"unset","file":"/Users/augustus/prj/uwu-tools/peribolos/cmd/main.go:142","func":"github.com/uwu-tools/peribolos/cmd.rootCmd","level":"info","msg":"Finished syncing configuration.","severity":"info","time":"2023-02-02T06:34:54-05:00"}
Created at 4 days ago
closed issue
Dump commands do not produce valid yaml documents

Running a dump yields the following:

go run main.go --dump uwu-tools --github-token-path ~/.github-token | tee uwu-tools.yaml
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"Throttle(300, 100, *)","severity":"info","time":"2022-07-06T07:24:29-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetOrg(uwu-tools)","severity":"info","time":"2022-07-06T07:24:29-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"User()","severity":"info","time":"2022-07-06T07:24:29-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(uwu-tools, admin)","severity":"info","time":"2022-07-06T07:24:30-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListOrgMembers(uwu-tools, member)","severity":"info","time":"2022-07-06T07:24:30-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"ListTeams(uwu-tools)","severity":"info","time":"2022-07-06T07:24:30-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetRepos(uwu-tools, false)","severity":"info","time":"2022-07-06T07:24:30-04:00"}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20220701081723-ad3e4ab74c32/prow/github/client.go:910","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"GetRepo(uwu-tools, go-ghcrawl)","severity":"info","time":"2022-07-06T07:24:30-04:00"}
{"component":"unset","file":"/Users/augustus/prj/relengfam/peribolos/cmd/main.go:84","func":"github.com/relengfam/peribolos/cmd.rootCmd","level":"info","msg":"Dumping orgs[\"uwu-tools\"]:","severity":"info","time":"2022-07-06T07:24:30-04:00"}
admins:
- auggie-bot
- justaugustus
- sethmccombs
billing_email: ***@example.com
company: ""
default_repository_permission: read
description: ""
email: ""
has_organization_projects: true
has_repository_projects: true
location: ""
members_can_create_repositories: true
name: ""
repos:
  go-ghcrawl:
    default_branch: main
    has_projects: true

Now, let's try a merge:

./admin/update.sh --github-token-path ~/.github-token
+++ dirname ./admin/update.sh
++ cd ./admin/..
++ pwd -P
+ REPO_ROOT=/Users/augustus/prj/relengfam/peribolos
+ readonly REPO_ROOT
+ admins=('cpanato' 'justaugustus')
+ readonly admins
+ cd /Users/augustus/prj/relengfam/peribolos
+ make update-prep
cat: imagerefs: No such file or directory
make: Circular merge <- merge dependency dropped.
mkdir -p "/Users/augustus/prj/relengfam/peribolos/_output"
/Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos merge \
		--merge-teams \
		--org-part=uwu-tools=config/uwu-tools/org.yaml \
		> /Users/augustus/prj/relengfam/peribolos/_output/gen-config.yaml
+ cmd=/Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos
+ args=(--config-path="${REPO_ROOT}/_output/gen-config.yaml" --fix-org --fix-org-members --fix-teams --fix-team-members "${admins[@]/#/--required-admins=}")
+ /Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos --config-path=/Users/augustus/prj/relengfam/peribolos/_output/gen-config.yaml --fix-org --fix-org-members --fix-teams --fix-team-members --required-admins=cpanato --required-admins=justaugustus --github-token-path /Users/augustus/.github-token
{}
{"client":"github","component":"unset","file":"/Users/augustus/go/pkg/mod/k8s.io/test-infra@v0.0.0-20211221011455-3d87616db8ae/prow/github/client.go:889","func":"k8s.io/test-infra/prow/github.(*client).log","level":"info","msg":"Throttle(300, 100, *)","severity":"info","time":"2022-07-06T07:35:05-04:00"}
{"component":"unset","file":"/Users/augustus/prj/relengfam/peribolos/cmd/main.go:106","func":"github.com/relengfam/peribolos/cmd.rootCmd","level":"info","msg":"Finished syncing configuration.","severity":"info","time":"2022-07-06T07:35:05-04:00"}

Let's look at the output:

❯ cat _output/gen-config.yaml

_output/gen-config.yaml:

{}

orgs:
  uwu-tools:
    admins:
    - auggie-bot
    - cpanato
    - justaugustus
    - sethmccombs
    billing_email: ***@example.com
    company: ""
    default_repository_permission: read
    description: ""
    email: ""
    has_organization_projects: true
    has_repository_projects: true
    location: ""
    members_can_create_repositories: true
    name: ""
    repos:
      go-ghcrawl:
        default_branch: main
        has_projects: true

The above file is not a valid yaml document.

Note the following at the top of the file:

{}

Note the same when using the --help flag:

./admin/update.sh --github-token-path ~/.github-token --help
+++ dirname ./admin/update.sh
++ cd ./admin/..
++ pwd -P
+ REPO_ROOT=/Users/augustus/prj/relengfam/peribolos
+ readonly REPO_ROOT
+ admins=('cpanato' 'justaugustus')
+ readonly admins
+ cd /Users/augustus/prj/relengfam/peribolos
+ make update-prep
cat: imagerefs: No such file or directory
make: Circular merge <- merge dependency dropped.
mkdir -p "/Users/augustus/prj/relengfam/peribolos/_output"
/Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos merge \
		--merge-teams \
		--org-part=uwu-tools=config/uwu-tools/org.yaml \
		> /Users/augustus/prj/relengfam/peribolos/_output/gen-config.yaml
+ cmd=/Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos
+ args=(--config-path="${REPO_ROOT}/_output/gen-config.yaml" --fix-org --fix-org-members --fix-teams --fix-team-members "${admins[@]/#/--required-admins=}")
+ /Users/augustus/prj/relengfam/peribolos/_output/bin/peribolos --config-path=/Users/augustus/prj/relengfam/peribolos/_output/gen-config.yaml --fix-org --fix-org-members --fix-teams --fix-team-members --required-admins=cpanato --required-admins=justaugustus --github-token-path /Users/augustus/.github-token --help
{}

Usage:
   [flags]
   [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  merge
  version     Prints the version

Flags:
      --allow-repo-archival                      If set, archiving repos is allowed while updating repos
      --allow-repo-publish                       If set, making private repos public is allowed while updating repos
      --config-path string                       Path to org config.yaml
      --confirm                                  Mutate github if set

<snip>

Use " [command] --help" for more information about a command.
Created at 4 days ago
issue comment
Dump commands do not produce valid yaml documents

It looks like this actually was fixed by https://github.com/uwu-tools/peribolos/pull/161, so closing. Will reopen if needed.

Created at 4 days ago

Perform config merges if specified config path is a directory

The merge command primarily exists as a preprocessor. Together with bash and Makefile targets, it:

  • merges org configs across multiple directories
  • outputs the merged config as a file
  • runs peribolos against the generated config

This change internalizes that preprocessing when it recognizes that peribolos is being run against a config dir, instead of an individual YAML config file.

The specified config dir can be named anything, but the nested org configs will be expected to have the following form:

<config-dir>/<org-name>/org.yaml

The merge subcommand may be removed in a future iteration.

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
pull request opened
Perform config merges if specified config path is a directory

The merge command primarily exists as a preprocessor. Together with bash and Makefile targets, it:

  • merges org configs across multiple directories
  • outputs the merged config as a file
  • runs peribolos against the generated config

This change internalizes that preprocessing when it recognizes that peribolos is being run against a config dir, instead of an individual YAML config file.

The specified config dir can be named anything, but the nested org configs will be expected to have the following form:

<config-dir>/<org-name>/org.yaml

The merge subcommand may be removed in a future iteration.

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago

Perform config merges if specified config path is a directory

The merge command primarily exists as a preprocessor. Together with bash and Makefile targets, it:

  • merges org configs across multiple directories
  • outputs the merged config as a file
  • runs peribolos against the generated config

This change internalizes that preprocessing when it recognizes that peribolos is being run against a config dir, instead of an individual YAML config file.

The specified config dir can be named anything, but the nested org configs will be expected to have the following form:

<config-dir>/<org-name>/org.yaml

The merge subcommand may be removed in a future iteration.

Signed-off-by: Stephen Augustus foo@auggie.dev

Created at 4 days ago
create branch
justaugustus create branch merge
Created at 4 days ago

Apply suggestions from code review

Signed-off-by: Stephen Augustus (he/him) justaugustus@users.noreply.github.com

Created at 4 days ago
Created at 4 days ago
Created at 4 days ago
Created at 4 days ago