Repository navigation
feat(tenants): tenant.extraHostnames voor meerdere hostnamen op één tenant #138
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
rubenvdlinde
wants to merge
16
commits into
main
Choose a base branch
from
feat/tenant-extra-hostnames
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
efbbe86
feat(tenants): tenant.extraHostnames voor meerdere hostnamen op één t…
rubenvdlinde 6b0bc18
fix(review): #138 f2 — Berekende primaire host niet herkend als dubbel
rjzondervan 34c94c0
fix(review): #138 f1 — Extra host mag de host van een andere tenant c…
rjzondervan 13687d4
fix(review): #138 f5 — Secretnamen botsen bij a-b.nl en a.b.nl
rjzondervan 71e97bc
fix(review): #138 f6 — Hostnaam-regex accepteert localhost, 123 en la…
rjzondervan 50934c5
fix(review): #138 f7 — Extra Ingress negeert ingress.enabled en ingre…
rjzondervan 72bb9e3
docs(review): #138 f8 — Host verwijderen blijft in trusted_domains staan
rjzondervan bf29d92
fix(review): #138 f7 — pre-push: extraHostnames vereist ingress.enabled
rjzondervan ab064c7
fix(review): #138 f1 — pre-push: dubbele tenant.name en register één …
rjzondervan 6da1eaa
fix(review): #138 f6 — pre-push: IP-adres als hostnaam weigeren
rjzondervan fd6c9c2
test(review): #138 f1 — pre-push: afhankelijkheid van dinkelland in f…
rjzondervan 86e8c7f
docs(review): #138 f1 — pre-push: check lists bijgewerkt
rjzondervan a17181e
Merge pull request #142 from ConductionNL/review/pr-138-fixes
rubenvdlinde cb163ee
fix(extra-hostnames): #138 f3, apex-host alleen met opt-in en zonder …
rubenvdlinde 4e449cb
docs(extra-hostnames): #138 f3 en f4, HSTS op apex-hosts en alleen Le…
rubenvdlinde fb50297
Merge remote-tracking branch 'origin/main' into feat/tenant-extra-hos…
rubenvdlinde File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| ### Toegevoegd — 2026-10-13 (tenant.extraHostnames) | ||
|
|
||
| Een tenant kan nu op meer dan één hostnaam antwoorden. Nieuw optioneel veld | ||
| `tenant.extraHostnames` (lijst). De ApplicationSet `nextcloud-tenants`: | ||
|
|
||
| - zet elke extra host achter de primaire host in `nextcloud.trustedDomains` | ||
| (en daarmee in `NEXTCLOUD_TRUSTED_DOMAINS`); | ||
| - rendert via `extraManifests` een tweede Ingress `nextcloud-extra-hosts`, | ||
| omdat chart 8.9.0 in zijn eigen Ingress alleen `nextcloud.host` als rule zet | ||
| (`ingress.hosts` uit de ApplicationSet leest die chart niet); | ||
| - geeft elke extra host een eigen TLS-blok en dus een eigen Certificate via | ||
| HTTP-01, zodat één host met nog niet kloppende DNS de andere niet tegenhoudt; | ||
| - neemt `ingress.enabled`, annotaties, `ingressClassName`, `path`, `pathType` | ||
| en poort via de `tpl` van de chart over uit dezelfde values als de | ||
| hoofd-Ingress: geen tweede kopie van de nginx-instellingen. | ||
|
|
||
| **Bestaande tenants renderen byte-identiek.** Het blok wordt alleen geëmit als | ||
| de lijst gezet is. Gemeten: alle 89 tenantbestanden op main en op deze branch | ||
| gerenderd (Argo-goTemplate met sprig en `missingkey=default`, daarna | ||
| `helm template` met chart 8.9.0 en dezelfde valueFiles-volgorde), values en | ||
| manifests per tenant byte voor byte gelijk. | ||
|
|
||
| `validate-values.sh` controleert het nieuwe veld (lijst, geldige DNS-namen en | ||
| geen IP-adres, geen dubbele, niet de primaire host, onder `commonground.nu` | ||
| alleen de eigen namen, unieke secretnaam ≤ 253, niet samen met | ||
| `ingress.enabled: false`). Ook `tenant.hostname` mag geen IP-adres meer zijn. | ||
| Over alle tenantbestanden heen weigert hij een host die twee tenants claimen | ||
| (primaire host, `extraHostnames`, `frontend.host`, `frontend.extraHosts`) en | ||
| een `tenant.name` die in twee bestanden staat, met fixtures in | ||
| `nextcloud-platform/tests/cases/tenant-extra-hostnames-*`. | ||
|
|
||
| Bekende beperkingen: `trusted_domains` wordt alleen bij de eerste installatie | ||
| geschreven, en een verwijderde host blijft erin staan tot een | ||
| `occ config:system:delete trusted_domains <n>`; `charts/tenant-httproute` neemt | ||
| nog één host. Zie | ||
| `docs/ADDING-TENANT.md`. | ||
|
|
||
| **Apex-hosts (review f3).** Een extra host met twee labels (`gemeente.nl`) | ||
| wordt geweigerd zonder `tenant.extraHostnamesAllowApex: true`: HSTS met | ||
| includeSubDomains op een apex dwingt HTTPS af op elk subdomein van de klant. | ||
| Apex-hosts krijgen een eigen Ingress `nextcloud-extra-hosts-apex` met | ||
| `hsts-include-subdomains: "false"`; de hoofd-Ingress en de andere extra hosts | ||
| houden hun waarde. ingress-nginx leest die annotatie niet (HSTS komt uit de | ||
| controller-ConfigMap), dus live blijft includeSubDomains staan tot die | ||
| ConfigMap of de route verandert; zie `docs/ADDING-TENANT.md`. Nieuwe | ||
| render-check `nextcloud-platform/tests/render-extra-hosts.sh` in `verify.sh`. | ||
|
|
||
| **Certificaten (review f4).** Extra hosts krijgen alleen Let's Encrypt: hun | ||
| Ingresses erven `cert-manager.io/cluster-issuer`. Een eigen of betaald cert per | ||
| extra host kan nog niet; `tenant.frontend.tls` is het bestaande patroon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟢 Klein — Host verwijderen blijft in trusted_domains staan
De beperking noemt alleen toevoegen. Haal je een host uit de lijst, dan prunet Argo de Ingress, maar de host blijft in
config.phpstaan. Bijconfig:system:set trusted_domains <n>overschrijf je met een verkeerde<n>ook een bestaande entry. Fix: één zin over verwijderen (config:system:delete trusted_domains <n>) en het advies om eerstconfig:system:get trusted_domainste draaien.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔧 Voorgestelde fix in #142, commit
72bb9e3: ADDING-TENANT.md beschrijft verwijderen: eerstconfig:system:get trusted_domains, danconfig:system:delete trusted_domains <n>. De thread blijft open tot de fix-PR gemerged is.