Skip to content

update: configure a custom domain for Kafka REST endpoints#1316

Draft
harshini-rangaswamy wants to merge 2 commits intomainfrom
DOC-1726-document-how-to-configure-custom-domain-for-kafka-rest-schema-registry-and-kafka-connect
Draft

update: configure a custom domain for Kafka REST endpoints#1316
harshini-rangaswamy wants to merge 2 commits intomainfrom
DOC-1726-document-how-to-configure-custom-domain-for-kafka-rest-schema-registry-and-kafka-connect

Conversation

@harshini-rangaswamy
Copy link
Copy Markdown
Collaborator

@harshini-rangaswamy harshini-rangaswamy commented Feb 10, 2026

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

  • The first paragraph of the page is on one line.
  • The other lines have a line break at 90 characters.
  • I checked the output.
  • I applied the style guide.
  • My links start with /docs/.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Feb 10, 2026

Deploying aiven-docs with  Cloudflare Pages  Cloudflare Pages

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

View logs

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment on lines +31 to +41
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.

Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

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).

Suggested change
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`.

Copilot uses AI. Check for mistakes.
Comment on lines +29 to +31
### Step 1: Create a DNS CNAME record

Create a CNAME record for your custom domain in your DNS provider. The record must point
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
### 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

Copilot uses AI. Check for mistakes.
### Step 3: Wait for certificate provisioning

After you configure the custom domain, Aiven automatically requests a TLS certificate
from Let’s Encrypt.
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

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).

Suggested change
from Lets Encrypt.
from Let's Encrypt.

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +9
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.
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
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.

Copilot uses AI. Check for mistakes.
Comment on lines +51 to +54
```bash
avn service update SERVICE_NAME \
--user-config '{"custom_domain": "SUBDOMAIN.example.com"}'
```
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants