From f4ba7abb3a81629d70d0e051226aaee4ab765458 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 11 Nov 2015 13:40:36 -0400 Subject: Add Propellor.Property.PropellorRepo.hasUrl, an explicit way to set the git repository url normally implicitly set when using --spin. --- src/Propellor/Property/PropellorRepo.hs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/Propellor/Property/PropellorRepo.hs (limited to 'src/Propellor') diff --git a/src/Propellor/Property/PropellorRepo.hs b/src/Propellor/Property/PropellorRepo.hs new file mode 100644 index 00000000..20c13df1 --- /dev/null +++ b/src/Propellor/Property/PropellorRepo.hs @@ -0,0 +1,19 @@ +module Propellor.Property.PropellorRepo where + +import Propellor.Base +import Propellor.Git + +-- | Sets the url to use as the origin of propellor's git repository. +-- +-- When propellor --spin is used to update a host, the url is taken from +-- the repository that --spin is run in, and passed to the host. So, you +-- don't need to specifiy this property then. +-- +-- This property is useful when hosts are being updated without using +-- --spin, eg when using the `Propellor.Property.Cron.runPropellor` cron job. +hasUrl :: String -> Property NoInfo +hasUrl u = property ("propellor repo url " ++ u) $ do + curru <- liftIO getRepoUrl + if curru == Just u + then return NoChange + else makeChange $ setRepoUrl u -- cgit v1.2.3