traefik-route-k8s
- Canonical Observability
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 23 | 04 Jun 2024 | |
latest/candidate | 23 | 22 May 2024 | |
latest/beta | 23 | 24 Apr 2024 | |
latest/edge | 27 | 19 Sep 2024 |
juju deploy traefik-route-k8s
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
charms.traefik_route_k8s.v0.traefik_route
-
- Last updated 18 Sep 2024
- Revision Library version 0.11
[DEPRECATED!] Interface Library for traefik_route.
This is a DEPRECATED version of the traefik_route interface library.
It was dropped and no longer maintained under traefik-route-k8s-operator
, which will soon be archived.
traefik_route v0 is now maintained under traefik-k8s-operator
.
Please fetch the new library with charmcraft fetch-lib charms.traefik_k8s.v0.traefik_route
.
Index
class TraefikRouteException
Description
Base class for exceptions raised by TraefikRoute. None
class UnauthorizedError
Description
Raised when the unit needs leadership to perform some action. None
class TraefikRouteProviderReadyEvent
Description
Event emitted when Traefik is ready to provide ingress for a routed unit. None
class TraefikRouteProviderDataRemovedEvent
Description
Event emitted when a routed ingress relation is removed. None
class TraefikRouteRequirerReadyEvent
Description
Event emitted when a unit requesting ingress has provided all data Traefik needs. None
class TraefikRouteRequirerEvents
Description
Container for TraefikRouteRequirer events. None
class TraefikRouteProviderEvents
Description
Container for TraefikRouteProvider events. None
class TraefikRouteProvider
Implementation of the provider of traefik_route.
Description
This will presumably be owned by a Traefik charm.
The main idea is that Traefik will observe the ready
event and, upon
receiving it, will fetch the config from the TraefikRoute's application databag,
apply it, and update its own app databag to let Route know that the ingress
is there.
The TraefikRouteProvider provides api to do this easily.
Methods
TraefikRouteProvider. __init__( self , charm: CharmBase , relation_name: str , external_host: str )
Constructor for TraefikRouteProvider.
Arguments
The charm that is instantiating the instance.
The name of the relation relation_name to bind to (defaults to "traefik-route").
The external host.
The scheme.
TraefikRouteProvider. external_host( self )
Description
Return the external host set by Traefik, if any. None
TraefikRouteProvider. scheme( self )
Description
Return the scheme set by Traefik, if any. None
TraefikRouteProvider. relations( self )
Description
The list of Relation instances associated with this endpoint. None
TraefikRouteProvider. update_traefik_address( self )
Description
Ensure that requirers know the external host for Traefik. None
TraefikRouteProvider. is_ready( self , relation: Relation )
Whether TraefikRoute is ready on this relation.
Description
Returns True when the remote app shared the config; False otherwise.
TraefikRouteProvider. get_config( self , relation: Relation )
Description
Renamed to get_dynamic_config
. None
TraefikRouteProvider. get_dynamic_config( self , relation: Relation )
Description
Retrieve the dynamic config published by the remote application. None
TraefikRouteProvider. get_static_config( self , relation: Relation )
Description
Retrieve the static config published by the remote application. None
class TraefikRouteRequirer
Wrapper for the requirer side of traefik-route.
Description
The traefik_route requirer will publish to the application databag an object like: { 'config': <Traefik_config> 'static': <Traefik_config> # optional }
NB: TraefikRouteRequirer does no validation; it assumes that the traefik-route-k8s charm will provide valid yaml-encoded config. The TraefikRouteRequirer provides api to store this config in the application databag.
Methods
TraefikRouteRequirer. __init__( self , charm: CharmBase , relation: Relation , relation_name: str )
TraefikRouteRequirer. external_host( self )
Description
Return the external host set by Traefik, if any. None
TraefikRouteRequirer. scheme( self )
Description
Return the scheme set by Traefik, if any. None
TraefikRouteRequirer. is_ready( self )
Description
Is the TraefikRouteRequirer ready to submit data to Traefik? None
TraefikRouteRequirer. submit_to_traefik( self , config: dict , static )
Relay an ingress configuration data structure to traefik.
Description
This will publish to the traefik-route relation databag a chunk of Traefik dynamic config that the traefik charm on the other end can pick up and apply.
Use static
if you need to update traefik's static configuration.
Note that this will force traefik to restart to comply.