Documentation ¶
Index ¶
- Constants
- Variables
- func Arguments2Labels(arguments []*apitraffic.MatchArgument) map[string]*apimodel.MatchString
- func BuildArgumentKey(argumentType apitraffic.MatchArgument_Type, key string) string
- func BuildDefaultStrategyName(role PrincipalType, name string) string
- func BuildInBoundsFromV2(service, namespace string, item *ExtendRouterConfig) []*apitraffic.Route
- func BuildKeyForClientConfigFileInfo(info *config_manage.ClientConfigFileInfo) string
- func BuildOutBoundsFromV2(service, namespace string, item *ExtendRouterConfig) []*apitraffic.Route
- func BuildV1RoutesFromV2(service, namespace string, entries []*ExtendRouterConfig) ([]*apitraffic.Route, []*apitraffic.Route, []string)
- func BuildV2RoutingFromV1Route(req *apitraffic.Routing, route *apitraffic.Route) (*apitraffic.RouteRule, error)
- func CheckPrincipalType(role int) error
- func CompareRoutingV2(a, b *ExtendRouterConfig) bool
- func CompositeRoutingV1AndV2(v1rule *apitraffic.Routing, level1, level2, level3 []*ExtendRouterConfig) (*apitraffic.Routing, []string)
- func ConvertRoutingV1ToExtendV2(svcName, svcNamespace string, rule *RoutingConfig) ([]*ExtendRouterConfig, []*ExtendRouterConfig, error)
- func ConvertToErrCode(err error) apimodel.Code
- func ExportToMap(exportTo []*wrappers.StringValue) map[string]struct{}
- func FromTagMap(kvs map[string]string) []*config_manage.ConfigFileTag
- func GetGrayConfigRealseKey(release *SimpleConfigFileRelease) string
- func Int2bool(entry int) bool
- func MarshalModCmd(modID uint32, cmdID uint32) string
- func MarshalSid(sid *Sid) string
- func ParseRouteRuleAnyToMessage(policy apitraffic.RoutingPolicy, anyMessage *anypb.Any) (proto.Message, error)
- func RoutingArguments2Labels(args []*apitraffic.SourceMatch) map[string]*apimodel.MatchString
- func RoutingConfigV1ToAPI(req *RoutingConfig, service string, namespace string) (*apitraffic.Routing, error)
- func RoutingLabels2Arguments(labels map[string]*apimodel.MatchString) []*apitraffic.SourceMatch
- func StatusBoolToInt(value bool) int
- func Store2ClientStat(clientStatStore *ClientStatStore) *apiservice.StatInfo
- func ToConfigFileAPI(file *ConfigFile) *config_manage.ConfigFile
- func ToConfigFileTemplateAPI(template *ConfigFileTemplate) *config_manage.ConfigFileTemplate
- func ToConfigGroupAPI(group *ConfigFileGroup) *config_manage.ConfigFileGroup
- func ToConfiogFileReleaseApi(release *ConfigFileRelease) *config_manage.ConfigFileRelease
- func ToReleaseHistoryAPI(releaseHistory *ConfigFileReleaseHistory) *config_manage.ConfigFileReleaseHistory
- func ToTagMap(tags []*config_manage.ConfigFileTag) map[string]string
- func WithAccessResources(accessResources map[apisecurity.ResourceType][]ResourceEntry) acquireContextOption
- func WithAttachment(attachment map[string]interface{}) acquireContextOption
- func WithFromClient() acquireContextOption
- func WithFromConsole() acquireContextOption
- func WithMethod(method string) acquireContextOption
- func WithModule(module BzModule) acquireContextOption
- func WithOperation(operation ResourceOperation) acquireContextOption
- func WithRequestContext(ctx context.Context) acquireContextOption
- type AcquireContext
- func (authCtx *AcquireContext) GetAccessResources() map[apisecurity.ResourceType][]ResourceEntry
- func (authCtx *AcquireContext) GetAttachment(key string) (interface{}, bool)
- func (authCtx *AcquireContext) GetAttachments() map[string]interface{}
- func (authCtx *AcquireContext) GetMethod() string
- func (authCtx *AcquireContext) GetModule() BzModule
- func (authCtx *AcquireContext) GetOperation() ResourceOperation
- func (authCtx *AcquireContext) GetRequestContext() context.Context
- func (authCtx *AcquireContext) IsAccessResourceEmpty() bool
- func (authCtx *AcquireContext) IsFromClient() bool
- func (authCtx *AcquireContext) IsFromConsole() bool
- func (authCtx *AcquireContext) SetAccessResources(accessRes map[apisecurity.ResourceType][]ResourceEntry)
- func (authCtx *AcquireContext) SetAttachment(key string, val interface{})
- func (authCtx *AcquireContext) SetFromClient()
- func (authCtx *AcquireContext) SetFromConsole()
- func (authCtx *AcquireContext) SetRequestContext(requestContext context.Context)
- type BzModule
- type Callee
- type CircuitBreaker
- type CircuitBreakerDetail
- type CircuitBreakerInfo
- type CircuitBreakerRelation
- type CircuitBreakerRule
- type Cl5ServerCluster
- type Cl5ServerProtocol
- type Client
- type ClientEvent
- type ClientStatStore
- type ClientStore
- type ConfigFile
- type ConfigFileGroup
- type ConfigFileKey
- type ConfigFileRelease
- type ConfigFileReleaseHistory
- type ConfigFileReleaseKey
- type ConfigFileTag
- type ConfigFileTemplate
- type ContextKeyAutoCreateNamespace
- type ContextKeyAutoCreateService
- type DebugHandler
- type DebugHandlerGroup
- type EnhancedService
- type EnrichServiceContract
- type ExpandInstanceStore
- type ExtendRateLimit
- type ExtendRouterConfig
- type ExtendRoutingConfig
- type FaultDetectRule
- type GrayModule
- type GrayResource
- type IPConfig
- type Instance
- func (i *Instance) Ctime() string
- func (i *Instance) EnableHealthCheck() bool
- func (i *Instance) HealthCheck() *apiservice.HealthCheck
- func (i *Instance) Healthy() bool
- func (i *Instance) Host() string
- func (i *Instance) ID() string
- func (i *Instance) Isolate() bool
- func (i *Instance) Location() *apimodel.Location
- func (i *Instance) LogicSet() string
- func (i *Instance) MallocProto()
- func (i *Instance) Metadata() map[string]string
- func (i *Instance) Mtime() string
- func (i *Instance) Namespace() string
- func (i *Instance) Port() uint32
- func (i *Instance) Priority() uint32
- func (i *Instance) Protocol() string
- func (i *Instance) Revision() string
- func (i *Instance) Service() string
- func (i *Instance) ServiceToken() string
- func (i *Instance) Version() string
- func (i *Instance) VpcID() string
- func (i *Instance) Weight() uint32
- type InstanceCount
- type InstanceEvent
- type InstanceEventType
- type InstanceStore
- type InstanceVersionCount
- type InterfaceDescriptor
- type LeaderElection
- type Location
- type LocationStore
- type LocationView
- type ModifyStrategyDetail
- type ModifyUserGroup
- type Namespace
- type NamespaceServiceCount
- type OperationType
- type Policy
- type Principal
- type PrincipalType
- type PrometheusDiscoveryResponse
- type PrometheusTarget
- type RateLimit
- type RateLimitRevision
- type RecordEntry
- type ReleaseType
- type Resource
- type ResourceEntry
- type ResourceOperation
- type Route
- type RouterConfig
- type RoutingConfig
- type Section
- type Service
- type ServiceAlias
- type ServiceContract
- type ServiceInstances
- func (si *ServiceInstances) GetInstances(onlyHealthy bool) []*Instance
- func (si *ServiceInstances) Range(iterator func(id string, ins *Instance))
- func (si *ServiceInstances) ReachHealthyProtect() bool
- func (si *ServiceInstances) RemoveInstance(ins *Instance)
- func (si *ServiceInstances) RunHealthyProtect()
- func (si *ServiceInstances) TotalCount() int
- func (si *ServiceInstances) UpdateProtectThreshold(protectThreshold float32)
- func (si *ServiceInstances) UpsertInstance(ins *Instance)
- type ServiceKey
- type ServicePort
- type ServiceWithCircuitBreaker
- type ServiceWithCircuitBreakerRules
- func (s *ServiceWithCircuitBreakerRules) AddCircuitBreakerRule(rule *CircuitBreakerRule)
- func (s *ServiceWithCircuitBreakerRules) Clear()
- func (s *ServiceWithCircuitBreakerRules) CountCircuitBreakerRules() int
- func (s *ServiceWithCircuitBreakerRules) DelCircuitBreakerRule(id string)
- func (s *ServiceWithCircuitBreakerRules) IterateCircuitBreakerRules(callback func(*CircuitBreakerRule))
- type ServiceWithFaultDetectRules
- func (s *ServiceWithFaultDetectRules) AddFaultDetectRule(rule *FaultDetectRule)
- func (s *ServiceWithFaultDetectRules) Clear()
- func (s *ServiceWithFaultDetectRules) CountFaultDetectRules() int
- func (s *ServiceWithFaultDetectRules) DelFaultDetectRule(id string)
- func (s *ServiceWithFaultDetectRules) IterateFaultDetectRules(callback func(*FaultDetectRule))
- type Sid
- type SidConfig
- type SimpleConfigFileRelease
- type Strategy
- type StrategyDetail
- type StrategyDetailCache
- type StrategyResource
- type User
- type UserGroup
- type UserGroupDetail
- type UserGroupRelation
- type UserRoleType
- type WeightType
Constants ¶
const ( OperatorRoleKey string = "operator_role" OperatorPrincipalType string = "operator_principal" OperatorIDKey string = "operator_id" OperatorOwnerKey string = "operator_owner" OperatorLinkStrategy string = "operator_link_strategy" LinkUsersKey string = "link_users" LinkGroupsKey string = "link_groups" RemoveLinkUsersKey string = "remove_link_users" RemoveLinkGroupsKey string = "remove_link_groups" TokenDetailInfoKey string = "TokenInfo" TokenForUser string = "uid" TokenForUserGroup string = "groupid" ResourceAttachmentKey string = "resource_attachment" )
const ( // ClientLabel_IP 客户端 IP ClientLabel_IP = "CLIENT_IP" // ClientLabel_ID 客户端 ID ClientLabel_ID = "CLIENT_ID" // ClientLabel_Version 客户端版本 ClientLabel_Version = "CLIENT_VERSION" // ClientLabel_Language 客户端语言 ClientLabel_Language = "CLIENT_LANGUAGE" )
const ( // ReleaseTypeFull 全量类型 ReleaseTypeFull = "" // ReleaseTypeGray 灰度类型 ReleaseTypeGray = "gray" )
const ( // MetaKeyPolarisService service identifier by self registration MetaKeyPolarisService = "polaris_service" // MetaKeyBuildRevision build revision for server MetaKeyBuildRevision = "build-revision" )
const ( // MetaKeyConfigFileUseEncrypted 配置加密开关标识,value 为 boolean MetaKeyConfigFileUseEncrypted = "internal-encrypted" // MetaKeyConfigFileDataKey 加密密钥 tag key MetaKeyConfigFileDataKey = "internal-datakey" // MetaKeyConfigFileEncryptAlgo 加密算法 tag key MetaKeyConfigFileEncryptAlgo = "internal-encryptalgo" // MetaKeyConfigFileSyncToKubernetes 配置同步到 kubernetes MetaKeyConfigFileSyncToKubernetes = "internal-sync-to-kubernetes" // ---- 以下参数仅适配 polaris-controller 生态 ---- // MetaKeyConfigFileSyncSourceKey 配置同步来源 MetaKeyConfigFileSyncSourceKey = "internal-sync-source" // MetaKeyConfigFileSyncSourceClusterKey 配置同步来源所在集群 MetaKeyConfigFileSyncSourceClusterKey = "internal-sync-sourcecluster" )
const ( MetadataInstanceLastHeartbeatTime = "internal-lastheartbeat" MetadataServiceProtectThreshold = "internal-service-protectthreshold" MetadataRegisterFrom = "internal-register-from" MetadataInternalMetaHealthCheckPath = "internal-healthcheck_path" MetadataInternalMetaTraceSampling = "internal-trace_sampling" )
const ( LabelKeyPath = "$path" LabelKeyMethod = "$method" LabelKeyHeader = "$header" LabelKeyQuery = "$query" LabelKeyCallerService = "$caller_service" LabelKeyCallerIP = "$caller_ip" )
const ( // V2RuleIDKey v2 版本的规则路由 ID V2RuleIDKey = "__routing_v2_id__" // V1RuleIDKey v1 版本的路由规则 ID V1RuleIDKey = "__routing_v1_id__" // V1RuleRouteIndexKey v1 版本 route 规则在自己 route 链中的 index 信息 V1RuleRouteIndexKey = "__routing_v1_route_index__" // V1RuleRouteTypeKey 标识当前 v2 路由规则在 v1 的 inBound 还是 outBound V1RuleRouteTypeKey = "__routing_v1_route_type__" // V1RuleInRoute inBound 类型 V1RuleInRoute = "in" // V1RuleOutRoute outBound 类型 V1RuleOutRoute = "out" )
const CtxEventKeyMetadata = "ctx_event_metadata"
CtxEventKeyMetadata 用于将metadata从Context中传入并取出
const ( // DefaultStrategySuffix 默认策略的名称前缀 DefaultStrategySuffix string = "的默认策略" )
const (
MatchAll = "*"
)
const (
StatReportPrometheus string = "prometheus"
)
Variables ¶
var ( // ErrorNoUser 没有找到对应的用户 ErrorNoUser error = errors.New("no such user") // ErrorNoUserGroup 没有找到对应的用户组 ErrorNoUserGroup error = errors.New("no such user group") // ErrorNoNamespace 没有找到对应的命名空间 ErrorNoNamespace error = errors.New("no such namespace") // ErrorNoService 没有找到对应的服务 ErrorNoService error = errors.New("no such service") // ErrorWrongUsernameOrPassword 用户或者密码错误 ErrorWrongUsernameOrPassword error = errors.New("name or password is wrong") // ErrorTokenNotExist token 不存在 ErrorTokenNotExist error = errors.New("token not exist") // ErrorTokenInvalid 非法的 token ErrorTokenInvalid error = errors.New("invalid token") // ErrorTokenDisabled token 已经被禁用 ErrorTokenDisabled error = errors.New("token already disabled") )
var ( // RuleRoutingTypeUrl 记录 anypb.Any 中关于 RuleRoutingConfig 的 url 信息 RuleRoutingTypeUrl string // MetaRoutingTypeUrl 记录 anypb.Any 中关于 MetadataRoutingConfig 的 url 信息 MetaRoutingTypeUrl string )
var ( // PrincipalNames principal name map PrincipalNames = map[PrincipalType]string{ PrincipalUser: "user", PrincipalGroup: "group", } )
var ( UserRoleNames = map[UserRoleType]string{ AdminUserRole: "admin", OwnerUserRole: "main", SubAccountUserRole: "sub", } )
var WeightEnum = map[string]WeightType{ "dynamic": WEIGHTDYNAMIC, "static": WEIGHTSTATIC, }
WeightEnum weight enum map
var WeightString = map[WeightType]string{ WEIGHTDYNAMIC: "dynamic", WEIGHTSTATIC: "static", }
WeightString weight string map
Functions ¶
func Arguments2Labels ¶
func Arguments2Labels(arguments []*apitraffic.MatchArgument) map[string]*apimodel.MatchString
Arguments2Labels 将参数列表适配成旧的标签模型
func BuildArgumentKey ¶ added in v1.17.2
func BuildArgumentKey(argumentType apitraffic.MatchArgument_Type, key string) string
func BuildDefaultStrategyName ¶
func BuildDefaultStrategyName(role PrincipalType, name string) string
BuildDefaultStrategyName 构建默认鉴权策略的名称信息
func BuildInBoundsFromV2 ¶ added in v1.17.2
func BuildInBoundsFromV2(service, namespace string, item *ExtendRouterConfig) []*apitraffic.Route
BuildInBoundsFromV2 Convert the routing rules of V2 to the inbounds in the routing rule of V1
func BuildKeyForClientConfigFileInfo ¶ added in v1.18.0
func BuildKeyForClientConfigFileInfo(info *config_manage.ClientConfigFileInfo) string
BuildKeyForClientConfigFileInfo 必须保证和 ConfigFileReleaseKey.FileKey 是一样的生成规则
func BuildOutBoundsFromV2 ¶ added in v1.17.2
func BuildOutBoundsFromV2(service, namespace string, item *ExtendRouterConfig) []*apitraffic.Route
BuildOutBoundsFromV2 According to the routing rules of the V2 version, it is adapted to the outbounds in the routing rule of V1 version
func BuildV1RoutesFromV2 ¶ added in v1.17.2
func BuildV1RoutesFromV2(service, namespace string, entries []*ExtendRouterConfig) ([]*apitraffic.Route, []*apitraffic.Route, []string)
BuildV1RoutesFromV2 According to the routing rules of the V2 version, it is adapted to the V1 version of the routing rules. return inBound outBound revisions
func BuildV2RoutingFromV1Route ¶ added in v1.17.2
func BuildV2RoutingFromV1Route(req *apitraffic.Routing, route *apitraffic.Route) (*apitraffic.RouteRule, error)
BuildV2RoutingFromV1Route Build a V2 version of API data object routing rules
func CompareRoutingV2 ¶ added in v1.17.2
func CompareRoutingV2(a, b *ExtendRouterConfig) bool
CompareRoutingV2 Compare the priority of two routing.
func CompositeRoutingV1AndV2 ¶ added in v1.17.2
func CompositeRoutingV1AndV2(v1rule *apitraffic.Routing, level1, level2, level3 []*ExtendRouterConfig) (*apitraffic.Routing, []string)
CompositeRoutingV1AndV2 The routing rules of the V1 version and the rules of the V2 version
func ConvertRoutingV1ToExtendV2 ¶ added in v1.17.2
func ConvertRoutingV1ToExtendV2(svcName, svcNamespace string, rule *RoutingConfig) ([]*ExtendRouterConfig, []*ExtendRouterConfig, error)
ConvertRoutingV1ToExtendV2 The routing rules of the V1 version are converted to V2 version for storage TODO Reduce duplicate code logic
func ConvertToErrCode ¶ added in v1.18.0
func ExportToMap ¶ added in v1.18.0
func ExportToMap(exportTo []*wrappers.StringValue) map[string]struct{}
func FromTagMap ¶ added in v1.17.3
func FromTagMap(kvs map[string]string) []*config_manage.ConfigFileTag
FromTagJson 从 Tags Json 字符串里反序列化出 Tags
func GetGrayConfigRealseKey ¶ added in v1.18.0
func GetGrayConfigRealseKey(release *SimpleConfigFileRelease) string
GetGrayConfigRealseKey 获取灰度资源key
func MarshalModCmd ¶ added in v1.17.3
MarshalModCmd mod cmd转为sid
func ParseRouteRuleAnyToMessage ¶ added in v1.14.0
func ParseRouteRuleAnyToMessage(policy apitraffic.RoutingPolicy, anyMessage *anypb.Any) (proto.Message, error)
ParseRouteRuleAnyToMessage convert the any routing proto to message object
func RoutingArguments2Labels ¶ added in v1.17.2
func RoutingArguments2Labels(args []*apitraffic.SourceMatch) map[string]*apimodel.MatchString
RoutingArguments2Labels Adapt the parameter list to the old label model
func RoutingConfigV1ToAPI ¶ added in v1.17.2
func RoutingConfigV1ToAPI(req *RoutingConfig, service string, namespace string) (*apitraffic.Routing, error)
RoutingConfigV1ToAPI Convert the internal data structure to API parameter to pass out
func RoutingLabels2Arguments ¶ added in v1.17.2
func RoutingLabels2Arguments(labels map[string]*apimodel.MatchString) []*apitraffic.SourceMatch
RoutingLabels2Arguments Adapting the old label model into a list of parameters
func Store2ClientStat ¶
func Store2ClientStat(clientStatStore *ClientStatStore) *apiservice.StatInfo
func ToConfigFileAPI ¶ added in v1.17.3
func ToConfigFileAPI(file *ConfigFile) *config_manage.ConfigFile
func ToConfigFileTemplateAPI ¶ added in v1.17.3
func ToConfigFileTemplateAPI(template *ConfigFileTemplate) *config_manage.ConfigFileTemplate
func ToConfigGroupAPI ¶ added in v1.17.3
func ToConfigGroupAPI(group *ConfigFileGroup) *config_manage.ConfigFileGroup
func ToConfiogFileReleaseApi ¶ added in v1.17.3
func ToConfiogFileReleaseApi(release *ConfigFileRelease) *config_manage.ConfigFileRelease
ToConfiogFileReleaseApi
func ToReleaseHistoryAPI ¶ added in v1.17.3
func ToReleaseHistoryAPI(releaseHistory *ConfigFileReleaseHistory) *config_manage.ConfigFileReleaseHistory
func ToTagMap ¶ added in v1.17.3
func ToTagMap(tags []*config_manage.ConfigFileTag) map[string]string
func WithAccessResources ¶
func WithAccessResources(accessResources map[apisecurity.ResourceType][]ResourceEntry) acquireContextOption
WithAccessResources 设置本次访问的资源
@param accessResources @return acquireContextOption
func WithAttachment ¶
func WithAttachment(attachment map[string]interface{}) acquireContextOption
WithAttachment 设置本次请求的额外携带信息
@param attachment @return acquireContextOption
func WithModule ¶
func WithModule(module BzModule) acquireContextOption
WithModule 设置本次请求的模块
@param module @return acquireContextOption
func WithOperation ¶
func WithOperation(operation ResourceOperation) acquireContextOption
WithOperation 设置本次的操作类型
@param operation @return acquireContextOption
Types ¶
type AcquireContext ¶
type AcquireContext struct {
// contains filtered or unexported fields
}
AcquireContext 每次鉴权请求上下文信息
func NewAcquireContext ¶
func NewAcquireContext(options ...acquireContextOption) *AcquireContext
NewAcquireContext 创建一个请求响应
@param options @return *AcquireContext
func (*AcquireContext) GetAccessResources ¶
func (authCtx *AcquireContext) GetAccessResources() map[apisecurity.ResourceType][]ResourceEntry
GetAccessResources 获取本次请求的资源
@receiver authCtx @return map
func (*AcquireContext) GetAttachment ¶
func (authCtx *AcquireContext) GetAttachment(key string) (interface{}, bool)
GetAttachment 按照 key 获取某一个附件信息
func (*AcquireContext) GetAttachments ¶
func (authCtx *AcquireContext) GetAttachments() map[string]interface{}
GetAttachments 获取本次请求的额外携带信息
func (*AcquireContext) GetMethod ¶
func (authCtx *AcquireContext) GetMethod() string
GetMethod 获取本次请求涉及的操作函数
func (*AcquireContext) GetModule ¶
func (authCtx *AcquireContext) GetModule() BzModule
GetModule 获取请求的模块
@receiver authCtx @return BzModule
func (*AcquireContext) GetOperation ¶
func (authCtx *AcquireContext) GetOperation() ResourceOperation
GetOperation 获取本次操作的类型
@receiver authCtx @return ResourceOperation
func (*AcquireContext) GetRequestContext ¶
func (authCtx *AcquireContext) GetRequestContext() context.Context
GetRequestContext 获取 context.Context
@receiver authCtx @return context.Context
func (*AcquireContext) IsAccessResourceEmpty ¶
func (authCtx *AcquireContext) IsAccessResourceEmpty() bool
IsAccessResourceEmpty 判断当前待访问的资源,是否为空
func (*AcquireContext) IsFromClient ¶
func (authCtx *AcquireContext) IsFromClient() bool
IsFromClient 本次请求是否来自客户端
func (*AcquireContext) IsFromConsole ¶
func (authCtx *AcquireContext) IsFromConsole() bool
IsFromConsole 本次请求是否来自OpenAPI
func (*AcquireContext) SetAccessResources ¶
func (authCtx *AcquireContext) SetAccessResources(accessRes map[apisecurity.ResourceType][]ResourceEntry)
SetAccessResources 设置本次请求的资源
@receiver authCtx @param accessRes
func (*AcquireContext) SetAttachment ¶
func (authCtx *AcquireContext) SetAttachment(key string, val interface{})
SetAttachment 设置附件
func (*AcquireContext) SetFromClient ¶ added in v1.17.3
func (authCtx *AcquireContext) SetFromClient()
SetFromClient 本次请求来自客户端
func (*AcquireContext) SetFromConsole ¶ added in v1.17.3
func (authCtx *AcquireContext) SetFromConsole()
SetFromConsole 本次请求来自OpenAPI
func (*AcquireContext) SetRequestContext ¶
func (authCtx *AcquireContext) SetRequestContext(requestContext context.Context)
SetRequestContext 重新设置 context.Context
@receiver authCtx @param requestContext
type Callee ¶
type Callee struct { ModID uint32 CmdID uint32 SetID string IP uint32 Port uint32 Weight uint32 Location *Location }
Callee 被调信息,对应t_server+t_ip_config
type CircuitBreaker ¶
type CircuitBreaker struct { ID string Version string Name string Namespace string Business string Department string Comment string Inbounds string Outbounds string Token string Owner string Revision string Valid bool CreateTime time.Time ModifyTime time.Time }
CircuitBreaker 熔断规则
type CircuitBreakerDetail ¶
type CircuitBreakerDetail struct { Total uint32 CircuitBreakerInfos []*CircuitBreakerInfo }
CircuitBreakerDetail 返回给控制台的熔断规则及服务数据
type CircuitBreakerInfo ¶
type CircuitBreakerInfo struct { CircuitBreaker *CircuitBreaker Services []*Service }
CircuitBreakerInfo 熔断规则及绑定服务
type CircuitBreakerRelation ¶
type CircuitBreakerRelation struct { ServiceID string RuleID string RuleVersion string Valid bool CreateTime time.Time ModifyTime time.Time }
CircuitBreakerRelation 熔断规则绑定关系
type CircuitBreakerRule ¶ added in v1.14.0
type CircuitBreakerRule struct { Proto *apifault.CircuitBreakerRule ID string Name string Namespace string Description string Level int SrcService string SrcNamespace string DstService string DstNamespace string DstMethod string Rule string Revision string Enable bool Valid bool CreateTime time.Time ModifyTime time.Time EnableTime time.Time }
CircuitBreakerRule 熔断规则
func (*CircuitBreakerRule) IsServiceChange ¶ added in v1.17.3
func (c *CircuitBreakerRule) IsServiceChange(other *CircuitBreakerRule) bool
type Cl5ServerCluster ¶ added in v1.17.3
type Cl5ServerCluster struct{}
Cl5ServerCluster cl5集群的ctx的key
type Cl5ServerProtocol ¶ added in v1.17.3
type Cl5ServerProtocol struct{}
Cl5ServerProtocol cl5.server的协议ctx
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client 客户端上报信息表
func NewClient ¶
func NewClient(req *apiservice.Client) *Client
func Store2Client ¶
func Store2Client(is *ClientStore) *Client
Store2Instance store的数据转换为组合了api的数据结构
func (*Client) ModifyTime ¶
func (*Client) Proto ¶
func (c *Client) Proto() *apiservice.Client
type ClientEvent ¶ added in v1.18.0
type ClientEvent struct { EType InstanceEventType Id string }
type ClientStatStore ¶
type ClientStore ¶
type ClientStore struct { ID string Host string Type string Version string Region string Zone string Campus string Stat ClientStatStore Flag int CreateTime int64 ModifyTime int64 }
ClientStore 对应store层(database)的对象
type ConfigFile ¶
type ConfigFile struct { Id uint64 Name string Namespace string Group string // OriginContent 最原始的配置文件内容数据 OriginContent string Content string Comment string Format string Flag int Valid bool Metadata map[string]string Encrypt bool EncryptAlgo string Status string CreateBy string ModifyBy string ReleaseBy string CreateTime time.Time ModifyTime time.Time ReleaseTime time.Time }
ConfigFile 配置文件数据持久化对象
func ToConfigFileStore ¶ added in v1.17.3
func ToConfigFileStore(file *config_manage.ConfigFile) *ConfigFile
func (*ConfigFile) GetEncryptAlgo ¶ added in v1.17.3
func (s *ConfigFile) GetEncryptAlgo() string
func (*ConfigFile) GetEncryptDataKey ¶ added in v1.17.3
func (s *ConfigFile) GetEncryptDataKey() string
func (*ConfigFile) IsEncrypted ¶ added in v1.17.3
func (s *ConfigFile) IsEncrypted() bool
func (*ConfigFile) Key ¶ added in v1.17.3
func (s *ConfigFile) Key() *ConfigFileKey
func (*ConfigFile) KeyString ¶ added in v1.17.3
func (s *ConfigFile) KeyString() string
type ConfigFileGroup ¶
type ConfigFileGroup struct { Id uint64 Name string Namespace string Comment string Owner string Business string Department string Metadata map[string]string CreateTime time.Time ModifyTime time.Time CreateBy string ModifyBy string Valid bool Revision string }
ConfigFileGroup 配置文件组数据持久化对象
func ToConfigGroupStore ¶ added in v1.17.3
func ToConfigGroupStore(group *config_manage.ConfigFileGroup) *ConfigFileGroup
type ConfigFileKey ¶ added in v1.17.3
func (ConfigFileKey) String ¶ added in v1.18.0
func (c ConfigFileKey) String() string
type ConfigFileRelease ¶
type ConfigFileRelease struct { *SimpleConfigFileRelease Content string }
ConfigFileRelease 配置文件发布数据持久化对象
func NewConfigFileRelease ¶ added in v1.17.3
func NewConfigFileRelease() *ConfigFileRelease
func ToConfigFileReleaseStore ¶ added in v1.17.3
func ToConfigFileReleaseStore(release *config_manage.ConfigFileRelease) *ConfigFileRelease
ToConfigFileReleaseStore
type ConfigFileReleaseHistory ¶
type ConfigFileReleaseHistory struct { Id uint64 Name string Namespace string Group string FileName string Format string Metadata map[string]string Content string Comment string Version uint64 Md5 string Type string Status string CreateTime time.Time CreateBy string ModifyTime time.Time ModifyBy string Valid bool Reason string ReleaseDescription string }
ConfigFileReleaseHistory 配置文件发布历史记录数据持久化对象
func (ConfigFileReleaseHistory) GetEncryptAlgo ¶ added in v1.17.3
func (s ConfigFileReleaseHistory) GetEncryptAlgo() string
func (ConfigFileReleaseHistory) GetEncryptDataKey ¶ added in v1.17.3
func (s ConfigFileReleaseHistory) GetEncryptDataKey() string
func (ConfigFileReleaseHistory) IsEncrypted ¶ added in v1.17.3
func (s ConfigFileReleaseHistory) IsEncrypted() bool
type ConfigFileReleaseKey ¶ added in v1.17.3
type ConfigFileReleaseKey struct { Id uint64 Name string Namespace string Group string FileName string ReleaseType ReleaseType }
func (ConfigFileReleaseKey) ActiveKey ¶ added in v1.17.3
func (c ConfigFileReleaseKey) ActiveKey() string
func (ConfigFileReleaseKey) FileKey ¶ added in v1.18.0
func (c ConfigFileReleaseKey) FileKey() string
func (*ConfigFileReleaseKey) OwnerKey ¶ added in v1.17.3
func (c *ConfigFileReleaseKey) OwnerKey() string
func (ConfigFileReleaseKey) ReleaseKey ¶ added in v1.17.3
func (c ConfigFileReleaseKey) ReleaseKey() string
func (ConfigFileReleaseKey) ToFileKey ¶ added in v1.17.3
func (c ConfigFileReleaseKey) ToFileKey() *ConfigFileKey
type ConfigFileTag ¶
type ConfigFileTag struct { Id uint64 Key string Value string Namespace string Group string FileName string CreateTime time.Time CreateBy string ModifyTime time.Time ModifyBy string Valid bool }
ConfigFileTag 配置文件标签数据持久化对象
type ConfigFileTemplate ¶
type ConfigFileTemplate struct { Id uint64 Name string Content string Comment string Format string CreateTime time.Time CreateBy string ModifyTime time.Time ModifyBy string }
ConfigFileTemplate config file template data object
func ToConfigFileTemplateStore ¶ added in v1.17.3
func ToConfigFileTemplateStore(template *config_manage.ConfigFileTemplate) *ConfigFileTemplate
type ContextKeyAutoCreateNamespace ¶ added in v1.18.0
type ContextKeyAutoCreateNamespace struct{}
ContextKeyAutoCreateNamespace .
type ContextKeyAutoCreateService ¶ added in v1.18.0
type ContextKeyAutoCreateService struct{}
ContextKeyAutoCreateService .
type DebugHandler ¶ added in v1.18.0
type DebugHandler struct { Desc string Path string Handler http.HandlerFunc }
type DebugHandlerGroup ¶ added in v1.18.0
type DebugHandlerGroup struct { Name string Handlers []DebugHandler }
type EnhancedService ¶
EnhancedService 服务增强数据
type EnrichServiceContract ¶ added in v1.18.0
type EnrichServiceContract struct { *ServiceContract // 接口描述信息 Interfaces []*InterfaceDescriptor ClientInterfaces map[string]*InterfaceDescriptor ManualInterfaces map[string]*InterfaceDescriptor // contains filtered or unexported fields }
func (*EnrichServiceContract) Format ¶ added in v1.18.0
func (e *EnrichServiceContract) Format()
func (*EnrichServiceContract) ToSpec ¶ added in v1.18.0
func (e *EnrichServiceContract) ToSpec() *apiservice.ServiceContract
type ExpandInstanceStore ¶
type ExpandInstanceStore struct { ServiceName string Namespace string ServiceToken string ServicePlatformID string ServiceInstance *InstanceStore }
ExpandInstanceStore 包含服务名的store信息
type ExtendRateLimit ¶
ExtendRateLimit 包含服务信息的限流规则
type ExtendRouterConfig ¶ added in v1.14.0
type ExtendRouterConfig struct { *RouterConfig // MetadataRouting 元数据路由配置 MetadataRouting *apitraffic.MetadataRoutingConfig // RuleRouting 规则路由配置 RuleRouting *apitraffic.RuleRoutingConfig // ExtendInfo 额外信息数据 ExtendInfo map[string]string }
ExtendRouterConfig 路由信息的扩展
func BuildV2ExtendRouting ¶ added in v1.17.2
func BuildV2ExtendRouting(req *apitraffic.Routing, route *apitraffic.Route) (*ExtendRouterConfig, error)
BuildV2ExtendRouting Build the internal data object routing rules of V2 version
func (*ExtendRouterConfig) ToApi ¶ added in v1.14.0
func (r *ExtendRouterConfig) ToApi() (*apitraffic.RouteRule, error)
ToApi Turn to API object
type ExtendRoutingConfig ¶
type ExtendRoutingConfig struct { ServiceName string NamespaceName string Config *RoutingConfig }
ExtendRoutingConfig 路由配置的扩展结构体
type FaultDetectRule ¶ added in v1.14.0
type FaultDetectRule struct { Proto *apifault.FaultDetectRule ID string Name string Namespace string Description string DstService string DstNamespace string DstMethod string Rule string Revision string Valid bool CreateTime time.Time ModifyTime time.Time }
FaultDetectRule 故障探测规则
func (*FaultDetectRule) IsServiceChange ¶ added in v1.17.3
func (c *FaultDetectRule) IsServiceChange(other *FaultDetectRule) bool
type GrayModule ¶ added in v1.18.0
type GrayModule string
const ( GrayModuleConfig GrayModule = "config" GrayModuleRatelimit GrayModule = "ratelimit" GrayModuleCircuitbreaker GrayModule = "circuitbreaker" GrayModuleRoute GrayModule = "route" )
type GrayResource ¶ added in v1.18.0
type GrayResource struct { Name string MatchRule string CreateTime time.Time ModifyTime time.Time CreateBy string ModifyBy string Valid bool }
GrayRule 灰度资源
type Instance ¶
type Instance struct { Proto *apiservice.Instance ServiceID string ServicePlatformID string // Valid Whether it is deleted by logic Valid bool // ModifyTime Update time of instance ModifyTime time.Time }
Instance 组合了api的Instance对象
func CreateInstanceModel ¶ added in v1.17.0
func CreateInstanceModel(serviceID string, req *apiservice.Instance) *Instance
CreateInstanceModel 创建存储层服务实例模型
func ExpandStore2Instance ¶
func ExpandStore2Instance(es *ExpandInstanceStore) *Instance
ExpandStore2Instance 扩展store转换
func Store2Instance ¶
func Store2Instance(is *InstanceStore) *Instance
Store2Instance store的数据转换为组合了api的数据结构
func (*Instance) EnableHealthCheck ¶
EnableHealthCheck get enables health check
func (*Instance) HealthCheck ¶
func (i *Instance) HealthCheck() *apiservice.HealthCheck
HealthCheck get health check
func (*Instance) MallocProto ¶
func (i *Instance) MallocProto()
MallocProto malloc proto if proto is null
func (*Instance) ServiceToken ¶
ServiceToken get service token
type InstanceCount ¶
type InstanceCount struct { // IsolateInstanceCount 隔离状态的实例 IsolateInstanceCount uint32 // HealthyInstanceCount 健康实例数 HealthyInstanceCount uint32 // TotalInstanceCount 总实例数 TotalInstanceCount uint32 // VersionCounts 按照实例的版本进行统计计算 VersionCounts map[string]*InstanceVersionCount }
InstanceCount Service instance statistics
type InstanceEvent ¶
type InstanceEvent struct { Id string SvcId string Namespace string Service string Instance *apiservice.Instance EType InstanceEventType CreateTime time.Time MetaData map[string]string }
InstanceEvent 服务实例事件
func (*InstanceEvent) InjectMetadata ¶ added in v1.13.3
func (i *InstanceEvent) InjectMetadata(ctx context.Context)
InjectMetadata 从context中获取metadata并注入到事件对象
func (*InstanceEvent) String ¶ added in v1.13.8
func (i *InstanceEvent) String() string
type InstanceEventType ¶
type InstanceEventType string
InstanceEventType 探测事件类型
const ( // EventDiscoverNone empty discover event EventDiscoverNone InstanceEventType = "EventDiscoverNone" // EventInstanceOnline instance becoming online EventInstanceOnline InstanceEventType = "InstanceOnline" // EventInstanceTurnUnHealth Instance becomes unhealthy EventInstanceTurnUnHealth InstanceEventType = "InstanceTurnUnHealth" // EventInstanceTurnHealth Instance becomes healthy EventInstanceTurnHealth InstanceEventType = "InstanceTurnHealth" // EventInstanceOpenIsolate Instance is in isolation EventInstanceOpenIsolate InstanceEventType = "InstanceOpenIsolate" // EventInstanceCloseIsolate Instance shutdown isolation state EventInstanceCloseIsolate InstanceEventType = "InstanceCloseIsolate" // EventInstanceOffline Instance offline EventInstanceOffline InstanceEventType = "InstanceOffline" // EventInstanceSendHeartbeat Instance send heartbeat package to server EventInstanceSendHeartbeat InstanceEventType = "InstanceSendHeartbeat" // EventInstanceUpdate Instance metadata and info update event EventInstanceUpdate InstanceEventType = "InstanceUpdate" // EventClientOffline . EventClientOffline InstanceEventType = "ClientOffline" )
type InstanceStore ¶
type InstanceStore struct { ID string ServiceID string Host string VpcID string Port uint32 Protocol string Version string HealthStatus int Isolate int Weight uint32 EnableHealthCheck int CheckType int32 TTL uint32 Priority uint32 Revision string LogicSet string Region string Zone string Campus string Meta map[string]string Flag int CreateTime int64 ModifyTime int64 }
InstanceStore 对应store层(database)的对象
type InstanceVersionCount ¶ added in v1.18.0
type InstanceVersionCount struct { // IsolateInstanceCount 隔离状态的实例 IsolateInstanceCount uint32 // HealthyInstanceCount 健康实例数 HealthyInstanceCount uint32 // TotalInstanceCount 总实例数 TotalInstanceCount uint32 }
InstanceVersionCount instance version metrics count
type InterfaceDescriptor ¶ added in v1.18.0
type InterfaceDescriptor struct { // ID ID string // Name 接口名称 Name string // ContractID ContractID string // 方法名称,对应 http method/ dubbo interface func/grpc service func Method string // 接口名称,http path/dubbo interface/grpc service Path string // 接口描述信息 Content string // 接口信息摘要 Revision string // 创建来源 Source apiservice.InterfaceDescriptor_Source // 创建时间 CreateTime time.Time // 更新时间 ModifyTime time.Time // Valid Valid bool }
type LeaderElection ¶ added in v1.14.0
type LeaderElection struct { ElectKey string Host string Ctime int64 CreateTime time.Time Mtime int64 ModifyTime time.Time Valid bool }
LeaderElection leader election info
type Location ¶
type Location struct { Proto *apimodel.Location RegionID uint32 ZoneID uint32 CampusID uint32 Valid bool }
Location cmdb信息,对应内存结构体
type LocationStore ¶
type LocationStore struct { IP string Region string Zone string Campus string RegionID uint32 ZoneID uint32 CampusID uint32 Flag int ModifyTime int64 }
LocationStore 地域信息,对应数据库字段
type LocationView ¶ added in v1.14.0
type LocationView struct { IP string Region string Zone string Campus string RegionID uint32 ZoneID uint32 CampusID uint32 }
LocationView cmdb信息,对应内存结构体
type ModifyStrategyDetail ¶
type ModifyStrategyDetail struct { ID string Name string Action string Comment string AddPrincipals []Principal RemovePrincipals []Principal AddResources []StrategyResource RemoveResources []StrategyResource ModifyTime time.Time }
ModifyStrategyDetail 修改鉴权策略详细
type ModifyUserGroup ¶
type ModifyUserGroup struct { ID string Owner string Token string TokenEnable bool Comment string AddUserIds []string RemoveUserIds []string }
ModifyUserGroup 用户组修改
type Namespace ¶
type Namespace struct { Name string Comment string Token string Owner string Valid bool CreateTime time.Time ModifyTime time.Time // ServiceExportTo 服务可见性设置 ServiceExportTo map[string]struct{} }
Namespace 命名空间结构体
func (*Namespace) ListServiceExportTo ¶ added in v1.18.0
func (n *Namespace) ListServiceExportTo() []*wrappers.StringValue
type NamespaceServiceCount ¶
type NamespaceServiceCount struct { // ServiceCount 服务数量 ServiceCount uint32 // InstanceCnt 实例健康数/实例总数 InstanceCnt *InstanceCount }
NamespaceServiceCount Namespace service data
type OperationType ¶
type OperationType string
OperationType Operating type
const ( // OCreate create OCreate OperationType = "Create" // ODelete delete ODelete OperationType = "Delete" // OUpdate update OUpdate OperationType = "Update" // OUpdateIsolate Update isolation state OUpdateIsolate OperationType = "UpdateIsolate" // OUpdateToken Update token OUpdateToken OperationType = "UpdateToken" // OUpdateGroup Update user-user group association relationship OUpdateGroup OperationType = "UpdateGroup" // OEnableRateLimit Update enable state OUpdateEnable OperationType = "UpdateEnable" // ORollback Rollback resource ORollback OperationType = "Rollback" )
Define the type of operation containing
type Principal ¶
type Principal struct { StrategyID string PrincipalID string PrincipalRole PrincipalType }
Principal 策略相关人
type PrincipalType ¶
type PrincipalType int
const ( PrincipalUser PrincipalType = 1 PrincipalGroup PrincipalType = 2 )
func (PrincipalType) String ¶
func (i PrincipalType) String() string
type PrometheusDiscoveryResponse ¶
type PrometheusDiscoveryResponse struct { Code uint32 Response []PrometheusTarget }
type PrometheusTarget ¶
type PrometheusTarget struct { Targets []string `json:"targets"` Labels map[string]string `json:"labels"` }
PrometheusTarget 用于对接 prometheus service discovery 的数据结构
type RateLimit ¶
type RateLimit struct { Proto *apitraffic.Rule ID string ServiceID string Name string Method string // Labels for old compatible, will be removed later Labels string Priority uint32 Rule string Revision string Disable bool Valid bool CreateTime time.Time ModifyTime time.Time EnableTime time.Time }
RateLimit 限流规则
func (*RateLimit) AdaptArgumentsAndLabels ¶
AdaptArgumentsAndLabels 对存量标签进行兼容,同时将argument适配成标签
func (*RateLimit) AdaptLabels ¶
AdaptLabels 对存量标签进行兼容,对存量labels进行清空
func (*RateLimit) Labels2Arguments ¶
func (r *RateLimit) Labels2Arguments() (map[string]*apimodel.MatchString, error)
Labels2Arguments 适配老的标签到新的参数列表
type RateLimitRevision ¶
RateLimitRevision 包含最新版本号的限流规则
type RecordEntry ¶
type RecordEntry struct { ResourceType Resource ResourceName string Namespace string Operator string OperationType OperationType Detail string Server string HappenTime time.Time }
RecordEntry Operation records
func (*RecordEntry) String ¶
func (r *RecordEntry) String() string
type ReleaseType ¶ added in v1.18.0
type ReleaseType string
type Resource ¶
type Resource string
Resource Operating resources
const ( RNamespace Resource = "Namespace" RService Resource = "Service" RRouting Resource = "Routing" RCircuitBreaker Resource = "CircuitBreaker" RInstance Resource = "Instance" RRateLimit Resource = "RateLimit" RUser Resource = "User" RUserGroup Resource = "UserGroup" RUserGroupRelation Resource = "UserGroupRelation" RAuthStrategy Resource = "AuthStrategy" RConfigGroup Resource = "ConfigGroup" RConfigFile Resource = "ConfigFile" RConfigFileRelease Resource = "ConfigFileRelease" RCircuitBreakerRule Resource = "CircuitBreakerRule" RFaultDetectRule Resource = "FaultDetectRule" RServiceContract Resource = "ServiceContract" )
Define the type of resource type
type ResourceOperation ¶
type ResourceOperation int16
ResourceOperation 资源操作
const ( // Read 只读动作 Read ResourceOperation = 10 // Create 创建动作 Create ResourceOperation = 20 // Modify 修改动作 Modify ResourceOperation = 30 // Delete 删除动作 Delete ResourceOperation = 40 )
type RouterConfig ¶ added in v1.14.0
type RouterConfig struct { // ID The unique id of the rules ID string `json:"id"` // namespace router config owner namespace Namespace string `json:"namespace"` // name router config name Name string `json:"name"` // policy Rules Policy string `json:"policy"` // config Specific routing rules content Config string `json:"config"` // enable Whether the routing rules are enabled Enable bool `json:"enable"` // priority Rules priority Priority uint32 `json:"priority"` // revision Edition information of routing rules Revision string `json:"revision"` // Description Simple description of rules Description string `json:"description"` // valid Whether the routing rules are valid and have not been deleted by logic Valid bool `json:"flag"` // createtime Rules creation time CreateTime time.Time `json:"ctime"` // modifytime Rules modify time ModifyTime time.Time `json:"mtime"` // enabletime The last time the rules enabled EnableTime time.Time `json:"etime"` }
RouterConfig Routing rules
func (*RouterConfig) GetRoutingPolicy ¶ added in v1.14.0
func (r *RouterConfig) GetRoutingPolicy() apitraffic.RoutingPolicy
GetRoutingPolicy Query routing rules type
func (*RouterConfig) ParseRouteRuleFromAPI ¶ added in v1.14.0
func (r *RouterConfig) ParseRouteRuleFromAPI(routing *apitraffic.RouteRule) error
ParseRouteRuleFromAPI Convert an internal object from the API object
func (*RouterConfig) ToExpendRoutingConfig ¶ added in v1.14.0
func (r *RouterConfig) ToExpendRoutingConfig() (*ExtendRouterConfig, error)
ToExpendRoutingConfig Converted to an expansion object, serialize the corresponding PB Struct in advance
type RoutingConfig ¶
type RoutingConfig struct { ID string InBounds string OutBounds string Revision string Valid bool CreateTime time.Time ModifyTime time.Time }
* RoutingConfig 路由配置
type Service ¶
type Service struct { ID string Name string Namespace string Business string Ports string Meta map[string]string Comment string Department string CmdbMod1 string CmdbMod2 string CmdbMod3 string Token string Owner string Revision string Reference string ReferFilter string PlatformID string Valid bool CreateTime time.Time ModifyTime time.Time Mtime int64 Ctime int64 ServicePorts []*ServicePort // ExportTo 服务可见性暴露设置 ExportTo map[string]struct{} OldExportTo map[string]struct{} }
Service 服务数据
func (*Service) ListExportTo ¶ added in v1.18.0
func (s *Service) ListExportTo() []*wrappers.StringValue
func (*Service) ProtectThreshold ¶ added in v1.18.0
type ServiceAlias ¶
type ServiceAlias struct { ID string Alias string AliasNamespace string ServiceID string Service string Namespace string Owner string Comment string CreateTime time.Time ModifyTime time.Time ExportTo map[string]struct{} }
ServiceAlias 服务别名结构体
type ServiceContract ¶ added in v1.18.0
type ServiceContract struct { ID string // 所属命名空间 Namespace string // 所属服务名称 Service string // 契约名称 Name string // 协议,http/grpc/dubbo/thrift Protocol string // 契约版本 Version string // 信息摘要 Revision string // 额外描述 Content string // 创建时间 CreateTime time.Time // 更新时间 ModifyTime time.Time // 是否有效 Valid bool }
func (*ServiceContract) GetCacheKey ¶ added in v1.18.0
func (s *ServiceContract) GetCacheKey() string
func (*ServiceContract) GetResourceName ¶ added in v1.18.0
func (s *ServiceContract) GetResourceName() string
type ServiceInstances ¶ added in v1.18.0
type ServiceInstances struct {
// contains filtered or unexported fields
}
func NewServiceInstances ¶ added in v1.18.0
func NewServiceInstances(protectThreshold float32) *ServiceInstances
func (*ServiceInstances) GetInstances ¶ added in v1.18.0
func (si *ServiceInstances) GetInstances(onlyHealthy bool) []*Instance
func (*ServiceInstances) Range ¶ added in v1.18.0
func (si *ServiceInstances) Range(iterator func(id string, ins *Instance))
func (*ServiceInstances) ReachHealthyProtect ¶ added in v1.18.0
func (si *ServiceInstances) ReachHealthyProtect() bool
func (*ServiceInstances) RemoveInstance ¶ added in v1.18.0
func (si *ServiceInstances) RemoveInstance(ins *Instance)
func (*ServiceInstances) RunHealthyProtect ¶ added in v1.18.0
func (si *ServiceInstances) RunHealthyProtect()
func (*ServiceInstances) TotalCount ¶ added in v1.18.0
func (si *ServiceInstances) TotalCount() int
func (*ServiceInstances) UpdateProtectThreshold ¶ added in v1.18.0
func (si *ServiceInstances) UpdateProtectThreshold(protectThreshold float32)
func (*ServiceInstances) UpsertInstance ¶ added in v1.18.0
func (si *ServiceInstances) UpsertInstance(ins *Instance)
type ServiceKey ¶
ServiceKey 服务名
func (*ServiceKey) Domain ¶ added in v1.18.0
func (s *ServiceKey) Domain() string
func (*ServiceKey) Equal ¶ added in v1.17.3
func (s *ServiceKey) Equal(o *ServiceKey) bool
func (*ServiceKey) IsExact ¶ added in v1.17.3
func (s *ServiceKey) IsExact() bool
type ServicePort ¶ added in v1.17.3
type ServiceWithCircuitBreaker ¶
type ServiceWithCircuitBreaker struct { ServiceID string CircuitBreaker *CircuitBreaker Valid bool CreateTime time.Time ModifyTime time.Time }
ServiceWithCircuitBreaker 与服务关系绑定的熔断规则
type ServiceWithCircuitBreakerRules ¶ added in v1.14.0
type ServiceWithCircuitBreakerRules struct { Service ServiceKey Revision string // contains filtered or unexported fields }
ServiceWithCircuitBreakerRules 与服务关系绑定的熔断规则
func NewServiceWithCircuitBreakerRules ¶ added in v1.14.0
func NewServiceWithCircuitBreakerRules(svcKey ServiceKey) *ServiceWithCircuitBreakerRules
func (*ServiceWithCircuitBreakerRules) AddCircuitBreakerRule ¶ added in v1.14.0
func (s *ServiceWithCircuitBreakerRules) AddCircuitBreakerRule(rule *CircuitBreakerRule)
func (*ServiceWithCircuitBreakerRules) Clear ¶ added in v1.14.0
func (s *ServiceWithCircuitBreakerRules) Clear()
func (*ServiceWithCircuitBreakerRules) CountCircuitBreakerRules ¶ added in v1.14.0
func (s *ServiceWithCircuitBreakerRules) CountCircuitBreakerRules() int
func (*ServiceWithCircuitBreakerRules) DelCircuitBreakerRule ¶ added in v1.14.0
func (s *ServiceWithCircuitBreakerRules) DelCircuitBreakerRule(id string)
func (*ServiceWithCircuitBreakerRules) IterateCircuitBreakerRules ¶ added in v1.14.0
func (s *ServiceWithCircuitBreakerRules) IterateCircuitBreakerRules(callback func(*CircuitBreakerRule))
type ServiceWithFaultDetectRules ¶ added in v1.14.0
type ServiceWithFaultDetectRules struct { Service ServiceKey Revision string // contains filtered or unexported fields }
ServiceWithFaultDetectRules 与服务关系绑定的探测规则
func NewServiceWithFaultDetectRules ¶ added in v1.14.0
func NewServiceWithFaultDetectRules(svcKey ServiceKey) *ServiceWithFaultDetectRules
func (*ServiceWithFaultDetectRules) AddFaultDetectRule ¶ added in v1.14.0
func (s *ServiceWithFaultDetectRules) AddFaultDetectRule(rule *FaultDetectRule)
func (*ServiceWithFaultDetectRules) Clear ¶ added in v1.14.0
func (s *ServiceWithFaultDetectRules) Clear()
func (*ServiceWithFaultDetectRules) CountFaultDetectRules ¶ added in v1.14.0
func (s *ServiceWithFaultDetectRules) CountFaultDetectRules() int
func (*ServiceWithFaultDetectRules) DelFaultDetectRule ¶ added in v1.14.0
func (s *ServiceWithFaultDetectRules) DelFaultDetectRule(id string)
func (*ServiceWithFaultDetectRules) IterateFaultDetectRules ¶ added in v1.14.0
func (s *ServiceWithFaultDetectRules) IterateFaultDetectRules(callback func(*FaultDetectRule))
type SimpleConfigFileRelease ¶ added in v1.17.3
type SimpleConfigFileRelease struct { *ConfigFileReleaseKey Version uint64 Comment string Md5 string Flag int Active bool Valid bool Format string Metadata map[string]string CreateTime time.Time CreateBy string ModifyTime time.Time ModifyBy string ReleaseDescription string BetaLabels []*apimodel.ClientLabel }
SimpleConfigFileRelease 配置文件发布数据持久化对象
func (*SimpleConfigFileRelease) GetEncryptAlgo ¶ added in v1.17.3
func (s *SimpleConfigFileRelease) GetEncryptAlgo() string
func (*SimpleConfigFileRelease) GetEncryptDataKey ¶ added in v1.17.3
func (s *SimpleConfigFileRelease) GetEncryptDataKey() string
func (*SimpleConfigFileRelease) IsEncrypted ¶ added in v1.17.3
func (s *SimpleConfigFileRelease) IsEncrypted() bool
func (*SimpleConfigFileRelease) ToSpecNotifyClientRequest ¶ added in v1.18.0
func (s *SimpleConfigFileRelease) ToSpecNotifyClientRequest() *config_manage.ClientConfigFileInfo
type Strategy ¶
type Strategy struct { ID string Name string Principal string Action string Comment string Owner string Default bool Valid bool CreateTime time.Time ModifyTime time.Time }
Strategy 策略main信息
type StrategyDetail ¶
type StrategyDetail struct { ID string Name string Action string Comment string Principals []Principal Default bool Owner string Resources []StrategyResource Valid bool Revision string CreateTime time.Time ModifyTime time.Time }
StrategyDetail 鉴权策略详细
type StrategyDetailCache ¶
type StrategyDetailCache struct { *StrategyDetail UserPrincipal map[string]Principal GroupPrincipal map[string]Principal }
StrategyDetailCache 鉴权策略详细
type StrategyResource ¶
StrategyResource 策略资源
type User ¶
type User struct { ID string Name string Password string Owner string Source string Mobile string Email string Type UserRoleType Token string TokenEnable bool Valid bool Comment string CreateTime time.Time ModifyTime time.Time }
User 用户
type UserGroup ¶
type UserGroup struct { ID string Name string Owner string Token string TokenEnable bool Valid bool Comment string CreateTime time.Time ModifyTime time.Time }
UserGroup 用户组
type UserGroupDetail ¶
UserGroupDetail 用户组详细(带用户列表)
func (*UserGroupDetail) ToUserIdSlice ¶
func (ugd *UserGroupDetail) ToUserIdSlice() []string
ToUserIdSlice 将用户ID Map 专为 slice
type UserGroupRelation ¶
type UserGroupRelation struct { GroupID string UserIds []string CreateTime time.Time ModifyTime time.Time }
UserGroupRelation 用户-用户组关联关系具体信息
type UserRoleType ¶
type UserRoleType int
UserRoleType 用户角色类型
const ( UnknownUserRole UserRoleType = -1 AdminUserRole UserRoleType = 0 OwnerUserRole UserRoleType = 20 SubAccountUserRole UserRoleType = 50 )
type WeightType ¶
type WeightType uint32
WeightType 服务下实例的权重类型
const ( // WEIGHTDYNAMIC 动态权重 WEIGHTDYNAMIC WeightType = iota // WEIGHTSTATIC 静态权重 WEIGHTSTATIC )