middleware

package
v2.21.1 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// RawTokenContextKey key under which the current token (OpenID ID Token) is kept in the ctx.
	RawTokenContextKey kubermaticcontext.Key = "raw-auth-token"

	// TokenExpiryContextKey key under which the current token expiry (OpenID ID Token) is kept in the ctx.
	TokenExpiryContextKey kubermaticcontext.Key = "auth-token-expiry"

	// ClusterProviderContextKey key under which the current ClusterProvider is kept in the ctx.
	ClusterProviderContextKey kubermaticcontext.Key = "cluster-provider"

	// PrivilegedClusterProviderContextKey key under which the current PrivilegedClusterProvider is kept in the ctx.
	PrivilegedClusterProviderContextKey kubermaticcontext.Key = "privileged-cluster-provider"

	// UserInfoContextKey key under which the current UserInfoExtractor is kept in the ctx.
	UserInfoContextKey kubermaticcontext.Key = "user-info"

	// AuthenticatedUserContextKey key under which the current User (from OIDC provider) is kept in the ctx.
	AuthenticatedUserContextKey kubermaticcontext.Key = "authenticated-user"

	// AddonProviderContextKey key under which the current AddonProvider is kept in the ctx.
	AddonProviderContextKey kubermaticcontext.Key = "addon-provider"

	// PrivilegedAddonProviderContextKey key under which the current PrivilegedAddonProvider is kept in the ctx.
	PrivilegedAddonProviderContextKey kubermaticcontext.Key = "privileged-addon-provider"

	// ConstraintProviderContextKey key under which the current ConstraintProvider is kept in the ctx.
	ConstraintProviderContextKey kubermaticcontext.Key = "constraint-provider"

	// PrivilegedConstraintProviderContextKey key under which the current PrivilegedConstraintProvider is kept in the ctx.
	PrivilegedConstraintProviderContextKey kubermaticcontext.Key = "privileged-constraint-provider"

	// AlertmanagerProviderContextKey key under which the current AlertmanagerProvider is kept in the ctx.
	AlertmanagerProviderContextKey kubermaticcontext.Key = "alertmanager-provider"

	// PrivilegedAlertmanagerProviderContextKey key under which the current PrivilegedAlertmanagerProvider is kept in the ctx.
	PrivilegedAlertmanagerProviderContextKey kubermaticcontext.Key = "privileged-alertmanager-provider"

	// RuleGroupProviderContextKey key under which the current RuleGroupProvider is kept in the ctx.
	RuleGroupProviderContextKey kubermaticcontext.Key = "rulegroup-provider"

	// PrivilegedRuleGroupProviderContextKey key under which the current PrivilegedRuleGroupProvider is kept in the ctx.
	PrivilegedRuleGroupProviderContextKey kubermaticcontext.Key = "privileged-rulegroup-provider"

	// EtcdBackupConfigProviderContextKey key under which the current EtcdBackupConfigProvider is kept in the ctx.
	EtcdBackupConfigProviderContextKey kubermaticcontext.Key = "etcdbackupconfig-provider"

	// PrivilegedEtcdBackupConfigProviderContextKey key under which the current PrivilegedEtcdBackupConfigProvider is kept in the ctx.
	PrivilegedEtcdBackupConfigProviderContextKey kubermaticcontext.Key = "privileged-etcdbackupconfig-provider"

	// EtcdRestoreProviderContextKey key under which the current EtcdRestoreProvider is kept in the ctx.
	EtcdRestoreProviderContextKey kubermaticcontext.Key = "etcdbrestore-provider"

	// PrivilegedEtcdRestoreProviderContextKey key under which the current PrivilegedEtcdRestoreProvider is kept in the ctx.
	PrivilegedEtcdRestoreProviderContextKey kubermaticcontext.Key = "privileged-etcdrestore-provider"

	// EtcdBackupConfigProjectProviderContextKey key under which the current EtcdBackupConfigProjectProvider is kept in the ctx.
	EtcdBackupConfigProjectProviderContextKey kubermaticcontext.Key = "etcdbackupconfig-project-provider"

	// PrivilegedEtcdBackupConfigProjectProviderContextKey key under which the current PrivilegedEtcdBackupConfigProjectProvider is kept in the ctx.
	PrivilegedEtcdBackupConfigProjectProviderContextKey kubermaticcontext.Key = "privileged-etcdbackupconfig-project-provider"

	// EtcdRestoreProjectProviderContextKey key under which the current EtcdRestoreProjectProvider is kept in the ctx.
	EtcdRestoreProjectProviderContextKey kubermaticcontext.Key = "etcdbrestore-project-provider"

	// PrivilegedEtcdRestoreProjectProviderContextKey key under which the current PrivilegedEtcdRestoreProjectProvider is kept in the ctx.
	PrivilegedEtcdRestoreProjectProviderContextKey kubermaticcontext.Key = "privileged-etcdrestore-project-provider"

	// BackupCredentialsProviderContextKey key under which the current BackupCredentialsProvider is kept in the ctx.
	BackupCredentialsProviderContextKey kubermaticcontext.Key = "backupcredentials-provider"

	// PrivilegedMLAAdminSettingProviderContextKey key under which the current PrivilegedMLAAdminSettingProvider is kept in the ctx.
	PrivilegedMLAAdminSettingProviderContextKey kubermaticcontext.Key = "privileged-mla-admin-setting-provider"

	// PrivilegedIPAMPoolProviderContextKey key under which the current PrivilegedIPAMPoolProvider is kept in the ctx.
	PrivilegedIPAMPoolProviderContextKey kubermaticcontext.Key = "privileged-ipampool-provider"

	// PrivilegedOperatingSystemProfileProviderContextKey key under which the current PrivilegedOperatingSystemProfileProvider is kept in the ctx.
	PrivilegedOperatingSystemProfileProviderContextKey kubermaticcontext.Key = "privileged-operatingsystemprofile-provider"

	UserCRContextKey                            = kubermaticcontext.UserCRContextKey
	SeedsGetterContextKey kubermaticcontext.Key = "seeds-getter"
)

Variables

View Source
var Now = time.Now

Now stubbed out to allow testing.

Functions

func Addons

func Addons(clusterProviderGetter provider.ClusterProviderGetter, addonProviderGetter provider.AddonProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

Addons is a middleware that injects the current AddonProvider into the ctx.

func Alertmanagers added in v2.18.0

func Alertmanagers(clusterProviderGetter provider.ClusterProviderGetter, alertmanagerProviderGetter provider.AlertmanagerProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

Alertmanagers is a middleware that injects the current AlertmanagerProvider into the ctx.

func BackupCredentials added in v2.18.0

func BackupCredentials(backupCredentialsProviderGetter provider.BackupCredentialsProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

BackupCredentials is a middleware that injects the current BackupCredentialsProvider into the ctx.

func Constraints added in v2.17.1

func Constraints(clusterProviderGetter provider.ClusterProviderGetter, constraintProviderGetter provider.ConstraintProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

Constraints is a middleware that injects the current ConstraintProvider into the ctx.

func EtcdBackupConfig added in v2.18.0

func EtcdBackupConfig(clusterProviderGetter provider.ClusterProviderGetter, etcdBackupConfigProviderGetter provider.EtcdBackupConfigProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

EtcdBackupConfig is a middleware that injects the current EtcdBackupConfigProvider into the ctx.

func EtcdBackupConfigProject added in v2.18.0

func EtcdBackupConfigProject(etcdBackupConfigProjectProviderGetter provider.EtcdBackupConfigProjectProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

EtcdBackupConfigProject is a middleware that injects the current EtcdBackupConfigProjectProvider into the ctx.

func EtcdRestore added in v2.18.0

func EtcdRestore(clusterProviderGetter provider.ClusterProviderGetter, etcdRestoreProviderGetter provider.EtcdRestoreProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

EtcdRestore is a middleware that injects the current EtcdRestoreProvider into the ctx.

func EtcdRestoreProject added in v2.18.0

func EtcdRestoreProject(etcdRestoreProjectProviderGetter provider.EtcdRestoreProjectProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

EtcdRestoreProject is a middleware that injects the current EtcdRestoreProjectProvider into the ctx.

func GetClusterProvider added in v2.21.0

func GetClusterProvider(ctx context.Context, request interface{}, seedsGetter provider.SeedsGetter, clusterProviderGetter provider.ClusterProviderGetter) (provider.ClusterProvider, context.Context, error)

func PrivilegedAddons

func PrivilegedAddons(clusterProviderGetter provider.ClusterProviderGetter, addonProviderGetter provider.AddonProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedAddons is a middleware that injects the current PrivilegedAddonProvider into the ctx.

func PrivilegedAlertmanagers added in v2.18.0

func PrivilegedAlertmanagers(clusterProviderGetter provider.ClusterProviderGetter, alertmanagerProviderGetter provider.AlertmanagerProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedAlertmanagers is a middleware that injects the current PrivilegedAlertmanagerProvider into the ctx.

func PrivilegedConstraints added in v2.17.1

func PrivilegedConstraints(clusterProviderGetter provider.ClusterProviderGetter, constraintProviderGetter provider.ConstraintProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedConstraints is a middleware that injects the current PrivilegedConstraintProvider into the ctx.

func PrivilegedEtcdBackupConfig added in v2.18.0

func PrivilegedEtcdBackupConfig(clusterProviderGetter provider.ClusterProviderGetter, etcdBackupConfigProviderGetter provider.EtcdBackupConfigProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedEtcdBackupConfig is a middleware that injects the current PrivilegedEtcdBackupConfigProvider into the ctx.

func PrivilegedEtcdBackupConfigProject added in v2.18.0

func PrivilegedEtcdBackupConfigProject(etcdBackupConfigProjectProviderGetter provider.EtcdBackupConfigProjectProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedEtcdBackupConfigProject is a middleware that injects the current PrivilegedEtcdBackupConfigProjectProvider into the ctx.

func PrivilegedEtcdRestore added in v2.18.0

func PrivilegedEtcdRestore(clusterProviderGetter provider.ClusterProviderGetter, etcdRestoreProviderGetter provider.EtcdRestoreProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedEtcdRestore is a middleware that injects the current PrivilegedEtcdRestoreProvider into the ctx.

func PrivilegedEtcdRestoreProject added in v2.18.0

func PrivilegedEtcdRestoreProject(etcdRestoreProjectProviderGetter provider.EtcdRestoreProjectProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedEtcdRestoreProject is a middleware that injects the current PrivilegedEtcdRestoreProjectProvider into the ctx.

func PrivilegedIPAMPool added in v2.21.0

func PrivilegedIPAMPool(ipamPoolProviderGetter provider.PrivilegedIPAMPoolProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedIPAMPool is a middleware that injects the current PrivilegedIPAMPoolProvider into the ctx.

func PrivilegedMLAAdminSetting added in v2.18.0

func PrivilegedMLAAdminSetting(clusterProviderGetter provider.ClusterProviderGetter, mlaAdminSettingProviderGetter provider.PrivilegedMLAAdminSettingProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedMLAAdminSetting is a middleware that injects the current PrivilegedMLAAdminSettingProvider into the ctx.

func PrivilegedOperatingSystemProfile added in v2.21.0

func PrivilegedOperatingSystemProfile(clusterProviderGetter provider.ClusterProviderGetter, providerGetter provider.PrivilegedOperatingSystemProfileProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedOperatingSystemProfile is a middleware that injects the current PrivilegedOperatingSystemProfileProvider into the ctx.

func PrivilegedRuleGroups added in v2.18.0

func PrivilegedRuleGroups(clusterProviderGetter provider.ClusterProviderGetter, ruleGroupProviderGetter provider.RuleGroupProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

PrivilegedRuleGroups is a middleware that injects the current PrivilegedRuleGroupProvider into the ctx.

func RuleGroups added in v2.18.0

func RuleGroups(clusterProviderGetter provider.ClusterProviderGetter, ruleGroupProviderGetter provider.RuleGroupProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

RuleGroups is a middleware that injects the current RuleGroupProvider into the ctx.

func SetClusterProvider

func SetClusterProvider(clusterProviderGetter provider.ClusterProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

SetClusterProvider is a middleware that injects the current ClusterProvider into the ctx.

func SetPrivilegedClusterProvider

func SetPrivilegedClusterProvider(clusterProviderGetter provider.ClusterProviderGetter, seedsGetter provider.SeedsGetter) endpoint.Middleware

SetPrivilegedClusterProvider is a middleware that injects the current ClusterProvider into the ctx.

func SetSeedsGetter

func SetSeedsGetter(seedsGetter provider.SeedsGetter) transporthttp.RequestFunc

SetSeedsGetter injects the current SeedsGetter into the ctx.

func TokenExtractor

func TokenExtractor(o auth.TokenExtractor) transporthttp.RequestFunc

TokenExtractor knows how to extract a token from the incoming request.

func TokenVerifier

func TokenVerifier(tokenVerifier auth.TokenVerifier, userProvider provider.UserProvider) endpoint.Middleware

TokenVerifier knows how to verify a token from the incoming request.

func UserInfoUnauthorized

func UserInfoUnauthorized(userProjectMapper provider.ProjectMemberMapper, userProvider provider.UserProvider) endpoint.Middleware

UserInfoUnauthorized tries to build userInfo for not authenticated (token) user instead it reads the user_id from the request and finds the associated user in the database.

func UserSaver

func UserSaver(userProvider provider.UserProvider) endpoint.Middleware

UserSaver is a middleware that checks if authenticated user already exists in the database next it creates/retrieve an internal object (kubermaticv1.User) and stores it the ctx under UserCRContextKey.

Types

This section is empty.

Jump to

Keyboard shortcuts

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