GitHub's Hosted Compute Networking allows you to manage private networking for GitHub-hosted products. This includes:

  • Secure access to internal resources
  • Controlled outbound network access
  • Monitoring network traffic for development and CI/CD infrastructure


It is especially useful for organizations that require secure, compliant, and tightly controlled networking environments for GitHub-hosted runners.


Use Cases in a University Environment

1. Secure Access to Internal Resources

Scenario: The university's IT department needs to ensure that only authorized CI/CD workflows can access internal databases and services.
Solution: Configure private networking so GitHub-hosted runners can securely connect to internal resources within an Azure Virtual Network (VNET), keeping sensitive data protected.

2. Controlled Outbound Network Access

Scenario: A research project requires controlled access to external APIs and services.
Solution: Use network configurations to restrict outbound access from GitHub-hosted runners to only approved external endpoints, enhancing security and compliance.

Default Settings & Restrictions

  • 🔒 Disabled by Default: Private networking is not enabled by default for GitHub-hosted products.
  • 🏢 Organization/Enterprise Level: Network configurations apply across all repositories within the organization or enterprise using GitHub-hosted runners.
  • Enable by Request: Activation requires a formal request to the IT department or designated administrator to ensure secure and approved usage.

Step-by-step: How to Start Using GitHub Hosted Compute Networking

1. Submit a Request

  • Contact your IT department or designated administrator.
  • Provide:
    • Purpose of using private networking
    • Required network configuration details

2. Configure Azure Resources

Azure Virtual Network (VNET)

  • Create a secure and isolated network environment for GitHub-hosted runners.

Subnets & Network Security Groups (NSGs)

  • Segment the network using subnets.
  • Apply NSGs to control inbound/outbound traffic.

Network Interface Cards (NICs)

  • Each GitHub-hosted runner deploys a NIC into your Azure VNET.
  • Enables communication with internet, Azure, and on-prem resources.

Private Endpoints (Optional)

  • Use private endpoints to securely access specific Azure services.

3. Create a Network Configuration in GitHub

Once Azure resources are ready, define the network configuration in GitHub.

Example Workflow Configuration
name: Private Network Configuration
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Configure Azure VNET
      run: az network vnet create --name MyVnet --resource-group MyResourceGroup --location eastus --address-prefix 10.0.0.0/16
    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'
    - run: npm install
    - run: npm test

 

4. Monitor and Maintain

  • Regularly monitor network configurations and logs.
  • Update configurations as needed to reflect changes in project scope or infrastructure.


Search Knowledge Base

Submit a Service Request