Files
blackroad-operating-system/.github/dependabot.yml
Claude 2a8f12d5cb chore: phase 1 infrastructure implementation
Implement Phase 1 infrastructure from master orchestration plan.
This commit delivers production-ready deployment infrastructure,
comprehensive documentation, and workflow automation.

**Cloudflare DNS Infrastructure:**
- Add records.yaml with complete DNS config for all domains
- Add migrate_to_cloudflare.md with step-by-step migration guide
- Add cloudflare_dns_sync.py for automated DNS synchronization
- Update CLOUDFLARE_DNS_BLUEPRINT.md with implementation references

**Environment Variable Documentation:**
- Add ENV_VARS.md with comprehensive variable reference
- Document all services: Railway, GitHub Actions, Cloudflare, local
- Include security best practices and validation scripts
- Add troubleshooting guides and quick-start templates

**GitHub Actions Workflows:**
- Add railway-deploy-template.yml for Railway deployments
- Add frontend-deploy-template.yml for static site deployments
- Add codeql-analysis-template.yml for security scanning
- Add comprehensive-ci-template.yml for complete CI pipeline
- Add .github/dependabot.yml for automated dependency updates

**Frontend Infrastructure:**
- Add infra/frontend/LANDING_PAGE_PLAN.md with detailed implementation plan
- Include page structure, design system, content guidelines
- Document deployment options (GitHub Pages, Railway, Cloudflare Pages)

**Master Orchestration Updates:**
- Update MASTER_ORCHESTRATION_PLAN.md with implementation file references
- Add Phase 1 implementation checklist
- Document immediate, short-term, and medium-term next steps

**Impact:**
This implementation enables:
- Automated DNS management across 10+ domains
- Secure, documented deployment workflows
- Consistent environment configuration
- Automated security scanning and dependency updates
- Clear path to production for landing page

**Next Steps for Operator:**
1. Migrate DNS to Cloudflare using migrate_to_cloudflare.md
2. Configure GitHub and Railway secrets
3. Deploy backend with custom domains
4. Implement landing page using LANDING_PAGE_PLAN.md

Refs: #55 (Master Orchestration Prompt)
2025-11-18 02:51:52 +00:00

256 lines
6.6 KiB
YAML

# Dependabot Configuration
# ========================
#
# Dependabot automatically creates pull requests to update dependencies.
# This keeps your project secure and up-to-date.
#
# Documentation: https://docs.github.com/en/code-security/dependabot
#
# What Dependabot does:
# --------------------
# - Checks for outdated dependencies daily/weekly/monthly
# - Creates PRs to update them
# - Groups related updates together
# - Respects semantic versioning
# - Works with GitHub Actions to run tests
#
# How to use:
# ----------
# This file is already in the correct location (.github/dependabot.yml)
# Just commit it and Dependabot will start working automatically!
version: 2
updates:
# ========================================
# Backend Python Dependencies
# ========================================
- package-ecosystem: "pip"
directory: "/backend"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
open-pull-requests-limit: 5
reviewers:
- "alexa-amundson"
labels:
- "dependencies"
- "backend"
- "python"
commit-message:
prefix: "chore(deps)"
include: "scope"
# Group minor and patch updates together
groups:
fastapi-stack:
patterns:
- "fastapi*"
- "uvicorn*"
- "pydantic*"
- "starlette*"
database-stack:
patterns:
- "sqlalchemy*"
- "alembic*"
- "psycopg*"
- "asyncpg*"
testing-stack:
patterns:
- "pytest*"
- "coverage*"
- "httpx*"
# ========================================
# Frontend NPM Dependencies (if exists)
# ========================================
# Uncomment if you have a package.json for frontend
# - package-ecosystem: "npm"
# directory: "/frontend"
# schedule:
# interval: "weekly"
# day: "monday"
# time: "06:00"
# open-pull-requests-limit: 5
# reviewers:
# - "alexa-amundson"
# labels:
# - "dependencies"
# - "frontend"
# - "javascript"
# commit-message:
# prefix: "chore(deps)"
# groups:
# dev-dependencies:
# dependency-type: "development"
# ========================================
# Python SDK Dependencies
# ========================================
- package-ecosystem: "pip"
directory: "/sdk/python"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
open-pull-requests-limit: 3
labels:
- "dependencies"
- "sdk"
- "python"
commit-message:
prefix: "chore(sdk)"
# ========================================
# TypeScript SDK Dependencies
# ========================================
- package-ecosystem: "npm"
directory: "/sdk/typescript"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
open-pull-requests-limit: 3
labels:
- "dependencies"
- "sdk"
- "typescript"
commit-message:
prefix: "chore(sdk)"
# ========================================
# GitHub Actions Workflows
# ========================================
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
open-pull-requests-limit: 3
labels:
- "dependencies"
- "github-actions"
- "ci-cd"
commit-message:
prefix: "chore(ci)"
# ========================================
# Docker (if using Dockerfile)
# ========================================
- package-ecosystem: "docker"
directory: "/backend"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
open-pull-requests-limit: 2
labels:
- "dependencies"
- "docker"
commit-message:
prefix: "chore(docker)"
# ========================================
# Configuration Options Explained
# ========================================
#
# package-ecosystem:
# - pip: Python (requirements.txt, setup.py)
# - npm: JavaScript/TypeScript (package.json)
# - github-actions: GitHub Actions workflows
# - docker: Dockerfiles
# - bundler: Ruby (Gemfile)
# - composer: PHP (composer.json)
# - cargo: Rust (Cargo.toml)
#
# directory:
# - Path where the manifest file is located
# - Use "/" for root, "/backend" for subdirectory
#
# schedule.interval:
# - daily: Check every day
# - weekly: Check once a week
# - monthly: Check once a month
#
# open-pull-requests-limit:
# - Max number of open dependency PRs at once
# - Prevents PR spam
# - Recommended: 3-10
#
# reviewers:
# - GitHub usernames to request review from
# - Helps ensure updates are reviewed
#
# labels:
# - Labels to add to PRs
# - Helps organize and filter
#
# groups:
# - Group related dependencies into single PR
# - Reduces PR noise
# - Example: Update all pytest-related packages together
#
# commit-message.prefix:
# - Prefix for commit messages
# - Common: "chore(deps)", "build", "deps"
#
# ========================================
# Best Practices
# ========================================
#
# 1. Review PRs before merging:
# - Check changelogs
# - Run tests
# - Look for breaking changes
#
# 2. Use groups to reduce PR noise:
# - Group related packages
# - Group by type (dev vs prod)
#
# 3. Set appropriate schedule:
# - Weekly for active projects
# - Monthly for stable projects
# - Daily for security-critical projects
#
# 4. Limit open PRs:
# - Prevents backlog of unreviewed PRs
# - 5-10 is usually good
#
# 5. Auto-merge patch updates (optional):
# - Use GitHub auto-merge for patch versions
# - Requires passing CI tests
#
# ========================================
# Monitoring
# ========================================
#
# View Dependabot activity:
# - Repository → Insights → Dependency graph → Dependabot
# - Repository → Pull requests (filter by label: "dependencies")
#
# Configure alerts:
# - Repository → Settings → Security & analysis
# - Enable "Dependabot alerts"
# - Enable "Dependabot security updates"
#
# ========================================
# Troubleshooting
# ========================================
#
# Dependabot not creating PRs?
# - Check .github/dependabot.yml is valid YAML
# - Verify manifest files exist (requirements.txt, package.json)
# - Check repository settings → Security & analysis
# - Look for errors in Settings → Dependabot
#
# Too many PRs?
# - Reduce open-pull-requests-limit
# - Change schedule to monthly
# - Use groups to combine updates
#
# PRs failing tests?
# - Fix breaking changes before merging
# - Pin problematic dependencies
# - Use version ranges in manifest files