summaryrefslogtreecommitdiff
path: root/release/tools/ec2-cloud-init.conf
blob: 8ad86a0822607749280ce9434e94da3465739ab6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh

. ${WORLDDIR}/release/tools/ec2.conf

# Packages to install into the image we're creating.  In addition to packages
# present on all EC2 AMIs, we install amazon-ssm-agent and cloud-init.
export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} amazon-ssm-agent net/cloud-init"

# Services to enable in rc.conf(5).
export VM_RC_LIST="${VM_RC_LIST} cloudinit sshd"

# Hack for FreeBSD 15.0; should go away before 15.1.
MISSING_METALOGS="
./usr/local/etc/cloud/cloud.cfg
./usr/local/etc/cloud/cloud.cfg.d/05_logging.cfg
./usr/local/etc/cloud/cloud.cfg.d/99_freebsd.cfg
./usr/local/etc/pam.d/sudo
./usr/local/etc/ssl/cert.pem
./usr/local/etc/sudo.conf
./usr/local/etc/sudo_logsrvd.conf
./usr/local/etc/sudoers
"

vm_extra_pre_umount() {
	# Configuration common to all EC2 AMIs
	ec2_common

	# Configure cloud-init
	cat <<-'EOF' > ${DESTDIR}/usr/local/etc/cloud/cloud.cfg.d/98_ec2.cfg
		disable_root: true
		system_info:
		  distro: freebsd
		  default_user:
		    name: ec2-user
		    lock_passwd: True
		    groups: [wheel]
		    shell: /bin/sh
		    homedir: /home/ec2-user
		    doas:
		    - permit nopass ec2-user
	EOF
	metalog_add_data ./usr/local/etc/cloud/cloud.cfg.d/98_ec2.cfg

	return 0
}