]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-oci: import the environment variables
authorFelix Abecassis <fabecassis@nvidia.com>
Tue, 21 Nov 2017 21:49:36 +0000 (13:49 -0800)
committerFelix Abecassis <fabecassis@nvidia.com>
Thu, 23 Nov 2017 01:55:03 +0000 (17:55 -0800)
Signed-off-by: Felix Abecassis <fabecassis@nvidia.com>
templates/lxc-oci.in

index 13decc74009ac3272a029404c222844c8d7d6688..c06c62a6746bd9e0bee38222671a47963b385f6e 100755 (executable)
@@ -105,6 +105,21 @@ getep() {
        return
 }
 
+# get environment from oci image.
+getenv() {
+       if [ "$#" -eq 0 ]; then
+               return
+       fi
+
+       configpath="$1"
+
+       cat "${configpath}" > /tmp/config
+       env=`cat "${configpath}" | jq -c '.config.Env[]'`
+
+       echo "${env}"
+       return
+}
+
 usage() {
     cat <<EOF
 LXC container template for OCI images
@@ -213,6 +228,11 @@ entrypoint=$(getep ${OCI_CONF_FILE})
 echo "lxc.execute.cmd = '${entrypoint}'" >> "${LXC_CONF_FILE}"
 echo "lxc.mount.auto = proc:mixed sys:mixed cgroup:mixed" >> "${LXC_CONF_FILE}"
 
+environment=$(getenv ${OCI_CONF_FILE})
+while read -r line; do
+    echo "lxc.environment = ${line}" >> "${LXC_CONF_FILE}"
+done <<< "${environment}"
+
 echo "lxc.uts.name = ${LXC_NAME}" >> "${LXC_CONF_FILE}"
 # set the hostname
 cat <<EOF > ${LXC_ROOTFS}/etc/hostname