Skip to content

Conversation

@RobbieMcKinstry
Copy link
Contributor

Implements a complete Vercel provider (platform, monitor, and ingress)
behind a "vercel" feature flag (disabled by default).

Key features:

  • Platform: SHA1 hashing of all files with parallel uploads using tokio
  • File upload: Uses tokio WaitGroup pattern with semaphore (max 10 concurrent)
  • Each file uploaded individually with SHA1 hash headers
  • Configuration: Supports team_id, project_name, and project_dir
  • CLI args: --vercel-api-token, --vercel-team-id, --vercel-project-dir
  • Env vars: VERCEL_API_TOKEN, VERCEL_TEAM_ID, VERCEL_PROJECT_DIR

Components:

  • src/adapters/vercel/ - HTTP client for Vercel API
  • src/adapters/platforms/vercel.rs - Platform implementation
  • src/adapters/monitors/vercel.rs - Monitor implementation (placeholder)
  • src/adapters/ingresses/vercel.rs - Ingress implementation (placeholder)
  • src/artifacts/vercel/ - File manifest with SHA1 hashing

Dependencies added:

  • sha1 = "0.10" (optional, feature-gated)
  • hex = "0.4" (optional, feature-gated)

Based on Vercel API documentation for file uploads (Option 1).

Implements a complete Vercel provider (platform, monitor, and ingress)
behind a "vercel" feature flag (disabled by default).

Key features:
- Platform: SHA1 hashing of all files with parallel uploads using tokio
- File upload: Uses tokio WaitGroup pattern with semaphore (max 10 concurrent)
- Each file uploaded individually with SHA1 hash headers
- Configuration: Supports team_id, project_name, and project_dir
- CLI args: --vercel-api-token, --vercel-team-id, --vercel-project-dir
- Env vars: VERCEL_API_TOKEN, VERCEL_TEAM_ID, VERCEL_PROJECT_DIR

Components:
- src/adapters/vercel/ - HTTP client for Vercel API
- src/adapters/platforms/vercel.rs - Platform implementation
- src/adapters/monitors/vercel.rs - Monitor implementation (placeholder)
- src/adapters/ingresses/vercel.rs - Ingress implementation (placeholder)
- src/artifacts/vercel/ - File manifest with SHA1 hashing

Dependencies added:
- sha1 = "0.10" (optional, feature-gated)
- hex = "0.4" (optional, feature-gated)

Based on Vercel API documentation for file uploads (Option 1).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants