| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Renamed several utility functions along the way.
|
|
The freebsd changes caused a bootstrap of a system with no declared OS to
not work, where before it was assumed to be some debian-like system where
apt can be used. Brought back this assumption.
|
|
Rather than having the property fail when the Host has no OS defined,
I made bootstrapPropellorCommand not install deps in this situation.
The cron job will (probably) still work, unless a system upgrade causes
deps to be removed.
|
|
|
|
- Propellor bootstrapping
- Basic pkg
- Basic ZFS datasets and properties
- Simple Poudriere configuration (regular and ZFS)
- Poudriere jail creation
FIXME:
- Cron.hs: runPropellor needs the System, but hasn't yet gotten it.
Reorganizing:
- Remove FreeBSD.Process
- Move ZFS up to Property
- Add Info for Pkg.update/Pkg.upgrade
- Move FreeBSD.md to doc so it'll show up automatically.
- Merge the FreeBSD config with the other sample config.
- Use Info to check Pkg updated/upgraded and Poudriere configured.
- Warnings clean-up, move ZFS types to Propellor.Types.
- Maintainer and license statements.
|
|
Before, they could run in the background if another process was running,
and so their output wouldn't immediately be visible.
With this change, the concurrent-output layer is not used for these
interactive commands.
|
|
|
|
|
|
|
|
When spinning a remote host, we do want to rebuild propellor on it,
and this use of --continue that did a rebuild was different from all the
other uses of --continue that avoided a rebuild.
This fixes a build loop involving that special case. When --continue
SimpleRun ran a rebuild, it re-execed propellor with --continue SimpleRun,
and so would rebuild again, and re-exec again if the binary kept changing.
Backwards compatability should be ok; old versions of propellor,
when run with --serialized SimpleRun by the new version, do a buildFirst,
followed by another (redundant) buildFirst, and then run. The one redundant
buildFirst is not a problem in the upgrade scenario.
(Unfortunately, I can't rename SimpleRun to something nicer despite only
spin using it; backwards compatability does prevent that.)
|
|
|
|
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
(cherry picked from commit 9d44dcd39bb88408ed4cfc94a7b4dfa34a1b5591)
|
|
- check that we're on the branch specified in git config value
propellor.spin-branch
- check that there are no uncommitted changes if git config value
propellor.forbid-dirty-spin is true
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
(cherry picked from commit 8f374d73ae5b2bb53f82835c6d6b5c0194590006)
|
|
|
|
Force console mode when --spin calls SimpleRun
|
|
This reverts commit 2891006d9f18b9f50b7d8dfc6d32e326499913f0.
|
|
|
|
|
|
This interface will fix the current deadlock when a process is running
and the thread that ran it wants to output to the console.
The locking and buffering is not implemented yet.
|
|
Found problem.. actionMessage is blocking.
|
|
|
|
|
|
|
|
|
|
|
|
Controlling host inherits the privdata for the host it spins, and sends it
along to that host.
|
|
Much less invasive than the other implementation.
|
|
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)
|
|
|
|
|
|
Convert Info to use Data.Dynamic, so properties can export and consume
info of any type that is Typeable and a Monoid, including data types
private to a module. (API change)
Thanks to Joachim Breitner for the idea.
|
|
--upload-pack to send a git push when running propellor --spin.
|
|
|
|
|
|
address.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
host, and if not, sshes to the host by IP address.
|