dataplane

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: MIT Imports: 20 Imported by: 5

Documentation

Index

Constants

View Source
const (
	// MsiIdentityURLHeader is provided by ARM in responses for resource creation
	// to specify the URL at which clients can get credentials for a managed identity
	// associated with the ARM resource being created.
	MsiIdentityURLHeader = "x-ms-identity-url"
	// MsiPrincipalIDHeader is provided by ARM in responses for resource creation
	// to specify the service principal ID for a managed identity associated with
	// the ARM resource being created.
	MsiPrincipalIDHeader = "x-ms-identity-principal-id"
	// MsiTenantHeader is provided by ARM in responses for resource creation to specify
	// the tenant id for a managed identity associated with the ARM resource being created.
	MsiTenantHeader = "x-ms-home-tenant-id"
)
View Source
const (
	// ManagedIdentityCredentialsStoragePrefix is a suggested prefix to use when
	// storing a ManagedIdentityCredentials object in Azure KeyVault.
	ManagedIdentityCredentialsStoragePrefix = "msi-"
	// UserAssignedIdentityCredentialsStoragePrefix is a suggested prefix to use when
	// storing a UserAssignedIdentityCredentials object in Azure KeyVault.
	UserAssignedIdentityCredentialsStoragePrefix = "uamsi-"
)

Variables

This section is empty.

Functions

func GetCredential added in v0.0.9

Get an AzIdentity credential for the given nested credential object Clients can use the credential to get a token for the user-assigned identity

func NewUserAssignedIdentityCredential added in v0.0.9

func NewUserAssignedIdentityCredential(ctx context.Context, credentialPath string, opts ...Option) (azcore.TokenCredential, error)

NewUserAssignedIdentityCredential creates a new reloadingCredential for a user-assigned identity. ctx is used to manage the lifecycle of the reloader, allowing for cancellation if reloading is no longer needed. credentialPath is the path to the credential file. opts allows for additional configuration, such as setting a custom logger, periodic reload time, and cloud environment.

The function ensures that a valid token is loaded before returning the credential. It also starts a background process to watch for changes to the credential file and reloads it as necessary.

Types

type Client added in v0.0.9

type Client interface {
	// DeleteSystemAssignedIdentity deletes the system-assigned identity for a proxy resource.
	DeleteSystemAssignedIdentity(ctx context.Context) error

	// GetSystemAssignedIdentityCredentials retrieves the credentials for the system-assigned identity associated with the proxy resource.
	GetSystemAssignedIdentityCredentials(ctx context.Context) (*ManagedIdentityCredentials, error)

	// GetUserAssignedIdentitiesCredentials retrieves the credentials for any user-assigned identities associated with the proxy resource.
	GetUserAssignedIdentitiesCredentials(ctx context.Context, request UserAssignedIdentitiesRequest) (*ManagedIdentityCredentials, error)

	// MoveIdentity moves the identity from one resource group into another.
	MoveIdentity(ctx context.Context, request MoveIdentityRequest) (*MoveIdentityResponse, error)
}

Client exposes the API for the MSI data plane.

type ClientFactory added in v0.0.9

type ClientFactory interface {
	// NewClient creates a client that can operate on credentials for one managed identity.
	// identityURL is the x-ms-identity-url header provided from ARM, including any path,
	// query parameters, etc.
	NewClient(identityURL string) (Client, error)
}

ClientFactory creates clients for managed identity credentials.

func NewClientFactory added in v0.0.9

func NewClientFactory(cred azcore.TokenCredential, audience string, opts *azcore.ClientOptions, clientFactoryOpts ...ClientFactoryOption) ClientFactory

NewClientFactory creates a new MSI data plane client factory. The credentials and audience presented are for the first-party credential. As the server to be contacted for each identity varies, a factory is returned that can create clients on-demand.

type ClientFactoryOption added in v0.2.0

type ClientFactoryOption func(*clientOpts)

func WithClientLogger added in v0.2.0

func WithClientLogger(logger *logr.Logger) ClientFactoryOption

WithLogger sets a custom logger for the reloadingCredential. This can be useful for debugging or logging purposes.

type CustomClaims

type CustomClaims = client.CustomClaims

type DelegatedResource added in v0.0.9

type DelegatedResource = client.DelegatedResource

type ManagedIdentityCredentials added in v0.0.9

type ManagedIdentityCredentials = client.ManagedIdentityCredentials

type MoveIdentityRequest added in v0.0.9

type MoveIdentityRequest = client.MoveRequestBodyDefinition

type MoveIdentityResponse

type MoveIdentityResponse = client.MoveIdentityResponse

type Option added in v0.0.9

type Option func(*reloadingCredential)

func WithBackstopRefresh added in v0.0.9

func WithBackstopRefresh(d time.Duration) Option

WithBackstopRefresh sets a custom timer for the reloadingCredential. This can be useful for loading credential file periodically.

func WithClientOpts added in v0.4.0

func WithClientOpts(o azcore.ClientOptions) Option

WithClientOpts adds common Azure client options. Use this field to, for instance, configure the cloud environment in which this credential should authenticate.

func WithLogger added in v0.0.9

func WithLogger(logger *logr.Logger) Option

WithLogger sets a custom logger for the reloadingCredential. This can be useful for debugging or logging purposes.

type UserAssignedIdentitiesRequest added in v0.0.9

type UserAssignedIdentitiesRequest = client.CredRequestDefinition

type UserAssignedIdentityCredentials added in v0.0.9

type UserAssignedIdentityCredentials = client.UserAssignedIdentityCredentials

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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