CI/CD Integration

How to run TameFlare-governed agents in CI/CD pipelines. The proxy model works in any environment that supports HTTP_PROXY - GitHub Actions, GitLab CI, Jenkins, CircleCI, etc.


GitHub Actions example

name: Agent test with TameFlare
on: [push]
 
jobs:
  test-agent:
    runs-on: ubuntu-latest
    env:
      TF_DASHBOARD_URL: https://tameflare.com
      TF_GATEWAY_ID: ${{ secrets.TF_GATEWAY_ID }}
      TF_GATEWAY_TOKEN: ${{ secrets.TF_GATEWAY_TOKEN }}
    steps:
      - uses: actions/checkout@v4
 
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
 
      - name: Initialize TameFlare
        run: npx @tameflare/cli init --dashboard-url $TF_DASHBOARD_URL --gateway-id $TF_GATEWAY_ID --gateway-token $TF_GATEWAY_TOKEN
 
      - name: Run agent through TameFlare
        run: npx @tameflare/cli run --gateway "ci-agent" python my_agent.py
 
      - name: Check results
        run: npx @tameflare/cli logs --last 20
Tip
Create a dedicated gateway for CI in the dashboard. Store the gateway ID and token as GitHub Actions secrets.

Key considerations

Action limits in CI

CI runs count toward your action limit. For high-volume CI pipelines, consider:

  • Using the Starter tier's 1,000 actions/month for testing
  • Upgrading to Pro (10,000 actions/month) for production CI
  • Using monitor enforcement level in CI to log without blocking

Artifact collection

Save TameFlare logs as CI artifacts for debugging:

- name: Upload TameFlare logs
  if: always()
  uses: actions/upload-artifact@v4
  with:
    name: tameflare-logs
    path: tameflare-traffic.log
# Generate the log file before uploading
npx @tameflare/cli logs --last 50 > tameflare-traffic.log

Next steps