go-traefik-certmanager/pkg/certmanager/client.go
Tom Neuber 0cec08d0ec
All checks were successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
feat(go-traefik-certmanager): initial commit
2025-01-22 07:55:36 +01:00

41 lines
711 B
Go

package certmanager
import (
"k8s.io/client-go/dynamic"
)
type Client struct {
crdClient dynamic.DynamicClient
certIssuerName string
certIssuerKind string
Certificates certificateClient
}
type ClientOption func(*Client)
func WithCertIssuerName(name string) ClientOption {
return func(c *Client) {
c.certIssuerName = name
}
}
func WithCertIssuerKind(kind string) ClientOption {
return func(c *Client) {
c.certIssuerKind = kind
}
}
func NewClient(crdClient dynamic.DynamicClient, options ...ClientOption) *Client {
client := &Client{
crdClient: crdClient,
}
for _, option := range options {
option(client)
}
client.Certificates = newCertificateClient(client)
return client
}