diff --git a/elements/growroot/init-scripts/systemd/growroot.service b/elements/growroot/init-scripts/systemd/growroot.service new file mode 100644 index 000000000..40093d99a --- /dev/null +++ b/elements/growroot/init-scripts/systemd/growroot.service @@ -0,0 +1,12 @@ +[Unit] +Description=Grow root partition +After=local-fs.target + +[Service] +Type=oneshot +User=root +ExecStart=/usr/local/sbin/growroot +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff --git a/elements/growroot/package-installs.yaml b/elements/growroot/package-installs.yaml new file mode 100644 index 000000000..3482d8f68 --- /dev/null +++ b/elements/growroot/package-installs.yaml @@ -0,0 +1,2 @@ +growpart: +e2fsprogs: \ No newline at end of file diff --git a/elements/growroot/pkg-map b/elements/growroot/pkg-map new file mode 100644 index 000000000..1fa644d7f --- /dev/null +++ b/elements/growroot/pkg-map @@ -0,0 +1,12 @@ +{ + "family":{ + "redhat": { + "growpart": "cloud-utils-growpart", + "e2fsprogs": "e2fsprogs" + }, + "debian":{ + "growpart": "cloud-utils", + "e2fsprogs": "e2fsprogs" + } + } +} diff --git a/elements/growroot/post-install.d/80-growroot b/elements/growroot/post-install.d/80-growroot new file mode 100755 index 000000000..391fffdb1 --- /dev/null +++ b/elements/growroot/post-install.d/80-growroot @@ -0,0 +1,21 @@ +#!/bin/bash + +if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +case "$DIB_INIT_SYSTEM" in + upstart) + # nothing to do + exit 0 + ;; + systemd) + systemctl enable growroot.service + ;; + *) + echo "Unsupported init system" + exit 1 + ;; +esac