-
Notifications
You must be signed in to change notification settings - Fork 31
HOLD FOR RELEASE Custom domains for EC #3116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
ebaec1c
2ae91fa
c4835c5
e565e7b
28d0a4f
40acb33
891c060
1a23dbc
f4e453c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,14 @@ | ||
| # Using Custom Domains | ||
|
|
||
| This topic describes how to use the Replicated Vendor Portal to add and manage custom domains to alias the Replicated registry, the Replicated proxy registry, the Replicated app service, and the download portal. | ||
| This topic describes how to use the Replicated Vendor Portal to add and manage custom domains to alias the Replicated registry, the Replicated proxy registry, the Replicated app service, and the Download Portal. | ||
|
|
||
| For information about adding and managing custom domains with the Vendor API v3, see the [customHostnames](https://replicated-vendor-api.readme.io/reference/createcustomhostname) section in the Vendor API v3 documentation. | ||
|
|
||
| For an overview about custom domains and limitations, see [About Custom Domains](custom-domains). | ||
| For more information about custom domains, see [About Custom Domains](custom-domains). | ||
|
|
||
| ## Configure a Custom Domain | ||
| ## Add a Custom Domain in the Vendor Portal {#add-domain} | ||
|
|
||
| Before you assign a custom domain for a registry or the download portal, you must first configure and verify the ownership and TLS certificate. | ||
|
|
||
| To add and configure a custom domain: | ||
| To add and verify a custom domain: | ||
|
|
||
| 1. In the [Vendor Portal](https://vendor.replicated.com), go to **Custom Domains**. | ||
|
|
||
|
|
@@ -59,11 +57,37 @@ To add and configure a custom domain: | |
| Replicated recommends that you do _not_ set a domain as the default until you are ready for it to be used by customers. | ||
| ::: | ||
|
|
||
| The Vendor Portal marks the domain as **Configured** after the verification checks for ownership and TLS certificate creation are complete. | ||
| After the verification checks for ownership and TLS certificate creation are complete, the Vendor Portal marks the domain as **Configured**. | ||
|
|
||
| 1. (Optional) After a domain is marked as **Configured**, you can remove any TXT records that you created in your DNS account. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. when i configure a custom domain now, i don't have to do the txt records anymore. separate from this pr, but would be worth asking VP about that. those steps still show in the configure a custom domain modal, but i don't think you really need the txt records now.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah I had a similar thought. Asked here https://replicated.slack.com/archives/CEEFDQURM/p1742315489907039
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
success |
||
|
|
||
| ## Use Custom Domains | ||
|
|
||
| After you configure one or more custom domains in the Vendor Portal, you assign a custom domain by setting it as the default for all channels and customers or by assigning it to an individual release channel. | ||
| After you add one or more custom domains in the Vendor Portal, you can configure your application to use the domains. | ||
|
|
||
| ### Configure Embedded Cluster to Use Custom Domains {#ec} | ||
ajp-io marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| You can configure Replicated Embedded Cluster to use your custom domains for the Replicated proxy registry and Replicated app service. For more information about Embedded Cluster, see [Embedded Cluster Overview](/vendor/embedded-overview). | ||
|
|
||
| To configure Embedded Cluster to use your custom domains for the proxy registry and app service: | ||
|
|
||
| 1. In the [Embedded Cluster Config](/reference/embedded-config) spec for your application, add `domains.proxyRegistryDomain` and `domains.appServiceDomain`. Set each field to your custom domain for the given service. | ||
|
|
||
| **Example:** | ||
|
|
||
| ```yaml | ||
| apiVersion: embeddedcluster.replicated.com/v1beta1 | ||
| kind: Config | ||
| spec: | ||
| domains: | ||
| # Your proxy registry custom domain | ||
| proxyRegistryDomain: proxy.mycompany.com | ||
| # Your app service custom domain | ||
| replicatedAppDomain: updates.mycompany.com | ||
| ``` | ||
| For more information, see [domains](/reference/embedded-config#domains) in _Embedded Cluster Config_. | ||
|
|
||
| 1. Add the Embedded Cluster Config to a new release. Promote the release to a channel that your team uses for testing, and install with Embedded Cluster in a development environment to test your changes. | ||
|
|
||
| ### Set a Default Domain | ||
|
|
||
|
|
@@ -73,6 +97,10 @@ When you set a custom domain as the default, it is used by default for all new r | |
|
|
||
| Only releases that are promoted to a channel _after_ you set a default domain use the new default domain. Any existing releases that were promoted before you set the default continue to use the same domain that they used previously. | ||
|
|
||
| :::note | ||
| If you configured Embedded Cluster to use custom domains for the proxy registry and the app service, then KOTS will always use the domains specified in the `domains.proxyRegistryDomain` and `domains.appServiceDomain` fields of the Embedded Cluster Config, regardless of the default domain or the domain assigned to the given release channel. In Embedded Cluster installations, this ensures that both Embedded Cluster and KOTS use the same domains for requests to the proxy registry or app service. For more information, see [Configure Embedded Cluster to Use Custom Domains](#ec) above. | ||
| ::: | ||
paigecalvert marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| To set a custom domain as the default: | ||
|
|
||
| 1. In the Vendor Portal, go to **Custom Domains**. | ||
|
|
@@ -89,6 +117,10 @@ Assigning a domain to a release channel is useful when you need to override eith | |
| * You need to use a different domain for releases promoted to your Beta and Stable channels. | ||
| * You need to test a domain in a development environment before you set the domain as the default for all channels. | ||
|
|
||
| :::note | ||
| If you configured Embedded Cluster to use custom domains for the proxy registry and the app service, then KOTS will always use the domains specified in the `domains.proxyRegistryDomain` and `domains.appServiceDomain` fields of the Embedded Cluster Config, regardless of the default domain or the domain assigned to the given release channel. In Embedded Cluster installations, this ensures that both Embedded Cluster and KOTS use the same domains for requests to the proxy registry or app service. For more information, see [Configure Embedded Cluster to Use Custom Domains](#ec) above. | ||
| ::: | ||
|
|
||
| To assign a custom domain to a channel: | ||
|
|
||
| 1. In the Vendor Portal, go to **Channels** and click the settings icon for the target channel. | ||
|
|
@@ -109,7 +141,7 @@ To reuse a custom domain for another application: | |
|
|
||
| 1. Click **Custom Domains**. | ||
|
|
||
| 1. In the section for the target endpoint, click Add your first custom domain for your first domain, or click **Add new domain** for additional domains. | ||
| 1. In the section for the target endpoint, click **Add your first custom domain** for your first domain, or click **Add new domain** for additional domains. | ||
|
|
||
| The **Configure a custom domain** wizard opens. | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,40 +1,33 @@ | ||||||
| # About Custom Domains | ||||||
|
|
||||||
| This topic provides an overview and the limitations of using custom domains to alias the Replicated private registry, Replicated proxy registry, Replicated app service, and the Download Portal. | ||||||
| This topic provides an overview and the limitations of using custom domains to alias the Replicated proxy registry, the Replicated app service, the Replicated Download Portal, and the Replicated private registry. | ||||||
|
|
||||||
| For information about configuring and managing custom domains, see [Using Custom Domains](custom-domains-using). | ||||||
| For information about adding and assigning custom domains, see [Using Custom Domains](custom-domains-using). | ||||||
|
|
||||||
| ## Overview | ||||||
|
|
||||||
| You can use custom domains to alias Replicated endpoints by creating Canonical Name (CNAME) records for your domains. | ||||||
|
|
||||||
| Replicated domains are external to your domain and can require additional security reviews by your customer. Using custom domains as aliases can bring the domains inside an existing security review and reduce your exposure. | ||||||
|
|
||||||
| TXT records must be created to verify: | ||||||
| You can configure custom domains for the following services: | ||||||
ajp-io marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| - Domain ownership: Domain ownership is verified when you initially add a record. | ||||||
| - TLS certificate creation: Each new domain must have a new TLS certificate to be verified. | ||||||
| - **Proxy registry:** Images can be proxied from external private registries using the Replicated proxy registry. By default, the proxy registry uses the domain `proxy.replicated.com`. Replicated recommends using a CNAME such as `proxy.{your app name}.com`. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. your company throughout too (i assume most people's domain is their company name, not their app name |
||||||
|
|
||||||
| The TXT records can be removed after the verification is complete. | ||||||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ^ this info about TXT records seemed a little random/in the weeds for an Overview. I also wasn't entirely sure if creating TXT records is still required or if the automatic http verification takes care of it, so I just removed this content I did move the "The TXT records can be removed after the verification is complete" part over to be an optional step in the relevant procedure in Using Custom Domains |
||||||
| - **Replicated app service:** Upstream application YAML and metadata, including a license ID, are pulled from the app service. By default, this service uses the domain `replicated.app`. Replicated recommends using a CNAME such as `updates.{your app name}.com`. | ||||||
|
|
||||||
| You can configure custom domains for the following services, so that customer-facing URLs reflect your company's brand: | ||||||
| - **Download Portal:** The Download Portal can be used to share customer license files, air gap bundles, and so on. By default, the Download Portal uses the domain `get.replicated.com`. Replicated recommends using a CNAME such as `portal.{your app name}.com` or `enterprise.{your app name}.com`. | ||||||
|
|
||||||
| - **Replicated registry:** Images and Helm charts can be pulled from the Replicated registry. By default, this registry uses the domain `registry.replicated.com`. We suggest using a CNAME such as `registry.{your app name}.com`. | ||||||
|
|
||||||
| - **Proxy registry:** Images can be proxied from external private registries using the Replicated proxy registry. By default, the proxy registry uses the domain `proxy.replicated.com`. We suggest using a CNAME such as `proxy.{your app name}.com`. | ||||||
|
|
||||||
| - **Replicated app service:** Upstream application YAML and metadata, including a license ID, are pulled from replicated.app. By default, this service uses the domain `replicated.app`. We suggest using a CNAME such as `updates.{your app name}.com`. | ||||||
|
|
||||||
| - **Download Portal:** The Download Portal can be used to share customer license files, air gap bundles, and so on. By default, the Download Portal uses the domain `get.replicated.com`. We suggest using a CNAME such as `portal.{your app name}.com` or `enterprise.{your app name}.com`. | ||||||
| - **Replicated registry:** Images and Helm charts can be pulled from the Replicated registry. By default, this registry uses the domain `registry.replicated.com`. Replicated recommends using a CNAME such as `registry.{your app name}.com`. | ||||||
|
|
||||||
| ## Limitations | ||||||
|
|
||||||
| Using custom domains has the following limitations: | ||||||
|
|
||||||
| - A single custom domain cannot be used for multiple endpoints. For example, a single domain can map to `registry.replicated.com` for any number of applications, but cannot map to both `registry.replicated.com` and `proxy.replicated.com`, even if the applications are different. | ||||||
|
|
||||||
| - Custom domains cannot be used to alias api.replicated.com (legacy customer-facing APIs) or kURL. | ||||||
| - Custom domains cannot be used to alias `api.replicated.com` (legacy customer-facing APIs) or kURL. | ||||||
|
|
||||||
| - Multiple custom domains can be configured, but only one custom domain can be the default for each Replicated endpoint. All configured custom domains work whether or not they are the default. | ||||||
|
|
||||||
| - A particular custom domain can only be used by one team. | ||||||
| - Each custom domain can only be used by one team. | ||||||
paigecalvert marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
Uh oh!
There was an error while loading. Please reload this page.