summaryrefslogtreecommitdiff
path: root/doc/forum/Systemd_container_pre-setup_properties
diff options
context:
space:
mode:
authorJoey Hess2016-06-16 22:12:28 -0400
committerJoey Hess2016-06-16 22:12:28 -0400
commitd72333ae80c7331db26b2c622f1b7abeb75e44e8 (patch)
tree7780ef73c2c5f533d30c72589a3edf70763d5774 /doc/forum/Systemd_container_pre-setup_properties
parent2ba2b37d975c921b3e80811e77579ff93e7af250 (diff)
response
Diffstat (limited to 'doc/forum/Systemd_container_pre-setup_properties')
-rw-r--r--doc/forum/Systemd_container_pre-setup_properties/comment_1_420b48d04f16fe5ca7a75c4720e50e1a._comment35
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/forum/Systemd_container_pre-setup_properties/comment_1_420b48d04f16fe5ca7a75c4720e50e1a._comment b/doc/forum/Systemd_container_pre-setup_properties/comment_1_420b48d04f16fe5ca7a75c4720e50e1a._comment
new file mode 100644
index 00000000..45b8afd4
--- /dev/null
+++ b/doc/forum/Systemd_container_pre-setup_properties/comment_1_420b48d04f16fe5ca7a75c4720e50e1a._comment
@@ -0,0 +1,35 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2016-06-17T01:49:24Z"
+ content="""
+Currently, Chroot.provisioned' is passed a `systemdonly :: Bool`,
+which limits the chroot provisioning to the Systemd.installed
+property.
+
+What you want to do needs a more flexible interface there.
+Add a `Maybe ChildProperty` parameter to specify what should be done
+to finish provisioning the chroot.
+
+Then, change the Systemd.Container data type:
+
+ -data Container = Container MachineName Chroot.Chroot Host
+ +data Container metatypes = Container
+ + { containerMachinName :: MachineName
+ + , containerChroot :: Chroot.Chroot
+ + , containerHost :: Host
+ + , containerChrootProvision :: Property metatypes
+ + }
+
+And Systemd.nspawned will pass
+`(Just (toChildProperty (containerChrootProvision c)))` to `Chroot.provisioned'`
+
+Systemd.Container constructor functions will default to setting
+`containerChrootProvision = Systemd.Core.installed`, but
+the user can then change the Container to add more properties
+to run in the chroot when provisioning it.
+
+(There's also a tricky bit where Systemd.nspawned needs to extract any info
+from containerChrootProvision and add it onto its own info to propigate
+it. If you do the rest of it, I will handle this tricky bit..)
+"""]]