Retire the networking bundle and what the control plane stops shipping (hq ADR 0226)
networking required mesh-wireguard and nothing else; machines are assigned the network directly. module forget refuses a provided module, so a retired one is removed at start once no machine has it. Guard route-proxy's public account directory against a reissue.
This commit is contained in:
@@ -61,15 +61,12 @@ const TheNetwork = "the-private-network"
|
||||
// network. A requirement nothing provides is refused at resolution, so leaving the names here
|
||||
// would only have documented a mechanism that does not exist.
|
||||
|
||||
// Domain is the module for people who want a network and do not want to choose one.
|
||||
//
|
||||
// It has no files of its own — it is requirements and nothing else. Assigning it finds one
|
||||
// answer to each and takes them silently, so getting a mesh onto a private network is one word.
|
||||
// The day the catalogue holds a second VPN there are two answers, the resolver refuses and names
|
||||
// both, and choosing is assigning the one you want. **That is the whole mechanism**: picking an
|
||||
// implementation is assigning a module, and there is no flavor field, no configuration language,
|
||||
// and nothing to learn.
|
||||
const Domain = "networking"
|
||||
// **There is no bundle any more** (novox/hq ADR 0226). A `networking` module requiring this one and
|
||||
// nothing else used to be what a machine was assigned, so that "get the network working" was one
|
||||
// word and a second VPN could be chosen by assigning it instead. The mesh has one private network,
|
||||
// every machine is on it, and the bundle was a second name for this module that every machine
|
||||
// carried. A machine is assigned Name directly; another VPN is still chosen by assigning it in its
|
||||
// place, which is all the bundle ever did.
|
||||
|
||||
// Generator answers what one node's network configuration is.
|
||||
type Generator struct {
|
||||
@@ -147,19 +144,6 @@ func Manifest() map[string]any {
|
||||
}
|
||||
}
|
||||
|
||||
// DomainManifest is the module that means "get the network working".
|
||||
func DomainManifest() map[string]any {
|
||||
return map[string]any{
|
||||
"module": Domain,
|
||||
"version": "1",
|
||||
// **Only the network now.** It used to require name-resolution as well, answered by a
|
||||
// module that wrote a hosts file and ran nothing. Names are not a provision — they are a
|
||||
// fact the mesh computes, and whatever puts a machine on the private network writes them,
|
||||
// because a mesh name IS an address on that network.
|
||||
"requires": []string{Requirement},
|
||||
}
|
||||
}
|
||||
|
||||
// Empty is a network nobody is on.
|
||||
//
|
||||
// A mesh where no machine was given the module. Legitimate rather than broken — every node still
|
||||
|
||||
Reference in New Issue
Block a user