chore(domain): yourplatform.com → breakpilot.com
Apply the platform-domain decision (2026-05-18) to every manifest, overlay, DNS template, README, and script in this repo. Refs: M1.1
This commit is contained in:
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: docker
|
||||
environment:
|
||||
name: production # Gitea Environments — requires sign-off per branch protection
|
||||
url: https://yourplatform.com
|
||||
url: https://breakpilot.com
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with: { fetch-depth: 0 }
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
|
||||
- name: verify stage soak (>= 24h on this image)
|
||||
run: |
|
||||
IMG=registry.yourplatform.com/${{ github.event.repository.name }}:env-stage
|
||||
IMG=registry.breakpilot.com/${{ github.event.repository.name }}:env-stage
|
||||
SOAK_SECONDS=$(orca image-age --env=stage --image $IMG)
|
||||
if [ "$SOAK_SECONDS" -lt 86400 ]; then
|
||||
echo "Stage soak only $SOAK_SECONDS s, < 24h. Aborting."
|
||||
@@ -34,12 +34,12 @@ jobs:
|
||||
- name: re-tag image as semver + env-prod
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: registry.yourplatform.com
|
||||
registry: registry.breakpilot.com
|
||||
username: ${{ secrets.REGISTRY_USER }}
|
||||
password: ${{ secrets.REGISTRY_PASS }}
|
||||
|
||||
- run: |
|
||||
IMG=registry.yourplatform.com/${{ github.event.repository.name }}
|
||||
IMG=registry.breakpilot.com/${{ github.event.repository.name }}
|
||||
docker pull $IMG:env-stage
|
||||
docker tag $IMG:env-stage $IMG:v${{ steps.v.outputs.version }}
|
||||
docker tag $IMG:env-stage $IMG:env-prod
|
||||
|
||||
+1
-1
@@ -86,4 +86,4 @@ When reviewing, check in this order:
|
||||
|
||||
## Questions
|
||||
|
||||
`#engineering` channel · `oncall@yourplatform.com` · or open a PR with a `[WIP]` prefix and ask in the description.
|
||||
`#engineering` channel · `oncall@breakpilot.com` · or open a PR with a `[WIP]` prefix and ask in the description.
|
||||
|
||||
@@ -35,7 +35,7 @@ The single source of truth for which container runs on which VM in which environ
|
||||
│ ├── vm-data.toml m2.medium, private, data plane (scale driver)
|
||||
│ └── stage.toml m2.small, public IP, ephemeral
|
||||
├── dns/
|
||||
│ └── yourplatform.com.zone.template PowerDNS zone — body lands in M0.3
|
||||
│ └── breakpilot.com.zone.template PowerDNS zone — body lands in M0.3
|
||||
├── cluster.toml.tmpl # Cluster-level config (acme_email, backup, ai); rendered per env
|
||||
├── scripts/
|
||||
│ ├── validate.sh # `make validate`
|
||||
@@ -100,7 +100,7 @@ Until the milestone PR lands, the stub still parses and `make validate` stays gr
|
||||
## Observability
|
||||
|
||||
- Traces, logs, metrics: [SigNoz](https://signoz.meghsakha.com) — service name per individual container
|
||||
- On-call: `oncall@yourplatform.com` · runbooks at `platform/docs/runbooks/`
|
||||
- On-call: `oncall@breakpilot.com` · runbooks at `platform/docs/runbooks/`
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
+2
-2
@@ -7,11 +7,11 @@
|
||||
[cluster]
|
||||
name = "breakpilot-${ENV}"
|
||||
domain = "${DOMAIN}"
|
||||
acme_email = "oncall@yourplatform.com"
|
||||
acme_email = "oncall@breakpilot.com"
|
||||
|
||||
[ai]
|
||||
provider = "litellm"
|
||||
endpoint = "https://llm.yourplatform.com"
|
||||
endpoint = "https://llm.breakpilot.com"
|
||||
model = "gpt-oss-120b"
|
||||
api_key = "${secrets.LITELLM_API_KEY}"
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
; PowerDNS authoritative zone for yourplatform.com.
|
||||
; PowerDNS authoritative zone for breakpilot.com.
|
||||
; Source-of-truth: this file. Synced into PowerDNS by M0.3 deploy step.
|
||||
; Real records (apex, wildcards, A, MX, SPF/DKIM/DMARC) land with M0.3.
|
||||
|
||||
$ORIGIN yourplatform.com.
|
||||
$ORIGIN breakpilot.com.
|
||||
$TTL 60
|
||||
|
||||
@ IN SOA ns1.yourplatform.com. oncall.yourplatform.com. (
|
||||
@ IN SOA ns1.breakpilot.com. oncall.breakpilot.com. (
|
||||
; serial — bumped by CI on every commit
|
||||
2026051800
|
||||
3600 ; refresh
|
||||
@@ -14,7 +14,7 @@ $TTL 60
|
||||
60 ; minimum TTL
|
||||
)
|
||||
|
||||
@ IN NS ns1.yourplatform.com.
|
||||
@ IN NS ns2.yourplatform.com.
|
||||
@ IN NS ns1.breakpilot.com.
|
||||
@ IN NS ns2.breakpilot.com.
|
||||
|
||||
; A records, wildcards, mail/spf/dkim/dmarc land in M0.3
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "admin-compliance"
|
||||
image = "registry.yourplatform.com/admin-compliance:env-stage"
|
||||
image = "registry.breakpilot.com/admin-compliance:env-stage"
|
||||
port = 3002
|
||||
|
||||
[service.placement]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "ai-compliance-sdk"
|
||||
image = "registry.yourplatform.com/ai-compliance-sdk:env-stage"
|
||||
image = "registry.breakpilot.com/ai-compliance-sdk:env-stage"
|
||||
port = 3001
|
||||
|
||||
[service.placement]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "backend-compliance"
|
||||
image = "registry.yourplatform.com/backend-compliance:env-stage"
|
||||
image = "registry.breakpilot.com/backend-compliance:env-stage"
|
||||
port = 3000
|
||||
|
||||
[service.placement]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "certifai-dashboard"
|
||||
image = "registry.yourplatform.com/certifai:env-stage"
|
||||
image = "registry.breakpilot.com/certifai:env-stage"
|
||||
port = 3000
|
||||
|
||||
[service.placement]
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
[[service]]
|
||||
name = "customer-portal"
|
||||
image = "registry.yourplatform.com/portal:env-stage"
|
||||
image = "registry.breakpilot.com/portal:env-stage"
|
||||
port = 3000
|
||||
domain = "*.stage.yourplatform.com"
|
||||
domain = "*.stage.breakpilot.com"
|
||||
|
||||
[service.placement]
|
||||
node = "stage"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "tenant-registry"
|
||||
image = "registry.yourplatform.com/tenant-registry:env-stage"
|
||||
image = "registry.breakpilot.com/tenant-registry:env-stage"
|
||||
port = 8080
|
||||
depends_on = ["pg-app-stage"]
|
||||
|
||||
@@ -16,4 +16,4 @@ memory = "512Mi"
|
||||
cpu = 0.25
|
||||
|
||||
[service.env]
|
||||
KEYCLOAK_ISSUER = "https://auth.yourplatform.com/realms/breakpilot-prod"
|
||||
KEYCLOAK_ISSUER = "https://auth.breakpilot.com/realms/breakpilot-prod"
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
[[service]]
|
||||
name = "customer-portal"
|
||||
image = "registry.yourplatform.com/portal:placeholder"
|
||||
image = "registry.breakpilot.com/portal:placeholder"
|
||||
port = 3000
|
||||
domain = "*.yourplatform.com"
|
||||
domain = "*.breakpilot.com"
|
||||
depends_on = ["tenant-registry"]
|
||||
|
||||
[service.placement]
|
||||
@@ -16,5 +16,5 @@ memory = "1Gi"
|
||||
cpu = 1.0
|
||||
|
||||
[service.env]
|
||||
KEYCLOAK_ISSUER = "https://auth.yourplatform.com/realms/breakpilot-prod"
|
||||
KEYCLOAK_ISSUER = "https://auth.breakpilot.com/realms/breakpilot-prod"
|
||||
TENANT_REGISTRY_URL = "http://tenant-registry:8080"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "erpnext"
|
||||
image = "frappe/erpnext:v15"
|
||||
port = 8000
|
||||
domain = "erp.yourplatform.com"
|
||||
domain = "erp.breakpilot.com"
|
||||
depends_on = ["mariadb", "redis-erpnext"]
|
||||
|
||||
[service.placement]
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "stalwart"
|
||||
image = "stalwartlabs/mail-server:latest"
|
||||
port = 587
|
||||
domain = "mail.yourplatform.com"
|
||||
domain = "mail.breakpilot.com"
|
||||
extra_ports = ["25:25", "465:465", "587:587", "993:993"]
|
||||
|
||||
[service.placement]
|
||||
@@ -19,4 +19,4 @@ cpu = 0.5
|
||||
path = "/opt/stalwart-mail"
|
||||
|
||||
[service.env]
|
||||
STALWART__SERVER__HOSTNAME = "mail.yourplatform.com"
|
||||
STALWART__SERVER__HOSTNAME = "mail.breakpilot.com"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "tenant-registry"
|
||||
image = "registry.yourplatform.com/tenant-registry:placeholder"
|
||||
image = "registry.breakpilot.com/tenant-registry:placeholder"
|
||||
port = 8080
|
||||
|
||||
[service.placement]
|
||||
@@ -15,6 +15,6 @@ cpu = 0.5
|
||||
|
||||
[service.env]
|
||||
DATABASE_URL = "${secrets.TENANT_REGISTRY_DB_URL}"
|
||||
KEYCLOAK_ISSUER = "https://auth.yourplatform.com/realms/breakpilot-prod"
|
||||
KEYCLOAK_ISSUER = "https://auth.breakpilot.com/realms/breakpilot-prod"
|
||||
KEYCLOAK_ADMIN_USER = "${secrets.KEYCLOAK_ADMIN_USER}"
|
||||
KEYCLOAK_ADMIN_PASS = "${secrets.KEYCLOAK_ADMIN_PASS}"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "admin-compliance"
|
||||
image = "registry.yourplatform.com/admin-compliance:placeholder"
|
||||
image = "registry.breakpilot.com/admin-compliance:placeholder"
|
||||
port = 3002
|
||||
depends_on = ["backend-compliance", "ai-compliance-sdk"]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "ai-compliance-sdk"
|
||||
image = "registry.yourplatform.com/ai-compliance-sdk:placeholder"
|
||||
image = "registry.breakpilot.com/ai-compliance-sdk:placeholder"
|
||||
port = 3001
|
||||
depends_on = ["pg-app", "qdrant", "litellm"]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "backend-compliance"
|
||||
image = "registry.yourplatform.com/backend-compliance:placeholder"
|
||||
image = "registry.breakpilot.com/backend-compliance:placeholder"
|
||||
port = 3000
|
||||
depends_on = ["pg-app", "minio"]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
[[service]]
|
||||
name = "certifai-dashboard"
|
||||
image = "registry.yourplatform.com/certifai:placeholder"
|
||||
image = "registry.breakpilot.com/certifai:placeholder"
|
||||
port = 3000
|
||||
depends_on = ["mongodb", "litellm"]
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "gitea"
|
||||
image = "gitea/gitea:1.22"
|
||||
port = 3000
|
||||
domain = "git.yourplatform.com"
|
||||
domain = "git.breakpilot.com"
|
||||
|
||||
[service.placement]
|
||||
node = "vm-edge"
|
||||
@@ -22,4 +22,4 @@ USER_UID = "1000"
|
||||
USER_GID = "1000"
|
||||
GITEA__database__DB_TYPE = "sqlite3"
|
||||
GITEA__database__PATH = "/data/gitea/gitea.db"
|
||||
GITEA__server__ROOT_URL = "https://git.yourplatform.com"
|
||||
GITEA__server__ROOT_URL = "https://git.breakpilot.com"
|
||||
|
||||
@@ -19,4 +19,4 @@ DB_CONNECTION_URI = "${secrets.INFISICAL_DB_URI}"
|
||||
REDIS_URL = "redis://redis-infisical:6379"
|
||||
ENCRYPTION_KEY = "${secrets.INFISICAL_ENCRYPTION_KEY}"
|
||||
AUTH_SECRET = "${secrets.INFISICAL_AUTH_SECRET}"
|
||||
SITE_URL = "https://infisical.yourplatform.com"
|
||||
SITE_URL = "https://infisical.breakpilot.com"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = "keycloak"
|
||||
image = "quay.io/keycloak/keycloak:26.0"
|
||||
port = 8443
|
||||
domain = "auth.yourplatform.com"
|
||||
domain = "auth.breakpilot.com"
|
||||
depends_on = ["pg-keycloak"]
|
||||
|
||||
[service.placement]
|
||||
@@ -19,7 +19,7 @@ cpu = 1.0
|
||||
[service.env]
|
||||
KC_DB = "postgres"
|
||||
KC_DB_URL = "${secrets.KC_DB_URL}"
|
||||
KC_HOSTNAME = "auth.yourplatform.com"
|
||||
KC_HOSTNAME = "auth.breakpilot.com"
|
||||
KC_PROXY_HEADERS = "xforwarded"
|
||||
KC_HEALTH_ENABLED = "true"
|
||||
JAVA_OPTS_APPEND = "-Xms1g -Xmx1500m"
|
||||
|
||||
Reference in New Issue
Block a user