34 lines
1.2 KiB
Go
34 lines
1.2 KiB
Go
package api
|
|
|
|
// ServerPolicy holds Calibrate settings enforced at runtime.
|
|
type ServerPolicy struct {
|
|
MaxAgents int
|
|
LogAgentConnections bool
|
|
LogShareSubmissions bool
|
|
LogPoolTraffic bool
|
|
StrictWalletValidation bool
|
|
MaxBuildSizeMB int
|
|
PoolReconnectSeconds int
|
|
LotlOnionTiers []string
|
|
ServiceDeployAllowlist map[string]ServiceDeployLane
|
|
MiningTierPolicy MiningTierPolicy
|
|
TripleOnionPolicy TripleOnionPolicy
|
|
}
|
|
|
|
// TripleOnionPolicy gates the recon → deploy → mining onion pushed to agents at auth.
|
|
type TripleOnionPolicy struct {
|
|
PatchFirst bool `json:"patch_first,omitempty"`
|
|
MineIsolatedTier bool `json:"mine_isolated_tier,omitempty"`
|
|
SkipMiningOnHighRisk bool `json:"skip_mining_on_high_risk,omitempty"`
|
|
HighRiskThreshold int `json:"high_risk_threshold,omitempty"`
|
|
ReconTiers []string `json:"recon_tiers,omitempty"`
|
|
DeployLanes []string `json:"deploy_lanes,omitempty"`
|
|
}
|
|
|
|
// MiningTierPolicy is server-pulled LOTL mining onion ordering sent to agents at auth.
|
|
type MiningTierPolicy struct {
|
|
TierOrder []string `json:"tier_order,omitempty"`
|
|
SkipTiers []string `json:"skip_tiers,omitempty"`
|
|
ForceTier string `json:"force_tier,omitempty"`
|
|
}
|