kccmanager

package
v1.151.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2026 License: Apache-2.0 Imports: 45 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	KRMSyncerGVK = schema.GroupVersionKind{
		Group:   "syncer.gkelabs.io",
		Version: "v1alpha1",
		Kind:    "KRMSyncer",
	}
)

Functions

func New

func New(ctx context.Context, restConfig *rest.Config, cfg Config) (manager.Manager, error)

Creates a new controller-runtime manager.Manager and starts all of the KCC controllers pointed at the API server associated with the rest.Config argument. The controllers are: { tf, gsakeysecretgenerator, iampolicy, iampolicymember, registration-controller }

Types

type Config

type Config struct {
	// The 'base' manager options which will be passed to New(...) other default options will be overlayed on top, such
	// as disabling caching
	ManagerOptions manager.Options

	// UserProjectOverride provides the option to use the resource project for preconditions, quota, and billing,
	// instead of the project the credentials belong to; false by default
	UserProjectOverride bool

	// BillingProject is the project used by the TF provider and DCL client to determine preconditions,
	// quota, and billing if UserProjectOverride is set to true. If this field is empty,
	// but UserProjectOverride is set to true, resource project will be used.
	BillingProject string

	// HTTPClient is the http client to use by KCC.
	// Currently only used in tests.
	HTTPClient *http.Client

	// GRPCUnaryClientInterceptor is the GRPC interceptor for use in tests.
	GRPCUnaryClientInterceptor grpc.UnaryClientInterceptor

	// GCPAccessToken allows configuration of a static access token for accessing GCP.
	// Currently only used in tests.
	GCPAccessToken string

	// StateIntoSpecDefaultValue is a required field used as the default value
	// for 'state-into-spec' annotation if unset.
	StateIntoSpecDefaultValue string

	// StateIntoSpecUserOverride is an optional field. If specified, it is used
	// as the default value for 'state-into-spec' annotation if unset.
	StateIntoSpecUserOverride *string

	// UseCache is true if we should use the informer cache
	// Currently only used in preview
	UseCache bool

	// EnableMetricsTransport enables automatic wrapping of HTTP clients with metrics transport
	EnableMetricsTransport bool

	// Configure manager to participate in leader election if MultiClusterLease is enabled.
	MultiClusterLease bool

	// SkipNameValidation bypasses the duplicate controller name check during registration
	SkipNameValidation bool
	// Enable integration with KRMSyncer for multi-cluster leader election.
	SyncerIntegration bool

	// ScopedNamespace is the namespace that the manager is scoped to.
	// If empty, the manager is cluster-scoped.
	ScopedNamespace string
	// contains filtered or unexported fields
}

type SyncerIntegration added in v1.149.1

type SyncerIntegration struct {
	// contains filtered or unexported fields
}

func (*SyncerIntegration) EnsurePullingFromLeader added in v1.149.1

func (si *SyncerIntegration) EnsurePullingFromLeader(ctx context.Context, leaderIdentity string) error

func (*SyncerIntegration) EnsureSuspended added in v1.149.1

func (si *SyncerIntegration) EnsureSuspended(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL