# Generate SSL certificate via Lietencrypt
###### tags: `DevOps`
#### Генерируем сертификат
Первым делом запускаем certbot в докере
```bash=
docker run -it --rm -v /home/letsencrypt/certs:/etc/letsencrypt -v /home/letsencrypt/data:/data/letsencrypt certbot/certbot certonly --manual --preferred-challenges=dns --email vova.lunev@devhouse.pro --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com
```
Далее нас просят добавить DNS запись типа TXT
```bash=
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:
Ofc6EQd8llN1PUxhbzgC9mt81bLYEzENZQZRInoLLfo
Before continuing, verify the record is deployed.
```
> После того как мы добавили в DNS ждем примерно 15 минут что бы Letsencrypt узнал об этом.
Если все прошло успешно, то вы увидите это
```bash=
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your certificate will expire on 2021-10-25. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
```
> Полученные сертификаты можно использовать. По истечению срока годности придет уведомление на указанную почту. После этого можно будет перевыпустить сертификат, но только с той же машины с которой создавали, и на машине должен быть старый сертификат
#### Генерируем PFX из полученных сертификатов
```bash=
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem -certfile fullchain.pem
```
> Следуя инструкции создаем сертификат. Советую сохранить где-то пароль от него.
Полученный сертификат можно загружать например на Azure.
#### Загрузка SSL сертификата в Kubernetes
Получаем нужный нам формат
```bash=
cat cert.pem fullchain.pem > cert.crt
```
Загружаем в куб
```bash=
kubectl create secret tls bizbot-ssl-cert --cert=ssl-bundle.crt --key=private.key -n prod
```