Add /etc/autofs/special_efs to EC2 AMIs

Since Amazon Elastic File System is only available within AWS, it seems
more appropriate to have this added only in EC2 AMIs rather than
"polluting" non-EC2 images with it.

Reviewed by:	gjb
MFC after:	7 days
Relnotes:	Amazon EFS filesystems can be automounted by enabling autofs
		and placing "/efs -efs" into /etc/auto_master.
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D24791
This commit is contained in:
Colin Percival 2020-05-17 21:54:59 +00:00
parent 355711ea76
commit ba97bfb0de
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=361143

View file

@ -113,6 +113,23 @@ vm_extra_pre_umount() {
-e '1,/^#server/s/^#server.*/server 169.254.169.123 iburst/' \
${DESTDIR}/etc/ntp.conf
# Provide a map for accessing Elastic File System mounts
cat > ${DESTDIR}/etc/autofs/special_efs <<'EOF'
#!/bin/sh
if [ $# -eq 0 ]; then
# No way to know which EFS filesystems exist and are
# accessible to this EC2 instance.
exit 0
fi
# Provide instructions on how to mount the requested filesystem.
FS=$1
REGION=`fetch -qo- http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -e 's/[a-z]$//'`
echo "-nfsv4,minorversion=1,oneopenown ${FS}.efs.${REGION}.amazonaws.com:/"
EOF
chmod 755 ${DESTDIR}/etc/autofs/special_efs
# The first time the AMI boots, the installed "first boot" scripts
# should be allowed to run:
# * ec2_configinit (download and process EC2 user-data)