liveBook · Manning

GitHub

As explained in Effective Platform Engineering

GitHub is a hosted platform for version control, collaborative software development, and repository-based project management.

GitHub is a hosted platform for version control, collaborative software development, and repository-based project management. In an engineering platform, a GitHub organization groups users and repositories, while teams provide a manageable boundary for delivery and access control. section 6.2.1 section 7.3.1

A practical GitHub setup for a platform team includes:

  • Create an organization, add developers, create a platform-team team, and manage membership there. section 6.2.1
  • Secure individual access with personal access tokens, uploaded SSH keys, and signed commits. section 6.2.1
  • Use team membership as an authorization signal for connected tools and platform resources. section 7.3.1
  • Connect GitHub to identity and delivery systems, using native integrations where available and synchronization APIs elsewhere. section 7.3.1

Platform-team access flow

A developer authenticates through GitHub and corporate identity. The platform identity service retrieves the developer’s GitHub team memberships, then returns secure access to infrastructure or custom API resources. CircleCI can connect permissions directly to GitHub teams; other SaaS tools may require synchronization. section 7.3.1

Figure 7.8 For Epetech, we would like our IDP service to have built-in or easily configurable means of integrating with GitHub, requiring authentication through whatever means we have set up in GitHub. As a result of (1) successful authentication, we want the IDP to (2) get the list of all teams the user is a member of in our GitHub organization. Finally, we want to (3) return to the user a secure means of accessing the platform infrastructure or custom API resources.
A diagram of a diagram

AI-generated content may be incorrect.

Trace the authentication flow from GitHub through team lookup to secure platform-resource access. section 7.3.1

How Effective Platform Engineering covers it

How deep it goes
Explains organization and team setup, credentials, integrations, and authorization flow, while deferring complete identity-provider implementation.
Examples
Uses a GitHub organization, platform-team team, signed commits, CircleCI integration, and team-driven infrastructure access.
What it assumes
Assumes familiarity with software delivery and identity concepts while teaching GitHub organization, team, credential, and integration setup.
What you can do after
Configure organizations and teams, secure developer access, and connect team membership to SaaS and platform permissions.
How it connects
Connects GitHub teams with single sign-on, role-based access control, CircleCI, OAuth2, Kubernetes, and custom platform APIs.

Also explained in

Compare how 8 books explain GitHub →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Effective Platform Engineering. The section links point to the parts of the book it draws on.