package namespaces

import "github.com/google/cadvisor/container/containerd/namespaces"

Index

Constants

const (
	// NamespaceEnvVar is the environment variable key name
	NamespaceEnvVar = "CONTAINERD_NAMESPACE"
	// Default is the name of the default namespace
	Default = "default"
)
const (
	// GRPCHeader defines the header name for specifying a containerd namespace.
	GRPCHeader = "containerd-namespace"
)
const (
	// TTRPCHeader defines the header name for specifying a containerd namespace
	TTRPCHeader = "containerd-namespace-ttrpc"
)

Functions

func Namespace

func Namespace(ctx context.Context) (string, bool)

Namespace returns the namespace from the context.

The namespace is not guaranteed to be valid.

func NamespaceFromEnv

func NamespaceFromEnv(ctx context.Context) context.Context

NamespaceFromEnv uses the namespace defined in CONTAINERD_NAMESPACE or default

func NamespaceRequired

func NamespaceRequired(ctx context.Context) (string, error)

NamespaceRequired returns the valid namespace from the context or an error.

func WithNamespace

func WithNamespace(ctx context.Context, namespace string) context.Context

WithNamespace sets a given namespace on the context

Types

type DeleteInfo

type DeleteInfo struct {
	// Name of the namespace
	Name string
}

DeleteInfo specifies information for the deletion of a namespace

type DeleteOpts

type DeleteOpts func(context.Context, *DeleteInfo) error

DeleteOpts allows the caller to set options for namespace deletion

type Store

type Store interface {
	Create(ctx context.Context, namespace string, labels map[string]string) error
	Labels(ctx context.Context, namespace string) (map[string]string, error)
	SetLabel(ctx context.Context, namespace, key, value string) error
	List(ctx context.Context) ([]string, error)

	// Delete removes the namespace. The namespace must be empty to be deleted.
	Delete(ctx context.Context, namespace string, opts ...DeleteOpts) error
}

Store provides introspection about namespaces.

Note that these are slightly different than other objects, which are record oriented. A namespace is really just a name and a set of labels. Objects that belong to a namespace are returned when the namespace is assigned to a given context.

Source Files

context.go grpc.go store.go ttrpc.go

Version
v0.52.1 (latest)
Published
Mar 5, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
3 days ago

Tools for package owners.