From 4a0afb5d1373845e8d57d2e32859ea62b3855946 Mon Sep 17 00:00:00 2001 From: Nathan Coleman Date: Fri, 11 Aug 2023 13:11:06 -0400 Subject: [PATCH] NET-4952 Add docs for export command (#18425) * Init file for services export command docs * Add link for export command to nav * Add export to list of subcommands for services * Add usage and basic command options * Add API options using includes * Add section for enterprise options * Include argument value in flag format * Add examples * Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> --------- Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> --- website/content/commands/services/export.mdx | 64 ++++++++++++++++++++ website/content/commands/services/index.mdx | 1 + website/data/commands-nav-data.json | 4 ++ 3 files changed, 69 insertions(+) create mode 100644 website/content/commands/services/export.mdx diff --git a/website/content/commands/services/export.mdx b/website/content/commands/services/export.mdx new file mode 100644 index 0000000000..281d5f23e7 --- /dev/null +++ b/website/content/commands/services/export.mdx @@ -0,0 +1,64 @@ +--- +layout: commands +page_title: 'Commands: Services Export' +description: | + The `consul services export` command exports a service from one peer or admin partition to another. +--- + +# Consul Services Export + +Command: `consul services export` + +The `services export` command exports a service from one admin partition +or cluster peer to another. This command can be used in lieu of creating or updating the corresponding +`exported-services` configuration entry. Running the command multiple times with the same +arguments results in a no-op. + +```text +Usage: consul services export [options] -name -consumer-peers + + Export a service to a peered cluster. + + $ consul services export -name=web -consumer-peers=other-cluster + + Use the -consumer-partitions flag instead of -consumer-peers to export to a different partition in the same cluster. + + $ consul services export -name=web -consumer-partitions=other-partition + + Additional flags and more advanced use cases are detailed below. +``` + +#### Command options + +- `-name=` - (Required) The name of the service to export. + +- `-consumer-peers=` - (Required) A comma-separated list of cluster peers to export the service to. + In Consul Enterprise, this flag is optional when `-consumer-partitions` is specified. + +#### Enterprise options + +- `-consumer-partitions=` - A comma-separated list of admin partitions within the + same datacenter to export the service to. This flag is optional when `-consumer-peers` is specified. + +@include 'http_api_partition_options.mdx' + +@include 'http_api_namespace_options.mdx' + +#### API options + +@include 'http_api_options_client.mdx' + +## Examples + +In the following example, the `consul services export` command makes the `web` service available to services running in a cluster named `dc2` that has a previously-established cluster peering connection. + +```shell-session hideClipboard +$ consul services export -name=web -consumer-peers=dc2 +``` + +In the following example, the `consul services export` command makes the `web` service located in the +namespace `ns1` and the admin partition `alpha` to other admin partitions named `beta` and `delta`. + +```shell-session hideClipboard +$ consul services export -name=web -namespace=ns1 -partition=alpha -consumer-partitions=beta,delta +``` diff --git a/website/content/commands/services/index.mdx b/website/content/commands/services/index.mdx index ec26946c58..f511ffe2ef 100644 --- a/website/content/commands/services/index.mdx +++ b/website/content/commands/services/index.mdx @@ -31,6 +31,7 @@ Usage: consul services [options] [args] Subcommands: deregister Deregister services with the local agent register Register services with the local agent + export Export services from one cluster peer or admin partition to another ``` For more information, examples, and usage about a subcommand, click on the name diff --git a/website/data/commands-nav-data.json b/website/data/commands-nav-data.json index ee491e9dfa..dd38459a90 100644 --- a/website/data/commands-nav-data.json +++ b/website/data/commands-nav-data.json @@ -487,6 +487,10 @@ { "title": "deregister", "path": "services/deregister" + }, + { + "title": "export", + "path": "services/export" } ] },