Listener resource¶
A listener binds a local connection endpoint to connectors in remote sites. Listeners and connectors are matched by routing key.
A Listener resource specifies a host and port for accepting connections from local clients. To expose a multi-port service, create multiple listeners with the same host value.
Examples¶
A listener in site West for the Hello World backend service in site East:
apiVersion: skupper.io/v2alpha1
kind: Listener
metadata:
name: backend
namespace: hello-world-west
spec:
routingKey: backend
host: backend
port: 8080
Metadata properties¶
name
string
required
The name of the resource.
| See also | Kubernetes object names |
|---|
namespace
string
The namespace of the resource.
| See also | Platform concept, Kubernetes namespaces |
|---|
Spec properties¶
routingKey
string
required
The identifier used to route traffic from listeners to
connectors. To enable connecting to a service at a
remote site, the local listener and the remote connector
must have matching routing keys.
| Updatable | True |
|---|---|
| See also | Routing key concept |
host
string
required
The hostname or IP address of the local listener. Clients
at this site use the listener host and port to
establish connections to the remote service.
| Updatable | True |
|---|
port
integer
required
The port of the local listener. Clients at this site use
the listener host and port to establish connections to
the remote service.
| Updatable | True |
|---|
exposePodsByName
boolean
advanced
If true, expose each pod as an individual service.
| Default | False |
|---|
tlsCredentials
string
advanced
The name of a bundle of TLS certificates used for secure
client-to-router communication. The bundle contains the
server certificate and key. It optionally includes the
trusted client certificate (usually a CA) for mutual TLS.
On Kubernetes, the value is the name of a Secret in the
current namespace. On Docker, Podman, and Linux, the value is
the name of a directory under `input/certs/` in the current
namespace.
| See also | Kubernetes TLS secrets |
|---|
settings
object
advanced
A map containing additional settings. Each map entry has a
string name and a string value.
**Note:** In general, we recommend not changing settings from
their default values.
- `observer`: Set the protocol observer used to generate
traffic metrics.
Default: `auto`. Choices: `auto`, `none`, `http1`, `http2`.
Default: `auto`. Choices: `auto`, `none`, `http1`, `http2`.
Status properties¶
status
string
The current state of the resource.
- `Pending`: The resource is being processed.
- `Error`: There was an error processing the resource. See
`message` for more information.
- `Ready`: The resource is ready to use.
message
string
A human-readable status message. Error messages are reported
here.
hasMatchingConnector
boolean
True if there is at least one connector with a matching
routing key (usually in a remote site).
| Default | False |
|---|---|
| See also | Routing key concept |
conditions
array
advanced
A set of named conditions describing the current state of the
resource.
- `Configured`: The listener configuration has been applied
to the router.
- `Matched`: There is at least one connector corresponding to
this listener.
- `Ready`: The listener is ready to use. All other conditions
are true.
| See also | Kubernetes conditions |
|---|