68 lines
3.6 KiB
Go
68 lines
3.6 KiB
Go
// Package buckets holds the names of the bus buckets the assigner reads and the states it keeps beside the seats' own. A
|
|
// contract carries the local name of a state, not the module that holds it (ADR 0625 §4, §7), and the assigner opens
|
|
// buckets through grants its manifest declares, so the holder's name is kept here, in the assigner's own code, and held equal
|
|
// to the manifest by its test (ADR 0634 §1, finding F4).
|
|
package buckets
|
|
|
|
import (
|
|
"git.novox.be/novox/mesh-contracts/go/seats/nodeengine"
|
|
watchdogs "git.novox.be/novox/mesh-contracts/health-and-repair/go/seats/meshwatchdogs"
|
|
catalog "git.novox.be/novox/mesh-delivery/contracts/go/seats/meshcatalog"
|
|
delivery "git.novox.be/novox/mesh-delivery/contracts/go/seats/meshdelivery"
|
|
wants "git.novox.be/novox/mesh-delivery/contracts/go/seats/meshwants"
|
|
"git.novox.be/novox/mesh-delivery/modules/mesh-delivery-builder/builds"
|
|
"git.novox.be/novox/mesh-delivery/modules/mesh-grants/grantsstate"
|
|
|
|
plc "mesh-delivery-assigner/internal/assignment"
|
|
)
|
|
|
|
// The states the assigner keeps: the wants seat's, and its own asks, puts and policies.
|
|
const (
|
|
Wants = plc.Module + "_" + wants.StateWants
|
|
Differences = plc.Module + "_" + wants.StateDifferences
|
|
Asks = plc.Module + "_asks"
|
|
Puts = plc.Module + "_puts"
|
|
// PoliciesState is the state of the policies a person set for a module's upgrade; Policies its bucket.
|
|
PoliciesState = "policies"
|
|
Policies = plc.Module + "_" + PoliciesState
|
|
)
|
|
|
|
// AsksHistory is the revisions the bucket of asks keeps per key.
|
|
const AsksHistory = 5
|
|
|
|
// The states of the other seats' holders that the assigner reads, named by the holder's module as every state is.
|
|
const (
|
|
// Have holds a module's have on a node, `<node>.<module>`, and the node's own facts, `<node>.node`.
|
|
Have = "node-engine_" + nodeengine.StateHave
|
|
// ComposedRead is the family of the node-engine's composed states, one bucket per node.
|
|
ComposedRead = "mesh-host." + nodeengine.StateComposed
|
|
// IndexerModule is the holder of the seat mesh-catalog, named from this module's manifest (`consumes` its views, `invokes`
|
|
// its tools; TestTheIndexerIsTheManifests), since no client names a holder (ADR 0625 §4).
|
|
IndexerModule = "mesh-delivery-indexer"
|
|
// Modules, Manifests and Graph are the indexer's buckets; ModulesRead and ManifestsRead the addresses of the states
|
|
// modules and manifests as a first view names them.
|
|
Modules = IndexerModule + "_" + catalog.StateModules
|
|
Manifests = IndexerModule + "_" + catalog.StateManifests
|
|
Graph = IndexerModule + "_graph"
|
|
ModulesRead = IndexerModule + "." + catalog.StateModules
|
|
ManifestsRead = IndexerModule + "." + catalog.StateManifests
|
|
// ProvisionerModule is the holder of the seat mesh-provisioner, named from this module's manifest (reads its provisions); Provisions
|
|
// is its state provisions.
|
|
ProvisionerModule = "mesh-provisioner"
|
|
Provisions = ProvisionerModule + "_provisions"
|
|
// Presence holds each part's presence and the node's.
|
|
Presence = "mesh-delivery-watchman_" + watchdogs.StatePresence
|
|
// Source and Merges are the gate's.
|
|
Source = "mesh-delivery-gate_" + delivery.StateSource
|
|
Merges = "mesh-delivery-gate_" + delivery.StateMerges
|
|
// TellerModule is the module whose hand the operator's answers pass: the one that holds each ask's answer, and the
|
|
// name the hand-act log records a warrant under. Held equal to the manifest's reads by its test.
|
|
TellerModule = "mesh-delivery-teller"
|
|
// Answers holds the teller's answer to each ask.
|
|
Answers = TellerModule + "_answers"
|
|
// Builds is the builder's.
|
|
Builds = builds.BuilderBuildsBucket
|
|
// Grants is the grants part's.
|
|
Grants = grantsstate.PartGrantsBucket
|
|
)
|