clients.traefik #
fn default #
fn default() !&TraefikManager
fn get #
fn get(args FactoryArgs) !&TraefikManager
fn new #
fn new(args FactoryArgs) !&TraefikManager
fn play #
fn play(mut plbook PlayBook) !
struct EntryPointAddArgs #
@[params]
struct EntryPointAddArgs {
pub mut:
name string @[required]
address string @[required]
tls bool
}
struct EntryPointConfig #
struct EntryPointConfig {
pub mut:
name string @[required]
address string @[required]
tls bool
}
struct FactoryArgs #
@[params]
struct FactoryArgs {
pub mut:
name string = 'default'
redis_url string = '127.0.0.1:6379'
}
struct MiddlewareAddArgs #
@[params]
struct MiddlewareAddArgs {
pub mut:
name string @[required]
typ string @[required]
settings map[string]string
}
struct RouterAddArgs #
@[params]
struct RouterAddArgs {
pub mut:
name string @[required]
rule string @[required]
service string @[required]
entrypoints []string
middlewares []string
tls bool
priority int
}
struct ServiceAddArgs #
@[params]
struct ServiceAddArgs {
pub mut:
name string @[required]
servers []string @[required]
strategy string = 'wrr' // wrr or p2c
}
struct TraefikManager #
@[heap]
struct TraefikManager {
pub mut:
name string
redis &redisclient.Redis
config osal_traefik.TraefikConfig
entrypoints []EntryPointConfig
}
fn (TraefikManager) router_add #
fn (mut tm TraefikManager) router_add(args RouterAddArgs) !
Add router configuration
fn (TraefikManager) service_add #
fn (mut tm TraefikManager) service_add(args ServiceAddArgs) !
Add service configuration
fn (TraefikManager) middleware_add #
fn (mut tm TraefikManager) middleware_add(args MiddlewareAddArgs) !
Add middleware configuration
fn (TraefikManager) entrypoint_add #
fn (mut tm TraefikManager) entrypoint_add(args EntryPointAddArgs) !
Add entrypoint configuration (stored separately as these are typically static config)
fn (TraefikManager) apply #
fn (mut tm TraefikManager) apply() !
Apply all configurations to Redis
fn (TraefikManager) entrypoints_get #
fn (mut tm TraefikManager) entrypoints_get() ![]EntryPointConfig
Get all entrypoints
fn (TraefikManager) clear #
fn (mut tm TraefikManager) clear() !
Clear all configurations
fn (TraefikManager) status #
fn (mut tm TraefikManager) status() !map[string]int
Get configuration status