microsoft / microsoft/AzureTRE

Allow configuring the Certbot executable path

Open
#5,067 0 comments 0 reactions 1 assignee View on GitHub

@JayDoubleu is already working on this.

Since Sep 5, 2026.

deployment feature
Dominant language
Python
Stars
235
Forks
192
Avg merge
1d 23h
Merged PRs (30d)
13

Description

Is your feature request related to a problem? Please describe.

The core Let's Encrypt script invokes Certbot using the absolute path /opt/certbot/bin/certbot.

This path works in the Azure TRE development container because its Dockerfile installs Certbot there. However, make letsencrypt cannot run in an alternative environment where Certbot is installed elsewhere.

Configuring PATH does not help because the script uses an absolute path. Installing or linking Certbot under /opt may also require root access.

Describe the solution you'd like

Allow the Certbot executable path to be supplied through an optional CERTBOT_BIN environment variable.

For example:

CERTBOT_BIN=/path/to/certbot make letsencrypt

The script should continue to use /opt/certbot/bin/certbot when CERTBOT_BIN is unset. This preserves the existing development-container behaviour.

Describe alternatives you've considered

  • Install Certbot under /opt/certbot. This may require root access and duplicates an existing installation.
  • Create a symbolic link under /opt/certbot/bin. This also requires permission to modify /opt.
  • Modify the script locally. This creates unnecessary differences from upstream Azure TRE.
  • Add the Certbot installation directory to PATH. This does not override the current absolute path.

Additional context

The proposed change applies only to the core make letsencrypt workflow.

The certificate shared-service container should remain unchanged because its Dockerfile installs Certbot at /opt/certbot/bin/certbot.

The requested behaviour is backwards-compatible:

  • If CERTBOT_BIN is set, use its value.
  • If CERTBOT_BIN is unset, use /opt/certbot/bin/certbot.

Contributor guide

Open the contributing guide

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.