Help us shape the future of Go! Take the 2026 Go Developer Survey

keystone

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2018 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeUser    string = "user"
	TypeGroup   string = "group"
	TypeProject string = "project"
	TypeRole    string = "role"
)

Supported types for policy match.

View Source
const (
	Projects        = "projects"
	RoleAssignments = "role_assignments"
)

By now only project syncing is supported TODO(mfedosin): Implement syncing of role assignments, system role assignments, and user groups

Variables

This section is empty.

Functions

func GetToken

func GetToken(options gophercloud.AuthOptions) (*tokens3.Token, error)

GetToken creates a token by authenticate with keystone.

Types

type Authenticator

type Authenticator struct {
	// contains filtered or unexported fields
}

Authenticator contacts openstack keystone to validate user's token passed in the request. The keystone endpoint is passed during apiserver startup

func (*Authenticator) AuthenticateToken

func (a *Authenticator) AuthenticateToken(token string) (user.Info, bool, error)

AuthenticateToken checks the token via Keystone call

type Authorizer

type Authorizer struct {
	// contains filtered or unexported fields
}

Authorizer contacts openstack keystone to check whether the user can perform requested operations. The keystone endpoint and policy list are passed during apiserver startup

func (*Authorizer) Authorize

func (a *Authorizer) Authorize(attributes authorizer.Attributes) (authorized authorizer.Decision, reason string, err error)

Authorize checks whether the user can perform an operation

type Config added in v0.2.0

type Config struct {
	Address             string
	CertFile            string
	KeyFile             string
	KeystoneURL         string
	KeystoneCA          string
	PolicyFile          string
	PolicyConfigMapName string
	SyncConfigFile      string
	SyncConfigMapName   string
	Kubeconfig          string
}

Config configures a keystone webhook server

func NewConfig added in v0.2.0

func NewConfig() *Config

NewConfig returns a Config

func (*Config) AddFlags added in v0.2.0

func (c *Config) AddFlags(fs *pflag.FlagSet)

AddFlags adds flags for a specific AutoScaler to the specified FlagSet

func (*Config) ValidateFlags added in v0.2.0

func (c *Config) ValidateFlags() error

ValidateFlags validates whether flags are set up correctly

type KeystoneAuth added in v0.2.0

type KeystoneAuth struct {
	// contains filtered or unexported fields
}

KeystoneAuth manages authentication and authorization

func NewKeystoneAuth added in v0.2.0

func NewKeystoneAuth(c *Config) (*KeystoneAuth, error)

NewKeystoneAuth returns a new KeystoneAuth controller

func (*KeystoneAuth) Handler added in v0.2.0

func (k *KeystoneAuth) Handler(w http.ResponseWriter, r *http.Request)

Handler serves the http requests

func (*KeystoneAuth) Run added in v0.2.0

func (k *KeystoneAuth) Run()

Run starts the keystone webhook server.

type Syncer added in v0.2.0

type Syncer struct {
	// contains filtered or unexported fields
}

Syncer synchronizes auth data between Keystone and Kubernetes

Jump to

Keyboard shortcuts

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