uploader-bot/deployment/bootstrap.json

244 lines
6.1 KiB
JSON

{
"version": "1.0.0",
"network_id": "my-network-mainnet",
"network_name": "MY Distributed Content Network",
"protocol_version": "1.0.0",
"created_at": "2025-01-02T15:00:00Z",
"description": "Bootstrap configuration for MY Network - Distributed content replication system",
"bootstrap_nodes": [
{
"id": "bootstrap-eu-001",
"address": "my://bootstrap-eu-1.mynetwork.io:8080",
"public_key": "ed25519:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"region": "eu-west-1",
"country": "DE",
"weight": 100,
"features": [
"content_sync",
"consensus",
"dht",
"bootstrap",
"monitoring"
],
"metadata": {
"provider": "hetzner",
"datacenter": "fsn1",
"bandwidth_gbps": 10,
"storage_tb": 100
}
},
{
"id": "bootstrap-us-001",
"address": "my://bootstrap-us-1.mynetwork.io:8080",
"public_key": "ed25519:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
"region": "us-east-1",
"country": "US",
"weight": 100,
"features": [
"content_sync",
"consensus",
"dht",
"bootstrap",
"monitoring"
],
"metadata": {
"provider": "aws",
"datacenter": "us-east-1a",
"bandwidth_gbps": 25,
"storage_tb": 200
}
},
{
"id": "bootstrap-asia-001",
"address": "my://bootstrap-asia-1.mynetwork.io:8080",
"public_key": "ed25519:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",
"region": "ap-southeast-1",
"country": "SG",
"weight": 90,
"features": [
"content_sync",
"consensus",
"dht",
"bootstrap"
],
"metadata": {
"provider": "digitalocean",
"datacenter": "sgp1",
"bandwidth_gbps": 5,
"storage_tb": 50
}
}
],
"consensus": {
"algorithm": "pbft",
"min_quorum": 3,
"consensus_threshold": 0.67,
"timeout_seconds": 30,
"retry_attempts": 3,
"max_byzantine_nodes": 1,
"view_change_timeout": 60,
"checkpoint_interval": 100
},
"sync_settings": {
"sync_interval_seconds": 60,
"initial_sync_timeout": 300,
"max_batch_size": 100,
"max_concurrent_syncs": 5,
"compression_enabled": true,
"compression_algorithm": "gzip",
"compression_level": 6,
"encryption_enabled": true,
"encryption_algorithm": "aes-256-gcm",
"delta_sync_enabled": true,
"checksum_verification": true
},
"network_settings": {
"max_peers": 50,
"max_inbound_connections": 100,
"max_outbound_connections": 25,
"connection_timeout_seconds": 30,
"keepalive_interval_seconds": 60,
"max_message_size_bytes": 16777216,
"rate_limit_per_peer": 1000,
"blacklist_duration_hours": 24
},
"content_settings": {
"max_content_size_bytes": 1073741824,
"supported_content_types": [
"audio/*",
"video/*",
"image/*",
"text/*",
"application/pdf",
"application/json"
],
"replication_factor": 3,
"min_replicas": 2,
"max_replicas": 10,
"gc_interval_hours": 24,
"cache_size_mb": 1024,
"preview_generation": true,
"thumbnail_sizes": [64, 128, 256, 512]
},
"security_settings": {
"require_tls": true,
"min_tls_version": "1.3",
"certificate_verification": true,
"peer_authentication": true,
"message_signing": true,
"signature_algorithm": "ed25519",
"key_rotation_days": 90,
"audit_logging": true,
"rate_limiting": true,
"ddos_protection": true
},
"storage_settings": {
"storage_path": "./storage/my-network",
"max_storage_gb": 1000,
"storage_cleanup_threshold": 0.9,
"backup_enabled": true,
"backup_interval_hours": 6,
"backup_retention_days": 30,
"indexing_enabled": true,
"deduplication_enabled": true
},
"monitoring_settings": {
"metrics_enabled": true,
"metrics_interval_seconds": 30,
"health_check_interval_seconds": 60,
"log_level": "info",
"log_rotation_mb": 100,
"log_retention_days": 7,
"alerting_enabled": true,
"webhook_alerts": [],
"telegram_alerts": {
"enabled": false,
"bot_token": "",
"chat_ids": []
}
},
"api_settings": {
"listen_address": "0.0.0.0",
"listen_port": 8080,
"api_prefix": "/api/my",
"cors_enabled": true,
"cors_origins": ["*"],
"auth_required": false,
"rate_limit_rpm": 1000,
"timeout_seconds": 30
},
"development_settings": {
"debug_mode": false,
"test_network": false,
"mock_bootstrap": false,
"simulation_mode": false,
"verbose_logging": false,
"profiling_enabled": false
},
"feature_flags": {
"experimental_dht": false,
"advanced_routing": true,
"content_caching": true,
"peer_scoring": true,
"adaptive_replication": false,
"quantum_encryption": false,
"ml_optimization": false
},
"regional_settings": {
"eu-west-1": {
"preferred_nodes": ["bootstrap-eu-001"],
"max_latency_ms": 100,
"compliance": ["gdpr"],
"data_residency": true
},
"us-east-1": {
"preferred_nodes": ["bootstrap-us-001"],
"max_latency_ms": 150,
"compliance": ["ccpa"],
"data_residency": false
},
"ap-southeast-1": {
"preferred_nodes": ["bootstrap-asia-001"],
"max_latency_ms": 200,
"compliance": [],
"data_residency": false
}
},
"emergency_settings": {
"emergency_mode": false,
"emergency_contacts": [
"admin@mynetwork.io",
"security@mynetwork.io"
],
"auto_isolation": true,
"failsafe_mode": {
"enabled": true,
"max_cpu_percent": 95,
"max_memory_percent": 95,
"max_disk_percent": 98
}
},
"version_compatibility": {
"min_supported_version": "1.0.0",
"max_supported_version": "1.9.9",
"deprecated_versions": [],
"upgrade_required_versions": []
},
"checksum": "sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12",
"signature": "ed25519:DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
}