-
Notifications
You must be signed in to change notification settings - Fork 10.1k
[iDNS] Internal DNS MVP UI release #22632
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
Merged
Merged
Changes from 10 commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
2184893
Add Dash steps for internal zone creation
RebeccaTamachiro 4ed1fe6
Add tabs components and Dash steps to dns-views
RebeccaTamachiro d41b450
Revise create a view Dash steps
RebeccaTamachiro fb0724b
Add dash instructions for reference zone assignment
RebeccaTamachiro 3bb666b
Get-started: remove api-only and add Dash tab placeholder
RebeccaTamachiro 2ca66fd
Fix broken link
RebeccaTamachiro cb3afe2
Add partial for zone creation and replace in relevant pages
RebeccaTamachiro aa561fb
Add reference zone dash steps and intro to get-started
RebeccaTamachiro 3ddc1ba
Create and apply partial for view-create-dash
RebeccaTamachiro 6aaaf90
Overall review and add conditions to view creation partial
RebeccaTamachiro 49b728d
Overall review and link to iDNS from docs landing page
RebeccaTamachiro 4364cd0
Specify reference at the bottom of internal zones and view is API-only
RebeccaTamachiro b0fd936
Add Internal DNS to /products page
RebeccaTamachiro cc353db
Remove 'descriptive' specification for zone name
RebeccaTamachiro 5e036fb
Update get-started to match Gateway resolver UI text
RebeccaTamachiro 023b209
Fix typo
RebeccaTamachiro ba9fd22
Apply suggestions from code review
RebeccaTamachiro e60d3b5
Add missing period and implement some page descriptions
RebeccaTamachiro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,15 +9,12 @@ import { TabItem, Tabs, Details, Example, Render } from "~/components"; | |
|
|
||
| Follow this guide to get started with Internal DNS. | ||
|
|
||
| Although there are some steps that can be achieved on the dashboard, currently the whole process can only be completed via API. | ||
|
|
||
| ## Before you begin | ||
|
|
||
| <Render file="internal-dns-beta-note" /> | ||
|
|
||
| - Make sure you have an Enterprise account with access to [Gateway resolver policies](/cloudflare-one/policies/gateway/resolver-policies/) and [Internal DNS](/dns/internal-dns/). | ||
| - Consider the different ways in which you can [connect to Gateway resolver](/dns/internal-dns/connectivity/). | ||
| - If you are not familiar with how to use Cloudflare API, refer to [Fundamentals](/fundamentals/api/get-started/). | ||
| - If you will be using an API token for authentication, make sure you have the following permissions: | ||
|
|
||
| <Details header="API token configuration"> | ||
|
|
@@ -41,28 +38,64 @@ Although there are some steps that can be achieved on the dashboard, currently t | |
|
|
||
| ## 1. Set up your internal DNS zone | ||
|
|
||
| <Render file="internal-zone-create" params={{ | ||
| <Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard"> | ||
|
|
||
| <Render file="internal-zone-create-dash" params={{ | ||
| conditional: "get-started-detail"}} | ||
| /> | ||
|
|
||
| </TabItem> <TabItem label="API"> | ||
|
|
||
| <Render file="internal-zone-create-api" params={{ | ||
| conditional: "get-started-detail"}} | ||
| /> | ||
|
|
||
| </TabItem> </Tabs> | ||
|
|
||
| ### (Optional) Reference a zone from another zone | ||
|
|
||
| 1. Use the [Update DNS settings](/api/resources/dns/subresources/settings/subresources/zone/methods/edit/) endpoint to add a reference from an internal zone to another internal zone. In `--data`, specify the `internal_dns` object with the parameter `reference_zone_id`. For details, refer to [reference zones](/dns/internal-dns/internal-zones/reference-zones/). | ||
| <Render file="internal-reference-zone-intro" params={{ | ||
| conditional: "get-started-link"}} | ||
| /> | ||
|
|
||
| <Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard"> | ||
|
|
||
| 1. Go to **Internal DNS** and select a zone. | ||
| 2. Within the selected zone, go to **Reference zone**. | ||
| 3. Select **Add reference zone**. | ||
| 4. Find the zone you want to use as reference and choose **Select** in the respective row. | ||
|
|
||
| </TabItem> <TabItem label="API"> | ||
|
|
||
| 1. Use the [Update DNS settings](/api/resources/dns/subresources/settings/subresources/zone/methods/edit/) endpoint to add a reference from an internal zone to another internal zone. In `--json`, specify the `internal_dns` object with the parameter `reference_zone_id`. | ||
|
|
||
| <Example> | ||
| <Render file="internal-reference-zone-api"/> | ||
| </ Example> | ||
|
|
||
| </TabItem> </Tabs> | ||
|
|
||
| ## 2. Link your internal zone to a view | ||
|
|
||
| Since the resolver policy will require a [DNS view](/dns/internal-dns/dns-views/), you must have at least one view to be able to route requests to internal zones. | ||
|
|
||
| <Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard"> | ||
|
|
||
| <Render file="internal-dns-view-create-dash" params={{ | ||
| conditional: "get-started-detail"}} | ||
| /> | ||
|
|
||
| </TabItem> <TabItem label="API"> | ||
|
|
||
| 1. Use the [Create Internal DNS View](/api/resources/dns/subresources/settings/subresources/account/subresources/views/methods/create/) endpoint. For each view you create, list all the internal zones that should be grouped under that view. | ||
|
|
||
| <Details header="DNS view configuration conditions"> | ||
| <Render file="internal-dns-view-conditions" /> | ||
| </Details> | ||
|
|
||
| </TabItem> </Tabs> | ||
|
Comment on lines
+41
to
+96
Contributor
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. If these tab groups are meant to be independent, assign a unique syncKey to each Tabs component to avoid synchronized tab switching across unrelated sections. |
||
|
|
||
|
|
||
| ## 3. Configure Gateway policies | ||
|
|
||
| :::note | ||
|
|
@@ -91,4 +124,6 @@ Use the rule settings object to define `resolve_dns_internally`, specifying `vie | |
| - `none`: Gateway DNS resolver returns the response as-is to the client. | ||
| - `public_dns`: In case the response from the internal zone is REFUSED, NXDOMAIN, or a response with a CNAME type, Gateway DNS resolver sends the query to Cloudflare 1.1.1.1 public resolver and tries to resolve the query via public DNS. | ||
|
|
||
| </TabItem> </Tabs> | ||
| </TabItem> </Tabs> | ||
|
|
||
| Once you add the Gateway resolver policy, it will be listed in the respective internal view under **Resolver policies referencing this view**. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
src/content/partials/dns/internal-dns-view-create-dash.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| --- | ||
| params: | ||
| - conditional? | ||
| --- | ||
|
|
||
| import { Details, Render } from "~/components"; | ||
|
|
||
| 1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select an account. | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 2. Go to **Internal DNS** > **Views**. | ||
| 3. Select **Create a view**. | ||
| 4. Give your view a descriptive name. | ||
|
|
||
| { props.conditional === "get-started-detail" && ( | ||
| <Details header="DNS view configuration conditions"> | ||
| <Render file="internal-dns-view-conditions" /> | ||
| </Details> | ||
| ) | ||
| } | ||
|
|
||
| 5. Select **Manage zones** to add zones to your view. Select the internal zones that should be used to resolve queries sent by Gateway resolver to this view | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 6. Choose **Save** to confirm. | ||
14 changes: 14 additions & 0 deletions
14
src/content/partials/dns/internal-reference-zone-intro.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| --- | ||
| params: | ||
| - conditional? | ||
| --- | ||
|
|
||
| During an [internal DNS query resolution](/dns/internal-dns/#architecture-overview), if no internal record is found within a matching internal zone, Cloudflare will check if the matching internal zone is referencing another internal zone. Successive references can be followed with a maximum of five references in a chain. | ||
|
|
||
|
|
||
| { props.conditional === "get-started-link" && ( | ||
| <p> | ||
| For details, refer to <a href="/dns/internal-dns/internal-zones/reference-zones/">reference zones</a>. | ||
| </p> | ||
| ) | ||
| } |
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| --- | ||
| params: | ||
| - conditional? | ||
| --- | ||
|
|
||
| import { Details, Render } from "~/components"; | ||
|
|
||
| 1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select an account. | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 2. Go to **Internal DNS** and select **Create an internal zone**. | ||
| 3. Give your internal zone a descriptive name. | ||
RebeccaTamachiro marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| { props.conditional === "get-started-detail" && ( | ||
| <Details header="Internal zone configuration conditions"> | ||
| <Render file="internal-zones-conditions" /> | ||
| </Details> | ||
| ) | ||
| } | ||
|
|
||
| 4. Add DNS records to your internal zone using your preferred option: | ||
| - [Import](/dns/manage-dns-records/how-to/import-and-export/) a formatted BIND file. | ||
| - Select **Add a record** and choose **Create** under the record type you want to add. Refer to [DNS record types](/dns/manage-dns-records/reference/dns-record-types/) for details. | ||
| 5. Repeat this process for each internal zone you wish to add. | ||
|
|
||
| :::note | ||
| Creating multiple internal DNS records in batch is currently only supported via API. | ||
| ::: | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This comment was marked as off-topic.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.