| Age | Commit message (Collapse) | Author |
|
|
|
very different Propellor.Property.ControlHeir.
Rethought it because it turned out that propigating the PrivData rendered
the loop detection pointless, because when there was a loop, each host
included the other's PrivData, which in turn lead to a loop. And, it was
not possible to break that loop.
So, changed from adding properties to hosts to a top-down hierarchy
that makes changes as needed when applied to the hosts.
Which makes it easy to detect and break loops.
Aka: The Ur Quan know what they're up to.
|
|
|
|
Controlling host inherits the privdata for the host it spins, and sends it
along to that host.
|
|
|
|
So other ways to bootstrap chroots can easily be added in separate modules.
(API change)
|
|
This makes Show Info work, and simplifies the implementation.
|
|
|
|
If someone wants to make a container be a controller, that should work,
and it should then detect loops that loop back to the container's host.
|
|
Much less invasive than the other implementation.
|
|
|
|
|
|
|
|
|
|
* Ssh.keyImported is replaced with Ssh.userKeys. (API change)
The new property only gets the private key from the privdata; the
public key is provided as a parameter, and so is available as
Info that other properties can use.
* Ssh.keyImported' is renamed to Ssh.userKeyAt, and also changed
to only import the private key from the privdata. (API change)
* While Ssh.keyImported and Ssh.keyImported' avoided updating existing
keys, the new Ssh.userKeys and Ssh.userKeyAt properties will
always update out of date key files.
* Ssh.pubKey renamed to Ssh.hostPubKey. (API change)
This makes eg, setting up ssh for spin controllers work better.
|
|
|
|
|
|
Something about making symlinks is very confusing about which parameter is
which. It perhaps doesn't help that isSymlinkedTo has the target second,
while ln has it first. Let's use a type to prevent confusion.
Also, simplified some properties that now use isSymlinkedTo. Since
isSymlinkedTo checks the link target, these properties don't need to check
themselves that the link is in place.
|
|
|
|
The change to JoeySites is wrong, because IIRC leafnode creates a spool
directory, and isSymlinkedTo will not replace an existing directory with a
symlink.
|
|
|
|
|
|
|
|
controller of other hosts.
The hard part of this is avoiding loops of controllers. To make that work,
a ControllerChain is passed to the host that's spun, and is added to the
Info of the host being spun, where the controller property can check it
to detect an avoid a loop.
That needed an expansion of the CmdLine data type. I made the new
ControlledRun only be used when there is a ControllerChain provided.
This avoids breaking backwards compatability with old propellor
deployments, as --spin still uses SimpleRun.
Note: Making an old propellor deployment be controlled by a controller
won't work until it's been updated to this commit, so it knows about
the ControlledRun parameter.
(Untested)
|
|
|
|
via origfile.propellor-new~, instead of to a randomly named temp file.
This allows them to clean up any temp file that may have been left by an
interrupted run of propellor.
Also converted the new isSymlinkedTo property to use the same
implementation, with some simplifications.
|
|
|
|
Signed-off-by: Per Olofsson <pelle@dsv.su.se>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This involved some code changes, including some renaming of instance
methods. (ABI change)
|
|
Signed-off-by: Per Olofsson <pelle@dsv.su.se>
|
|
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
|
|
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
|
|
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
|
|
Privdata that uses HostContext inside a container will now have the name of
the container as its context, rather than the name of the host(s) where the
container is used. This allows eg, having different passwords for a user in
different containers.
Note that previously, propellor would prompt using
the container name as the context, but not actually use privdata using that
context; so this is a bug fix.
I don't entirely like the implementation; I had to put the code to change
the context in PropAccum, and it's not generalized past PrivInfo.
|
|
|
|
|
|
These show up in the haddock documentation on the sidebar.
The author emails are not hyperlinked, so hopefully this is not a spam
source.
Keeping track of Maintainers of modules is becoming necessary because I
don't use all these modules and am not the best person to maintain them,
beyond simple changes to keep them building. I'll loop in the Maintainer if
there's a bug etc on their module.
|
|
|
|
Without this change, the plain username always ends up in aiccu.conf.
This breaks setups where a tunnel-specific password is in use.
|
|
|
|
|
|
|
|
Signed-off-by: Félix Sipma <felix.sipma@no-log.org>
|
|
|