summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2014-12-07 15:24:21 -0400
committerJoey Hess2014-12-07 15:24:21 -0400
commitabee353d9deba1f786abe2580c39071cfd33c71b (patch)
treeeed5ac18c1a8b0eb576e7c15bc91be1ae145dc78
parentd1cfcc416c84f317fa7d7871c4974a09bc5fc70e (diff)
parentf9958e16115c4e9220d6bafa07ae17a151ae1f04 (diff)
Merge branch 'joeyconfig'
-rw-r--r--config-joey.hs8
-rw-r--r--debian/changelog18
-rw-r--r--src/Propellor/Property/OS.hs2
-rw-r--r--src/Propellor/Property/Ssh.hs2
-rw-r--r--src/Propellor/Types/PrivData.hs2
5 files changed, 17 insertions, 15 deletions
diff --git a/config-joey.hs b/config-joey.hs
index abbd846d..9e0cf90f 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -209,7 +209,7 @@ diatom = standardSystem "diatom.kitenet.net" (Stable "wheezy") "amd64"
& ipv4 "107.170.31.195"
& DigitalOcean.distroKernel
- & Ssh.hostKeys (Context "diatom.kitenet.net")
+ & Ssh.hostKeys hostContext
& Apt.unattendedUpgrades
& Apt.serviceInstalledRunning "ntp"
& Postfix.satellite
@@ -273,9 +273,9 @@ elephant = standardSystem "elephant.kitenet.net" Unstable "amd64"
& Apt.unattendedUpgrades
& Systemd.installed
& Systemd.persistentJournal
- & Ssh.hostKeys ctx
+ & Ssh.hostKeys hostContext
& sshPubKey "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAJkoPRhUGT8EId6m37uBdYEtq42VNwslKnc9mmO+89ody066q6seHKeFY6ImfwjcyIjM30RTzEwftuVNQnbEB0="
- & Ssh.keyImported SshRsa "joey" ctx
+ & Ssh.keyImported SshRsa "joey" hostContext
& Apt.serviceInstalledRunning "swapspace"
& alias "eubackup.kitenet.net"
@@ -315,8 +315,6 @@ elephant = standardSystem "elephant.kitenet.net" Unstable "amd64"
-- that port for ssh, for traveling on bad networks that
-- block 22.
& Ssh.listenPort 80
- where
- ctx = Context "elephant.kitenet.net"
--' __|II| ,.
diff --git a/debian/changelog b/debian/changelog
index 9d1fc0ec..0ea27675 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-propellor (1.1.0) UNRELEASED; urgency=medium
+propellor (1.1.0) unstable; urgency=medium
* --spin target --via relay causes propellor to bounce through an
intermediate relay host, which handles any necessary uploads
@@ -14,15 +14,16 @@ propellor (1.1.0) UNRELEASED; urgency=medium
portable precompiled tarball of propellor.
* Propellor.Property.OS contains properties that can be used to do a clean
reinstall of the OS of an existing host. This can be used, for example,
- to do an in-place conversion from Fedora to Debian. Use with caution!
+ to do an in-place conversion from Fedora to Debian.
+ This is experimental; use with caution!
* Added group-related properties. Thanks, Félix Sipma.
* Added Git.barerepo. Thanks, Félix Sipma.
* Added Grub.installed and Grub.boots properties.
- * hasSomePassword and hasPassword now default to using the name of the
- host as the Context for the password. To specify a different context,
- use hasSomePassword' and hasPassword' (API change)
- * hasSomePassword and hasPassword now check to make sure shadow passwords
- are enabled.
+ * New HostContext can be specified when a PrivData value varies per host.
+ * hasSomePassword and hasPassword now default to using HostContext.
+ To specify a different context, use hasSomePassword' and
+ hasPassword' (API change)
+ * hasSomePassword and hasPassword now make sure shadow passwords are enabled.
* cron.runPropellor now runs propellor, rather than using its Makefile.
This is more robust.
* propellor.debug can be set in the git config to enable more persistent
@@ -30,9 +31,8 @@ propellor (1.1.0) UNRELEASED; urgency=medium
* Run apt-cache policy with LANG=C so it works on other locales.
* endAction can be used to register an action to run once propellor
has successfully run on a host.
- * Fixed privdata introspection for User.hasPassword and User.hasSomePassword
- -- Joey Hess <joeyh@debian.org> Sat, 22 Nov 2014 00:12:35 -0400
+ -- Joey Hess <id@joeyh.name> Sun, 07 Dec 2014 15:23:59 -0400
propellor (1.0.0) unstable; urgency=medium
diff --git a/src/Propellor/Property/OS.hs b/src/Propellor/Property/OS.hs
index 6d55072f..efd7a509 100644
--- a/src/Propellor/Property/OS.hs
+++ b/src/Propellor/Property/OS.hs
@@ -22,6 +22,8 @@ import Control.Exception (throw)
-- | Replaces whatever OS was installed before with a clean installation
-- of the OS that the Host is configured to have.
+--
+-- This is experimental; use with caution!
--
-- This can replace one Linux distribution with different one.
-- But, it can also fail and leave the system in an unbootable state.
diff --git a/src/Propellor/Property/Ssh.hs b/src/Propellor/Property/Ssh.hs
index 88a757bd..fcae6498 100644
--- a/src/Propellor/Property/Ssh.hs
+++ b/src/Propellor/Property/Ssh.hs
@@ -80,7 +80,7 @@ randomHostKeys = flagFile prop "/etc/ssh/.unique_host_keys"
[ "DPKG_MAINTSCRIPT_NAME=postinst DPKG_MAINTSCRIPT_PACKAGE=openssh-server /var/lib/dpkg/info/openssh-server.postinst configure" ]
-- | Sets all types of ssh host keys from the privdata.
-hostKeys :: Context -> Property
+hostKeys :: IsContext c => c -> Property
hostKeys ctx = propertyList "known ssh host keys"
[ hostKey SshDsa ctx
, hostKey SshRsa ctx
diff --git a/src/Propellor/Types/PrivData.hs b/src/Propellor/Types/PrivData.hs
index a18e7cec..80dad762 100644
--- a/src/Propellor/Types/PrivData.hs
+++ b/src/Propellor/Types/PrivData.hs
@@ -21,6 +21,8 @@ data PrivDataField
-- Context "www.example.com" could be used for the SSL cert
-- for the web server serving that domain. Multiple hosts might
-- use that privdata.
+--
+-- This appears in serlialized privdata files.
newtype Context = Context String
deriving (Read, Show, Ord, Eq)