Skip to content

Commit ebaec1c

Browse files
committed
Custom domains for EC
1 parent 352a4ae commit ebaec1c

File tree

4 files changed

+73
-27
lines changed

4 files changed

+73
-27
lines changed

docs/reference/embedded-config.mdx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ spec:
3434
- name: app
3535
labels:
3636
app: "true"
37+
domains:
38+
proxyRegistryDomain: images.mycompany.com
39+
replicatedAppDomain: updates.mycompany.com
3740
extensions:
3841
helm:
3942
repositories:
@@ -148,6 +151,27 @@ spec:
148151
gpu: "true" # Label applied to "gpu" nodes
149152
```
150153

154+
## domains
155+
156+
You can configure the `domains` key so that Replicated Embedded Cluster uses your custom domains for the Replicated proxy registry and Replicated app service.
157+
158+
When the `domains.proxyRegistryDomain` and `domains.appServiceDomain` fields are set, Embedded Cluster uses the custom domains specified for requests to the proxy service and app service. Embedded Cluster also passes the domains to KOTS to ensure that KOTS uses the same custom domains for requests these services.
159+
160+
If the `domains.proxyRegistryDomain` and `domains.appServiceDomain` fields are not set, Embedded Cluster uses the default Replicated domains.
161+
162+
For more information about adding custom domains to alias Replicated endpoints, see [About Custom Domains](/vendor/custom-domains).
163+
164+
#### Example
165+
166+
```yaml
167+
apiVersion: embeddedcluster.replicated.com/v1beta1
168+
kind: Config
169+
spec:
170+
domains:
171+
proxyRegistryDomain: images.mycompany.com
172+
replicatedAppDomain: updates.mycompany.com
173+
```
174+
151175
## extensions
152176

153177
If you need to install Helm charts before your application and as part of the Embedded Cluster itself, you can do this with Helm extensions. One situation where this is useful is if you want to ship an ingress controller, because Embedded Cluster does not yet include one.

docs/vendor/custom-domains-using.md

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
# Using Custom Domains
22

3-
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.
3+
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.
44

55
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.
66

7-
For an overview about custom domains and limitations, see [About Custom Domains](custom-domains).
7+
For more information about custom domains, see [About Custom Domains](custom-domains).
88

9-
## Configure a Custom Domain
9+
## Add a Custom Domain in the Vendor Portal {#add-domain}
1010

11-
Before you assign a custom domain for a registry or the download portal, you must first configure and verify the ownership and TLS certificate.
12-
13-
To add and configure a custom domain:
11+
To add and verify a custom domain:
1412

1513
1. In the [Vendor Portal](https://vendor.replicated.com), go to **Custom Domains**.
1614

@@ -30,6 +28,11 @@ To add and configure a custom domain:
3028

3129
Your changes can take up to 24 hours to propagate.
3230

31+
TXT records must be created to verify:
32+
33+
- Domain ownership: Domain ownership is verified when you initially add a record.
34+
- TLS certificate creation: Each new domain must have a new TLS certificate to be verified.
35+
3336
1. For **TLS cert creation verification**, copy the text string and use it to create a TXT record in your DNS account if displayed. If a TXT record is not displayed, ownership will be validated automatically using an HTTP token. Click **Validate & continue**.
3437

3538
Your changes can take up to 24 hours to propagate.
@@ -59,11 +62,39 @@ To add and configure a custom domain:
5962
Replicated recommends that you do _not_ set a domain as the default until you are ready for it to be used by customers.
6063
:::
6164

62-
The Vendor Portal marks the domain as **Configured** after the verification checks for ownership and TLS certificate creation are complete.
65+
After the verification checks for ownership and TLS certificate creation are complete, the Vendor Portal marks the domain as **Configured**.
66+
67+
1. (Optional) After a domain is marked as **Configured**, you can remove any TXT records that you created in your DNS account.
6368

6469
## Use Custom Domains
6570

66-
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.
71+
After you add one or more custom domains in the Vendor Portal, you can configure your application to use the domains.
72+
73+
### Configure Embedded Cluster to Use Custom Domains
74+
75+
You can configure Replicated Embedded Cluster to use your custom domains for the Replicated proxy registry and Replicated app service.
76+
77+
To configure Embedded Cluster to use your custom domains for the proxy registry and app service:
78+
79+
1. Add the custom domains that you want to use for the proxy registry and the app service. See [Add a Custom Domain in the Vendor Portal](#add-domain) above.
80+
81+
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.
82+
83+
**Example:**
84+
85+
```yaml
86+
apiVersion: embeddedcluster.replicated.com/v1beta1
87+
kind: Config
88+
spec:
89+
domains:
90+
# Your proxy registry custom domain
91+
proxyRegistryDomain: images.mycompany.com
92+
# Your app service custom domain
93+
replicatedAppDomain: updates.mycompany.com
94+
```
95+
For more information, see [domains](/reference/embedded-config#domains) in _Embedded Cluster Config_.
96+
97+
1. Save your changes and add the Embedded Cluster Config to a new release. Promote the release to the channel that your team uses for testing and install with Embedded Cluster in a development environment to test your changes.
6798
6899
### Set a Default Domain
69100
@@ -109,7 +140,7 @@ To reuse a custom domain for another application:
109140
110141
1. Click **Custom Domains**.
111142
112-
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.
143+
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.
113144
114145
The **Configure a custom domain** wizard opens.
115146

docs/vendor/custom-domains.md

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,33 @@
11
# About Custom Domains
22

3-
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.
3+
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.
44

5-
For information about configuring and managing custom domains, see [Using Custom Domains](custom-domains-using).
5+
For information about adding and assigning custom domains, see [Using Custom Domains](custom-domains-using).
66

77
## Overview
88

99
You can use custom domains to alias Replicated endpoints by creating Canonical Name (CNAME) records for your domains.
1010

1111
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.
1212

13-
TXT records must be created to verify:
13+
You can configure custom domains for the following services:
1414

15-
- Domain ownership: Domain ownership is verified when you initially add a record.
16-
- TLS certificate creation: Each new domain must have a new TLS certificate to be verified.
15+
- **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`.
1716

18-
The TXT records can be removed after the verification is complete.
17+
- **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`.
1918

20-
You can configure custom domains for the following services, so that customer-facing URLs reflect your company's brand:
19+
- **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`.
2120

22-
- **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`.
23-
24-
- **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`.
25-
26-
- **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`.
27-
28-
- **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`.
21+
- **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`.
2922

3023
## Limitations
3124

3225
Using custom domains has the following limitations:
3326

3427
- 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.
3528

36-
- Custom domains cannot be used to alias api.replicated.com (legacy customer-facing APIs) or kURL.
29+
- Custom domains cannot be used to alias `api.replicated.com` (legacy customer-facing APIs) or kURL.
3730

3831
- 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.
3932

40-
- A particular custom domain can only be used by one team.
33+
- Each custom domain can only be used by one team.

docs/vendor/embedded-overview.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,6 @@ Embedded Cluster has the following limitations:
119119

120120
* **Kubernetes version template functions not supported**: The KOTS [KubernetesVersion](/reference/template-functions-static-context#kubernetesversion), [KubernetesMajorVersion](/reference/template-functions-static-context#kubernetesmajorversion), and [KubernetesMinorVersion](/reference/template-functions-static-context#kubernetesminorversion) template functions do not provide accurate Kubernetes version information for Embedded Cluster installations. This is because these template functions are rendered before the Kubernetes cluster has been updated to the intended version. However, `KubernetesVersion` is not necessary for Embedded Cluster because vendors specify the Embedded Cluster version, which includes a known Kubernetes version.
121121

122-
* **Custom domains not supported**: Embedded Cluster does not support the use of custom domains, even if custom domains are configured. We intend to add support for custom domains. For more information about custom domains, see [About Custom Domains](/vendor/custom-domains).
123-
124122
* **KOTS Auto-GitOps workflow not supported**: Embedded Cluster does not support the KOTS Auto-GitOps workflow. If an end-user is interested in GitOps, consider the Helm install method instead. For more information, see [Installing with Helm](/vendor/install-with-helm).
125123

126124
* **Downgrading Kubernetes not supported**: Embedded Cluster does not support downgrading Kubernetes. The admin console will not prevent end-users from attempting to downgrade Kubernetes if a more recent version of your application specifies a previous Embedded Cluster version. You must ensure that you do not promote new versions with previous Embedded Cluster versions.

0 commit comments

Comments
 (0)