update: configure a custom domain for Kafka REST endpoints#1316
Conversation
Deploying aiven-docs with
|
| Latest commit: |
40e99ae
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0029b3ab.aiven-docs.pages.dev |
| Branch Preview URL: | https://doc-1726-document-how-to-con.aiven-docs.pages.dev |
There was a problem hiding this comment.
Pull request overview
Documents how to configure a custom domain for REST-based components of an Aiven for Apache Kafka® service, and adds the new page to the Kafka How to sidebar navigation.
Changes:
- Add a new how-to page: “Configure a custom domain for Kafka REST API, Schema Registry, and Kafka Connect”.
- Add the new page to the Kafka Administrative tasks section in
sidebars.ts.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
sidebars.ts |
Adds the new Kafka how-to doc to the sidebar so it appears in navigation. |
docs/products/kafka/howto/configure-custom-domain.md |
New documentation page describing DNS + CLI/API steps to set custom_domain. |
| Create a CNAME record for your custom domain in your DNS provider. The record must point | ||
| your custom domain to the Kafka service hostname. | ||
|
|
||
| Use one of the following targets: | ||
|
|
||
| - `SUBDOMAIN.example.com` → `PROJECT_NAME-SERVICE_NAME.aivencloud.com`: | ||
| Use this target when the service is accessed through private networking. | ||
|
|
||
| - `SUBDOMAIN.example.com` → `public-PROJECT_NAME-SERVICE_NAME.aivencloud.com`: | ||
| Use this target when the service is accessed through public networking. | ||
|
|
There was a problem hiding this comment.
The suggested CNAME targets for "private networking" vs "public networking" look incorrect/incomplete. static/includes/config-kafka.md notes that when custom_domain is set for a service in a VPC, the TLS certificate is only created for the public-* hostname and the custom domain, which implies the CNAME may need to point to the public-...aivencloud.com hostname even for private-network access. Please align these instructions with the actual behavior and explicitly document which Aiven hostname to use in each networking scenario (VPC/private access vs public access).
| Create a CNAME record for your custom domain in your DNS provider. The record must point | |
| your custom domain to the Kafka service hostname. | |
| Use one of the following targets: | |
| - `SUBDOMAIN.example.com` → `PROJECT_NAME-SERVICE_NAME.aivencloud.com`: | |
| Use this target when the service is accessed through private networking. | |
| - `SUBDOMAIN.example.com` → `public-PROJECT_NAME-SERVICE_NAME.aivencloud.com`: | |
| Use this target when the service is accessed through public networking. | |
| Create a `CNAME` record for your custom domain in your DNS provider. | |
| Point the record to the Aiven hostname that matches custom domain certificate | |
| provisioning. | |
| Use the following target: | |
| - `SUBDOMAIN.example.com` → `public-PROJECT_NAME-SERVICE_NAME.aivencloud.com`: | |
| Use this target for public access. | |
| Use this target for VPC or other private-network access when you configure | |
| `custom_domain`. | |
| Aiven creates the certificate for the `public-*` hostname and for your custom | |
| domain. | |
| If your service uses a VPC or another private network path, clients can still use the | |
| custom domain. The `CNAME` target remains `public-PROJECT_NAME-SERVICE_NAME.aivencloud.com`. |
| ### Step 1: Create a DNS CNAME record | ||
|
|
||
| Create a CNAME record for your custom domain in your DNS provider. The record must point |
There was a problem hiding this comment.
Apply inline code formatting to DNS record types. For example, change "CNAME" to CNAME in the heading and the paragraph so it matches the repository style for technical/DNS terms.
| ### Step 1: Create a DNS CNAME record | |
| Create a CNAME record for your custom domain in your DNS provider. The record must point | |
| ### Step 1: Create a DNS `CNAME` record | |
| Create a `CNAME` record for your custom domain in your DNS provider. The record must point |
| ### Step 3: Wait for certificate provisioning | ||
|
|
||
| After you configure the custom domain, Aiven automatically requests a TLS certificate | ||
| from Let’s Encrypt. |
There was a problem hiding this comment.
Use a straight apostrophe in "Let's Encrypt" to match the rest of the docs (and avoid smart-quote inconsistencies that can trip linters/search).
| from Let’s Encrypt. | |
| from Let's Encrypt. |
| title: Configure a custom domain for Kafka REST API, Schema Registry, and Kafka Connect | ||
| sidebar_label: Configure custom domain | ||
| --- | ||
|
|
||
| import Tabs from '@theme/Tabs'; | ||
| import TabItem from '@theme/TabItem'; | ||
|
|
||
| Configure a custom domain to replace the default Aiven service hostname for Kafka REST API, Schema Registry, and Kafka Connect. |
There was a problem hiding this comment.
The page title uses "Kafka REST API" but the existing terminology in the Kafka docs is "Apache Kafka® REST API" (see docs/products/kafka/concepts/kafka-rest-api.md). Consider updating the title to use the established name (and include the ® mark on first mention where applicable) for consistency and easier cross-linking/search.
| title: Configure a custom domain for Kafka REST API, Schema Registry, and Kafka Connect | |
| sidebar_label: Configure custom domain | |
| --- | |
| import Tabs from '@theme/Tabs'; | |
| import TabItem from '@theme/TabItem'; | |
| Configure a custom domain to replace the default Aiven service hostname for Kafka REST API, Schema Registry, and Kafka Connect. | |
| title: Configure a custom domain for Apache Kafka® REST API, Schema Registry, and Kafka Connect | |
| sidebar_label: Configure custom domain | |
| --- | |
| import Tabs from '@theme/Tabs'; | |
| import TabItem from '@theme/TabItem'; | |
| Configure a custom domain to replace the default Aiven service hostname for Apache Kafka REST API, Schema Registry, and Kafka Connect. |
| ```bash | ||
| avn service update SERVICE_NAME \ | ||
| --user-config '{"custom_domain": "SUBDOMAIN.example.com"}' | ||
| ``` |
There was a problem hiding this comment.
The examples mix a placeholder ("SUBDOMAIN") into a real domain ("example.com"). To keep placeholders consistent and easy to substitute, prefer a single UPPER_CASE placeholder (for example, CUSTOM_DOMAIN) and use a concrete reserved-domain example (for example, kafka.example.com) in prose.
Describe your changes
Document how to configure a custom domain for Kafka REST endpoints.
Preview: https://doc-1726-document-how-to-con.aiven-docs.pages.dev/docs/products/kafka/howto/configure-custom-domain
DOC-1726
Checklist
/docs/.