refactor: Replace PR description with reusable template

This commit is contained in:
Don Artkins 2026-09-29 03:52:02 +03:00
parent 8aedfc8f45
commit 3f4bf25309

View file

@ -1,85 +1,33 @@
# Fix: Vercel Free Domain Verification (Issue #1373)
## Description
Fixes verification of Vercel free tier domains (`*.vercel.app`) in the Strix platform.
<!-- Provide a brief description of your changes -->
**Issue:** usestrix/strix#1373
## Type of Change
## Problem
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update
- [ ] Dependency update
When attempting to review a Vercel free deployment using a default domain (e.g., `demo.vercel.app`), the verification failed with:
## Related Issue
```
vercel.app was not found in the connected Vercel account.
Make sure the domain uses Vercel DNS and the integration has access to it.
```
## Root Cause
The domain verification system did not recognize Vercel's default free tier domains (`*.vercel.app`) as valid provider-hosted domains. This required users to manually add custom DNS records, which is unnecessary for provider-managed domains.
## Solution
### New Module: `strix/interface/cloud/domain_verifier.py`
Adds special handling for cloud provider default domains:
- **`PROVIDER_DEFAULT_DOMAINS`**: Dictionary mapping provider domain patterns to metadata
- **`is_provider_default_domain()`**: Checks if a domain is a recognized provider default
- **`get_provider_info()`**: Returns provider metadata (name, DNS requirements)
- **`validate_domain_verification_method()`**: Determines appropriate verification flow (DNS vs provider)
- **`verify_provider_domain()`**: Handles provider-specific domain verification
### Supported Providers
- **Vercel**: `*.vercel.app` (no DNS verification required)
- **Netlify**: `*.netlify.app`
- **GitHub Pages**: `*.github.io`
- **Heroku**: `*.herokuapp.com`
### Key Features
1. **Provider Domain Detection**: Automatically identifies when a domain is hosted by a known provider
2. **Implicit Verification**: Provider-managed domains don't require DNS records since they're implicitly verified through the provider connection
3. **Extensible Design**: Easy to add support for additional providers
4. **Case-Insensitive Matching**: Handles domain names regardless of case
<!-- Link to the issue this PR addresses (e.g., Fixes #1234) -->
## Testing
Comprehensive test suite in `tests/test_domain_verification.py` covers:
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing completed
- Provider domain pattern recognition
- Case-insensitive domain matching
- Trailing dot handling
- Custom domain exclusion
- Verification method selection
- Provider information retrieval
## Checklist
## Usage
- [ ] Code follows project style guidelines
- [ ] Documentation has been updated
- [ ] No new warnings generated
- [ ] Tests pass locally
- [ ] Changes are backwards compatible
```python
from strix.interface.cloud.domain_verifier import (
is_provider_default_domain,
validate_domain_verification_method,
verify_provider_domain,
)
## Additional Context
# Check if domain is provider-hosted
if is_provider_default_domain("demo.vercel.app"):
# Domain is recognized as Vercel's free tier
can_verify, method = validate_domain_verification_method("demo.vercel.app")
if method == "provider":
verified, msg = await verify_provider_domain("demo.vercel.app")
```
## Impact
- **User Experience**: Users can now verify Vercel free tier deployments without manual DNS configuration
- **Consistency**: Matches behavior of other platforms (Netlify, GitHub Pages, Heroku)
- **Maintainability**: Centralized provider domain logic is easier to extend and test
## Related
- Resolves: usestrix/strix#1373
- Related to: Vercel integration improvements
<!-- Add any other relevant information here -->