-
Notifications
You must be signed in to change notification settings - Fork 127
Description
Community Note
Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request.
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request.
If you are interested in working on this issue or have submitted a pull request, please leave a comment.
See PR #603
Description
Create a user controlled custom "manual-mount-command" option that when present will run in place of the packer-plugin-amazon's built in mounting steps (pre-mount/mount/post-mount), providing the user total control over partitioning and mounting process. Aligning the chroot builder with similar capabilities to the ebssurrogate builder, allowing for reuse of configs/scripts for each builder with minimal edits. While packer still managing the overall workflow around the interactions with the cloud apis and registering/creating images and abstracting that workflow across the different providers.
Use Case(s)
Allows users to use the chroot builder to create an image with an lvm-enabled root volume but also, instead of just targeting LVM, this is a flexible option that supports other complex mounting scenarios.
Much like the ebssurrogate builder supports total user control a "manual-mount-command" will bring this capability to the chroot builder.
We are also working to add this to the packer-plugin-azure chroot builder to support issue: hashicorp/packer-plugin-azure#510
Potential configuration
Option: "manual-mount-command": when set, the built in mounting steps are skipped and a new manual mount command step is performed instead.
"manual-mount-command" is a string that will represent the command to run, essentially ensuring the provided script is executable and calling the script.
**Note: mount path and device are still processed in the manual step. If user wants to use the configured/detected devices/mount paths they can reference like the second example.
source "amazon-chroot" "manual-mount-example" {
from_scratch = true
...
manual_mount_command = "chmod +x ./scripts/mount.sh && bash -x ./scripts/mount.sh"
}
source "amazon-chroot" "manual-mount-device-example" {
from_scratch = true
...
manual-mount-command="chmod +x ./scripts/mount.sh && bash -x ./scripts/mount.sh '{{ .Device }}'"
}