open-consul/website/content/commands/connect/expose.mdx
Jared Kirschner d447b54ad3
docs: consistently name Consul service mesh (#17222)
Remove outdated usage of "Consul Connect" instead of Consul service mesh.

The connect subsystem in Consul provides Consul's service mesh capabilities.
However, the term "Consul Connect" should not be used as an alternative to
the name "Consul service mesh".
2023-05-05 13:41:40 -04:00

73 lines
2.7 KiB
Plaintext

---
layout: commands
page_title: 'Commands: Connect Expose'
description: >
The connect expose subcommand is used to expose a mesh-enabled service
through an Ingress gateway by modifying the gateway's configuration and adding
an intention to allow traffic from the gateway to the service.
---
# Consul Connect Expose
Command: `consul connect expose`
The connect expose subcommand is used to expose a mesh-enabled service
through an Ingress gateway by modifying the gateway's configuration and adding
an intention to allow traffic from the gateway to the service. See the
[Ingress gateway documentation](/consul/docs/connect/gateways/ingress-gateway) for more information
about Ingress gateways.
```text
Usage: consul connect expose [options]
Exposes a mesh-enabled service through the given ingress gateway, using the
given protocol and port.
```
#### Command Options
- `-ingress-gateway` - (Required) The name of the ingress gateway service to use.
A partition and namespace can optionally be specified as a prefix via the
'[[partition/]namespace]/service' format. If a partition is not specified 'default' is assumed.
If a partition is specified a namespace must be specified. Partitions and namespaces are Enterprise features.
- `-port` - (Required) The listener port to use for the service on the Ingress
gateway.
- `-service` - (Required) The name of destination service to expose. A namespace
can optionally be specified as a prefix via the '[[partition/]namespace]/service'
format. If a partition is not specified 'default' is assumed.
If a partition is specified a namespace must be specified. Partitions and namespaces are Enterprise features.
- `-protocol` - The protocol for the service. Defaults to 'tcp'.
- `-host` - Additional DNS hostname to use for routing to this service. Can be
specified multiple times.
#### API Options
@include 'http_api_options_client.mdx'
@include 'http_api_options_server.mdx'
## Examples
The example below shows using the `expose` command to make the `foo` service available
through the Ingress gateway service `ingress`. The protocol argument is optional and
defaults to `tcp` if not provided.
```shell-session
$ consul connect expose -service=foo -ingress-gateway=ingress -port 8888 -protocol=tcp
Successfully updated config entry for ingress service "ingress"
Successfully set up intention for "ingress" -> "foo"
```
Running the command again when the config entry/intention are already set up will result
in a no-op:
```shell-session
$ consul connect expose -service=foo -ingress-gateway=ingress -port 8888 -protocol=tcp
Service "foo" already exposed through listener with port 8888
Intention already exists for "ingress" -> "foo"
```