package ingressroute import ( "git.ar21.de/yolokube/go-traefik-certmanager/pkg/certmanager" "k8s.io/client-go/dynamic" ) type Client struct { crdClient dynamic.DynamicClient certmanager *certmanager.Client certCleanup bool IngressRoutes ingressRouteClient } type ClientOption func(*Client) func WithCertCleanup() ClientOption { return func(c *Client) { c.certCleanup = true } } func NewClient(crdClient dynamic.DynamicClient, cmClient *certmanager.Client, options ...ClientOption) *Client { client := &Client{ crdClient: crdClient, certmanager: cmClient, } for _, option := range options { option(client) } client.IngressRoutes = ingressRouteClient{client: client} return client }