Driver listener
Supported keywords:
- acme_port
- addr
- comment
- crl
- dns_sock_gid
- dns_sock_uid
- openid_client_id
- openid_issuer
- port
- throttle_burst
- throttle_expires
- throttle_rate
- tls_secs
- ux_owner_group
Keyword acme_port
required: false
scopable: false
since: v3.0.0-rc44
convert: int
Example:
acme_port=80
Description:
The port of the node the listener answers http-01 ACME challenges on, in
plain http, usually 80: the port an ACME directory reads them from. No
challenge is answered when empty.
The listener answers only /.well-known/acme-challenge/<token>, from the
tokens a renewal of a sec of listener.tls_secs stores in that sec, and
every node answers them, so the names of the certificate may resolve to any
node of the cluster.
Keyword addr
required: false
scopable: true
aliases: tls_addr
Example:
addr=1.2.3.4
Description:
The ip addr the daemon tls listener must listen on.
Keyword comment
required: false
scopable: false
Description:
A free form text describing the role of the object, of the node, or of the section it is set in.
The keyword is accepted in any section, so the DEFAULT section can document a configuration as a whole, and a resource, pool, heartbeat, array or network section can document itself.
The agent does not interpret the value.
Keyword crl
required: false
scopable: false
default: /var/lib/opensvc/certs/ca_crl
Example:
crl=https://crl.opensvc.com
Description:
The URL serving the certificate revocation list.
The default points to the path of the cluster CA CRL in {var}/certs/ca_crl.
Keyword dns_sock_gid
required: false
scopable: false
default: 953
Description:
The gid owning the unix socket serving the remote backend to the pdns authoritative server.
Keyword dns_sock_uid
required: false
scopable: false
default: 953
Description:
The uid owning the unix socket serving the remote backend to the pdns authoritative server.
Keyword openid_client_id
required: false
scopable: false
default: om3
Description:
The openid client id used by om3-webapp.
Keyword openid_issuer
required: false
scopable: false
aliases: openid_authority
Example:
openid_issuer=https://keycloak.opensvc.com/auth/realms/clusters
Description:
The base URL of the identity issuer aka provider. It is used to detect the metadata location: openid_issuer/.well-known/openid-configuration.
If set, the http listener will try to validate the Bearer token provided in the requests headers.
If the token is valid,
-
the user name is fetched from the
preferred_usernameclaim (fallback onname) -
the user grant list is obtained by joining the multiple
entitlementsclaims.
The keyword was named openid_authority, and that name is still accepted.
It replaced openid_well_known, which is not accepted anymore.
openid_well_known was the metadata endpoint itself, where openid_issuer is
the base URL that endpoint is derived from.
Keyword port
required: false
scopable: true
aliases: tls_port
default: 1215
convert: int
Description:
The port the daemon tls listener must listen on.
In pull action mode, the collector post request to notify
there are actions to unqueue. The opensvc daemon executes the
dequeue actions node action upon receive.
The listener.port value is sent to the collector on om node push asset.
Keyword throttle_burst
required: false
scopable: true
aliases: rate_limiter_burst
default: 100
convert: int
Description:
The maximum number of inet listener requests to pass at the same moment. It additionally allows a number of requests to pass when rate limit is reached.
Keyword throttle_expires
required: false
scopable: true
aliases: rate_limiter_expires
default: 60s
convert: duration
Description:
The duration after that a inet listener rate limiter is cleaned up.
Keyword throttle_rate
required: false
scopable: true
aliases: rate_limiter_rate
default: 20
convert: int
Description:
The rate of inet listener requests allowed to pass per seconds.
Keyword tls_secs
required: false
scopable: false
since: v3.0.0-rc44
convert: list
Example:
tls_secs=system/sec/public
Description:
The secs whose certificates the listener presents, besides the certificate
of system/sec/cert, to the clients asking one of their names: a name of the
cluster published on the internet, as the name of its virtual address, can
have a certificate browsers trust, from an ACME directory, while the nodes
keep reaching each other by their names, which only the cluster ca certifies.
A sec is named by its path, as system/sec/public, or by its name in the
system namespace. A client asking a name no listed certificate has gets the
certificate of system/sec/cert.
A certificate renewed is presented from the next connection, on every node.
om <sec> certificate renew obtains the certificate of a listed sec through
the listener, which serves the http-01 challenge on listener.acme_port.
Keyword ux_owner_group
required: false
scopable: false
default: opensvc
Example:
ux_owner_group=osvc-users
Description:
The group owning the user socket, /run/opensvc-ux/http.sock, which its
members connect to the api through as themselves, with no token: the
daemon reads who they are from the connection, and grants them what the
[uxgroup#<group>] sections and the uxuser keyword of the usr objects
say.
The socket is mode 0660 and its directory 0750, both owned by root and this group. A group the node does not know serves no socket, and the daemon logs why. Set it empty to serve none: a socket served is closed at once, with the connections open through it, as it is when set to a group the node does not know. Changed to another group, the socket is given to it and the connections open through it are closed, so the members of the former group lose the api at once. A group set on a node serving no socket is served from the next daemon start.
The root user of the node is not root through this socket: it uses the root socket.