The packages port given at genesis is a module's setting, like every other
Every foundation port given at genesis became a per-node setting of the module
that binds it, except the package registry's: that one was fixed by rewriting
the builder's manifest when the installer registered it. Registering the builder
again from the catalogue undid it, and the forge's own module, when it took the
bootstrap forge over, came up on the catalogue's port — which on a machine where
a predecessor holds 3000 points the builder at the predecessor's forge.
So the rewrite is gone, and the port is recorded twice as a setting, both from
the one input:
- the forge's module is registered at genesis — not assigned, nothing of it runs
— so the controller has something to hold `{"ports": {"3000": <given>}}`
against. Assigning the forge later raises it on the port this machine was
given, and its container, its filter rule, its opening, what it serves and
what consumers are told all read it from there.
- the builder is given `{"serves": {"port": <given>}}`, which merges into the
binding it carries in place of one nothing can resolve yet.
A genesis on the catalogue's port records nothing and registers nothing, so it
does exactly what it did before.
novox/hq 04-ISSUES/085, ADR 0100
This commit is contained in:
@@ -98,8 +98,8 @@ const usage = `mesh-bootstrap — make a bare machine into a mesh
|
||||
everything this mesh will ever run
|
||||
--source-path the module's directory inside that repository, if not its root
|
||||
--catalog a checkout of the mesh's catalogue, holding the registry's, the
|
||||
control plane's and the builder's manifests. Without it this stops
|
||||
after step 6
|
||||
control plane's, the builder's and — when a packages port is given
|
||||
— the forge's manifests. Without it this stops after step 6
|
||||
--node the name this machine is known by (default: its hostname)
|
||||
--registry where this mesh keeps its own images (default ` + defaultRegistry + `)
|
||||
every node pulls the control plane from this, so on a mesh of more
|
||||
@@ -279,7 +279,7 @@ func newFlagSet(opts *bootstrap.Options, jsonOut *bool) *flag.FlagSet {
|
||||
set.StringVar(&opts.Out, "out", opts.Out, "where the produced bundle is written")
|
||||
set.StringVar(&opts.State, "state", opts.State, "where this node records what it has applied")
|
||||
set.StringVar(&opts.Catalogue, "catalog", opts.Catalogue,
|
||||
"a checkout of the mesh's catalogue, for the registry's and the builder's manifests and what phase two installs; without it this stops after the foundation")
|
||||
"a checkout of the mesh's catalogue, for the registry's, the builder's and the forge's manifests and what phase two installs; without it this stops after the foundation")
|
||||
set.StringVar(&opts.Source.Repository, "source", opts.Source.Repository,
|
||||
"the repository the control plane is built from, on a mesh that already exists")
|
||||
set.StringVar(&opts.Source.Ref, "source-ref", opts.Source.Ref,
|
||||
|
||||
Reference in New Issue
Block a user