Create VM
openstack server create foo-certbot \ --image "Ubuntu 18.04" \ --flavor m1.small \ --key-name foo-key \ --network foo-net \ --security-group foo-sec
Add floating IP
FLOATING_IP=$(openstack floating ip create public -c floating_ip_address -f value) echo ${FLOATING_IP} openstack server add floating ip foo-certbot ${FLOATING_IP}
Install certbot
ssh ubuntu@${FLOATING_IP} sudo apt update && sudo apt install -y certbot
Create wildcard certificates
export DOMAINS=" dev.example.com www.example.com " for DOMAIN in ${DOMAINS}; do sudo certbot certonly \ --manual \ --manual-public-ip-logging-ok \ --register-unsafely-without-email \ --agree-tos \ --preferred-challenges dns-01 \ --server https://acme-v02.api.letsencrypt.org/directory \ -d \*.${DOMAIN} done
Debug
watch dig TXT _acme-challenge.dev.example.com for DOMAIN in ${DOMAINS}; do dig TXT _acme-challenge.${DOMAIN} done | egrep '^_acme-challenge'