Commit Graph

251 Commits

Author SHA1 Message Date
Joey Hess 626f1af56f Export CommandParam, boolSystem, safeSystem and shellEscape from Propellor.Property.Cmd, so they are available for use in constricting your own Properties when using propellor as a library.
Several imports of Utility.SafeCommand now redundant.
2015-05-27 12:38:45 -04:00
Joey Hess 04d04fe917 changelog 2015-05-12 11:06:45 -04:00
Joey Hess 63ccccb1bb cmdProperty' renamed to cmdPropertyEnv to make way for a new, more generic cmdProperty' (API change) 2015-05-07 12:16:48 -04:00
Joey Hess 160eff0eb7 prep release 2015-05-06 14:29:03 -04:00
Joey Hess fec92abcc8 changelog 2015-04-29 14:43:50 -04:00
Joey Hess a584268334 Ensure build deps are installed before building propellor in --spin and cron job, even if propellor was already built before, to deal with upgrades that add new dependencies. 2015-04-29 14:31:54 -04:00
Joey Hess 681e4dbbcb
propellor spin 2015-04-29 14:26:13 -04:00
Joey Hess 1706ca682e Removed Obnam.latestVersion which was only needed for Debian wheezy backport. 2015-04-25 11:23:54 -04:00
Joey Hess f59527cca4 changelog 2015-04-22 21:00:41 -04:00
Joey Hess fb598feeac
propellor spin 2015-04-22 13:49:00 -04:00
Joey Hess f35ef9d697 API change: Added User and Group newtypes, and Properties that used to use the type UserName = String were changed to use them.
Note that UserName is kept and PrivData still uses it in its sum type.
This is to avoid breaking PrivData serialization.
2015-04-22 13:04:39 -04:00
Joey Hess 07be883258 debCdn changed to new httpredir.debian.org official replacement for http.debian.net. 2015-04-19 21:36:07 -04:00
Joey Hess 3d735c52f4 Added hasLoginShell and shellEnabled.
My code with some improvements from weinzwang.
2015-04-19 21:00:21 -04:00
Joey Hess 86783dc52d Make propellor resistent to changes to shared libraries, such as libffi
* Make propellor resistent to changes to shared libraries, such as libffi,
  which might render the propellor binary unable to run. This is dealt with
  by checking the binary both when running propellor on a remote host,
  and by Cron.runPropellor. If the binary doesn't work, it will be rebuilt.
* Note that since a new switch had to be added to allow testing the binary,
  upgrading to this version will cause a rebuild from scratch of propellor.
2015-04-02 10:20:44 -04:00
Joey Hess b31ad1d2ce remove announcedir target 2015-03-14 15:59:59 -04:00
Joey Hess 9292cee1aa prep 2015-03-12 20:09:02 -04:00
Joey Hess 370aad7825
propellor spin 2015-03-12 19:53:40 -04:00
Joey Hess b508bb52fd
propellor spin 2015-03-11 22:31:45 -04:00
Joey Hess 51dd9a9c63 prep release 2015-03-09 12:02:48 -04:00
Joey Hess e26c232d15 avoid using the makefile when bootstrapping with --spin 2015-02-28 12:51:16 -04:00
Joey Hess dc03e317b4 Propellor now builds itself without needing the Makefile. 2015-02-28 12:27:07 -04:00
Joey Hess e8b0e7c6ca
propellor spin 2015-02-27 18:55:51 -04:00
Joey Hess fa7656f743 Add shebang to cron.daily etc files. 2015-02-25 14:58:40 -04:00
Joey Hess be1a3a7c89 When running shimmed (eg in a docker container), improve process name visible in ps. 2015-02-16 19:01:32 -04:00
Joey Hess cc62505a61 prep release 2015-02-12 12:36:36 -04:00
Joey Hess da77276378 ssh user perm fixes
* Ssh.authorizedKey: Make the authorized_keys file and .ssh directory
  be owned by the user, not root.
* Ssh.knownHost: Make the .ssh directory be owned by the user, not root.
2015-02-12 12:35:15 -04:00
Joey Hess e32f157374 Fix Git.daemonRunning to restart inetd after enabling the git server. 2015-02-10 21:04:32 -04:00
Joey Hess 5781da55bc
propellor spin 2015-02-08 15:51:55 -04:00
Joey Hess 8edc7ed3ae
propellor spin 2015-02-01 17:34:04 -04:00
Joey Hess 04611cac47 changelog 2015-01-29 01:41:39 -04:00
Joey Hess 62c093de30 typo 2015-01-25 15:27:55 -04:00
Joey Hess 32ca4d3af2 prep release 2015-01-25 15:24:36 -04:00
Joey Hess 54d0d95961 update 2015-01-25 15:22:45 -04:00
Joey Hess 0ee04ecc43 GADT properties seem to work (untested)
* Property has been converted to a GADT, and will be Property NoInfo
  or Property HasInfo.
  This was done to make sure that ensureProperty is only used on
  properties that do not have Info.
  Transition guide:
  - Change all "Property" to "Property NoInfo" or "Property WithInfo"
    (The compiler can tell you if you got it wrong!)
  - To construct a RevertableProperty, it is useful to use the new
    (<!>) operator
  - Constructing a list of properties can be problimatic, since
    Property NoInto and Property WithInfo are different types and cannot
    appear in the same list. To deal with this, "props" has been added,
    and can built up a list of properties of different types,
    using the same (&) and (!) operators that are used to build
    up a host's properties.
2015-01-24 22:38:51 -04:00
Joey Hess 38eec6fc37 OS.preserveNetwork finally written 2015-01-23 01:30:50 -04:00
Joey Hess d156a1e9ba Added more network interface configuration properties. 2015-01-23 01:18:47 -04:00
Joey Hess fa66cb49d6 Added journald configuration properties. 2015-01-21 23:21:24 -04:00
Joey Hess 88082c7293 Added systemd configuration properties. 2015-01-21 22:49:03 -04:00
Joey Hess 04d4d0d6c4 Fix info propigation from fallback combinator's second Property. 2015-01-19 14:43:25 -04:00
Joey Hess 4da4c4a70f use git.joeyh.name in preference to git.kitenet.net 2015-01-19 14:29:09 -04:00
Joey Hess afee550e70 Property tree
Properties now form a tree, instead of the flat list used before.

This simplifies propigation of Info from the Properties used inside a
container to the outer host; the Property that docks the container on the
host can just have as child properties all the inner Properties, and their
Info can then be gathered recursively. (Although in practice it still needs
to be filtered, since not all Info should propigate out of a container.)

Note that there is no change to how Properties are actually satisfied.
Just because a Property lists some child properties, this does not mean
they always have their propertySatisfy actions run. It's still up to the
parent property to run those actions.

That's necessary so that a container's properties can be satisfied inside
it, not outside. It also allows property combinators to
add the combined Properties to their childProperties list, even if,
like onChange, they don't always run the child properties at all.

Testing: I tested that the exact same Info is calculated before and after
this change, for every Host in my config file.
2015-01-18 18:46:38 -04:00
Joey Hess c7609c824b Add descriptions of how to set missing fields to --list-fields output. (Minor API changes) 2015-01-15 20:15:01 -04:00
Joey Hess 35cd06e4e6 prep release 2015-01-15 14:03:36 -04:00
Joey Hess a8ed898d72 changelog 2015-01-08 22:52:48 -04:00
Joey Hess 16a5f561f5 Merge Utiity modules from git-annex.
Except for a few that are using the other exception handling library,
that propellor has not switched to yet.
2015-01-06 19:07:40 -04:00
Joey Hess 4c2c2785c8 SSHFP records are also generated for CNAMES of hosts. 2015-01-04 21:31:44 -04:00
Joey Hess 0794dfbd7c prep 2015-01-04 19:51:50 -04:00
Joey Hess 66e42a2a5b prep 2015-01-04 19:51:42 -04:00
Joey Hess 8e442f0656 DNS records for hosts with known ssh public keys now automatically include SSHFP records. 2015-01-04 19:24:18 -04:00
Joey Hess ef2f3d33de Fix bug that prevented deploying ssh host keys when the file for the key didn't already exist.
This is not a new bug.
2015-01-04 18:20:02 -04:00