Skip to content

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