user

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContextWithInfo

func ContextWithInfo(ctx context.Context, u Info) context.Context

ContextWithInfo returns a context.Context that has been augmented with the provided Info.

Types

type Info

type Info struct {
	// IsAdmin indicates whether the user represented by this struct has been
	// verified as the Kargo API server's admin user. When this is true, all
	// other fields should have an empty value.
	IsAdmin bool
	// Username is the name of a non-admin user whose credentials have been
	// successfully verified by the server's authentication middleware.
	Username string
	// Groups are the group claims obtained from credentials that have been
	// successfully verified by the server's authentication middleware.
	Groups []string
	// BearerToken is set only in cases where the server's authentication
	// middleware could not verify the token it was presented with. In this case,
	// we assume the token to be a valid credential for a Kubernetes user. When
	// constructing an ad-hoc Kubernetes client, this token will be used directly.
	// When this is non-empty, all other fields should have an empty value.
	BearerToken string
}

Info represents information about an API user. This is bound to the context by the server's authentication middleware and later retrieved and used to create an ad-hoc Kubernetes client that has the correct level of permissions for the user.

func InfoFromContext

func InfoFromContext(ctx context.Context) (Info, bool)

InfoFromContext extracts a userInfo from the provided context.Context and returns it. If no Info is found, a zero-value Info is returned. A boolean is also returned to indicate the success or failure of the call.

Jump to

Keyboard shortcuts

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