Когда я вхожу в свой хост Proxmox VE7, я хотел бы получить адрес электронной почты, который я ввел при настройке Proxmox во время установки. Возможно ли это?
Идея состоит в том, чтобы автоматизировать инициализацию certbot неинтерактивным способом, и я бы предпочел автоматически использовать адрес электронной почты, который я ввел ранее, чем снова запрашивать его в моем скрипте.
Для ясности, я хочу получить адрес электронной почты, который я ввел здесь, в скрипте оболочки:
решение1
Я думаю, вы можете найти свой установочный адрес электронной почты здесь:
cat /etc/pve/user.cfg
Чтобы получить адрес электронной почты:
EMAIL=`cat /etc/pve/user.cfg | awk '{split($0,a,":"); print a[7]}'`
echo $EMAIL
# [email protected]
Протестировано на PVE6 и PVE7, но учтите, что у меня только один пользователь (root).
В графическом интерфейсе вы можете найти его в разделе Центр данных / Разрешения / Пользователи, дважды щелкните по имени своего пользователя и вуаля!
решение2
Вы можете просто скопировать «шаблон» ( /etc/pve/priv/acme/default ) из другого proxmox, где работает сертификат LE, в /etc/pve/priv/acme/default и запустить заказ сертификата.
pvenode acme cert order
Предлагаю создать почту что-то вроде[email protected]и иметь его в шаблоне.
Я использую это в роли ansible. Вдохновляйтесь :D
##################
#LETS ENCRYPT CERT
##################
- name: Create empty file /etc/pve/priv/acme/default - workaround for action below
file:
path: /etc/pve/priv/acme/default
owner: root
group: www-data
mode: '0600'
state: touch
become: true
tags:
- hypervizor_proxmox_letsencrypt
- name: Copy template of LE CERT account - default
template:
src: lets_encrypt/le_account_default.j2
dest: /etc/pve/priv/acme/default
owner: root
group: www-data
mode: '0600'
become: true
tags:
- hypervizor_proxmox_letsencrypt
- name: Create LETS ENCRYPT cert
block:
- name : Create LETS ENCRYPT cert
shell: pvenode config set --acme domains="$(hostname -f|tr -d [:space:])" && pvenode acme cert order
rescue:
- name: Create LETS ENCRYPT cert failed, trying to rescue probably too much retries
shell: pvenode config set --acme domains="$(hostname -f|tr -d [:space:])" && pvenode acme cert order --force
ignore_errors: yes
tags:
- hypervizor_proxmox_letsencrypt