core

package
v2.13.1 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO remove dependency on kubernetes see: https://github.com/kumahq/kuma/issues/2798
	Log                   = kube_ctrl.Log
	NewLogger             = kuma_log.NewLogger
	NewLoggerTo           = kuma_log.NewLoggerTo
	NewLoggerWithRotation = kuma_log.NewLoggerWithRotation
	SetLogger             = kube_ctrl.SetLogger
	Now                   = time.Now

	SetupSignalHandler = func() (context.Context, context.Context, <-chan struct{}) {
		gracefulCtx, gracefulCancel := context.WithCancel(context.Background())
		ctx, cancel := context.WithCancel(context.Background())
		c := make(chan os.Signal, 3)
		signal.Notify(c, handledSignals...)
		usr2Notify := make(chan struct{}, 1)
		go func() {
			logger := Log.WithName("runtime")

			var numberOfStopSignals uint
			for {
				s := <-c
				switch s {
				case syscall.SIGINT, syscall.SIGTERM:
					switch numberOfStopSignals {
					case 0:
						logger.Info("received signal, stopping instance gracefully", "signal", s.String())
						gracefulCancel()
						close(usr2Notify)
						usr2Notify = nil
					case 1:
						logger.Info("received second signal, stopping instance", "signal", s.String())
						cancel()
					default:
						logger.Info("received third signal, force exit", "signal", s.String())
						os.Exit(1)
					}
					numberOfStopSignals++
				case usr2:
					select {
					case usr2Notify <- struct{}{}:
					default:
					}
				}
			}
		}()
		return gracefulCtx, ctx, usr2Notify
	}
)

Functions

func NewUUID

func NewUUID() string

Types

This section is empty.

Directories

Path Synopsis
ca
config
dns
managers
resources
apis
Generated by tools/policy-gen Run "make generate" to update this file.
Generated by tools/policy-gen Run "make generate" to update this file.
apis/donothingresource/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/donothingresource/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/hostnamegenerator/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/hostnamegenerator/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshexternalservice/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/meshexternalservice/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshidentity/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/meshidentity/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshidentity/metadata
This file lives in a dedicated "metadata" subpackage, because the Origin type/values are imported by many components (generators, plugins, controllers, hooks, etc.).
This file lives in a dedicated "metadata" subpackage, because the Origin type/values are imported by many components (generators, plugins, controllers, hooks, etc.).
apis/meshidentity/providers/spire/metadata
Package metadata provides lightweight, import-cycle-safe constants shared by multiple components (generators, plugins, controllers, hooks, etc.).
Package metadata provides lightweight, import-cycle-safe constants shared by multiple components (generators, plugins, controllers, hooks, etc.).
apis/meshmultizoneservice/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/meshmultizoneservice/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshservice/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/meshservice/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshtrust/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/meshtrust/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
apis/meshtrust/metadata
Package metadata provides lightweight, import-cycle-safe constants shared by multiple components (generators, plugins, controllers, hooks, etc.).
Package metadata provides lightweight, import-cycle-safe constants shared by multiple components (generators, plugins, controllers, hooks, etc.).
apis/workload/api/v1alpha1
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
apis/workload/k8s/v1alpha1
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
Package v1alpha1 contains API Schema definitions for the mesh v1alpha1 API group +groupName=kuma.io
rest
secrets
xds

Jump to

Keyboard shortcuts

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