Versions in this module Expand all Collapse all v0 v0.0.2 Nov 29, 2023 Changes in this version + func HcloudFirewallRulesCompare(a, b []hcloud.FirewallRule) bool + func WriteFileIfChanged(name string, content []byte, perm fs.FileMode) (bool, error) v0.0.1 Nov 28, 2023 Changes in this version + func SlicesCompare[T comparable](a, b []T) bool + func SlicesConcat[T any](ins ...[]T) []T + func SlicesFlatMap[I any, O any](in []I, fn func(elem I) []O) []O + func SlicesMap[I any, O any](in []I, fn func(elem I) O) []O + func ValuePointerCompare[T comparable](a, b *T) bool + func ValuePointer[T any](value T) *T + type Logger struct + Debug *log.Logger + Error *log.Logger + Info *log.Logger + Warn *log.Logger + func NewLogger(withDebug bool) Logger + type Service struct + func NewService(ctx context.Context, logger Logger, opts ServiceOpts) (*Service, error) + func (s *Service) ReconcileFirewall() error + func (s *Service) ReconcileHaproxy() error + func (s *Service) ReconcileLoop(delay time.Duration, name string, fn func() error) error + func (s *Service) RetrieveNodeIPv4s(role string) ([]net.IP, []net.IP, error) + func (s *Service) Run() error + func (s *Service) RunHaproxy() + type ServiceOpts struct + ClusterName string + FirewallName string + HcloudToken string