bb1c16b165
awk variable needs doubled '$' and '\' characters to be properly escaped (and working properly) Change-Id: I7703ad64e03c7afe52e49194e3bbed9f228b5760 Closes-Bug: #1689412
14 lines
818 B
Desktop File
14 lines
818 B
Desktop File
[Unit]
|
|
Description=Creates an encrypted ramfs for Octavia certs
|
|
After=cloud-config.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/bin/sh -c 'modprobe brd; passphrase=$$(head /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 32 | head -n 1); certs_path=$$(awk "/base_cert_dir / {printf \\$$3}" /etc/octavia/amphora-agent.conf); mkdir -p "$${certs_path}"; echo -n "$${passphrase}" | cryptsetup luksFormat /dev/ram0 -; echo -n "$${passphrase}" | cryptsetup luksOpen /dev/ram0 certfs-ramfs -; mkfs.ext2 /dev/mapper/certfs-ramfs; mount /dev/mapper/certfs-ramfs "$${certs_path}"'
|
|
ExecStop=/bin/sh -c 'certs_path=$$(awk "/base_cert_dir / {printf \\$$3}" /etc/octavia/amphora-agent.conf); umount "$${certs_path}"; cryptsetup luksClose /dev/mapper/certfs-ramfs;'
|
|
RemainAfterExit=yes
|
|
TimeoutSec=0
|
|
|
|
[Install]
|
|
WantedBy=amphora-agent.service
|