chore: update domain references from bootnode.dev to bootno.de

Update ZAP endpoints, CORS origins, K8s annotations, and documentation
to use the new bootno.de primary domain.
This commit is contained in:
2026-02-26 15:25:27 -08:00
parent ae5665d771
commit 636e4279bb
12 changed files with 38 additions and 38 deletions
+5 -5
View File
@@ -176,7 +176,7 @@ Bootnode implements **native ZAP** - no gateway, direct Cap'n Proto RPC over TCP
**Connection**
```
AI Agent → zap://api.bootnode.dev:9999 (direct Cap'n Proto RPC)
AI Agent → zap://api.bootno.de:9999 (direct Cap'n Proto RPC)
```
**Schema Files**
@@ -187,7 +187,7 @@ AI Agent → zap://api.bootnode.dev:9999 (direct Cap'n Proto RPC)
```python
from hanzo_zap import Client
async with Client.connect("zap://api.bootnode.dev:9999") as client:
async with Client.connect("zap://api.bootno.de:9999") as client:
# Initialize connection
server_info = await client.init({"name": "my-agent", "version": "1.0"})
@@ -215,7 +215,7 @@ GET /v1/zap/health # Health check
**Code Generation**
```bash
# Get schema and compile
curl -H "X-API-Key: $KEY" https://api.bootnode.dev/v1/zap/schema > bootnode.zap
curl -H "X-API-Key: $KEY" https://api.bootno.de/v1/zap/schema > bootnode.zap
zapc compile bootnode.zap --out=bootnode.capnp
# Generate client code
@@ -1036,14 +1036,14 @@ The frontend supports automatic white-labeling based on domain or environment va
| Hanzo Web3 | web3.hanzo.ai | hanzo.id | `NEXT_PUBLIC_BRAND=hanzo` (default) |
| Lux Cloud | lux.cloud | lux.id | `NEXT_PUBLIC_BRAND=lux` |
| Zoo Labs | web3.zoo.ngo | zoo.id | `NEXT_PUBLIC_BRAND=zoo` |
| Bootnode | bootnode.dev | hanzo.id | `NEXT_PUBLIC_BRAND=bootnode` |
| Bootnode | bootno.de | hanzo.id | `NEXT_PUBLIC_BRAND=bootnode` |
### Auto-Detection
Brand is automatically detected from the deployment domain:
- `*.hanzo.ai` → Hanzo Web3
- `*.lux.cloud` or `*.lux.network` → Lux Cloud
- `*.zoo.ngo` or `*.zoo.id` → Zoo Labs
- `*.bootnode.dev` → Bootnode
- `*.bootno.de` → Bootnode
- `localhost` → Hanzo Web3 (default)
### Usage in Components
+2 -2
View File
@@ -63,7 +63,7 @@ async def get_zap_connection(_api_key: ApiKeyDep) -> dict[str, Any]:
```python
from hanzo_zap import Client
async with Client.connect("zap://api.bootnode.dev:9999") as client:
async with Client.connect("zap://api.bootno.de:9999") as client:
tools = await client.list_tools()
result = await client.call_tool("rpc_call", {
"chain": "ethereum",
@@ -71,7 +71,7 @@ async def get_zap_connection(_api_key: ApiKeyDep) -> dict[str, Any]:
})
```
"""
host = settings.zap_host if settings.zap_host != "0.0.0.0" else "api.bootnode.dev"
host = settings.zap_host if settings.zap_host != "0.0.0.0" else "api.bootno.de"
port = settings.zap_port
return {
+1 -1
View File
@@ -408,7 +408,7 @@ class KubernetesDeployer(DeployTarget):
"template": {
"metadata": {
"annotations": {
"bootnode.dev/restartedAt": now,
"bootno.de/restartedAt": now,
}
}
}
+1 -1
View File
@@ -92,7 +92,7 @@ app = FastAPI(
# CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["*"] if not settings.is_production else ["https://bootnode.dev"],
allow_origins=["*"] if not settings.is_production else ["https://bootno.de"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
+1 -1
View File
@@ -2,7 +2,7 @@
# Bootnode Cloud API - ZAP Schema
# High-performance blockchain infrastructure for AI agents
# Connect via: zap://api.bootnode.dev:9999
# Connect via: zap://api.bootno.de:9999
# =============================================================================
# Core Types
# =============================================================================
+1 -1
View File
@@ -1,6 +1,6 @@
# Bootnode Cloud API - ZAP Schema
# High-performance blockchain infrastructure for AI agents
# Connect via: zap://api.bootnode.dev:9999
# Connect via: zap://api.bootno.de:9999
# =============================================================================
# Core Types
+2 -2
View File
@@ -73,8 +73,8 @@ dev = [
bootnode = "bootnode.cli:main"
[project.urls]
Homepage = "https://bootnode.dev"
Documentation = "https://docs.bootnode.dev"
Homepage = "https://bootno.de"
Documentation = "https://docs.bootno.de"
Repository = "https://github.com/hanzoai/bootnode"
[build-system]
+9 -9
View File
@@ -17,8 +17,8 @@ data:
LOG_LEVEL: "INFO"
RATE_LIMIT_REQUESTS: "1000"
RATE_LIMIT_COMPUTE_UNITS: "10000"
CORS_ORIGINS: "https://bootnode.dev,https://admin.bootnode.dev"
TRUSTED_HOSTS: "bootnode.dev,admin.bootnode.dev"
CORS_ORIGINS: "https://bootno.de,https://admin.bootno.de"
TRUSTED_HOSTS: "bootno.de,admin.bootno.de"
---
apiVersion: v1
kind: Secret
@@ -291,7 +291,7 @@ spec:
- containerPort: 3000
env:
- name: NEXT_PUBLIC_API_URL
value: "https://api.bootnode.dev"
value: "https://api.bootno.de"
- name: NODE_ENV
value: "production"
livenessProbe:
@@ -342,12 +342,12 @@ metadata:
spec:
tls:
- hosts:
- bootnode.dev
- api.bootnode.dev
- admin.bootnode.dev
- bootno.de
- api.bootno.de
- admin.bootno.de
secretName: bootnode-tls
rules:
- host: bootnode.dev
- host: bootno.de
http:
paths:
- path: /
@@ -357,7 +357,7 @@ spec:
name: bootnode-web-service
port:
number: 80
- host: admin.bootnode.dev
- host: admin.bootno.de
http:
paths:
- path: /
@@ -367,7 +367,7 @@ spec:
name: bootnode-web-service
port:
number: 80
- host: api.bootnode.dev
- host: api.bootno.de
http:
paths:
- path: /
+11 -11
View File
@@ -72,10 +72,10 @@ metadata:
app.kubernetes.io/name: bootnode-operator
rules:
# Bootnode resources
- apiGroups: ["bootnode.dev"]
- apiGroups: ["bootno.de"]
resources: ["bootnodes", "bootnodes/status", "bootnodes/finalizers"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["bootnode.dev"]
- apiGroups: ["bootno.de"]
resources: ["blockchains", "blockchains/status", "blockchains/finalizers"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
# Core resources
@@ -116,11 +116,11 @@ subjects:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: bootnodes.bootnode.dev
name: bootnodes.bootno.de
labels:
app.kubernetes.io/name: bootnode-operator
spec:
group: bootnode.dev
group: bootno.de
versions:
- name: v1alpha1
served: true
@@ -387,11 +387,11 @@ spec:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: blockchains.bootnode.dev
name: blockchains.bootno.de
labels:
app.kubernetes.io/name: bootnode-operator
spec:
group: bootnode.dev
group: bootno.de
versions:
- name: v1alpha1
served: true
@@ -472,7 +472,7 @@ spec:
- bc
---
# Example Bootnode CR
apiVersion: bootnode.dev/v1alpha1
apiVersion: bootno.de/v1alpha1
kind: Bootnode
metadata:
name: production-bootnode
@@ -539,19 +539,19 @@ spec:
nginx.ingress.kubernetes.io/rate-limit: "1000"
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
hosts:
- host: api.bootnode.dev
- host: api.bootno.de
paths:
- path: /
pathType: Prefix
- host: bootnode.dev
- host: bootno.de
paths:
- path: /
pathType: Prefix
tls:
- secretName: bootnode-tls
hosts:
- api.bootnode.dev
- bootnode.dev
- api.bootno.de
- bootno.de
monitoring:
enabled: true
prometheus:
+2 -2
View File
@@ -89,7 +89,7 @@ echo ""
# 2. AUTHENTICATION - REGISTER
# ============================================
log_info "Testing Authentication..."
TEST_EMAIL="e2e-test-$(date +%s)@bootnode.dev"
TEST_EMAIL="e2e-test-$(date +%s)@bootno.de"
TEST_PASSWORD="testpass123"
TEST_NAME="E2E Test User"
@@ -188,7 +188,7 @@ log_info "Testing Team Management..."
invite_response=$(curl -s -X POST "$API_URL/v1/team" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"email":"e2e-invite@bootnode.dev","role":"developer"}')
-d '{"email":"[email protected]","role":"developer"}')
if echo "$invite_response" | grep -q '"id"'; then
log_pass "Invite team member"
+2 -2
View File
@@ -221,7 +221,7 @@ print(f"Base fee: {gas['base_fee_gwei']} gwei")`}</code>
<div>
<h4 className="text-sm font-semibold mb-2">Install</h4>
<pre className="overflow-x-auto rounded-lg bg-zinc-950 p-4 text-sm text-zinc-100">
<code>{`go get github.com/bootnode-dev/bootnode-go`}</code>
<code>{`go get github.com/bootnode/bootnode-go`}</code>
</pre>
</div>
<div>
@@ -236,7 +236,7 @@ import (
"os"
"strconv"
"github.com/bootnode-dev/bootnode-go"
"github.com/bootnode/bootnode-go"
)
func main() {
File diff suppressed because one or more lines are too long