add components page
This commit is contained in:
parent
f7a02ae4ff
commit
6734d89eb4
|
@ -6,8 +6,8 @@ are satisfied.
|
||||||
Propellor is configured via a git repository, which typically lives
|
Propellor is configured via a git repository, which typically lives
|
||||||
in `~/.propellor/` on your development machine. Propellor clones the
|
in `~/.propellor/` on your development machine. Propellor clones the
|
||||||
repository to each host it manages, in a
|
repository to each host it manages, in a
|
||||||
[secure](http://propellor.branchable.com/security/) way. The git repository
|
[secure](http://propellor.branchable.com/security/) way. See [[components]]
|
||||||
contains the full source code to Propellor, along with its config file.
|
for details.
|
||||||
|
|
||||||
Properties are defined using Haskell. Edit `~/.propellor/config.hs`
|
Properties are defined using Haskell. Edit `~/.propellor/config.hs`
|
||||||
to get started. There is fairly complete
|
to get started. There is fairly complete
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
Propellor is a single system, but it's made up of some logically separate
|
||||||
|
components.
|
||||||
|
|
||||||
|
* Propellor is a Haskell library. The library can be installed
|
||||||
|
[from hackage](http://hackage.haskell.org/package/propellor)
|
||||||
|
in the usual ways. It complies with the
|
||||||
|
[[Haskell Package Version Policy|interface_stability]].
|
||||||
|
* `~/.propellor/` is a git repository, which contains at least your
|
||||||
|
`config.hs` file and a cabal file. This gets deployed to each machine
|
||||||
|
you manage with propellor, where it's installed as `/usr/local/propellor/`
|
||||||
|
* There can also be a propellor command in your PATH. If you `apt-get
|
||||||
|
install propellor`, you'll get one installed, or `cabal install propellor`
|
||||||
|
will put the command in `~/.cabal/bin/propellor`. This propellor command
|
||||||
|
is just a wrapper; it builds and runs what you have set up in `~/.propellor/`
|
||||||
|
|
||||||
|
Typically, the `~/.propellor/` git repository is set up by running the
|
||||||
|
propellor command, or by [[cloning propellor|install]]. That makes
|
||||||
|
the repository contain the full source code to propellor, including
|
||||||
|
the Haskell library.
|
||||||
|
|
||||||
|
So if you want to, you can edit any part of Propellor's source code.
|
||||||
|
Don't like how a property works, or need to make it more general? Just edit
|
||||||
|
then copy in `~/.propellor/src/Propellor/` and it will be used. See
|
||||||
|
[[contributing]] if you want to send your improvements back.
|
||||||
|
|
||||||
|
All that really needs to be in `~/.propellor/` though, is a `config.hs`
|
||||||
|
file, and a cabal file. If you want to set up the repository manually,
|
||||||
|
and don't want it to contain propellor's source code, here's a stub cabal
|
||||||
|
file to get you started:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
Name: foo
|
||||||
|
Cabal-Version: >= 1.6
|
||||||
|
Build-Type: Simple
|
||||||
|
Version: 0
|
||||||
|
|
||||||
|
Executable propellor-config
|
||||||
|
Main-Is: config.hs
|
||||||
|
GHC-Options: -Wall -threaded -O0
|
||||||
|
Build-Depends: propellor, base >= 3
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
See [[haskell_newbie]] for an example config.hs file.
|
|
@ -6,6 +6,7 @@ Other documentation:
|
||||||
* [[man page|usage]]
|
* [[man page|usage]]
|
||||||
* [[Haskell Newbie]]
|
* [[Haskell Newbie]]
|
||||||
* [[Centralized Git Repository]]
|
* [[Centralized Git Repository]]
|
||||||
|
* [[Components]]
|
||||||
* [[Contributing]]
|
* [[Contributing]]
|
||||||
* [[Interface Stability]]
|
* [[Interface Stability]]
|
||||||
* [[Coding Stye]]
|
* [[Coding Stye]]
|
||||||
|
|
Loading…
Reference in New Issue