v1http

package
v1.19.1 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BcsK8sCluster = iota + 1
	BcsMesosCluster
	BcsTkeCluster
)
View Source
const (
	CurrentUserAttr = "current-user"
)
View Source
const DefaultTokenLength = 32

DefaultTokenLength user token default length token is consisted of digital and alphabet(case sensetive) we can refer to http://coolaf.com/tool/rd when testing

Variables

View Source
var PermissionsCache map[uint][]UserPermissions

Functions

func AddTkeCidr

func AddTkeCidr(request *restful.Request, response *restful.Response)

AddTkeCidr init tke cidrs

func AdminAuthFunc

func AdminAuthFunc(rb *restful.RouteBuilder) *restful.RouteBuilder

func AdminTokenAuthenticate

func AdminTokenAuthenticate(request *restful.Request, response *restful.Response, chain *restful.FilterChain)

func ApplyTkeCidr

func ApplyTkeCidr(request *restful.Request, response *restful.Response)

ApplyTkeCidr assign an cidr to client

func AuthFunc

func AuthFunc(rb *restful.RouteBuilder) *restful.RouteBuilder

func CreateAdminUser

func CreateAdminUser(request *restful.Request, response *restful.Response)

CreateAdminUser create a admin user

func CreateCluster

func CreateCluster(request *restful.Request, response *restful.Response)

func CreatePlainUser

func CreatePlainUser(request *restful.Request, response *restful.Response)

CreatePlainUser create a plain user

func CreateRegisterToken

func CreateRegisterToken(request *restful.Request, response *restful.Response)

CreateRegisterToken http handler for register specified cluster token

func CreateSaasUser

func CreateSaasUser(request *restful.Request, response *restful.Response)

CreateSaasUser create a saas user

func GetAdminUser

func GetAdminUser(request *restful.Request, response *restful.Response)

GetAdminUser get an admin user and usertoken information

func GetCredentials

func GetCredentials(request *restful.Request, response *restful.Response)

func GetPermission

func GetPermission(request *restful.Request, response *restful.Response)

GetPermission get permissions of a user for a resourceType

func GetPlainUser

func GetPlainUser(request *restful.Request, response *restful.Response)

GetPlainUser get an plain user and usertoken information

func GetRegisterToken

func GetRegisterToken(request *restful.Request, response *restful.Response)

GetRegisterToken http handler for search specified cluster token it's served for bcs-gateway-discovery for cluster service discovery

func GetSaasUser

func GetSaasUser(request *restful.Request, response *restful.Response)

GetSaasUser get an saas user and usertoken information

func GetUser

func GetUser(req *restful.Request) *models.BcsUser

Get CurrentUser from request object

func GrantPermission

func GrantPermission(request *restful.Request, response *restful.Response)

GrantPermission grant permissions

func InitV1Routers

func InitV1Routers(ws *restful.WebService)

InitV1Routers init v1 version route, it's compatable with bcs-api

func ListCredentials

func ListCredentials(request *restful.Request, response *restful.Response)

func ListTkeCidr

func ListTkeCidr(request *restful.Request, response *restful.Response)

ListTkeCidr list cidr count group by vpc

func RefreshPlainToken

func RefreshPlainToken(request *restful.Request, response *restful.Response)

RefreshPlainToken refresh usertoken for a plain user

func RefreshSaasToken

func RefreshSaasToken(request *restful.Request, response *restful.Response)

RefreshSaasToken refresh usertoken for a saas user

func ReleaseTkeCidr

func ReleaseTkeCidr(request *restful.Request, response *restful.Response)

ReleaseTkeCidr release a cidr to be available

func RevokePermission

func RevokePermission(request *restful.Request, response *restful.Response)

RevokePermission revoke permissions

func SyncTkeClusterCredentials

func SyncTkeClusterCredentials(request *restful.Request, response *restful.Response)

SyncTkeClusterCredentials sync the tke cluster credentials from tke

func TokenAuthenticate

func TokenAuthenticate(request *restful.Request, response *restful.Response, chain *restful.FilterChain)

func UpdateCredentials

func UpdateCredentials(request *restful.Request, response *restful.Response)

UpdateCredentials updates the current cluster credentials, a valid registerToken is required to performe a credentials updating.

func VerifyPermission

func VerifyPermission(request *restful.Request, response *restful.Response)

Types

type AddTkeCidrForm

type AddTkeCidrForm struct {
	Vpc      string    `json:"vpc" validate:"required"`
	TkeCidrs []TkeCidr `json:"tke_cidrs" validate:"required"`
}

type ApplyTkeCidrForm

type ApplyTkeCidrForm struct {
	Vpc      string `json:"vpc" validate:"required"`
	Cluster  string `json:"cluster" validate:"required"`
	IpNumber uint   `json:"ip_number" validate:"required"`
}

type ApplyTkeCidrResult

type ApplyTkeCidrResult struct {
	Vpc      string `json:"vpc" validate:"required"`
	Cidr     string `json:"cidr" validate:"required"`
	IpNumber uint   `json:"ip_number" validate:"required"`
	Status   string `json:"status"`
}

type CreateClusterForm

type CreateClusterForm struct {
	ClusterID        string `json:"cluster_id" validate:"required"`
	ClusterType      string `json:"cluster_type" validate:"required"`
	TkeClusterID     string `json:"tke_cluster_id"`
	TkeClusterRegion string `json:"tke_cluster_region"`
}

CreateClusterForm

type CredentialResp

type CredentialResp struct {
	ServerAddresses string `json:"server_addresses"`
	CaCertData      string `json:"ca_cert_data"`
	UserToken       string `json:"user_token"`
	ClusterDomain   string `json:"cluster_domain"`
}

type GetPermissionForm

type GetPermissionForm struct {
	UserName     string `json:"user_name" validate:"required"`
	ResourceType string `json:"resource_type" validate:"required"`
}

type OwnedPermissions

type OwnedPermissions struct {
	Actions string `json:"actions"`
}

type PermissionForm

type PermissionForm struct {
	UserName     string `json:"user_name" validate:"required"`
	ResourceType string `json:"resource_type" validate:"required"`
	Resource     string `json:"resource"`
	Role         string `json:"role" validate:"required"`
}

type PermissionsResp

type PermissionsResp struct {
	ResourceType string `json:"resource_type"`
	Resource     string `json:"resource"`
	Role         string `json:"role"`
}

type ReleaseTkeCidrForm

type ReleaseTkeCidrForm struct {
	Vpc     string `json:"vpc" validate:"required"`
	Cidr    string `json:"cidr" validate:"required"`
	Cluster string `json:"cluster" validate:"required"`
}

type TkeCidr

type TkeCidr struct {
	Cidr     string `json:"cidr" validate:"required"`
	IpNumber uint   `json:"ip_number" validate:"required"`
	Status   string `json:"status"`
}

type TokenAuthConfig

type TokenAuthConfig struct {
	SourceBearerEnabled bool

	// Only token in this type will be considered as valid
	ValidTokenType uint
	// contains filtered or unexported fields
}

type TokenAuthenticater

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

func (*TokenAuthenticater) GetUser

func (ta *TokenAuthenticater) GetUser() (*models.BcsUser, bool)

func (*TokenAuthenticater) GetUserFromToken

func (ta *TokenAuthenticater) GetUserFromToken(s string) (*models.BcsUser, bool)

GetUserFromToken returns a user object if the given token is valid

func (*TokenAuthenticater) ParseTokenBasicAuth

func (ta *TokenAuthenticater) ParseTokenBasicAuth() string

func (*TokenAuthenticater) ParseTokenBearer

func (ta *TokenAuthenticater) ParseTokenBearer() string

func (*TokenAuthenticater) ParseTokenString

func (ta *TokenAuthenticater) ParseTokenString() string

ParseTokenString parses token string from incoming request, currently supports authorization header and basicauth

type UpdateCredentialsForm

type UpdateCredentialsForm struct {
	RegisterToken   string `json:"register_token" validate:"required"`
	ServerAddresses string `json:"server_addresses" validate:"required,apiserver_addresses"`
	CaCertData      string `json:"cacert_data" validate:"required"`
	UserToken       string `json:"user_token" validate:"required"`
}

type UserPermissions

type UserPermissions struct {
	ResourceType string
	Resource     string
	Actions      string
}

type UserResourceAction

type UserResourceAction struct {
	UserId       uint
	ResourceType string
	Resource     string
	Actions      string
}

type VerifyPermissionForm

type VerifyPermissionForm struct {
	UserToken    string `json:"user_token" validate:"required"`
	ResourceType string `json:"resource_type" validate:"required"`
	Resource     string `json:"resource"`
	Action       string `json:"action" validate:"required"`
}

type VerifyPermissionResponse

type VerifyPermissionResponse struct {
	Allowed bool   `json:"allowed"`
	Message string `json:"message"`
}

Jump to

Keyboard shortcuts

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