d81889bb41
Avoid HTTP redirects for internal site links by updating old URLs to point to the new location for the target content.
73 lines
2.7 KiB
Plaintext
73 lines
2.7 KiB
Plaintext
---
|
|
layout: commands
|
|
page_title: 'Commands: Connect Expose'
|
|
description: >
|
|
The connect expose subcommand is used to expose a Connect-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 Connect-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](/docs/connect/gateways/ingress-gateway) for more information
|
|
about Ingress gateways.
|
|
|
|
```text
|
|
Usage: consul connect expose [options]
|
|
|
|
Exposes a Connect-enabled service through the given ingress gateway, using the
|
|
given protocol and port.
|
|
```
|
|
|
|
#### API Options
|
|
|
|
@include 'http_api_options_client.mdx'
|
|
|
|
@include 'http_api_options_server.mdx'
|
|
|
|
#### Expose 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.
|
|
|
|
## 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"
|
|
```
|