Skip to content

truxt-ai/github-zero-trust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Truxt AI - GitHub Zero Trust Collector

Pre-compiled binaries for the Truxt AI GitHub Zero Trust data collector. This collector enables secure, chunked data collection from GitHub repositories with OpenBao token authentication.

Available Binaries

  • bin/collector-chunked-linux-amd64 - Linux x86_64 (GitHub Actions, Jenkins, Docker)
  • bin/collector-chunked-linux-arm64 - Linux ARM64 (ARM servers)
  • bin/collector-chunked-darwin-amd64 - macOS Intel
  • bin/collector-chunked-darwin-arm64 - macOS Apple Silicon (M1/M2/M3)
  • bin/collector-chunked-windows-amd64.exe - Windows x86_64

Quick Start

Download for Your Platform

# Linux (GitHub Actions, Jenkins)
curl -fsSL https://raw.githubusercontent.com/truxt-ai/github-zero-trust/main/bin/collector-chunked-linux-amd64 -o collector-chunked
chmod +x collector-chunked

# macOS Apple Silicon
curl -fsSL https://raw.githubusercontent.com/truxt-ai/github-zero-trust/main/bin/collector-chunked-darwin-arm64 -o collector-chunked
chmod +x collector-chunked

# Windows
curl -fsSL https://raw.githubusercontent.com/truxt-ai/github-zero-trust/main/bin/collector-chunked-windows-amd64.exe -o collector-chunked.exe

Usage

./collector-chunked \
  -api-url https://yourcompany.truxt.ai \
  -api-key s.YOUR_TRUXT_OPENBAO_TOKEN \
  -connection-id 1 \
  -repo https://github.com/your-org/your-repo \
  -github-token ghp_YOUR_GITHUB_TOKEN \
  -flush-interval 20 \
  -flush-size 100

Features

Chunked Uploads

  • Time-based flush: Every 20 minutes (configurable)
  • Size-based flush: Every 100MB (configurable)
  • Resumability: Cursor-based checkpoint system
  • Azure Blob Storage: Direct uploads via SAS URLs

Parallel Collection (3 Workers)

  • Git Worker: Commits, files, refs (no rate limits)
  • GraphQL Worker: PRs with reviews/commits, Issues with labels
  • REST Worker: Workflow runs, jobs, releases

Smart Rate Limiting

  • Token Rotation: Round-robin across multiple GitHub tokens
  • GraphQL: Monitors point costs, rotates when < 100 remaining
  • REST: Monitors X-RateLimit-Remaining, rotates on exhaustion
  • Exponential Backoff: Smart retry on transient failures

Authentication

  • OpenBao Tokens: Auto-generated per connection (never expires)
  • Metadata Scoping: {connection_id, plugin, repository_url}
  • Policy-Based: github-zero-trust-collector policy

Flags

Flag Required Default Description
-api-url Yes - Truxt DoraLake API URL
-api-key Yes - OpenBao service token
-connection-id Yes - DoraLake connection ID
-repo Yes - GitHub repository URL
-github-token No - GitHub PAT(s), comma-separated for rotation
-flush-interval No 20 Minutes between chunk flushes
-flush-size No 100 MB size limit for chunks
-entities No all Comma-separated: commits,prs,issues,releases,jobs

Integration

GitHub Actions

- name: Install Collector
  run: |
    curl -fsSL https://raw.githubusercontent.com/truxt-ai/github-zero-trust/main/bin/collector-chunked-linux-amd64 -o collector
    chmod +x collector

- name: Run Collector
  run: |
    ./collector \
      -api-url ${{ secrets.TRUXT_API_URL }} \
      -api-key ${{ secrets.TRUXT_API_TOKEN }} \
      -connection-id 1 \
      -repo ${{ github.repository }} \
      -github-token ${{ secrets.GITHUB_TOKEN }}

Jenkins

stage('Install Collector') {
    steps {
        sh '''
            curl -fsSL https://raw.githubusercontent.com/truxt-ai/github-zero-trust/main/bin/collector-chunked-linux-amd64 -o collector
            chmod +x collector
        '''
    }
}

stage('Run Collector') {
    steps {
        sh '''
            ./collector \
              -api-url $TRUXT_API_URL \
              -api-key $TRUXT_API_TOKEN \
              -connection-id 1 \
              -repo $GIT_REPO_URL \
              -github-token $GITHUB_TOKEN
        '''
    }
}

Version

v1.0.0 - Initial release (2025-01-21)

License

Proprietary - Truxt AI. All rights reserved.

Support

For issues or questions, contact: support@truxt.ai

About

Truxt AI GitHub Zero Trust Collector Binaries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors