Files
blackroad-operating-system/.github/workflows/sync-satellites.yml
Alexa Louise 591f64cb60 feat: Add CI/CD workflows and Cloudflare DNS Terraform
## GitHub Actions Workflows

### deploy-railway.yml
- Automated Railway deployments on push to main
- Change detection for AIops, Analytics, Codex, and Infra
- Manual dispatch with service selection
- Deployment summary in GitHub Actions

### sync-satellites.yml
- Automatic sync from monorepo to satellite repos
- Pushes services to BlackRoad-OS organization repos:
  - AIops → blackroad-os-infra
  - Analytics → blackroad-os-core
  - Codex → blackroad-os-operator

## Cloudflare DNS Terraform (infra/cloudflare/dns-records.tf)

### blackroad.systems Subdomains
- api, core, operator, beacon, prism, docs
- console, infra, archive, demo, research
- finance, legal, devops, lab (packs)

### blackroad.io Subdomains
- app, home, api, creator, os

All records configured as proxied CNAMEs to Railway services.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:44:11 -06:00

68 lines
2.0 KiB
YAML

name: Sync to Satellite Repos
on:
push:
branches: [main]
paths:
- 'services/**'
- 'infra/**'
workflow_dispatch:
jobs:
sync-infra:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync AIops to blackroad-os-infra
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.INFRA_DEPLOY_KEY }}
with:
source-directory: 'services/aiops'
destination-github-username: 'BlackRoad-OS'
destination-repository-name: 'blackroad-os-infra'
target-directory: 'services/aiops'
target-branch: main
commit-message: 'sync: Update AIops from monorepo'
sync-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync Analytics to blackroad-os-core
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.CORE_DEPLOY_KEY }}
with:
source-directory: 'services/analytics'
destination-github-username: 'BlackRoad-OS'
destination-repository-name: 'blackroad-os-core'
target-directory: 'services/analytics'
target-branch: main
commit-message: 'sync: Update Analytics from monorepo'
sync-operator:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync Codex to blackroad-os-operator
uses: cpina/github-action-push-to-another-repository@main
env:
SSH_DEPLOY_KEY: ${{ secrets.OPERATOR_DEPLOY_KEY }}
with:
source-directory: 'services/codex'
destination-github-username: 'BlackRoad-OS'
destination-repository-name: 'blackroad-os-operator'
target-directory: 'codex'
target-branch: main
commit-message: 'sync: Update Codex from monorepo'