| Age | Commit message (Collapse) | Author |
|
|
|
|
|
needed for ghc 7.6.3
|
|
Also, implemented modifyHostProps to add properties to an existing host.
Using it bypasses some type safety. Its use in docker is safe though.
But, in Conductor, the use of it was not really safe, because it was used
with a DebianLike property. Fixed that by making Ssh.installed
target all unix's, although it will fail on non-DebianLike ones.
|
|
It ended up specialized to Linux for a few reasons, including
inChrootProcess's use of umountLazy which is linux specific.
The ChrootBootstrapper type class is specialized to Linux for no good
reason. Future work: Support other unix's.
|
|
Renamed several utility functions along the way.
|
|
addInfoProperty' is like addInfoProperty but for when the input property
is already known to HasInfo.
|
|
|
|
Conductor WIP
|
|
|
|
The new properties let the type checker know what the target OS is.
|
|
|
|
|
|
|
|
|
|
Ssh is WIP and failing to compile quite badly
|
|
|
|
and note that it's not meant to be used by regular users
|
|
|
|
|
|
|
|
|
|
|
|
I wanted to keep propertyList [foo, bar] working, but had some difficulty
making the type class approach work. Anyway, that's unlikely to be useful,
since foo and bar probably have different types, or could easiy have their
types updated breaking it.
|
|
Was not able to keep it a type class -- the type checker got too confused.
(Or I did.)
So, Host, Docker, and Chroot now need to be passed a Props, which is
constructed using props. This is a small user-visible API change, but
acceptable.
|
|
Was wrong when there was a non-target in the MetaTypes list.
Also, rework to improve type checker errors.
|
|
|
|
|
|
|
|
|
|
Assuming DebianLike for all these properties until I hear otherwise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Moved to its own module to keep everything related in one place.
|
|
A few parts using ensureProperty need more work to compile
|
|
|
|
|
|
Somewhat poorly; I don't like needing to export the Property constructor to
use it here, and there's a use of undefined where it should be able to use
sing.
I got quite stuck on this, so am happy to have anything that works.
|
|
|
|
|
|
|
|
|
|
While it was ok to have RevertableProperty HasInfo even when
the undo property did not have any info, and it would be ok to have
RevertableProperty Debian even when the undo property targeted a wider
set of OS's, type-level resource conflict detection needs to keep
the two straight, as in RevertableProperty (Port 80 + Debian) Debian
Without that, reverting a web server property and also including another
property that uses port 80 would fail to compile, since the type system
would not know if reverting RevertableProperty (Port 80 + Debian) continued
using the resource or not.
The downside is the need to write RevertableProperty Debian Debian
... Perhaps I'll add a type alias to avoid that or something.
|
|
|
|
|
|
This can come back later as a full Resource data type.
For now, I want to focus on merging what I have working.
|