This commit is contained in:
Joey Hess 2014-03-30 02:44:40 -04:00
parent c4afc9c90f
commit 49231c74a1
Failed to extract signature
2 changed files with 10 additions and 7 deletions

View File

@ -1,8 +1,10 @@
build: dist/setup-config build: dist/setup-config
git pull
if [ $$(whoami) = root ] then apt-get install ghc cabal-install libghc-missingh-dev libansi-terminal-dev libghc-ifelse-dev libghc-unix-compat-dev libghc-hslogger-dev; fi
cabal build cabal build
$(MAKE) tags $(MAKE) tags
dist/setup-config: dist/setup-config: propellor.cabal
cabal configure cabal configure
clean: clean:

13
README
View File

@ -1,15 +1,16 @@
This is a work in progress configuration management system using Haskell This is a work in progress configuration management system using Haskell
and Git. and Git.
The design is intentionally very bare bones: A git repository holds the The design is intentionally very bare bones: Propellor enures that
source to a program that ensures that the system meets a set of properties, the system it's run in satisfies a list of properties, taking action as
taking action as necessary when a property is not yet met. necessary when a property is not yet met.
Once set up, a system will have this git repository cloned to it, and Propellor lives in a git repository, and so to set it up it's cloned
the program will be built and run periodically by a cron job. Or something to a system, and "make" can be used to pull down any new changes,
and compile and run propellor. This can be done by a cron job. Or something
can ssh in and run it. can ssh in and run it.
For bootstrapping, the program compiles to a single binary file, For bootstrapping, propellor compiles to a single binary file,
which can be transferred to a host and run. which can be transferred to a host and run.
Properties are defined using Haskell. There is no special language as used Properties are defined using Haskell. There is no special language as used