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

πŸ“… 4/29 @ 1pm PT - GitHub Enterprise repository auditing with @jeffwilcox #1

Closed
3 tasks done
gr2m opened this issue Apr 23, 2021 · 5 comments
Closed
3 tasks done
Assignees
Labels
show Preparation issue for a live show

Comments

@gr2m
Copy link
Owner

gr2m commented Apr 23, 2021

πŸ’πŸ» GitHub Enterprise repository auditing
πŸ“… Thursday, April 29, 2021
πŸ• 1pm Pacific Time (in your timezone)
πŸŽ™οΈ with @jeffwilcox
🏷️ Enterprise, REST, Action


Subscribe to this issues to get a notification before the show begins and a summary after the show concludes.

GitHub Enterprise repository auditing

Jeff suggested that topic on Twitter.

The goal is to create a daily audit file with all teams that have the triage or maintain permission in any repository for a given GitHub organization. Bonus: add individual contributors to the audit.

Recommended before the show

Outline

  1. Preparations
    1. Make the the prepared repository of the new action public and show its functionality
    2. Register a new GitHub App on @opencontoso (link with configuration presets)
    3. Add the app's credentials as repository secrets to the new repository
    4. In the action, authenticate as the app and its name
  2. Create the action
    1. Iterate through all @opencontoso repositories
    2. In each repository, iterate through all teams that have access
    3. Accumulate all repositories with their teams access permissions and set it as repositories action step output
    4. Update the test workflow in the repository
    5. Publish a new version of the action as v2
  3. Use the action
    1. Create a new audit repository in @opencontoso
    2. Create an audit.yml GitHub Action workflow in that repository, with a repository_dispatch and a schedule trigger
    3. Use the new action, log out the output
    4. Instead of logging the output, write it as a line to an audit.ndjson.log file in the repository
  4. Bonus
    • Add a timestamp to the log output
    • Iterate through all collaborators that were added directly

Preparation

@gr2m gr2m self-assigned this Apr 23, 2021
@gr2m
Copy link
Owner Author

gr2m commented Apr 24, 2021

Prepare a dummy organization with several teams, repositories, and respective permissions for development and testing

@jeffwilcox can you prepare such an organization for the show? Or let me know what we need and I'll set it up

@gr2m
Copy link
Owner Author

gr2m commented Apr 27, 2021

figure out how to host a stream that includes a guest calling in via video

I've ended up using Streamyard which invites a guest to join a recording/broadcast directly through the browser.

Prepare a dummy organization with several teams, repositories, and respective permissions for development and testing

We created @opencontoso and will likely make some more changes before the show on Thursday

@gr2m gr2m added the show Preparation issue for a live show label Apr 28, 2021
@gr2m
Copy link
Owner Author

gr2m commented Apr 29, 2021

Aaand that's a wrap, here is the recording on twitch: https://www.twitch.tv/videos/1005319644

image

@gr2m
Copy link
Owner Author

gr2m commented Apr 29, 2021

Show notes:

@gr2m
Copy link
Owner Author

gr2m commented Apr 29, 2021

The show is now archived on YouTube: https://youtu.be/EqBMPLrouh8.

Feel free to ask more questions in this thread!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
show Preparation issue for a live show
Projects
None yet
Development

No branches or pull requests

1 participant