LILT derives every hostname it serves from two variables in install.env. You set the domain once, and the installer resolves it into every values file, route, and service URL.
Do not edit hostnames in lilt/values.yaml, lilt/environments/*/values.yaml, or the chart values files directly. Those files hold __SUBDOMAIN__ and __BASE_DOMAIN__ placeholders that the installer substitutes at install time. An edit there is either overwritten on the next run or leaves the deployment inconsistent with its routes.
Every hostname is a sibling of the others, not a subdomain of the main one. This matters for both DNS and certificates.
Hostname
Serves
<SUBDOMAIN>.<DNS_DOMAIN>
The web application and the public API
core-api-<SUBDOMAIN>.<DNS_DOMAIN>
The core API
connectors-api-<SUBDOMAIN>.<DNS_DOMAIN>
The connectors API
wso2-<SUBDOMAIN>.<DNS_DOMAIN>
The WSO2 identity server. Routed by default on EKS. On-premises it is opt-in: the routes ship disabled and install-wso2.sh is not called by install-lilt.sh.
minio-<SUBDOMAIN>.<DNS_DOMAIN>
MinIO object storage, on-premises installs only
minio-<SUBDOMAIN>-ui.<DNS_DOMAIN>
The MinIO console, on-premises installs only
vault.<SUBDOMAIN>.<DNS_DOMAIN>
The Vault UI, only when ENABLE_VAULT_UI is true. Override with VAULT_UI_HOST.
MetalLB hands the ingress gateway the address you set in LB_IP:
# install.envLB_IP=10.124.0.234
LB_IP is required when ENABLE_METALLB is true, which is the default. The install stops with an error if it is unset. Create an A record for each hostname in the preceding table pointing at that address.
To reach the application before the records are live, map the ingress address in your own /etc/hosts. Add every hostname, not only the main one, or sign-in fails when the browser is redirected to the identity server.
Every listener on the ingress gateway reads one Kubernetes secret, lilt-com-tls, in the istio-ingressgateway namespace. install-lilt-networking.sh is what writes it, and it picks a source in this order: cert-manager if ENABLE_CERT_MANAGER=true, then TLS_CRT_FILE and TLS_KEY_FILE, then an existing secret it leaves alone. If none of those apply it warns and continues, and the gateway serves no HTTPS.Choose one source of certificates.
Path
How
Use it when
Your own certificate
Set TLS_CRT_FILE and TLS_KEY_FILE in install.env.
On-premises, air-gapped, or any deployment with its own certificate authority. This is the default path.
cert-manager
Set ENABLE_CERT_MANAGER=true. cert-manager issues the certificate through a Route53 DNS-01 challenge and then owns the secret.
EKS deployments with Route53 access and the cert-manager IAM role. Needs ENABLE_DNS=true, or DNS records that already exist for the challenge to resolve against.
The Terraform module, indirectly
Set enable_tls_certificate = true in lilt-aws-env. The module runs the ACME challenge and stores the certificate in Vault. It does not write the Kubernetes secret.
EKS deployments that want the certificate provisioned alongside the infrastructure. You still deliver it to the cluster, either by writing the files out and setting TLS_CRT_FILE and TLS_KEY_FILE, or by creating lilt-com-tls yourself.
Do not enable two of these. cert-manager and the Terraform module both run ACME challenges against the same Let’s Encrypt identifier set, which is limited to five certificates per 168 hours. Two owners exhaust the quota and neither gets a certificate.Setting TLS_CRT_FILE together with ENABLE_CERT_MANAGER=true is safe but pointless: the installer skips the file seed when cert-manager is on, so your file is ignored.
A certificate you supply yourself must cover every hostname LILT serves. Because the hostnames are siblings rather than subdomains, a single *.<SUBDOMAIN>.<DNS_DOMAIN> wildcard does not cover them.
Add the MinIO hostnames on an on-premises install, and the Vault UI host if ENABLE_VAULT_UI is true.
A missing name is easy to miss and slow to diagnose. Browsers that already trust the main hostname keep working, while API clients fail hostname verification against the API hosts. The symptom reads as a TLS bug rather than as an incomplete certificate.
Check what a certificate actually covers before you install:
TLS_CRT_FILE must be the full chain: your certificate followed by any intermediates. A chain missing its intermediate still satisfies a browser that has cached it, and fails later in a stricter client.
Both the domain and the certificate take effect when you re-run the installer. Every component uses helm upgrade --install, so a re-run only changes what differs.
sh install-lilt.sh # on-premisessh install-lilt-eks.sh # EKS
When cert-manager or the Terraform module owns the secret, rotation is automatic and you do nothing.For a certificate you supply, replace the files and re-run the installer. It overwrites lilt-com-tls with the new material:
# The certificate the gateway serves, and its names.openssl s_client -connect <SUBDOMAIN>.<DNS_DOMAIN>:443 -servername <SUBDOMAIN>.<DNS_DOMAIN> </dev/null 2>/dev/null \ | openssl x509 -noout -subject -dates -ext subjectAltName# Every hostname should answer, and verify cleanly. Drop wso2- if you do not# run the identity server.for h in "" core-api- connectors-api- wso2-; do printf '%s: ' "$h<SUBDOMAIN>.<DNS_DOMAIN>" curl -sS -o /dev/null -w '%{http_code} verify=%{ssl_verify_result}\n' \ "https://$h<SUBDOMAIN>.<DNS_DOMAIN>/"done
verify=0 on every hostname means DNS, the load balancer, and the certificate are all correct. The status code itself varies by host, and a 401, 404, or redirect is still proof that the request reached the gateway over a valid certificate. A connection or TLS error is not.
Sign-in redirects to a hostname that does not resolve. The identity server runs on its own hostname. Confirm that wso2-<SUBDOMAIN>.<DNS_DOMAIN> resolves and is covered by the certificate.A hostname returns 404 through the gateway. The route for it did not install. Check the HTTPRoutes:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LILT","colors":{"primary":"#0B1C56","light":"#28AE97","dark":"#28AE97"},"logo":{"light":"https://mintcdn.com/lilt-db26f913/UHeYNg6Mxux_MnCF/logo-dark.png?fit=max\u0026auto=format\u0026n=UHeYNg6Mxux_MnCF\u0026q=85\u0026s=ccd8915cfa0f94ab3acc0cd47519228b","dark":"https://mintcdn.com/lilt-db26f913/UHeYNg6Mxux_MnCF/logo-light.png?fit=max\u0026auto=format\u0026n=UHeYNg6Mxux_MnCF\u0026q=85\u0026s=6f87adfc249940e51b8f92f1b9b971dd"},"favicon":"https://mintcdn.com/lilt-db26f913/KxQB3_Ey1ahDkiRO/favicon.png?fit=max\u0026auto=format\u0026n=KxQB3_Ey1ahDkiRO\u0026q=85\u0026s=035f22384895e64a7088c628d48c4be2","background":{"color":{"dark":"#081A28"}},"navbar":{"links":[{"href":"https://lilt.atlassian.net/servicedesk/customer/portals","label":"Help Desk"}],"primary":{"type":"button","label":"Book a Demo","href":"https://lilt.com/contact"}},"footer":{"socials":{"github":"https://github.com/lilt","linkedin":"https://www.linkedin.com/company/lilthq","x":"https://x.com/LiltHQ","youtube":"https://www.youtube.com/@lilthq"}},"fonts":{"heading":{"family":"Basis Grotesque Pro","source":"https://mintlify-assets.b-cdn.net/BasisGrotesquePro.woff2","format":"woff2"},"body":{"family":"Basis Grotesque Pro","source":"https://mintlify-assets.b-cdn.net/BasisGrotesquePro.woff2","format":"woff2"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"AI Research","icon":"books","href":"https://lilt.com/ai-research"},{"anchor":"Blog","icon":"book-open-cover","href":"https://lilt.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lilt-db26f913","hasAudioNarration":false,"actualSubdomain":"lilt-db26f913","customDomains":["support.lilt.com"],"gitSource":{"type":"github","owner":"lilt","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb2b6c385381993c300f0a","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":153},{"language":"default","tag":"Documentation","count":146},{"language":"default","tag":"Self-Managed","count":119},{"language":"default","tag":"System Administration","count":55},{"language":"default","tag":"Connect","count":49},{"language":"default","tag":"System Use","count":49},{"language":"default","tag":"Connectors","count":46},{"language":"default","tag":"Manage","count":31},{"language":"default","tag":"Verify","count":27},{"language":"default","tag":"System Configuration","count":27}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"globals.css","content":"@custom-variant dark (\u0026:is(.dark *));@theme{--color-primary: #2abfa3;--color-tertiary: #ad83fc;--color-dark: #081a28;--color-smoke: #a8acb5;--color-dark-smoke: #73767c;--color-transparent: rgba(0, 0, 0, 0);--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 19.2px;--text-xl: 23px;--text-2xl: 27.6px;--text-3xl: 33.2px;--text-4xl: 39.8px;--text-5xl: 47.8px;--text-6xl: 57.3px;--font-sans:\n \"Basis Grotesque Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n Roboto, \"Helvetica Neue\", Arial, sans-serif;--screen-sm: 640px;--screen-md: 768px;--screen-lg: 1024px;--screen-xl: 1280px;--screen-2xl: 1536px}html,body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:1rem;line-height:1.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(8, 26, 40, 0.5)}::-webkit-scrollbar-thumb{background:rgba(168, 172, 181, 0.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(168, 172, 181, 0.5)}.default-px{padding-left:20px;padding-right:20px}.default-py{padding-top:56px;padding-bottom:56px}@media (min-width: 768px){.default-px{padding-left:40px;padding-right:40px}.default-py{padding-top:88px;padding-bottom:88px}}@media (min-width: 1024px){.default-px{padding-left:60px;padding-right:60px}.default-py{padding-top:88px;padding-bottom:88px}}.font-inter{font-family:'Inter', sans-serif}.btn-primary{padding-left:1.25rem;padding-right:1.25rem;padding-top:0.75rem;padding-bottom:0.75rem;background-color:var(--color-primary);color:var(--color-dark);border-radius:9999px;font-weight:500;transition:background-color 0.2s;cursor:pointer}.btn-primary:hover{background-color:rgba(42, 191, 163, 0.8)}.btn-secondary{padding-left:1.25rem;padding-right:1.25rem;padding-top:0.75rem;padding-bottom:0.75rem;background-color:white;color:var(--color-dark);border-radius:9999px;font-weight:500;transition:background-color 0.2s;cursor:pointer}.btn-secondary:hover{background-color:rgba(255, 255, 255, 0.8)}.blog-rich-text{blockquote {\n margin-bottom: 16px;\n border-left: 3px solid #2abfa3;\n padding-left: 8px;\n font-size: 23px;\n font-weight: 500;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: 700;\n line-height: 1.25;\n margin: 48px 0 12px 0;\n }\n h1 {\n font-size: 39.8px;\n }\n h2 {\n font-size: 33.2px;\n }\n h3 {\n font-size: 27.6px;\n }\n h4 {\n font-size: 23.02px;\n }\n img {\n margin: 0 auto 16px;\n width: 100%;\n }\n ul {\n margin-bottom: 16px;\n font-size: 16px;\n list-style-type: disc;\n list-style-position: inside;\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n ul li:nth-child(1) {\n margin-top: 12px;\n }\n\n ul li li {\n list-style: circle;\n list-style-position: inside;\n }\n\n ol {\n margin-bottom: 16px;\n font-size: 16px;\n list-style-type: decimal;\n list-style-position: inside;\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n li {\n padding-left: 0.5em;\n text-indent: -0.5em;\n }\n a {\n font-weight: 700;\n color: rgb(28, 135, 201);\n text-decoration: underline;\n }\n a:hover {\n text-decoration: none;\n }\n p {\n font-size: 16px;\n margin-bottom: 20px;\n }\n iframe {\n width: 100%;\n margin-bottom: 24px;\n }}#hubspot-form-container{form {\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n label {\n font-size: 16px;\n color: #c6c9cd;\n }\n input {\n background-color: #0f273a;\n border: 1px solid rgba(255, 255, 255, 0.15);\n width: 100%;\n border-radius: 4px;\n padding: 16px 8px;\n color: white;\n }\n input:focus {\n border: 1px solid #2abfa3;\n outline: none;\n }\n input[type=\"submit\"] {\n font-size: 17px;\n font-weight: 600;\n padding-left: 1.25rem; /* px-5 */\n padding-right: 1.25rem;\n padding-top: 0.75rem; /* py-2 */\n padding-bottom: 0.75rem;\n background-color: var(--color-primary);\n color: var(--color-dark);\n border-radius: 9999px; /* rounded-full */\n font-weight: 500;\n transition: background-color 0.2s;\n cursor: pointer;\n }\n\n .submitted-message p span {\n color: white !important;\n font-size: 19.2px;\n text-align: center;\n }\n .submitted-message a {\n color: rgba(42, 191, 163, 0.8);\n font-size: 19.2px;\n }}#global-growth-form{width:100%;padding-right:0;color:#081A28;label {\n font-size: 14px;\n font-weight: 500;\n margin-bottom: 4px;\n }\n input[type=\"text\"], input[type=\"email\"] {\n border: 1px solid #CAD0D3;\n border-radius: 4px;\n font-size: 14px;\n padding: 8px;\n width: 100%;\n }\n\n .form-columns-2 {\n margin-bottom: 20px;\n display: flex;\n gap: 20px;\n }\n\n .hs-error-msgs {\n color: red;\n }\n\n .hs_email {\n margin-bottom: 20px;\n }\n\n .legal-consent-container {\n display: flex;\n flex-direction: column;\n gap: 10px;\n font-weight: 500;\n font-size: 14px;\n margin-bottom: 32px;\n }\n\n input[type=\"submit\"] {\n text-align: center;\n background-color: #2ABFA3;\n width: 100%;\n padding: 14px;\n border-radius: 100px;\n font-size: 19.2px;\n font-weight: 500;\n cursor: pointer;\n }}@theme inline{--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px);--color-background: var(--background);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-popover: var(--popover);--color-popover-foreground: var(--popover-foreground);--color-primary: var(--primary);--color-primary-foreground: var(--primary-foreground);--color-secondary: var(--secondary);--color-secondary-foreground: var(--secondary-foreground);--color-muted: var(--muted);--color-muted-foreground: var(--muted-foreground);--color-accent: var(--accent);--color-accent-foreground: var(--accent-foreground);--color-destructive: var(--destructive);--color-border: var(--border);--color-input: var(--input);--color-ring: var(--ring);--color-chart-1: var(--chart-1);--color-chart-2: var(--chart-2);--color-chart-3: var(--chart-3);--color-chart-4: var(--chart-4);--color-chart-5: var(--chart-5);--color-sidebar: var(--sidebar);--color-sidebar-foreground: var(--sidebar-foreground);--color-sidebar-primary: var(--sidebar-primary);--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);--color-sidebar-accent: var(--sidebar-accent);--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);--color-sidebar-border: var(--sidebar-border);--color-sidebar-ring: var(--sidebar-ring)}:root{--radius: 0.625rem;--background: #ffffff;--foreground: #081a28;--card: #ffffff;--card-foreground: #081a28;--popover: #ffffff;--popover-foreground: #081a28;--primary: #2abfa3;--primary-foreground: #081a28;--secondary: #f5f5f5;--secondary-foreground: #081a28;--muted: #f5f5f5;--muted-foreground: #73767c;--accent: #f5f5f5;--accent-foreground: #081a28;--destructive: #ef4444;--border: #e5e5e5;--input: #e5e5e5;--ring: #2abfa3;--chart-1: #2abfa3;--chart-2: #ad83fc;--chart-3: #06b6d4;--chart-4: #8b5cf6;--chart-5: #3b82f6;--sidebar: #ffffff;--sidebar-foreground: #081a28;--sidebar-primary: #2abfa3;--sidebar-primary-foreground: #081a28;--sidebar-accent: #f5f5f5;--sidebar-accent-foreground: #081a28;--sidebar-border: #e5e5e5;--sidebar-ring: #2abfa3;--purple-500: #3529be}.dark{--radius: 0.625rem;--background: #081a28;--foreground: #ffffff;--card: #0f273a;--card-foreground: #ffffff;--popover: #081a28;--popover-foreground: #ffffff;--primary: #2abfa3;--primary-foreground: #081a28;--secondary: #0f273a;--secondary-foreground: #ffffff;--muted: #0f273a;--muted-foreground: #a8acb5;--accent: #0f273a;--accent-foreground: #ffffff;--destructive: #ef4444;--border: #2a4255;--input: #2a4255;--ring: #2abfa3;--chart-1: #2abfa3;--chart-2: #ad83fc;--chart-3: #06b6d4;--chart-4: #8b5cf6;--chart-5: #3b82f6;--sidebar: #081a28;--sidebar-foreground: #ffffff;--sidebar-primary: #2abfa3;--sidebar-primary-foreground: #081a28;--sidebar-accent: #0f273a;--sidebar-accent-foreground: #ffffff;--sidebar-border: #2a4255;--sidebar-ring: #2abfa3}@layer base{*{@apply border-border outline-ring/50;}}.dark .text-primary-light{color:#ffffff}.card{position:relative;z-index:10;transition:transform 0.2s ease-in-out;border:1px solid var(--border)}.card:hover{transform:scale(1.05)}.dark .card{background:linear-gradient(to left bottom in oklab, rgb(14, 46, 72) 0px, rgb(10, 33, 50) 100%);border-color:rgba(255,255,255,.1)}.card .dark\\:bg-primary-light{background-color:var(--primary)!important;color:var(--primary)!important;fill:var(--primary)!important}.card [class*=\"bg-primary-light\"]{background-color:var(--primary)!important;color:var(--primary)!important;fill:var(--primary)!important}p{font-weight:500}*{font-weight:var(--font-weight-medium)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold)}.content a:not(.card),.prose a:not(.card),[data-content] a:not(.card){border-bottom:1px dashed color-mix(in srgb, var(--purple-500) 50%, transparent)}.dark .content a:not(.card),.dark .prose a:not(.card),.dark [data-content] a:not(.card){border-bottom:1px dashed color-mix(in srgb, white 80%, transparent)}nav a,.nav a,button a,.btn a,a[role=\"button\"],a[class*=\"btn\"],a[class*=\"nav\"]{border-bottom:none}.triangle-bg{position:fixed;bottom:0;right:0;height:80vh;width:auto;pointer-events:none;z-index:0}@media (max-width: 1024px){.triangle-bg{height:70vh}}@media (max-width: 768px){.triangle-bg{display:none}}"},{"filePath":"style.css","content":"@font-face{font-family:'BasisGrotesquePro';src:url('/fonts/BasisGrotesquePro.woff2') format('woff2'),\n url('/fonts/BasisGrotesquePro.woff') format('woff'),\n url('/fonts/BasisGrotesquePro.otf') format('opentype');font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:'BasisGrotesquePro';src:url('/fonts/BasisGrotesquePro-Bold.woff2') format('woff2'),\n url('/fonts/BasisGrotesquePro-Bold.woff') format('woff'),\n url('/fonts/BasisGrotesquePro-Bold.otf') format('opentype');font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:'BasisGrotesquePro';src:url('/fonts/BasisGrotesquePro-Italic.woff2') format('woff2'),\n url('/fonts/BasisGrotesquePro-Italic.woff') format('woff'),\n url('/fonts/BasisGrotesquePro-Italic.otf') format('opentype');font-weight:normal;font-style:italic;font-display:swap}:root{--font-family-base: 'BasisGrotesquePro', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif}body,html{font-family:var(--font-family-base)!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base)!important;background:linear-gradient(rgb(53, 41, 190), rgb(7, 27, 90));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;color:inherit}[data-theme=\"dark\"] .card{background:linear-gradient(to left bottom in oklab, rgb(14, 46, 72) 0px, rgb(10, 33, 50) 100%);border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}table code{white-space:nowrap}[data-component-part=\"version-select-trigger\"]{border:1.5px solid #28AE97;background-color:rgba(40, 174, 151, 0.10);font-weight:600}[data-component-part=\"version-select-trigger\"]::before{content:\"Version:\";font-weight:400;opacity:0.75}"}],"page":{"pagePath":"self-managed/v6.1/set-custom-domain-and-certificates","slug":"/self-managed/v6.1/set-custom-domain-and-certificates","pageMetadata":{"title":"Set Custom Domain And Certificates","description":null,"href":"/self-managed/v6.1/set-custom-domain-and-certificates"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`LILT derives every hostname it serves from two variables in `,_jsx(_components.code,{children:`install.env`}),`. You set the domain once, and the installer resolves it into every values file, route, and service URL.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not edit hostnames in `,_jsx(_components.code,{children:`lilt/values.yaml`}),`, `,_jsx(_components.code,{children:`lilt/environments/*/values.yaml`}),`, or the chart values files directly. Those files hold `,_jsx(_components.code,{children:`__SUBDOMAIN__`}),` and `,_jsx(_components.code,{children:`__BASE_DOMAIN__`}),` placeholders that the installer substitutes at install time. An edit there is either overwritten on the next run or leaves the deployment inconsistent with its routes.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`set-the-domain`,children:`Set the Domain`}),`\n`,_jsxs(_components.p,{children:[`Set both variables in `,_jsx(_components.code,{children:`install.env`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SUBDOMAIN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`prod`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`DNS_DOMAIN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`example.com`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`DNS_DOMAIN`}),` is required on every install path. Together the two produce the hostnames in the following table.`]}),`\n`,_jsx(Heading,{level:`2`,id:`hostnames-lilt-serves`,children:`Hostnames LILT Serves`}),`\n`,_jsx(_components.p,{children:`Every hostname is a sibling of the others, not a subdomain of the main one. This matters for both DNS and certificates.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Hostname`}),_jsx(_components.th,{children:`Serves`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsx(_components.td,{children:`The web application and the public API`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`core-api-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsx(_components.td,{children:`The core API`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`connectors-api-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsx(_components.td,{children:`The connectors API`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`wso2-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsxs(_components.td,{children:[`The WSO2 identity server. Routed by default on EKS. On-premises it is opt-in: the routes ship disabled and `,_jsx(_components.code,{children:`install-wso2.sh`}),` is not called by `,_jsx(_components.code,{children:`install-lilt.sh`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minio-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsx(_components.td,{children:`MinIO object storage, on-premises installs only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`minio-\u003cSUBDOMAIN>-ui.\u003cDNS_DOMAIN>`})}),_jsx(_components.td,{children:`The MinIO console, on-premises installs only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vault.\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),_jsxs(_components.td,{children:[`The Vault UI, only when `,_jsx(_components.code,{children:`ENABLE_VAULT_UI`}),` is true. Override with `,_jsx(_components.code,{children:`VAULT_UI_HOST`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`point-dns-at-the-ingress`,children:`Point DNS at the Ingress`}),`\n`,_jsx(_components.p,{children:`All hostnames resolve to the same address: the load balancer in front of the Istio ingress gateway.`}),`\n`,_jsx(Heading,{level:`3`,id:`on-premises`,children:`On-premises`}),`\n`,_jsxs(_components.p,{children:[`MetalLB hands the ingress gateway the address you set in `,_jsx(_components.code,{children:`LB_IP`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# install.env`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LB_IP`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`10.124.0.234`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`LB_IP`}),` is required when `,_jsx(_components.code,{children:`ENABLE_METALLB`}),` is true, which is the default. The install stops with an error if it is unset. Create an A record for each hostname in the preceding table pointing at that address.`]}),`\n`,_jsx(Heading,{level:`3`,id:`on-aws-eks`,children:`On AWS EKS`}),`\n`,_jsx(_components.p,{children:`The ingress gateway provisions a Network Load Balancer. Read its address after the install:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` svc`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` istio-ingressgateway`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Create a Route53 alias record for each hostname pointing at that load balancer. To have the installer create the records for you, set:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# install.env`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ENABLE_DNS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`HOSTED_ZONE_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Z0EXAMPLE1234567890`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The installer then needs Route53 write access. See `,_jsx(_components.a,{href:`/self-managed/v6.1/install-from-a-bastion#iam-permissions`,children:`Install from a bastion`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`testing-before-dns-exists`,children:`Testing Before DNS Exists`}),`\n`,_jsxs(_components.p,{children:[`To reach the application before the records are live, map the ingress address in your own `,_jsx(_components.code,{children:`/etc/hosts`}),`. Add every hostname, not only the main one, or sign-in fails when the browser is redirected to the identity server.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`203.0.113.24 prod.example.com core-api-prod.example.com connectors-api-prod.example.com wso2-prod.example.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`certificates`,children:`Certificates`}),`\n`,_jsxs(_components.p,{children:[`Every listener on the ingress gateway reads one Kubernetes secret, `,_jsx(_components.code,{children:`lilt-com-tls`}),`, in the `,_jsx(_components.code,{children:`istio-ingressgateway`}),` namespace. `,_jsx(_components.code,{children:`install-lilt-networking.sh`}),` is what writes it, and it picks a source in this order: cert-manager if `,_jsx(_components.code,{children:`ENABLE_CERT_MANAGER=true`}),`, then `,_jsx(_components.code,{children:`TLS_CRT_FILE`}),` and `,_jsx(_components.code,{children:`TLS_KEY_FILE`}),`, then an existing secret it leaves alone. If none of those apply it warns and continues, and the gateway serves no HTTPS.`]}),`\n`,_jsx(_components.p,{children:`Choose one source of certificates.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Path`}),_jsx(_components.th,{children:`How`}),_jsx(_components.th,{children:`Use it when`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Your own certificate`}),_jsxs(_components.td,{children:[`Set `,_jsx(_components.code,{children:`TLS_CRT_FILE`}),` and `,_jsx(_components.code,{children:`TLS_KEY_FILE`}),` in `,_jsx(_components.code,{children:`install.env`}),`.`]}),_jsx(_components.td,{children:`On-premises, air-gapped, or any deployment with its own certificate authority. This is the default path.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`cert-manager`}),_jsxs(_components.td,{children:[`Set `,_jsx(_components.code,{children:`ENABLE_CERT_MANAGER=true`}),`. cert-manager issues the certificate through a Route53 DNS-01 challenge and then owns the secret.`]}),_jsxs(_components.td,{children:[`EKS deployments with Route53 access and the cert-manager IAM role. Needs `,_jsx(_components.code,{children:`ENABLE_DNS=true`}),`, or DNS records that already exist for the challenge to resolve against.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The Terraform module, indirectly`}),_jsxs(_components.td,{children:[`Set `,_jsx(_components.code,{children:`enable_tls_certificate = true`}),` in `,_jsx(_components.code,{children:`lilt-aws-env`}),`. The module runs the ACME challenge and stores the certificate in Vault. It does not write the Kubernetes secret.`]}),_jsxs(_components.td,{children:[`EKS deployments that want the certificate provisioned alongside the infrastructure. You still deliver it to the cluster, either by writing the files out and setting `,_jsx(_components.code,{children:`TLS_CRT_FILE`}),` and `,_jsx(_components.code,{children:`TLS_KEY_FILE`}),`, or by creating `,_jsx(_components.code,{children:`lilt-com-tls`}),` yourself.`]})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`Do not enable two of these. cert-manager and the Terraform module both run ACME challenges against the same Let’s Encrypt identifier set, which is limited to five certificates per 168 hours. Two owners exhaust the quota and neither gets a certificate.`}),_jsxs(_components.p,{children:[`Setting `,_jsx(_components.code,{children:`TLS_CRT_FILE`}),` together with `,_jsx(_components.code,{children:`ENABLE_CERT_MANAGER=true`}),` is safe but pointless: the installer skips the file seed when cert-manager is on, so your file is ignored.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`required-subject-alternative-names`,children:`Required Subject Alternative Names`}),`\n`,_jsxs(_components.p,{children:[`A certificate you supply yourself must cover every hostname LILT serves. Because the hostnames are siblings rather than subdomains, a single `,_jsx(_components.code,{children:`*.\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`}),` wildcard does not cover them.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`*.\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`core-api-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`connectors-api-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`wso2-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Add the MinIO hostnames on an on-premises install, and the Vault UI host if `,_jsx(_components.code,{children:`ENABLE_VAULT_UI`}),` is true.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A missing name is easy to miss and slow to diagnose. Browsers that already trust the main hostname keep working, while API clients fail hostname verification against the API hosts. The symptom reads as a TLS bug rather than as an incomplete certificate.`})}),`\n`,_jsx(_components.p,{children:`Check what a certificate actually covers before you install:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` x509`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -in`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tls.crt`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -noout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -text`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` grep`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -A1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Subject Alternative Name'`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`supplying-the-certificate`,children:`Supplying the Certificate`}),`\n`,_jsx(_components.p,{children:`Point the two variables at PEM files on the machine running the installer:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# install.env`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TLS_CRT_FILE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/opt/lilt/certs/tls.crt`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TLS_KEY_FILE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/opt/lilt/certs/tls.key`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`TLS_CRT_FILE`}),` must be the full chain: your certificate followed by any intermediates. A chain missing its intermediate still satisfies a browser that has cached it, and fails later in a stricter client.`]}),`\n`,_jsx(Heading,{level:`2`,id:`apply-a-change`,children:`Apply a Change`}),`\n`,_jsxs(_components.p,{children:[`Both the domain and the certificate take effect when you re-run the installer. Every component uses `,_jsx(_components.code,{children:`helm upgrade --install`}),`, so a re-run only changes what differs.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install-lilt.sh`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # on-premises`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install-lilt-eks.sh`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # EKS`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`rotate-a-certificate`,children:`Rotate a Certificate`}),`\n`,_jsx(_components.p,{children:`When cert-manager or the Terraform module owns the secret, rotation is automatic and you do nothing.`}),`\n`,_jsxs(_components.p,{children:[`For a certificate you supply, replace the files and re-run the installer. It overwrites `,_jsx(_components.code,{children:`lilt-com-tls`}),` with the new material:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`cp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` new-tls.crt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /opt/lilt/certs/tls.crt`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`cp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` new-tls.key`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /opt/lilt/certs/tls.key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install-lilt-eks.sh`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The ingress gateway picks the new certificate up without a restart. Confirm the expiry date changed:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secret`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` lilt-com-tls`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` istio-ingressgateway`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` jsonpath='{.data.tls\\\\.crt}'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` base64`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` x509`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -noout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -dates`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`verify`,children:`Verify`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# The certificate the gateway serves, and its names.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` s_client`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -connect`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SUBDOMAI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`N`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`DNS_DOMAI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`N`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`:443`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -servername`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SUBDOMAI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`N`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`.`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`DNS_DOMAI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`N`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/dev/null`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` 2>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/dev/null`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` x509`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -noout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -subject`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -dates`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -ext`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` subjectAltName`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Every hostname should answer, and verify cleanly. Drop wso2- if you do not`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# run the identity server.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` h`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` in`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` core-api-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` connectors-api-`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` wso2-`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`do`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` printf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%s: '`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$h`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sS`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /dev/null`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -w`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '%{http_code} verify=%{ssl_verify_result}\\\\n'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$h`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>/\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`done`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`verify=0`}),` on every hostname means DNS, the load balancer, and the certificate are all correct. The status code itself varies by host, and a 401, 404, or redirect is still proof that the request reached the gateway over a valid certificate. A connection or TLS error is not.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The gateway serves no HTTPS at all.`}),` The installer warns and continues when no certificate is available. Check whether the secret exists:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secret`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` lilt-com-tls`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` istio-ingressgateway`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If it is missing, neither `,_jsx(_components.code,{children:`TLS_CRT_FILE`}),` nor cert-manager was configured. Create it directly, then re-run the installer:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secret`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tls`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` lilt-com-tls`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` istio-ingressgateway`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --cert=tls.crt`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --key=tls.key`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sign-in redirects to a hostname that does not resolve.`}),` The identity server runs on its own hostname. Confirm that `,_jsx(_components.code,{children:`wso2-\u003cSUBDOMAIN>.\u003cDNS_DOMAIN>`}),` resolves and is covered by the certificate.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A hostname returns 404 through the gateway.`}),` The route for it did not install. Check the HTTPRoutes:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` httproute`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` istio-ingressgateway`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`related-articles`,children:`Related Articles`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/self-managed/v6.1/install-system-aws-eks`,children:`Install System (AWS EKS)`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/self-managed/v6.1/install-aws-existing-cluster`,children:`Install on an existing EKS cluster`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/self-managed/v6.1/install-aws-terraform-module`,children:`Provision AWS infrastructure with Terraform`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/self-managed/v6.1/single-sign-on-sso`,children:`Single sign-on (SSO)`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Set Custom Domain And Certificates","description":null,"href":"/self-managed/v6.1/set-custom-domain-and-certificates"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Set the Domain","slug":"set-the-domain","depth":2,"children":[]},{"title":"Hostnames LILT Serves","slug":"hostnames-lilt-serves","depth":2,"children":[]},{"title":"Point DNS at the Ingress","slug":"point-dns-at-the-ingress","depth":2,"children":[{"title":"On-premises","slug":"on-premises","depth":3,"children":[]},{"title":"On AWS EKS","slug":"on-aws-eks","depth":3,"children":[]},{"title":"Testing Before DNS Exists","slug":"testing-before-dns-exists","depth":3,"children":[]}]},{"title":"Certificates","slug":"certificates","depth":2,"children":[{"title":"Required Subject Alternative Names","slug":"required-subject-alternative-names","depth":3,"children":[]},{"title":"Supplying the Certificate","slug":"supplying-the-certificate","depth":3,"children":[]}]},{"title":"Apply a Change","slug":"apply-a-change","depth":2,"children":[]},{"title":"Rotate a Certificate","slug":"rotate-a-certificate","depth":2,"children":[]},{"title":"Verify","slug":"verify","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related Articles","slug":"related-articles","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"lilt-db26f913","siteName":"LILT","title":"Set Custom Domain And Certificates - LILT","navMaps":{"firstHrefInVersion":{"v6.1 (latest)":{"href":"/self-managed/v6.1/set-custom-domain-and-certificates","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T12:56:31.801Z","originalFileLocation":"self-managed/v6.1/set-custom-domain-and-certificates.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"LILT\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set Custom Domain And Certificates - LILT\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LILT\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lilt-db26f913.mintlify.site/_mintlify/api/og/v2?division=System+Configuration\u0026amp;title=Set+Custom+Domain+And+Certificates\u0026amp;theme=83ae01c2301f9e1a58801756\u0026amp;signature=cc30936ece989f03e97e03007aaad0cd5acce679d820054f585db0662db736eb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Set Custom Domain And Certificates - LILT\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lilt-db26f913.mintlify.site/_mintlify/api/og/v2?division=System+Configuration\u0026amp;title=Set+Custom+Domain+And+Certificates\u0026amp;theme=83ae01c2301f9e1a58801756\u0026amp;signature=cc30936ece989f03e97e03007aaad0cd5acce679d820054f585db0662db736eb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lilt-db26f913/kcX7srqayMXLed0E/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LILT\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0B1C56\">\u003clink data-mint-head rel=\"canonical\" href=\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/self-managed/v6.1/set-custom-domain-and-certificates.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://support.lilt.com/#organization\",\"name\":\"LILT\",\"url\":\"https://support.lilt.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lilt-db26f913/UHeYNg6Mxux_MnCF/logo-dark.png?fit=max\u0026auto=format\u0026n=UHeYNg6Mxux_MnCF\u0026q=85\u0026s=ccd8915cfa0f94ab3acc0cd47519228b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://support.lilt.com#website\",\"name\":\"LILT\",\"url\":\"https://support.lilt.com\",\"publisher\":{\"@id\":\"https://support.lilt.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates#webpage\",\"url\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates\",\"name\":\"Set Custom Domain And Certificates\",\"dateModified\":\"2026-11-04T12:56:31.801Z\",\"isPartOf\":{\"@id\":\"https://support.lilt.com#website\"},\"breadcrumb\":{\"@id\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\" \",\"item\":\"https://support.lilt.com/self-managed/v6.1/lilt-system-architecture\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"System Administration\",\"item\":\"https://support.lilt.com/self-managed/v6.1/upgrade-system\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"System Configuration\",\"item\":\"https://support.lilt.com/self-managed/v6.1/enable-features\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Set Custom Domain And Certificates\",\"item\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates#article\",\"headline\":\"Set Custom Domain And Certificates\",\"name\":\"Set Custom Domain And Certificates\",\"url\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates\",\"mainEntityOfPage\":{\"@id\":\"https://support.lilt.com/self-managed/v6.1/set-custom-domain-and-certificates#webpage\"},\"dateModified\":\"2026-11-04T12:56:31.801Z\",\"publisher\":{\"@id\":\"https://support.lilt.com/#organization\"},\"isPartOf\":{\"@id\":\"https://support.lilt.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LILT\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LILT","nav":{"global":{"anchors":[{"anchor":"AI Research","icon":"books","href":"https://lilt.com/ai-research"},{"anchor":"Blog","icon":"book-open-cover","href":"https://lilt.com/blog"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/kb/what-is-lilt"}]},{"tab":"Self-Managed","versions":[{"version":"v6.1 (latest)","groups":[{"group":" ","pages":[{"group":"Overview","pages":[{"title":"System Architecture","href":"/self-managed/v6.1/lilt-system-architecture"},{"title":"Self-Managed Features","href":"/self-managed/v6.1/self-managed-features"},{"title":"Disk Space Requirements","href":"/self-managed/v6.1/disk-space-requirements"},{"title":"Infrastructure Release Notes","href":"/self-managed/v6.1/infrastructure-release-notes"},{"group":"Release Notes","pages":[{"title":"LILT 5.3 Release Notes","href":"/self-managed/v6.1/5.3.0ReleaseNotes"},{"title":"LILT 5.2 Release Notes","href":"/self-managed/v6.1/2025Q2ReleaseNotes"},{"title":"LILT 5.1 Release Notes","href":"/self-managed/v6.1/2025-q1-lilt-5-1-0-release-notes"},{"title":"2025 LILT February Patch Release Notes","href":"/self-managed/v6.1/february-2025-patch-release-notes"},{"title":"2024 Q4 Release Notes","href":"/self-managed/v6.1/2024-q4-release-what-s-new-in-the-lilt-platform"}]}]},{"group":"System Administration","pages":[{"group":"Installation and Upgrade","pages":[{"title":"Upgrade LILT","href":"/self-managed/v6.1/upgrade-system"},{"title":"Move The System Offline","href":"/self-managed/v6.1/move-the-system-offline"},{"title":"Create Backup","href":"/self-managed/v6.1/create-backup"},{"title":"Restore From Backup","href":"/self-managed/v6.1/restore-from-backup"},{"title":"Instructions To Delete Container Images","href":"/self-managed/v6.1/instructions-to-delete-container-images"},{"title":"Access To MongoDB","href":"/self-managed/v6.1/access-to-mongodb"},{"title":"Install K8S In Offline Environment (Rocky 8)","href":"/self-managed/v6.1/install-k8s-in-offline-environment-rocky-8"},{"title":"Upgrade NVIDIA/CUDA Drivers","href":"/self-managed/v6.1/upgrade-nvidia-cuda-drivers"},{"title":"Upgrade Kubernetes","href":"/self-managed/v6.1/upgrade-kubernetes"},{"title":"Upgrade Kubernetes (AWS EKS)","href":"/self-managed/v6.1/upgrade-kubernetes-aws-eks"},{"title":"Upgrade Third Party Applications","href":"/self-managed/v6.1/upgrade-third-party-applications"},{"title":"Upgrade Elasticsearch Across Major Versions","href":"/self-managed/v6.1/upgrade-elasticsearch"},{"title":"Back Up and Restore Elasticsearch","href":"/self-managed/v6.1/backup-and-restore-elasticsearch"},{"title":"Upgrade Qdrant","href":"/self-managed/v6.1/upgrade-qdrant"},{"title":"Install Package","href":"/self-managed/v6.1/install-package"},{"title":"Install System (AWS EKS)","href":"/self-managed/v6.1/install-system-aws-eks"},{"title":"Provision AWS Infrastructure with Terraform","href":"/self-managed/v6.1/install-aws-terraform-module"},{"title":"Install on an Existing EKS Cluster","href":"/self-managed/v6.1/install-aws-existing-cluster"},{"title":"Install from a Bastion","href":"/self-managed/v6.1/install-from-a-bastion"},{"title":"GPU Profiles And Values Overlays","href":"/self-managed/v6.1/gpu-profiles-and-values-overlays"},{"title":"Secrets And Vault","href":"/self-managed/v6.1/secrets-and-vault"},{"title":"install.env Reference","href":"/self-managed/v6.1/install-env-reference"},{"title":"Migrate Object Storage (MinIO to S3)","href":"/self-managed/v6.1/migrate-object-storage-minio-to-s3"},{"title":"Rename the Object Storage Bucket","href":"/self-managed/v6.1/rename-object-storage-bucket"},{"title":"Migrate Database (MySQL to RDS)","href":"/self-managed/v6.1/migrate-database-mysql-to-rds"},{"title":"AWS Access Requirements","href":"/self-managed/v6.1/aws-required-permissions"},{"title":"Install System (Amazon Linux 2023 Or Rocky 8/9)","href":"/self-managed/v6.1/install-system-amazon-linux-2023-or-rocky-8-9"}]},{"group":"System Configuration","pages":[{"title":"Enable/Disable Features","href":"/self-managed/v6.1/enable-features"},{"group":"Language Models","pages":[{"title":"Language Models","sidebarTitle":"Overview","href":"/self-managed/v6.1/v2-language-models"},{"title":"Configuring GPU Worker Counts In LILT","href":"/self-managed/v6.1/configuring-gpu-worker-counts-in-lilt"},{"title":"Self-Managed Hardware Requirements","href":"/self-managed/v6.1/self-managed-hardware-requirements"}]},{"title":"Syncing Language Data","href":"/self-managed/v6.1/sync-language-data"},{"title":"Resource Metrics","href":"/self-managed/v6.1/resource-metrics"},{"title":"Generate Evaluation Metrics (WPA, BLEU)","href":"/self-managed/v6.1/generate-evaluation-metrics-wpa-bleu"},{"title":"Single Sign On (SSO) For Self-Managed","description":null,"href":"/self-managed/v6.1/single-sign-on-sso"},{"title":"Set Custom Domain And Certificates","href":"/self-managed/v6.1/set-custom-domain-and-certificates"},{"title":"Using S3 instead of MinIO","description":"Configure LILT to use Amazon S3 for object storage instead of the default MinIO installation","href":"/self-managed/v6.1/using-s3-instead-of-minio"},{"title":"Trusting a Custom CA for S3 Storage","href":"/self-managed/v6.1/custom-ca-for-s3"},{"title":"Using Amazon RDS Instead of Local MySQL","href":"/self-managed/v6.1/using-rds-instead-of-mysql"},{"title":"Dataflow Analytics Pipeline","href":"/self-managed/v6.1/dataflow-analytics"},{"title":"Configuring the Internal OCR Provider","href":"/self-managed/v6.1/configuring-internal-ocr-provider"},{"title":"SMTP Email Notifications","href":"/self-managed/v6.1/smtp-email-notifications"},{"title":"Scheduling Maintenance-Window Banners","href":"/self-managed/v6.1/maintenance-windows"},{"title":"Enable Incompatible Browsers","href":"/self-managed/v6.1/enable-incompatible-browsers"},{"title":"Create User/Organization","href":"/self-managed/v6.1/create-user-organization"},{"title":"Custom Role For Instant Translate","href":"/self-managed/v6.1/custom-role-for-instant-translate"},{"title":"Migrate Flannel To Calico","href":"/self-managed/v6.1/migrate-flannel-to-calico"},{"title":"Node Labels","href":"/self-managed/v6.1/node-labels"},{"title":"SRX Upload Documentation","href":"/self-managed/v6.1/srx-upload-documentation"},{"title":"User Domains Documentation","href":"/self-managed/v6.1/user-domains-documentation"},{"title":"Create ImagePullSecrets","href":"/self-managed/v6.1/create-imagepullsecrets"},{"group":"Connectors","pages":[{"title":"Connectors","sidebarTitle":"Overview","href":"/kb/connectors"},{"title":"Connector Login Credentials","href":"/self-managed/v6.1/connector-login-credentials"},{"title":"OneDrive Configuration","href":"/self-managed/v6.1/onedrive-configuration"}]}]},{"title":"Troubleshooting","href":"/self-managed/v6.1/deleting"}]},{"group":"System Use","pages":[{"group":"Project Management","pages":[{"title":"Navigation In The Platform","href":"/self-managed/v6.1/new-navigation-in-the-lilt-platform"},{"title":"Creating Jobs","href":"/self-managed/v6.1/creating-jobs"},{"title":"Navigating The Jobs Page","href":"/kb/navigating-the-jobs-list"},{"title":"Navigating The Projects List","href":"/kb/navigating-the-projects-list"},{"title":"Project View","href":"/kb/project-view"},{"title":"Project Delivery","href":"/kb/project-delivery"},{"title":"Project Settings","href":"/kb/project-settings"},{"title":"Project Custom Properties","href":"/kb/project-custom-properties"},{"title":"Reference Materials","href":"/kb/reference-materials"},{"title":"Document Actions","href":"/kb/document-actions"},{"title":"Bulk Document Actions","href":"/kb/bulk-document-actions"},{"title":"Accepting Document Assignments","href":"/kb/accepting-document-assignments"},{"title":"Setting Deadlines","href":"/kb/due-dates-for-jobs-projects-documents"},{"title":"Review Sampling","href":"/kb/review-sampling"},{"title":"Mandatory Batch QA","href":"/kb/mandatory-batch-qa-check"},{"title":"Project Manager Guide","href":"/kb/lilt-translate-guide-for-project-managers"},{"title":"Image File Translation","href":"/self-managed/v6.1/image-file-translation-self-managed"},{"title":"Linguist Homepage","href":"/kb/lilt-linguist-homepage"},{"title":"Workflows","href":"/kb/lilt-workflows"}]},{"group":"Translate","pages":[{"title":"Introduction To LILT Translation","href":"/self-managed/v6.1/introduction-to-lilt-translation"},{"title":"Translating Documents","href":"/kb/translating-documents"},{"title":"Segment Comments and Error Flagging","href":"/kb/segment-comments"},{"title":"Segment State Indicators","href":"/kb/segment-state-indicators"},{"title":"Split \u0026 Merge Segments","href":"/kb/split-merge-segments"},{"title":"Tags \u0026 Formatting","href":"/kb/tags-formatting"},{"title":"Non-Translatables","href":"/kb/non-translatables"},{"title":"Bi-Directional Text Marks","href":"/kb/bi-directional-text-marks"},{"title":"Source Highlighting Tool","href":"/kb/source-highlighting-tool"},{"title":"Hotkeys","href":"/kb/hotkeys"},{"title":"Segment Context","href":"/kb/segment-context"},{"title":"Concordance","href":"/kb/concordance"},{"title":"Terminology","href":"/kb/terminology"},{"title":"Find \u0026 Replace","href":"/kb/find-replace"},{"title":"Document Navigation Tab","href":"/kb/document-navigation-tab"},{"title":"Preview mode","href":"/kb/monolingual-preview"},{"title":"Overwrite Confirmed Segments","href":"/kb/auto-propagation"},{"title":"Custom QA","href":"/self-managed/v6.1/custom-qa"},{"title":"AI Only User Role","href":"/kb/instant-translate-homepage"},{"title":"ICU Support","href":"/self-managed/v6.1/icu-support"}]},{"title":"Data Cleanup \u0026 Building Data Sources","href":"/self-managed/v6.1/data-cleanup-building-memories"},{"title":"Data Source/Terminology Management","href":"/self-managed/v6.1/memory-terminology-management"},{"group":"Manage","pages":[{"group":"Analytics","pages":[{"title":"Job Stats","href":"/kb/job-stats"},{"title":"Analytics","href":"/kb/lilt-analytics-v2"},{"title":"Revision Reports","href":"/kb/how-to-read-revision-reports"},{"title":"Volume and User Activity","href":"/self-managed/v6.1/volume-and-user-activity"}]},{"title":"Organization Settings","href":"/kb/organization-settings"},{"title":"Feature Flag Reference","href":"/kb/feature-flags"},{"title":"File Loaders","sidebarTitle":"Overview","href":"/kb/lilt-file-loaders"}]},{"group":"Create","pages":[{"title":"Create","sidebarTitle":"Overview","href":"/kb/lilt-create"}]}]},{"group":"Compliance","pages":[{"title":"Information Assurance (IA)","href":"/self-managed/v6.1/information-assurance-ia"},{"title":"Audit Logs","href":"/self-managed/v6.1/audit-logs"},{"title":"Brute Force Protection","href":"/self-managed/v6.1/brute-force-protection"},{"title":"Encryption And Access Control","href":"/self-managed/v6.1/encryption-and-access-control"}]},{"group":"Quick User Guides","pages":[{"title":"Quick Start Guide","href":"/self-managed/v6.1/quick-start-guide-w-videos"},{"title":"Manage Memory and Termbase","href":"/self-managed/v6.1/manage-memory-and-termbase"}]}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/developers/introduction"}]}]},"basePath":"","title":"Set Custom Domain And Certificates - LILT","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}