24 lines
1.1 KiB
Go
24 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/novox/mesh-controller/internal/broker"
|
|
"github.com/novox/mesh-controller/internal/catalogue"
|
|
)
|
|
|
|
func aProvisioner() catalogue.Manifest {
|
|
return catalogue.Manifest{Module: "mesh-provisioner", Version: "1",
|
|
DefinesSeats: []catalogue.SeatDeclaration{{Name: broker.NodeProvisionerSeat, Scope: catalogue.ScopeNode,
|
|
Serves: []catalogue.Verb{{Name: "get"}}}},
|
|
Claims: []catalogue.Claim{{Name: broker.NodeProvisionerSeat, Scope: catalogue.ScopeNode}},
|
|
OwnSecrets: catalogue.OwnSecrets{"broker": {Path: "/run/mesh-provisioner/broker"},
|
|
broker.ProvisionerSecret: {Path: "/run/mesh-provisioner/client"}},
|
|
}
|
|
}
|
|
|
|
// A machine's provisioner client is issued an account of its own, under its own name, sealed to the machine as the
|
|
// module's own secret its service reads (novox/hq ADR 0349 clause 11, design 57 P3); until it is, a push refuses
|
|
// to invent one, as it does for a module's `broker`.
|
|
|
|
// Assigning the client tries to issue the client's account, as assigning any module issues its broker (issue 917):
|
|
// without a bus to issue on, the line says so and names the verb, never nothing.
|