Skip to content

Certificate Management for Multi-Tenant Applications on Qovery #569

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Guimove
Copy link

@Guimove Guimove commented Aug 6, 2025

No description provided.

@Guimove Guimove force-pushed the doc/add_multitenant_certificats branch from f724034 to fe35ce4 Compare August 6, 2025 17:13
@Guimove Guimove marked this pull request as ready for review August 8, 2025 15:03
@Guimove Guimove changed the title WIP : Certificate Management for Multi-Tenant Applications on Qovery Certificate Management for Multi-Tenant Applications on Qovery Aug 8, 2025
Fix missing space
Comment on lines 157 to 159
bio = """\
Charles-Edouard is Technical Account Manager at <a href=\"https://www.qovery.com\">Qovery</a>.\
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remove stuff about cegagnaire plz?

Copy link
Contributor

@acarranoqovery acarranoqovery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very good tutorial, I've just added a few comments for improvement

* **Certificate generation failures**: If validation fails for one domain, it can prevent certificate generation for all domains
* **Deployment risks**: A single misconfigured domain can cause the entire deployment to fail
* **Privacy concerns**: Customers can see other tenants' domains when inspecting the SSL certificate
* **Certificate limits**: Let's Encrypt has rate limits that can be reached when managing many domains on a single certificate
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it the opposite? meaning that we group together certificate requests for multiple domains into a single one to avoid rate limiting. Doing this setup actually increases the risk of being rate-limited (since we increase the number of certificate requests by x domains


While not mandatory, creating separate environments helps maintain a clean separation between your core infrastructure and tenant-specific configurations.

1. **Create an Infrastructure Environment**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd avoid using "Infrastructure" for this kind of application environment, it's a term that we never use in the documentation (it can be just "main environment")


Navigate to Settings → Ports and add a port:

* Service name: Use the `QOVERY_CONTAINER_XXXXXXX_HOST_INTERNAL` value
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. As you said, the user should just create the service. As soon as he deploys it, it's impossible to set the service name since we fetch it from the same namespace where the helm is deployed. maybe add a message to say to not deploy it. Moreover, we have to be careful to take into account this kind of use case in the product since the namespace doesn't affect the service fetching mechanism (we could let the user first select the namespace and then the service to target)

  2. which port shall the user configure? I suppose the same of the container deployed in the previous step

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on the left, it should be just "Single ingress" and not "Single Ingress Controller"? (it's one ingress controller also on the right

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants