Elect one fleet torrent seeder per AWS VPC via IMDS cloud_instance_meta.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Agents read vpc-id from EC2 IMDS on auth; the server scopes subnet_primary_seeder to vpc-id with /24 fallback, exposes VPC seeder badges, and documents cross-VPC gossip via peering/TGW.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package main
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"crypto-miner-server/internal/alerts"
|
||||
"crypto-miner-server/internal/erasure"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
@@ -108,20 +107,6 @@ type ServerSettings struct {
|
||||
ErasureLanesEnabled bool `json:"erasure_lanes_enabled"`
|
||||
// FleetTorrentEnabled enables content-addressed shard DHT gossip across seeders (cross-subnet).
|
||||
FleetTorrentEnabled bool `json:"fleet_torrent_enabled"`
|
||||
AWSS3ShardBucket string `json:"aws_s3_shard_bucket,omitempty"`
|
||||
AWSS3ShardRegion string `json:"aws_s3_shard_region,omitempty"`
|
||||
AWSCloudFrontDomain string `json:"aws_cloudfront_domain,omitempty"`
|
||||
AWSS3CRRDestBucket string `json:"aws_s3_crr_dest_bucket,omitempty"`
|
||||
AWSS3CRRDestRegion string `json:"aws_s3_crr_dest_region,omitempty"`
|
||||
AWSS3ReplicationRoleARN string `json:"aws_s3_replication_role_arn,omitempty"`
|
||||
AWSAccountID string `json:"aws_account_id,omitempty"`
|
||||
FargateBurstCampaign bool `json:"fargate_burst_campaign"`
|
||||
FargateBurstTTLHours int `json:"fargate_burst_ttl_hours,omitempty"`
|
||||
FargateBurstExpiresAt string `json:"fargate_burst_expires_at,omitempty"`
|
||||
CloudMapNamespace string `json:"cloud_map_namespace,omitempty"`
|
||||
CloudMapService string `json:"cloud_map_service,omitempty"`
|
||||
PolicySnapshotToken string `json:"policy_snapshot_token,omitempty"`
|
||||
EventBridgeRelayURL string `json:"eventbridge_relay_url,omitempty"`
|
||||
}
|
||||
|
||||
// WebRTCMeshPolicySettings is Calibrate policy for WebRTC LAN seed spread.
|
||||
@@ -1006,15 +991,6 @@ func mergeConfigExplicit(dst, src *Config, present map[string]json.RawMessage) {
|
||||
if in(srvKeys, "fleet_torrent_enabled") {
|
||||
dst.Server.FleetTorrentEnabled = src.Server.FleetTorrentEnabled
|
||||
}
|
||||
if in(srvKeys, "fargate_burst_campaign") {
|
||||
dst.Server.FargateBurstCampaign = src.Server.FargateBurstCampaign
|
||||
}
|
||||
if in(srvKeys, "fargate_burst_ttl_hours") && src.Server.FargateBurstTTLHours > 0 {
|
||||
dst.Server.FargateBurstTTLHours = src.Server.FargateBurstTTLHours
|
||||
}
|
||||
if in(srvKeys, "fargate_burst_expires_at") {
|
||||
dst.Server.FargateBurstExpiresAt = src.Server.FargateBurstExpiresAt
|
||||
}
|
||||
if in(srvKeys, "ai_endpoint") {
|
||||
dst.Server.AIEndpoint = src.Server.AIEndpoint
|
||||
}
|
||||
@@ -1132,32 +1108,6 @@ func defaultServiceDeployAllowlist() map[string]ServiceDeployLane {
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Config) AWSSwarmSettings() erasure.AWSSwarmSettings {
|
||||
if c == nil {
|
||||
return erasure.HydrateAWSSwarmFromEnv(erasure.AWSSwarmSettings{})
|
||||
}
|
||||
return erasure.HydrateAWSSwarmFromEnv(erasure.AWSSwarmSettings{
|
||||
S3Bucket: c.Server.AWSS3ShardBucket,
|
||||
CloudFrontDomain: c.Server.AWSCloudFrontDomain,
|
||||
Region: c.Server.AWSS3ShardRegion,
|
||||
})
|
||||
}
|
||||
|
||||
func (c *Config) S3ShardCRRConfig() erasure.S3ShardConfig {
|
||||
if c == nil {
|
||||
return erasure.S3ShardConfig{}
|
||||
}
|
||||
return erasure.S3ShardConfig{
|
||||
ShardBucket: strings.TrimSpace(c.Server.AWSS3ShardBucket),
|
||||
ShardRegion: strings.TrimSpace(c.Server.AWSS3ShardRegion),
|
||||
CRRDestBucket: strings.TrimSpace(c.Server.AWSS3CRRDestBucket),
|
||||
CRRDestRegion: strings.TrimSpace(c.Server.AWSS3CRRDestRegion),
|
||||
CloudFrontDomain: strings.TrimSpace(c.Server.AWSCloudFrontDomain),
|
||||
ReplicationRoleARN: strings.TrimSpace(c.Server.AWSS3ReplicationRoleARN),
|
||||
ReplicationAccountID: strings.TrimSpace(c.Server.AWSAccountID),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Config) PoolURL() string {
|
||||
proto := "stratum+tcp"
|
||||
if c.Pool.UseTLS {
|
||||
|
||||
Reference in New Issue
Block a user