MicrosoftLearning / MicrosoftLearning/trainer-demo-deploy

[Template Request]: New demo deployment: requesting free certs from Let's Encrypt

Open
#37 3 comments 0 reactions 2 assignees View on GitHub

@RolfCloud42 is already working on this.

Since Aug 27, 2025.

Dominant language
TypeScript
Stars
31
Forks
30
Avg merge
1d 5h
Merged PRs (30d)
8

Description

Describe the scenario you would like to see

This demo showcases how to automatically request or renew TLS certificates from Let’s Encrypt and store them securely in Azure Key Vault using a client application running in an Azure Function. As part of the process, the client app creates the required DNS verification record in Azure DNS. Once Let’s Encrypt verifies the record, the certificate is issued. After issuance, the client app removes the verification record from Azure DNS. The certificate is then stored in Azure Key Vault.

This setup is a practical example that can be used alongside courses such as SC-300, AZ-500, or any training that covers Azure Key Vault. It also provides a great opportunity to demonstrate the use of managed identities, as the Function App requires permissions to store certificates in Azure Key Vault and to manage DNS records in Azure DNS.

I have created a step by step guide at the below post.
https://cloudbuild.co.uk/free-automated-lets-encrypt-certificates-in-azure-key-vault-with-acme-bot-a-step-by-step-guide/

Relevant screenshots

Step by step instructions and screenshots available at the link below.

https://cloudbuild.co.uk/free-automated-lets-encrypt-certificates-in-azure-key-vault-with-acme-bot-a-step-by-step-guide/

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.