model

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2024 License: Apache-2.0 Imports: 88 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClientCertHeader       = "X-Client-CertPem"
	EdgeRouterProxyRequest = "X-Edge-Router-Proxy-Request"
)
View Source
const (
	AuthMethodExtJwt          = "ext-jwt"
	ExtJwtInternalClaim       = "-internal-ext-jwt"
	JwksQueryTimeout          = 1 * time.Second
	MaxCandidateJwtProcessing = 2
)
View Source
const (
	FormatSentinelStart       = "["
	FormatSentinelEnd         = "]"
	FormatSymbolCaName        = "caName"
	FormatSymbolCaId          = "caId"
	FormatSymbolCommonName    = "commonName"
	FormatSymbolRequestedName = "requestedName"
	FormatSymbolIdentityId    = "identityId"

	// DefaultCaIdentityNameFormat = "[caName] - [commonName]"
	DefaultCaIdentityNameFormat = FormatSentinelStart + FormatSymbolCaName + FormatSentinelEnd + "-" + FormatSentinelStart + FormatSymbolCommonName + FormatSentinelEnd
)
View Source
const (
	EdgeRouterEnrollmentCommonNameInvalidCode    = "EDGE_ROUTER_ENROLL_COMMON_NAME_INVALID"
	EdgeRouterEnrollmentCommonNameInvalidMessage = "The edge router CSR enrollment must have a common name that matches the edge router's id"
	MethodEnrollEdgeRouterOtt                    = "erott"
)
View Source
const (
	CreateDecoder = "CreateDecoder"
	UpdateDecoder = "UpdateDecoder"
	DeleteDecoder = "DeleteDecoder"
)
View Source
const (
	TotpMinLength = 4
	TotpMaxLength = 6
)
View Source
const (
	PostureCheckTypeOs           = "OS"
	PostureCheckTypeDomain       = "DOMAIN"
	PostureCheckTypeProcess      = "PROCESS"
	PostureCheckTypeProcessMulti = "PROCESS_MULTI"
	PostureCheckTypeMAC          = "MAC"
	PostureCheckTypeMFA          = "MFA"
)
View Source
const (
	RouterQuiesceFlag   uint32 = 1
	RouterDequiesceFlag uint32 = 2
)
View Source
const AuthMethodPassword = "password"
View Source
const (
	ConfigTypeAll = "all"
)
View Source
const (
	EventIdentityPostureDataAltered = "EventIdentityPostureDataAltered"
)
View Source
const (
	IdentityActiveIntervalSeconds = 60
)
View Source
const MaxPostureFailures = 100
View Source
const (
	MethodEnrollTransitRouterOtt = "trott"
)
View Source
const MfaPromptGracePeriod = -5 * time.Minute //5m
View Source
const (
	MfaProviderZiti string = "ziti"
)
View Source
const (
	PostureCheckNoTimeout = int64(-1)
)
View Source
const (
	WindowSizeTOTP int = 5
)
View Source
const ZitiSdkTypeC = "ziti-sdk-c"

Variables

This section is empty.

Functions

func CleanHexString

func CleanHexString(hexString string) string

func ContextToProtobuf

func ContextToProtobuf(context *change.Context) *edge_cmd_pb.ChangeContext

func DecodeSalt

func DecodeSalt(s string) ([]byte, error)

func DispatchCreate added in v1.1.6

func DispatchCreate[T models.Entity](c creator[T], entity T, ctx *change.Context) error

func DispatchUpdate added in v1.1.6

func DispatchUpdate[T models.Entity](u updater[T], entity T, updatedFields fields.UpdatedFields, ctx *change.Context) error

func NewFieldChecker

func NewFieldChecker(fields ...string) boltz.FieldChecker

func ProtobufToContext

func ProtobufToContext(context *edge_cmd_pb.ChangeContext) *change.Context

func RegisterCommand

func RegisterCommand[MT any, CT any, M CommandMsg[MT], C decodableCommand[CT, M]](env Env, _ C, _ M)

RegisterCommand register a decoder for the given command and message pair MT is the message type (ex: cmd_pb.CreateServiceCommand) CT is the command type (ex: CreateServiceCommand) M is the CommandMsg/command.TypedMessage implementation (ex: *cmd_pb.CreateServiceCommand) C is the decodableCommand/command.Command implementation (ex: *CreateServiceCommand)

We only have both types specified so that we can enforce that each is a pointer type. If didn't enforce that the instances were pointer types, we couldn't use new to instantiate new instances.

func RegisterCreateDecoder added in v1.1.6

func RegisterCreateDecoder[T models.Entity](env Env, creator command.EntityCreator[T])

func RegisterDeleteDecoder added in v1.1.6

func RegisterDeleteDecoder(env Env, deleter command.EntityDeleter)

func RegisterManagerDecoder added in v1.1.6

func RegisterManagerDecoder[T models.Entity](env Env, ctrl command.EntityManager[T])

func RegisterUpdateDecoder added in v1.1.6

func RegisterUpdateDecoder[T models.Entity](env Env, updater command.EntityUpdater[T])

Types

type AdvisorEdgeRouter

type AdvisorEdgeRouter struct {
	Router   *EdgeRouter
	IsOnline bool
}
type AdvisorIdentityEdgeRouterLinks struct {
	Identity   *Identity
	EdgeRouter *EdgeRouter
	Policies   []*EdgeRouterPolicy
}
type AdvisorIdentityServiceLinks struct {
	Identity *Identity
	Service  *EdgeService
	Policies []*ServicePolicy
}
type AdvisorServiceEdgeRouterLinks struct {
	Service    *EdgeService
	EdgeRouter *EdgeRouter
	Policies   []*ServiceEdgeRouterPolicy
}

type AdvisorServiceReachability

type AdvisorServiceReachability struct {
	Identity            *Identity
	Service             *EdgeService
	IsBindAllowed       bool
	IsDialAllowed       bool
	IdentityRouterCount int
	ServiceRouterCount  int
	CommonRouters       []*AdvisorEdgeRouter
}

type AndFieldChecker

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

func (*AndFieldChecker) IsUpdated

func (checker *AndFieldChecker) IsUpdated(field string) bool

type ApiAddress added in v0.34.2

type ApiAddress struct {
	Url     string `json:"url"`
	Version string `json:"version"`
}

type ApiSession

type ApiSession struct {
	models.BaseEntity
	Token              string
	IdentityId         string
	Identity           *Identity
	IPAddress          string
	ConfigTypes        map[string]struct{}
	MfaComplete        bool
	MfaRequired        bool
	ExpiresAt          time.Time
	ExpirationDuration time.Duration
	LastActivityAt     time.Time
	AuthenticatorId    string
	IsCertExtendable   bool
}

type ApiSessionCertificate

type ApiSessionCertificate struct {
	models.BaseEntity
	ApiSession   *ApiSession
	ApiSessionId string
	Subject      string
	Fingerprint  string
	ValidAfter   *time.Time
	ValidBefore  *time.Time
	PEM          string
}

func NewApiSessionCertificate

func NewApiSessionCertificate(cert *x509.Certificate) *ApiSessionCertificate

type ApiSessionCertificateListResult

type ApiSessionCertificateListResult struct {
	ApiSessionCertificates []*ApiSessionCertificate
	models.QueryMetaData
	// contains filtered or unexported fields
}

type ApiSessionCertificateManager

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

func NewApiSessionCertificateManager

func NewApiSessionCertificateManager(env Env) *ApiSessionCertificateManager

func (*ApiSessionCertificateManager) Annotate

func (self *ApiSessionCertificateManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ApiSessionCertificateManager) ApplyDelete

func (self *ApiSessionCertificateManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ApiSessionCertificateManager) BaseList

func (self *ApiSessionCertificateManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ApiSessionCertificateManager) BaseLoad

func (self *ApiSessionCertificateManager) BaseLoad(id string) (ME, error)

func (*ApiSessionCertificateManager) BaseLoadInTx

func (self *ApiSessionCertificateManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ApiSessionCertificateManager) BasePreparedList

func (self *ApiSessionCertificateManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ApiSessionCertificateManager) BasePreparedListIndexed

func (self *ApiSessionCertificateManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ApiSessionCertificateManager) Create

func (*ApiSessionCertificateManager) CreateFromCSR

func (self *ApiSessionCertificateManager) CreateFromCSR(identity *Identity, apiSession *ApiSession, isJwt bool, lifespan time.Duration, csrPem []byte, ctx *change.Context) (*ApiSessionCertificate, error)

func (*ApiSessionCertificateManager) Delete

func (self *ApiSessionCertificateManager) Delete(id string, ctx *change.Context) error

func (*ApiSessionCertificateManager) Dispatch

func (self *ApiSessionCertificateManager) Dispatch(command command.Command) error

func (*ApiSessionCertificateManager) GetAnnotation

func (self *ApiSessionCertificateManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ApiSessionCertificateManager) GetDb

func (self *ApiSessionCertificateManager) GetDb() boltz.Db

func (*ApiSessionCertificateManager) GetEntityTypeId

func (self *ApiSessionCertificateManager) GetEntityTypeId() string

func (*ApiSessionCertificateManager) GetEnv

func (self *ApiSessionCertificateManager) GetEnv() Env

func (*ApiSessionCertificateManager) GetStore

func (self *ApiSessionCertificateManager) GetStore() boltz.EntityStore[PE]

func (*ApiSessionCertificateManager) IsEntityPresent added in v1.2.1

func (self *ApiSessionCertificateManager) IsEntityPresent(id string) (bool, error)

func (*ApiSessionCertificateManager) IsUpdated

func (self *ApiSessionCertificateManager) IsUpdated(_ string) bool

func (*ApiSessionCertificateManager) ListWithHandler

func (self *ApiSessionCertificateManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ApiSessionCertificateManager) PreparedListAssociatedWithHandler

func (self *ApiSessionCertificateManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ApiSessionCertificateManager) PreparedListIndexed

func (self *ApiSessionCertificateManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ApiSessionCertificateManager) PreparedListWithHandler

func (self *ApiSessionCertificateManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ApiSessionCertificateManager) Query

func (*ApiSessionCertificateManager) Read

func (self *ApiSessionCertificateManager) Read(id string) (ME, error)

func (*ApiSessionCertificateManager) ReadByApiSessionId

func (self *ApiSessionCertificateManager) ReadByApiSessionId(tx *bbolt.Tx, apiSessionId string) ([]*ApiSessionCertificate, error)

type ApiSessionListResult

type ApiSessionListResult struct {
	ApiSessions []*ApiSession
	models.QueryMetaData
	// contains filtered or unexported fields
}

type ApiSessionManager

type ApiSessionManager struct {
	HeartbeatCollector *HeartbeatCollector
	// contains filtered or unexported fields
}

func NewApiSessionManager

func NewApiSessionManager(env Env) *ApiSessionManager

func (*ApiSessionManager) Annotate

func (self *ApiSessionManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ApiSessionManager) ApplyDelete

func (self *ApiSessionManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ApiSessionManager) BaseList

func (self *ApiSessionManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ApiSessionManager) BaseLoad

func (self *ApiSessionManager) BaseLoad(id string) (ME, error)

func (*ApiSessionManager) BaseLoadInTx

func (self *ApiSessionManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ApiSessionManager) BasePreparedList

func (self *ApiSessionManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ApiSessionManager) BasePreparedListIndexed

func (self *ApiSessionManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ApiSessionManager) Create

func (self *ApiSessionManager) Create(ctx boltz.MutateContext, entity *ApiSession, sessionCerts []*ApiSessionCertificate) (string, error)

func (*ApiSessionManager) CreateInCtx

func (self *ApiSessionManager) CreateInCtx(ctx boltz.MutateContext, entity *ApiSession, sessionCerts []*ApiSessionCertificate) (string, error)

func (*ApiSessionManager) Delete

func (self *ApiSessionManager) Delete(id string, ctx *change.Context) error

func (*ApiSessionManager) DeleteBatch

func (self *ApiSessionManager) DeleteBatch(id []string, ctx *change.Context) error

func (*ApiSessionManager) DeleteByIdentityId

func (self *ApiSessionManager) DeleteByIdentityId(identityId string, changeCtx *change.Context) error

func (*ApiSessionManager) Dispatch

func (self *ApiSessionManager) Dispatch(command command.Command) error

func (*ApiSessionManager) GetAnnotation

func (self *ApiSessionManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ApiSessionManager) GetDb

func (self *ApiSessionManager) GetDb() boltz.Db

func (*ApiSessionManager) GetEntityTypeId

func (self *ApiSessionManager) GetEntityTypeId() string

func (*ApiSessionManager) GetEnv

func (self *ApiSessionManager) GetEnv() Env

func (*ApiSessionManager) GetStore

func (self *ApiSessionManager) GetStore() boltz.EntityStore[PE]

func (*ApiSessionManager) IsEntityPresent added in v1.2.1

func (self *ApiSessionManager) IsEntityPresent(id string) (bool, error)

func (*ApiSessionManager) IsUpdated

func (self *ApiSessionManager) IsUpdated(_ string) bool

func (*ApiSessionManager) ListWithHandler

func (self *ApiSessionManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ApiSessionManager) MarkLastActivityById

func (self *ApiSessionManager) MarkLastActivityById(apiSessionId string)

MarkLastActivityById marks the "last activity" of an API Session. This will store a cached "LastUpdatedAt" value for an API Session. This data will be used to populate information for API Sessions and will be persisted to the data store at a future time in bulk.

func (*ApiSessionManager) MarkLastActivityByTokens

func (self *ApiSessionManager) MarkLastActivityByTokens(tokens ...string) ([]string, []string, error)

MarkLastActivityByTokens returns the ids of identities that were affected, tokens that were not found if any or an error. Marking "last activity" will store a cached "LastUpdatedAt" value for an API Session. This data will be used to populate information for API Sessions and will be persisted to the data store at a future time in bulk.

func (*ApiSessionManager) MfaCompleted

func (self *ApiSessionManager) MfaCompleted(apiSession *ApiSession, ctx *change.Context) error

func (*ApiSessionManager) PreparedListAssociatedWithHandler

func (self *ApiSessionManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ApiSessionManager) PreparedListIndexed

func (self *ApiSessionManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ApiSessionManager) PreparedListWithHandler

func (self *ApiSessionManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ApiSessionManager) Query

func (self *ApiSessionManager) Query(query string) (*ApiSessionListResult, error)

func (*ApiSessionManager) Read

func (self *ApiSessionManager) Read(id string) (*ApiSession, error)

func (*ApiSessionManager) ReadByToken

func (self *ApiSessionManager) ReadByToken(token string) (*ApiSession, error)

func (*ApiSessionManager) ReadInTx

func (self *ApiSessionManager) ReadInTx(tx *bbolt.Tx, id string) (*ApiSession, error)

func (*ApiSessionManager) SetMfaPassed added in v0.34.0

func (self *ApiSessionManager) SetMfaPassed(apiSession *ApiSession, changeCtx *change.Context) error

func (*ApiSessionManager) Stream

func (self *ApiSessionManager) Stream(query string, collect func(*ApiSession, error) error) error

func (*ApiSessionManager) StreamIds

func (self *ApiSessionManager) StreamIds(query string, collect func(string, error) error) error

func (*ApiSessionManager) Update

func (self *ApiSessionManager) Update(apiSession *ApiSession, ctx *change.Context) error

func (*ApiSessionManager) UpdateWithFieldChecker

func (self *ApiSessionManager) UpdateWithFieldChecker(apiSession *ApiSession, fieldChecker boltz.FieldChecker, ctx *change.Context) error

func (*ApiSessionManager) VisitFingerprintsForApiSession

func (self *ApiSessionManager) VisitFingerprintsForApiSession(tx *bbolt.Tx, identityId, apiSessionId string, visitor func(fingerprint string) bool) error

func (*ApiSessionManager) VisitFingerprintsForApiSessionId

func (self *ApiSessionManager) VisitFingerprintsForApiSessionId(apiSessionId string, visitor func(fingerprint string) bool) error

type ApiSessionPostureData

type ApiSessionPostureData struct {
	Mfa           *PostureResponseMfa           `json:"mfa"`
	EndpointState *PostureResponseEndpointState `json:"endpointState"`
	SdkInfo       *SdkInfo
}

func (*ApiSessionPostureData) GetPassedMfaAt

func (self *ApiSessionPostureData) GetPassedMfaAt() *time.Time

type AssociatedIdsResult added in v0.34.0

type AssociatedIdsResult struct {
	ServiceIds      []string
	IdentityIds     []string
	PostureCheckIds []string
}

type AuthContext

type AuthContext interface {
	GetMethod() string
	GetData() map[string]interface{}
	GetCerts() []*x509.Certificate
	GetHeaders() map[string]interface{}
	GetChangeContext() *change.Context
}

func NewAuthContextHttp

func NewAuthContextHttp(request *http.Request, method string, data interface{}, ctx *change.Context) AuthContext

type AuthContextHttp

type AuthContextHttp struct {
	Method        string
	Data          map[string]interface{}
	Certs         []*x509.Certificate
	Headers       map[string]interface{}
	ChangeContext *change.Context
}

func (*AuthContextHttp) GetCerts

func (context *AuthContextHttp) GetCerts() []*x509.Certificate

func (*AuthContextHttp) GetChangeContext

func (context *AuthContextHttp) GetChangeContext() *change.Context

func (*AuthContextHttp) GetData

func (context *AuthContextHttp) GetData() map[string]interface{}

func (*AuthContextHttp) GetHeaders

func (context *AuthContextHttp) GetHeaders() map[string]interface{}

func (*AuthContextHttp) GetMethod

func (context *AuthContextHttp) GetMethod() string

type AuthModuleCert

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

func NewAuthModuleCert

func NewAuthModuleCert(env Env, caChain []byte) *AuthModuleCert

func (*AuthModuleCert) CanHandle

func (module *AuthModuleCert) CanHandle(method string) bool

func (*AuthModuleCert) Process

func (module *AuthModuleCert) Process(context AuthContext) (AuthResult, error)

Process will inspect the provided AuthContext and attempt to verify the client certificates provided during a TLS handshake. Authentication via client certificates follows these steps:

1) obtain client certificates 2) verify client certificates against known CAs 3) link a CA certificate back to a model.Ca if possible 4) obtain the target identity by authenticator (cert fingerprint) or by external id (claims stuffed into a x509.Certificate resolved by model.Ca) 5) verify identity status (disabled) 6) obtain the target identity's auth policy 7) verify according to auth policy

type AuthModuleExtJwt

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

func NewAuthModuleExtJwt

func NewAuthModuleExtJwt(env Env) *AuthModuleExtJwt

func (*AuthModuleExtJwt) CanHandle

func (a *AuthModuleExtJwt) CanHandle(method string) bool

func (*AuthModuleExtJwt) Process

func (a *AuthModuleExtJwt) Process(context AuthContext) (AuthResult, error)

func (*AuthModuleExtJwt) ProcessSecondary

func (a *AuthModuleExtJwt) ProcessSecondary(context AuthContext) (AuthResult, error)

type AuthModuleUpdb

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

func NewAuthModuleUpdb

func NewAuthModuleUpdb(env Env) *AuthModuleUpdb

func (*AuthModuleUpdb) CanHandle

func (module *AuthModuleUpdb) CanHandle(method string) bool

func (*AuthModuleUpdb) Process

func (module *AuthModuleUpdb) Process(context AuthContext) (AuthResult, error)

type AuthPolicy

type AuthPolicy struct {
	models.BaseEntity
	Name      string
	Primary   AuthPolicyPrimary
	Secondary AuthPolicySecondary
}

type AuthPolicyCert

type AuthPolicyCert struct {
	Allowed           bool
	AllowExpiredCerts bool
}

type AuthPolicyExtJwt

type AuthPolicyExtJwt struct {
	Allowed              bool
	AllowAllSigners      bool
	AllowedExtJwtSigners []string
}

type AuthPolicyManager

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

func NewAuthPolicyManager

func NewAuthPolicyManager(env Env) *AuthPolicyManager

func (*AuthPolicyManager) Annotate

func (self *AuthPolicyManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*AuthPolicyManager) ApplyCreate

func (*AuthPolicyManager) ApplyDelete

func (self *AuthPolicyManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*AuthPolicyManager) ApplyUpdate

func (*AuthPolicyManager) BaseList

func (self *AuthPolicyManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*AuthPolicyManager) BaseLoad

func (self *AuthPolicyManager) BaseLoad(id string) (ME, error)

func (*AuthPolicyManager) BaseLoadInTx

func (self *AuthPolicyManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*AuthPolicyManager) BasePreparedList

func (self *AuthPolicyManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*AuthPolicyManager) BasePreparedListIndexed

func (self *AuthPolicyManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*AuthPolicyManager) Create

func (self *AuthPolicyManager) Create(entity *AuthPolicy, ctx *change.Context) error

func (*AuthPolicyManager) Delete

func (self *AuthPolicyManager) Delete(id string, ctx *change.Context) error

func (*AuthPolicyManager) Dispatch

func (self *AuthPolicyManager) Dispatch(command command.Command) error

func (*AuthPolicyManager) GetAnnotation

func (self *AuthPolicyManager) GetAnnotation(entityId string, key string) (*string, error)

func (*AuthPolicyManager) GetDb

func (self *AuthPolicyManager) GetDb() boltz.Db

func (*AuthPolicyManager) GetEntityTypeId

func (self *AuthPolicyManager) GetEntityTypeId() string

func (*AuthPolicyManager) GetEnv

func (self *AuthPolicyManager) GetEnv() Env

func (*AuthPolicyManager) GetStore

func (self *AuthPolicyManager) GetStore() boltz.EntityStore[PE]

func (*AuthPolicyManager) IsEntityPresent added in v1.2.1

func (self *AuthPolicyManager) IsEntityPresent(id string) (bool, error)

func (*AuthPolicyManager) ListWithHandler

func (self *AuthPolicyManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*AuthPolicyManager) Marshall

func (self *AuthPolicyManager) Marshall(entity *AuthPolicy) ([]byte, error)

func (*AuthPolicyManager) PreparedListAssociatedWithHandler

func (self *AuthPolicyManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*AuthPolicyManager) PreparedListIndexed

func (self *AuthPolicyManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*AuthPolicyManager) PreparedListWithHandler

func (self *AuthPolicyManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*AuthPolicyManager) Read

func (self *AuthPolicyManager) Read(id string) (*AuthPolicy, error)

func (*AuthPolicyManager) Unmarshall

func (self *AuthPolicyManager) Unmarshall(bytes []byte) (*AuthPolicy, error)

func (*AuthPolicyManager) Update

func (self *AuthPolicyManager) Update(entity *AuthPolicy, checker fields.UpdatedFields, ctx *change.Context) error

type AuthPolicyPrimary

type AuthPolicyPrimary struct {
	Cert   AuthPolicyCert
	Updb   AuthPolicyUpdb
	ExtJwt AuthPolicyExtJwt
}

type AuthPolicySecondary

type AuthPolicySecondary struct {
	RequireTotp          bool
	RequiredExtJwtSigner *string
}

type AuthPolicyUpdb

type AuthPolicyUpdb struct {
	Allowed                bool
	MinPasswordLength      int64
	RequireSpecialChar     bool
	RequireNumberChar      bool
	RequireMixedCase       bool
	MaxAttempts            int64
	LockoutDurationMinutes int64
}

type AuthProcessor

type AuthProcessor interface {
	CanHandle(method string) bool
	Process(context AuthContext) (AuthResult, error)
}

type AuthProcessorRegistryImpl

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

func (*AuthProcessorRegistryImpl) Add

func (registry *AuthProcessorRegistryImpl) Add(processor AuthProcessor)

func (*AuthProcessorRegistryImpl) GetByMethod

func (registry *AuthProcessorRegistryImpl) GetByMethod(method string) AuthProcessor

type AuthRegistry

type AuthRegistry interface {
	Add(method AuthProcessor)
	GetByMethod(method string) AuthProcessor
}

type AuthResult

type AuthResult interface {
	AuthenticatorId() string
	SessionCerts() []*x509.Certificate
	Identity() *Identity
	Authenticator() *Authenticator
	AuthPolicy() *AuthPolicy
	IsSuccessful() bool
}

type AuthResultBase

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

func (*AuthResultBase) AuthPolicy

func (a *AuthResultBase) AuthPolicy() *AuthPolicy

func (*AuthResultBase) Authenticator

func (a *AuthResultBase) Authenticator() *Authenticator

func (*AuthResultBase) AuthenticatorId

func (a *AuthResultBase) AuthenticatorId() string

func (*AuthResultBase) Identity

func (a *AuthResultBase) Identity() *Identity

func (*AuthResultBase) IsSuccessful

func (a *AuthResultBase) IsSuccessful() bool

func (*AuthResultBase) SessionCerts

func (a *AuthResultBase) SessionCerts() []*x509.Certificate

type AuthResultJwt

type AuthResultJwt struct {
	AuthResultBase
	// contains filtered or unexported fields
}

func (*AuthResultJwt) Authenticator added in v1.1.8

func (a *AuthResultJwt) Authenticator() *Authenticator

func (*AuthResultJwt) AuthenticatorId

func (a *AuthResultJwt) AuthenticatorId() string

func (*AuthResultJwt) IsSuccessful

func (a *AuthResultJwt) IsSuccessful() bool

type Authenticator

type Authenticator struct {
	models.BaseEntity
	Method     string
	IdentityId string
	SubType    interface{}
}

func (*Authenticator) Fingerprints

func (entity *Authenticator) Fingerprints() []string

func (*Authenticator) ToCert

func (entity *Authenticator) ToCert() *AuthenticatorCert

func (*Authenticator) ToUpdb

func (entity *Authenticator) ToUpdb() *AuthenticatorUpdb

type AuthenticatorCert

type AuthenticatorCert struct {
	*Authenticator
	Fingerprint       string
	Pem               string
	IsIssuedByNetwork bool

	UnverifiedFingerprint string
	UnverifiedPem         string
}

type AuthenticatorListQueryResult

type AuthenticatorListQueryResult struct {
	*models.EntityListResult[*Authenticator]
	Authenticators []*Authenticator
}

type AuthenticatorManager

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

func NewAuthenticatorManager

func NewAuthenticatorManager(env Env) *AuthenticatorManager

func (*AuthenticatorManager) Annotate

func (self *AuthenticatorManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*AuthenticatorManager) ApplyCreate

func (*AuthenticatorManager) ApplyDelete

func (self *AuthenticatorManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*AuthenticatorManager) ApplyUpdate

func (*AuthenticatorManager) AuthenticatorToProtobuf

func (self *AuthenticatorManager) AuthenticatorToProtobuf(entity *Authenticator) (*edge_cmd_pb.Authenticator, error)

func (*AuthenticatorManager) Authorize

func (self *AuthenticatorManager) Authorize(authContext AuthContext) (AuthResult, error)

func (*AuthenticatorManager) BaseList

func (self *AuthenticatorManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*AuthenticatorManager) BaseLoad

func (self *AuthenticatorManager) BaseLoad(id string) (ME, error)

func (*AuthenticatorManager) BaseLoadInTx

func (self *AuthenticatorManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*AuthenticatorManager) BasePreparedList

func (self *AuthenticatorManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*AuthenticatorManager) BasePreparedListIndexed

func (self *AuthenticatorManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*AuthenticatorManager) Create

func (self *AuthenticatorManager) Create(entity *Authenticator, ctx *change.Context) error

func (*AuthenticatorManager) DecodeSalt

func (self *AuthenticatorManager) DecodeSalt(salt string) []byte

func (*AuthenticatorManager) Delete

func (self *AuthenticatorManager) Delete(id string, ctx *change.Context) error

func (*AuthenticatorManager) Dispatch

func (self *AuthenticatorManager) Dispatch(command command.Command) error

func (*AuthenticatorManager) ExtendCertForIdentity

func (self *AuthenticatorManager) ExtendCertForIdentity(identityId string, authenticatorId string, peerCerts []*x509.Certificate, csrPem string, ctx *change.Context) ([]byte, error)

func (*AuthenticatorManager) GetAnnotation

func (self *AuthenticatorManager) GetAnnotation(entityId string, key string) (*string, error)

func (*AuthenticatorManager) GetDb

func (self *AuthenticatorManager) GetDb() boltz.Db

func (*AuthenticatorManager) GetEntityTypeId

func (self *AuthenticatorManager) GetEntityTypeId() string

func (*AuthenticatorManager) GetEnv

func (self *AuthenticatorManager) GetEnv() Env

func (*AuthenticatorManager) GetStore

func (self *AuthenticatorManager) GetStore() boltz.EntityStore[PE]

func (*AuthenticatorManager) HashPassword

func (self *AuthenticatorManager) HashPassword(password string) *HashedPassword

func (*AuthenticatorManager) IsEntityPresent added in v1.2.1

func (self *AuthenticatorManager) IsEntityPresent(id string) (bool, error)

func (*AuthenticatorManager) IsUpdated

func (self *AuthenticatorManager) IsUpdated(field string) bool

func (*AuthenticatorManager) ListForIdentity

func (self *AuthenticatorManager) ListForIdentity(identityId string, query ast.Query) (*models.EntityListResult[*Authenticator], error)

func (*AuthenticatorManager) ListWithHandler

func (self *AuthenticatorManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*AuthenticatorManager) Marshall

func (self *AuthenticatorManager) Marshall(entity *Authenticator) ([]byte, error)

func (*AuthenticatorManager) PatchSelf

func (self *AuthenticatorManager) PatchSelf(authenticatorSelf *AuthenticatorSelf, checker fields.UpdatedFields, ctx *change.Context) error

func (*AuthenticatorManager) PreparedListAssociatedWithHandler

func (self *AuthenticatorManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*AuthenticatorManager) PreparedListIndexed

func (self *AuthenticatorManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*AuthenticatorManager) PreparedListWithHandler

func (self *AuthenticatorManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*AuthenticatorManager) ProtobufToAuthenticator

func (self *AuthenticatorManager) ProtobufToAuthenticator(msg *edge_cmd_pb.Authenticator) (*Authenticator, error)

func (*AuthenticatorManager) ReEnroll

func (self *AuthenticatorManager) ReEnroll(id string, expiresAt time.Time, ctx *change.Context) (string, error)

ReEnroll converts the given authenticator `id` back to an enrollment of the same type with the same constraints that expires at the time specified by `expiresAt`. The result is a string id of the new enrollment or an error.

func (*AuthenticatorManager) ReHashPassword

func (self *AuthenticatorManager) ReHashPassword(password string, salt []byte) *HashedPassword

func (*AuthenticatorManager) Read

func (self *AuthenticatorManager) Read(id string) (*Authenticator, error)

func (*AuthenticatorManager) ReadByFingerprint

func (self *AuthenticatorManager) ReadByFingerprint(fingerprint string) (*Authenticator, error)

func (*AuthenticatorManager) ReadByUsername

func (self *AuthenticatorManager) ReadByUsername(username string) (*Authenticator, error)

func (*AuthenticatorManager) ReadFingerprints

func (self *AuthenticatorManager) ReadFingerprints(authenticatorId string) ([]string, error)

func (*AuthenticatorManager) ReadForIdentity

func (self *AuthenticatorManager) ReadForIdentity(identityId string, authenticatorId string) (*Authenticator, error)

func (*AuthenticatorManager) Unmarshall

func (self *AuthenticatorManager) Unmarshall(bytes []byte) (*Authenticator, error)

func (*AuthenticatorManager) Update

func (self *AuthenticatorManager) Update(entity *Authenticator, unrestricted bool, checker fields.UpdatedFields, ctx *change.Context) error

func (*AuthenticatorManager) UpdateSelf

func (self *AuthenticatorManager) UpdateSelf(authenticatorSelf *AuthenticatorSelf, ctx *change.Context) error

func (*AuthenticatorManager) VerifyExtendCertForIdentity

func (self *AuthenticatorManager) VerifyExtendCertForIdentity(apiSessionId, identityId, authenticatorId string, verifyCertPem string, ctx *change.Context) error

type AuthenticatorSelf

type AuthenticatorSelf struct {
	models.BaseEntity
	CurrentPassword string
	NewPassword     string
	IdentityId      string
	Username        string
}

type AuthenticatorUpdb

type AuthenticatorUpdb struct {
	*Authenticator
	Username string
	Password string
	Salt     string
}

func (*AuthenticatorUpdb) DecodedSalt

func (au *AuthenticatorUpdb) DecodedSalt() []byte

type Ca

type Ca struct {
	models.BaseEntity
	Name                      string
	Fingerprint               string
	CertPem                   string
	IsVerified                bool
	VerificationToken         string
	IsAutoCaEnrollmentEnabled bool
	IsOttCaEnrollmentEnabled  bool
	IsAuthEnabled             bool
	IdentityRoles             []string
	IdentityNameFormat        string
	ExternalIdClaim           *ExternalIdClaim
}

func (*Ca) GetExternalId

func (entity *Ca) GetExternalId(cert *x509.Certificate) (string, error)

GetExternalId will attempt to retrieve a string claim from a x509 Certificate based on location, matching, and parsing of various x509 Certificate fields.

type CaListResult

type CaListResult struct {
	Cas []*Ca
	models.QueryMetaData
	// contains filtered or unexported fields
}

type CaManager

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

func NewCaManager

func NewCaManager(env Env) *CaManager

func (*CaManager) Annotate

func (self *CaManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*CaManager) ApplyCreate

func (self *CaManager) ApplyCreate(cmd *command.CreateEntityCommand[*Ca], ctx boltz.MutateContext) error

func (*CaManager) ApplyDelete

func (self *CaManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*CaManager) ApplyUpdate

func (self *CaManager) ApplyUpdate(cmd *command.UpdateEntityCommand[*Ca], ctx boltz.MutateContext) error

func (*CaManager) BaseList

func (self *CaManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*CaManager) BaseLoad

func (self *CaManager) BaseLoad(id string) (ME, error)

func (*CaManager) BaseLoadInTx

func (self *CaManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*CaManager) BasePreparedList

func (self *CaManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*CaManager) BasePreparedListIndexed

func (self *CaManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*CaManager) Create

func (self *CaManager) Create(entity *Ca, ctx *change.Context) error

func (*CaManager) Delete

func (self *CaManager) Delete(id string, ctx *change.Context) error

func (*CaManager) Dispatch

func (self *CaManager) Dispatch(command command.Command) error

func (*CaManager) GetAnnotation

func (self *CaManager) GetAnnotation(entityId string, key string) (*string, error)

func (*CaManager) GetDb

func (self *CaManager) GetDb() boltz.Db

func (*CaManager) GetEntityTypeId

func (self *CaManager) GetEntityTypeId() string

func (*CaManager) GetEnv

func (self *CaManager) GetEnv() Env

func (*CaManager) GetStore

func (self *CaManager) GetStore() boltz.EntityStore[PE]

func (*CaManager) IsEntityPresent added in v1.2.1

func (self *CaManager) IsEntityPresent(id string) (bool, error)

func (*CaManager) IsUpdated

func (self *CaManager) IsUpdated(field string) bool

func (*CaManager) ListWithHandler

func (self *CaManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*CaManager) Marshall

func (self *CaManager) Marshall(entity *Ca) ([]byte, error)

func (*CaManager) PreparedListAssociatedWithHandler

func (self *CaManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*CaManager) PreparedListIndexed

func (self *CaManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*CaManager) PreparedListWithHandler

func (self *CaManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*CaManager) Query

func (self *CaManager) Query(query string) (*CaListResult, error)

func (*CaManager) Read

func (self *CaManager) Read(id string) (*Ca, error)

func (*CaManager) Stream

func (self *CaManager) Stream(query string, collect func(*Ca, error) error) error

func (*CaManager) Unmarshall

func (self *CaManager) Unmarshall(bytes []byte) (*Ca, error)

func (*CaManager) Update

func (self *CaManager) Update(entity *Ca, checker fields.UpdatedFields, ctx *change.Context) error

func (*CaManager) Verified

func (self *CaManager) Verified(ca *Ca, ctx *change.Context) error

type Circuit added in v1.1.6

type Circuit struct {
	Id         string
	ClientId   string
	ServiceId  string
	Terminator xt.CostedTerminator
	Path       *Path
	Tags       map[string]string
	Rerouting  atomic.Bool
	PeerData   xt.PeerData
	CreatedAt  time.Time
	UpdatedAt  time.Time
}

func (*Circuit) GetCreatedAt added in v1.1.6

func (self *Circuit) GetCreatedAt() time.Time

func (*Circuit) GetId added in v1.1.6

func (self *Circuit) GetId() string

func (*Circuit) GetTags added in v1.1.6

func (self *Circuit) GetTags() map[string]interface{}

func (*Circuit) GetUpdatedAt added in v1.1.6

func (self *Circuit) GetUpdatedAt() time.Time

func (*Circuit) HasRouter added in v1.1.6

func (self *Circuit) HasRouter(routerId string) bool

func (*Circuit) IsEndpointRouter added in v1.1.6

func (self *Circuit) IsEndpointRouter(routerId string) bool

func (*Circuit) IsSystemEntity added in v1.1.6

func (self *Circuit) IsSystemEntity() bool

func (*Circuit) SetId added in v1.1.6

func (self *Circuit) SetId(string)

type CircuitManager added in v1.1.6

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

func NewCircuitController added in v1.1.6

func NewCircuitController() *CircuitManager

func (*CircuitManager) Add added in v1.1.6

func (self *CircuitManager) Add(circuit *Circuit)

func (*CircuitManager) All added in v1.1.6

func (self *CircuitManager) All() []*Circuit

func (*CircuitManager) Get added in v1.1.6

func (self *CircuitManager) Get(id string) (*Circuit, bool)

func (*CircuitManager) GetStore added in v1.1.6

func (self *CircuitManager) GetStore() *objectz.ObjectStore[*Circuit]

func (*CircuitManager) Remove added in v1.1.6

func (self *CircuitManager) Remove(circuit *Circuit)

type CommandManager added in v1.1.6

type CommandManager struct {
	Decoders command.Decoders
	// contains filtered or unexported fields
}

type CommandMsg added in v1.1.6

type CommandMsg[T any] interface {
	cmd_pb.TypedMessage
	*T
}

CommandMsg is a TypedMessage which is also a pointer type.

T is message type. We want to enforce that the TypeMessage implementation is a pointer type so we can use new(T) to create instances of it

type Config

type Config struct {
	models.BaseEntity
	Name   string
	TypeId string
	Data   map[string]interface{}
}

type ConfigManager

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

func NewConfigManager

func NewConfigManager(env Env) *ConfigManager

func (*ConfigManager) Annotate

func (self *ConfigManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ConfigManager) ApplyCreate

func (self *ConfigManager) ApplyCreate(cmd *command.CreateEntityCommand[*Config], ctx boltz.MutateContext) error

func (*ConfigManager) ApplyDelete

func (self *ConfigManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ConfigManager) ApplyUpdate

func (self *ConfigManager) ApplyUpdate(cmd *command.UpdateEntityCommand[*Config], ctx boltz.MutateContext) error

func (*ConfigManager) BaseList

func (self *ConfigManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ConfigManager) BaseLoad

func (self *ConfigManager) BaseLoad(id string) (ME, error)

func (*ConfigManager) BaseLoadInTx

func (self *ConfigManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ConfigManager) BasePreparedList

func (self *ConfigManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ConfigManager) BasePreparedListIndexed

func (self *ConfigManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ConfigManager) Create

func (self *ConfigManager) Create(entity *Config, ctx *change.Context) error

func (*ConfigManager) Delete

func (self *ConfigManager) Delete(id string, ctx *change.Context) error

func (*ConfigManager) Dispatch

func (self *ConfigManager) Dispatch(command command.Command) error

func (*ConfigManager) GetAnnotation

func (self *ConfigManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ConfigManager) GetDb

func (self *ConfigManager) GetDb() boltz.Db

func (*ConfigManager) GetEntityTypeId

func (self *ConfigManager) GetEntityTypeId() string

func (*ConfigManager) GetEnv

func (self *ConfigManager) GetEnv() Env

func (*ConfigManager) GetStore

func (self *ConfigManager) GetStore() boltz.EntityStore[PE]

func (*ConfigManager) IsEntityPresent added in v1.2.1

func (self *ConfigManager) IsEntityPresent(id string) (bool, error)

func (*ConfigManager) IsUpdated

func (self *ConfigManager) IsUpdated(field string) bool

func (*ConfigManager) ListWithHandler

func (self *ConfigManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ConfigManager) Marshall

func (self *ConfigManager) Marshall(entity *Config) ([]byte, error)

func (*ConfigManager) PreparedListAssociatedWithHandler

func (self *ConfigManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ConfigManager) PreparedListIndexed

func (self *ConfigManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ConfigManager) PreparedListWithHandler

func (self *ConfigManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ConfigManager) Read

func (self *ConfigManager) Read(id string) (*Config, error)

func (*ConfigManager) Unmarshall

func (self *ConfigManager) Unmarshall(bytes []byte) (*Config, error)

func (*ConfigManager) Update

func (self *ConfigManager) Update(entity *Config, checker fields.UpdatedFields, ctx *change.Context) error

type ConfigType

type ConfigType struct {
	models.BaseEntity
	Name   string
	Schema map[string]interface{}
}

func (*ConfigType) GetCompiledSchema

func (entity *ConfigType) GetCompiledSchema() (*gojsonschema.Schema, error)

type ConfigTypeManager

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

func NewConfigTypeManager

func NewConfigTypeManager(env Env) *ConfigTypeManager

func (*ConfigTypeManager) Annotate

func (self *ConfigTypeManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ConfigTypeManager) ApplyCreate

func (*ConfigTypeManager) ApplyDelete

func (self *ConfigTypeManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ConfigTypeManager) ApplyUpdate

func (*ConfigTypeManager) BaseList

func (self *ConfigTypeManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ConfigTypeManager) BaseLoad

func (self *ConfigTypeManager) BaseLoad(id string) (ME, error)

func (*ConfigTypeManager) BaseLoadInTx

func (self *ConfigTypeManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ConfigTypeManager) BasePreparedList

func (self *ConfigTypeManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ConfigTypeManager) BasePreparedListIndexed

func (self *ConfigTypeManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ConfigTypeManager) Create

func (self *ConfigTypeManager) Create(entity *ConfigType, ctx *change.Context) error

func (*ConfigTypeManager) Delete

func (self *ConfigTypeManager) Delete(id string, ctx *change.Context) error

func (*ConfigTypeManager) Dispatch

func (self *ConfigTypeManager) Dispatch(command command.Command) error

func (*ConfigTypeManager) GetAnnotation

func (self *ConfigTypeManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ConfigTypeManager) GetDb

func (self *ConfigTypeManager) GetDb() boltz.Db

func (*ConfigTypeManager) GetEntityTypeId

func (self *ConfigTypeManager) GetEntityTypeId() string

func (*ConfigTypeManager) GetEnv

func (self *ConfigTypeManager) GetEnv() Env

func (*ConfigTypeManager) GetStore

func (self *ConfigTypeManager) GetStore() boltz.EntityStore[PE]

func (*ConfigTypeManager) IsEntityPresent added in v1.2.1

func (self *ConfigTypeManager) IsEntityPresent(id string) (bool, error)

func (*ConfigTypeManager) ListWithHandler

func (self *ConfigTypeManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ConfigTypeManager) MapConfigTypeNamesToIds

func (self *ConfigTypeManager) MapConfigTypeNamesToIds(values []string, identityId string) map[string]struct{}

func (*ConfigTypeManager) Marshall

func (self *ConfigTypeManager) Marshall(entity *ConfigType) ([]byte, error)

func (*ConfigTypeManager) PreparedListAssociatedWithHandler

func (self *ConfigTypeManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ConfigTypeManager) PreparedListIndexed

func (self *ConfigTypeManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ConfigTypeManager) PreparedListWithHandler

func (self *ConfigTypeManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ConfigTypeManager) Read

func (self *ConfigTypeManager) Read(id string) (*ConfigType, error)

func (*ConfigTypeManager) ReadByName

func (self *ConfigTypeManager) ReadByName(name string) (*ConfigType, error)

func (*ConfigTypeManager) Unmarshall

func (self *ConfigTypeManager) Unmarshall(bytes []byte) (*ConfigType, error)

func (*ConfigTypeManager) Update

func (self *ConfigTypeManager) Update(entity *ConfigType, checker fields.UpdatedFields, ctx *change.Context) error

type ConnectionTracker added in v1.2.0

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

func (*ConnectionTracker) GetIdentityOnlineState added in v1.2.0

func (self *ConnectionTracker) GetIdentityOnlineState(identityId string) IdentityOnlineState

func (*ConnectionTracker) Inspect added in v1.2.0

func (*ConnectionTracker) MarkConnected added in v1.2.0

func (self *ConnectionTracker) MarkConnected(identityId string, ch channel.Channel)

func (*ConnectionTracker) MarkDisconnected added in v1.2.0

func (self *ConnectionTracker) MarkDisconnected(identityId string, ch channel.Channel)

func (*ConnectionTracker) ScanForDisconnectedRouters added in v1.2.0

func (self *ConnectionTracker) ScanForDisconnectedRouters()

func (*ConnectionTracker) SendSdkOnlineStatusChangeEvent added in v1.2.0

func (self *ConnectionTracker) SendSdkOnlineStatusChangeEvent(identityId string, state IdentityOnlineState)

func (*ConnectionTracker) SyncAllFromRouter added in v1.2.0

func (self *ConnectionTracker) SyncAllFromRouter(state *edge_ctrl_pb.ConnectEvents, ch channel.Channel)

type Controller added in v0.34.0

type Controller struct {
	models.BaseEntity
	Name         string
	CtrlAddress  string
	CertPem      string
	Fingerprint  string
	IsOnline     bool
	LastJoinedAt time.Time
	ApiAddresses map[string][]ApiAddress
}

func (*Controller) IsChanged added in v1.2.1

func (entity *Controller) IsChanged(other *Controller) bool

type ControllerManager added in v0.34.0

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

func NewControllerManager added in v0.34.0

func NewControllerManager(env Env) *ControllerManager

func (*ControllerManager) Annotate added in v0.34.0

func (self *ControllerManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ControllerManager) ApplyCreate added in v0.34.0

func (*ControllerManager) ApplyDelete added in v0.34.0

func (self *ControllerManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ControllerManager) ApplyUpdate added in v0.34.0

func (*ControllerManager) BaseList added in v0.34.0

func (self *ControllerManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ControllerManager) BaseLoad added in v0.34.0

func (self *ControllerManager) BaseLoad(id string) (ME, error)

func (*ControllerManager) BaseLoadInTx added in v0.34.0

func (self *ControllerManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ControllerManager) BasePreparedList added in v0.34.0

func (self *ControllerManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ControllerManager) BasePreparedListIndexed added in v0.34.0

func (self *ControllerManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ControllerManager) Create added in v0.34.0

func (self *ControllerManager) Create(entity *Controller, ctx *change.Context) error

func (*ControllerManager) Delete added in v0.34.0

func (self *ControllerManager) Delete(id string, ctx *change.Context) error

func (*ControllerManager) Dispatch added in v0.34.0

func (self *ControllerManager) Dispatch(command command.Command) error

func (*ControllerManager) GetAnnotation added in v0.34.0

func (self *ControllerManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ControllerManager) GetDb added in v0.34.0

func (self *ControllerManager) GetDb() boltz.Db

func (*ControllerManager) GetEntityTypeId added in v0.34.0

func (self *ControllerManager) GetEntityTypeId() string

func (*ControllerManager) GetEnv added in v0.34.0

func (self *ControllerManager) GetEnv() Env

func (*ControllerManager) GetStore added in v0.34.0

func (self *ControllerManager) GetStore() boltz.EntityStore[PE]

func (*ControllerManager) IsEntityPresent added in v1.2.1

func (self *ControllerManager) IsEntityPresent(id string) (bool, error)

func (*ControllerManager) ListWithHandler added in v0.34.0

func (self *ControllerManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ControllerManager) Marshall added in v0.34.0

func (self *ControllerManager) Marshall(entity *Controller) ([]byte, error)

func (*ControllerManager) PeersConnected added in v0.34.0

func (self *ControllerManager) PeersConnected(peers []*event.ClusterPeer, peerConnectedEvent bool)

func (*ControllerManager) PeersDisconnected added in v0.34.0

func (self *ControllerManager) PeersDisconnected(peers []*event.ClusterPeer)

func (*ControllerManager) PreparedListAssociatedWithHandler added in v0.34.0

func (self *ControllerManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ControllerManager) PreparedListIndexed added in v0.34.0

func (self *ControllerManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ControllerManager) PreparedListWithHandler added in v0.34.0

func (self *ControllerManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ControllerManager) Read added in v0.34.0

func (self *ControllerManager) Read(id string) (*Controller, error)

func (*ControllerManager) ReadByName added in v0.34.0

func (self *ControllerManager) ReadByName(name string) (*Controller, error)

func (*ControllerManager) Unmarshall added in v0.34.0

func (self *ControllerManager) Unmarshall(bytes []byte) (*Controller, error)

func (*ControllerManager) Update added in v0.34.0

func (self *ControllerManager) Update(entity *Controller, checker fields.UpdatedFields, ctx *change.Context) error

type CreateCircuitParams added in v1.1.6

type CreateCircuitParams interface {
	GetServiceId() string
	GetSourceRouter() *Router
	GetClientId() *identity.TokenId
	GetCircuitTags(terminator xt.CostedTerminator) map[string]string
	GetLogContext() logcontext.Context
	GetDeadline() time.Time
}

type CreateEdgeRouterCmd

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

func (*CreateEdgeRouterCmd) Apply

func (self *CreateEdgeRouterCmd) Apply(ctx boltz.MutateContext) error

func (*CreateEdgeRouterCmd) Decode

func (*CreateEdgeRouterCmd) Encode

func (self *CreateEdgeRouterCmd) Encode() ([]byte, error)

func (*CreateEdgeRouterCmd) GetChangeContext

func (self *CreateEdgeRouterCmd) GetChangeContext() *change.Context

type CreateEdgeTerminatorCmd

type CreateEdgeTerminatorCmd struct {
	Env     Env
	Entity  *Terminator
	Context *change.Context
}

func (*CreateEdgeTerminatorCmd) Apply

func (*CreateEdgeTerminatorCmd) Decode

func (*CreateEdgeTerminatorCmd) Encode

func (self *CreateEdgeTerminatorCmd) Encode() ([]byte, error)

func (*CreateEdgeTerminatorCmd) GetChangeContext

func (self *CreateEdgeTerminatorCmd) GetChangeContext() *change.Context

type CreateIdentityWithEnrollmentsCmd

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

func (*CreateIdentityWithEnrollmentsCmd) Apply

func (*CreateIdentityWithEnrollmentsCmd) Decode

func (*CreateIdentityWithEnrollmentsCmd) Encode

func (self *CreateIdentityWithEnrollmentsCmd) Encode() ([]byte, error)

func (*CreateIdentityWithEnrollmentsCmd) GetChangeContext

func (self *CreateIdentityWithEnrollmentsCmd) GetChangeContext() *change.Context

type CreateTransitRouterCmd

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

func (*CreateTransitRouterCmd) Apply

func (*CreateTransitRouterCmd) Decode

func (*CreateTransitRouterCmd) Encode

func (self *CreateTransitRouterCmd) Encode() ([]byte, error)

func (*CreateTransitRouterCmd) GetChangeContext

func (self *CreateTransitRouterCmd) GetChangeContext() *change.Context

type DeleteTerminatorsBatchCommand added in v1.1.6

type DeleteTerminatorsBatchCommand struct {
	Context *change.Context
	Manager *TerminatorManager
	Ids     []string
}

func (*DeleteTerminatorsBatchCommand) Apply added in v1.1.6

func (*DeleteTerminatorsBatchCommand) Decode added in v1.1.6

func (*DeleteTerminatorsBatchCommand) Encode added in v1.1.6

func (self *DeleteTerminatorsBatchCommand) Encode() ([]byte, error)

func (*DeleteTerminatorsBatchCommand) GetChangeContext added in v1.1.6

func (self *DeleteTerminatorsBatchCommand) GetChangeContext() *change.Context

type EdgeRouter

type EdgeRouter struct {
	models.BaseEntity
	Name                  string
	RoleAttributes        []string
	IsVerified            bool
	Fingerprint           *string
	CertPem               *string
	Hostname              *string
	VersionInfo           *versions.VersionInfo
	IsTunnelerEnabled     bool
	AppData               map[string]interface{}
	UnverifiedFingerprint *string
	UnverifiedCertPem     *string
	Cost                  uint16
	NoTraversal           bool
	Disabled              bool
}

func (*EdgeRouter) GetName

func (self *EdgeRouter) GetName() string

type EdgeRouterListResult

type EdgeRouterListResult struct {
	EdgeRouters []*EdgeRouter
	models.QueryMetaData
	// contains filtered or unexported fields
}

type EdgeRouterManager

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

func NewEdgeRouterManager

func NewEdgeRouterManager(env Env) *EdgeRouterManager

func (*EdgeRouterManager) Annotate

func (self *EdgeRouterManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*EdgeRouterManager) ApplyCreate

func (self *EdgeRouterManager) ApplyCreate(cmd *CreateEdgeRouterCmd, ctx boltz.MutateContext) error

func (*EdgeRouterManager) ApplyDelete

func (self *EdgeRouterManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*EdgeRouterManager) ApplyUpdate

func (*EdgeRouterManager) BaseList

func (self *EdgeRouterManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*EdgeRouterManager) BaseLoad

func (self *EdgeRouterManager) BaseLoad(id string) (ME, error)

func (*EdgeRouterManager) BaseLoadInTx

func (self *EdgeRouterManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*EdgeRouterManager) BasePreparedList

func (self *EdgeRouterManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeRouterManager) BasePreparedListIndexed

func (self *EdgeRouterManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeRouterManager) CollectEnrollments

func (self *EdgeRouterManager) CollectEnrollments(id string, collector func(entity *Enrollment) error) error

func (*EdgeRouterManager) Create

func (self *EdgeRouterManager) Create(edgeRouter *EdgeRouter, ctx *change.Context) error

func (*EdgeRouterManager) Delete

func (self *EdgeRouterManager) Delete(id string, ctx *change.Context) error

func (*EdgeRouterManager) Dispatch

func (self *EdgeRouterManager) Dispatch(command command.Command) error

func (*EdgeRouterManager) EdgeRouterToProtobuf

func (self *EdgeRouterManager) EdgeRouterToProtobuf(entity *EdgeRouter) (*edge_cmd_pb.EdgeRouter, error)

func (*EdgeRouterManager) ExtendEnrollment

func (self *EdgeRouterManager) ExtendEnrollment(router *EdgeRouter, clientCsrPem []byte, serverCertCsrPem []byte, ctx *change.Context) (*ExtendedCerts, error)

func (*EdgeRouterManager) ExtendEnrollmentVerify

func (self *EdgeRouterManager) ExtendEnrollmentVerify(router *EdgeRouter, ctx *change.Context) error

func (*EdgeRouterManager) ExtendEnrollmentWithVerify

func (self *EdgeRouterManager) ExtendEnrollmentWithVerify(router *EdgeRouter, clientCsrPem []byte, serverCertCsrPem []byte, ctx *change.Context) (*ExtendedCerts, error)

func (*EdgeRouterManager) GetAnnotation

func (self *EdgeRouterManager) GetAnnotation(entityId string, key string) (*string, error)

func (*EdgeRouterManager) GetDb

func (self *EdgeRouterManager) GetDb() boltz.Db

func (*EdgeRouterManager) GetEntityTypeId

func (self *EdgeRouterManager) GetEntityTypeId() string

func (*EdgeRouterManager) GetEnv

func (self *EdgeRouterManager) GetEnv() Env

func (*EdgeRouterManager) GetStore

func (self *EdgeRouterManager) GetStore() boltz.EntityStore[PE]

func (*EdgeRouterManager) IsAccessToEdgeRouterAllowed

func (self *EdgeRouterManager) IsAccessToEdgeRouterAllowed(identityId, serviceId, edgeRouterId string) (bool, error)

func (*EdgeRouterManager) IsEntityPresent added in v1.2.1

func (self *EdgeRouterManager) IsEntityPresent(id string) (bool, error)

func (*EdgeRouterManager) IsSharedEdgeRouterPresent

func (self *EdgeRouterManager) IsSharedEdgeRouterPresent(identityId, serviceId string) (bool, error)

func (*EdgeRouterManager) ListForIdentityAndService

func (self *EdgeRouterManager) ListForIdentityAndService(identityId, serviceId string) (*EdgeRouterListResult, error)

func (*EdgeRouterManager) ListForIdentityAndServiceWithTx

func (self *EdgeRouterManager) ListForIdentityAndServiceWithTx(tx *bbolt.Tx, identityId, serviceId string) (*EdgeRouterListResult, error)

func (*EdgeRouterManager) ListWithHandler

func (self *EdgeRouterManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*EdgeRouterManager) Marshall

func (self *EdgeRouterManager) Marshall(entity *EdgeRouter) ([]byte, error)

func (*EdgeRouterManager) PreparedListAssociatedWithHandler

func (self *EdgeRouterManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*EdgeRouterManager) PreparedListIndexed

func (self *EdgeRouterManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeRouterManager) PreparedListWithHandler

func (self *EdgeRouterManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeRouterManager) ProtobufToEdgeRouter

func (self *EdgeRouterManager) ProtobufToEdgeRouter(msg *edge_cmd_pb.EdgeRouter) (*EdgeRouter, error)

func (*EdgeRouterManager) Query

func (self *EdgeRouterManager) Query(query string) (*EdgeRouterListResult, error)

func (*EdgeRouterManager) QueryRoleAttributes

func (self *EdgeRouterManager) QueryRoleAttributes(queryString string) ([]string, *models.QueryMetaData, error)

func (*EdgeRouterManager) ReEnroll

func (self *EdgeRouterManager) ReEnroll(router *EdgeRouter, ctx *change.Context) error

ReEnroll creates a new JWT enrollment for an existing edge router. If the edge router already exists with a JWT, a new JWT is created. If the edge router was already enrolled, all record of the enrollment is reset and the edge router is disconnected forcing the edge router to complete enrollment before connecting.

func (*EdgeRouterManager) Read

func (self *EdgeRouterManager) Read(id string) (*EdgeRouter, error)

func (*EdgeRouterManager) ReadOneByFingerprint

func (self *EdgeRouterManager) ReadOneByFingerprint(fingerprint string) (*EdgeRouter, error)

func (*EdgeRouterManager) ReadOneByQuery

func (self *EdgeRouterManager) ReadOneByQuery(query string) (*EdgeRouter, error)

func (*EdgeRouterManager) ReadOneByUnverifiedFingerprint

func (self *EdgeRouterManager) ReadOneByUnverifiedFingerprint(fingerprint string) (*EdgeRouter, error)

func (*EdgeRouterManager) Unmarshall

func (self *EdgeRouterManager) Unmarshall(bytes []byte) (*EdgeRouter, error)

func (*EdgeRouterManager) Update

func (self *EdgeRouterManager) Update(entity *EdgeRouter, unrestricted bool, checker fields.UpdatedFields, ctx *change.Context) error

type EdgeRouterPolicy

type EdgeRouterPolicy struct {
	models.BaseEntity
	Name            string
	Semantic        string
	IdentityRoles   []string
	EdgeRouterRoles []string
}

type EdgeRouterPolicyManager

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

func NewEdgeRouterPolicyManager

func NewEdgeRouterPolicyManager(env Env) *EdgeRouterPolicyManager

func (*EdgeRouterPolicyManager) Annotate

func (self *EdgeRouterPolicyManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*EdgeRouterPolicyManager) ApplyCreate

func (*EdgeRouterPolicyManager) ApplyDelete

func (self *EdgeRouterPolicyManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*EdgeRouterPolicyManager) ApplyUpdate

func (*EdgeRouterPolicyManager) BaseList

func (self *EdgeRouterPolicyManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*EdgeRouterPolicyManager) BaseLoad

func (self *EdgeRouterPolicyManager) BaseLoad(id string) (ME, error)

func (*EdgeRouterPolicyManager) BaseLoadInTx

func (self *EdgeRouterPolicyManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*EdgeRouterPolicyManager) BasePreparedList

func (self *EdgeRouterPolicyManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeRouterPolicyManager) BasePreparedListIndexed

func (self *EdgeRouterPolicyManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeRouterPolicyManager) Create

func (self *EdgeRouterPolicyManager) Create(entity *EdgeRouterPolicy, ctx *change.Context) error

func (*EdgeRouterPolicyManager) Delete

func (self *EdgeRouterPolicyManager) Delete(id string, ctx *change.Context) error

func (*EdgeRouterPolicyManager) Dispatch

func (self *EdgeRouterPolicyManager) Dispatch(command command.Command) error

func (*EdgeRouterPolicyManager) GetAnnotation

func (self *EdgeRouterPolicyManager) GetAnnotation(entityId string, key string) (*string, error)

func (*EdgeRouterPolicyManager) GetDb

func (self *EdgeRouterPolicyManager) GetDb() boltz.Db

func (*EdgeRouterPolicyManager) GetEntityTypeId

func (self *EdgeRouterPolicyManager) GetEntityTypeId() string

func (*EdgeRouterPolicyManager) GetEnv

func (self *EdgeRouterPolicyManager) GetEnv() Env

func (*EdgeRouterPolicyManager) GetStore

func (self *EdgeRouterPolicyManager) GetStore() boltz.EntityStore[PE]

func (*EdgeRouterPolicyManager) IsEntityPresent added in v1.2.1

func (self *EdgeRouterPolicyManager) IsEntityPresent(id string) (bool, error)

func (*EdgeRouterPolicyManager) ListWithHandler

func (self *EdgeRouterPolicyManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*EdgeRouterPolicyManager) Marshall

func (self *EdgeRouterPolicyManager) Marshall(entity *EdgeRouterPolicy) ([]byte, error)

func (*EdgeRouterPolicyManager) PreparedListAssociatedWithHandler

func (self *EdgeRouterPolicyManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*EdgeRouterPolicyManager) PreparedListIndexed

func (self *EdgeRouterPolicyManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeRouterPolicyManager) PreparedListWithHandler

func (self *EdgeRouterPolicyManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeRouterPolicyManager) Read

func (self *EdgeRouterPolicyManager) Read(id string) (ME, error)

func (*EdgeRouterPolicyManager) Unmarshall

func (self *EdgeRouterPolicyManager) Unmarshall(bytes []byte) (*EdgeRouterPolicy, error)

func (*EdgeRouterPolicyManager) Update

func (self *EdgeRouterPolicyManager) Update(entity *EdgeRouterPolicy, checker fields.UpdatedFields, ctx *change.Context) error

type EdgeService added in v1.1.6

type EdgeService struct {
	models.BaseEntity
	Name               string        `json:"name"`
	MaxIdleTime        time.Duration `json:"maxIdleTime"`
	TerminatorStrategy string        `json:"terminatorStrategy"`
	RoleAttributes     []string      `json:"roleAttributes"`
	Configs            []string      `json:"configs"`
	EncryptionRequired bool          `json:"encryptionRequired"`
}

type EdgeServiceManager

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

func NewEdgeServiceManager

func NewEdgeServiceManager(env Env) *EdgeServiceManager

func (*EdgeServiceManager) Annotate

func (self *EdgeServiceManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*EdgeServiceManager) ApplyCreate

func (*EdgeServiceManager) ApplyDelete

func (self *EdgeServiceManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*EdgeServiceManager) ApplyUpdate

func (*EdgeServiceManager) BaseList

func (self *EdgeServiceManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*EdgeServiceManager) BaseLoad

func (self *EdgeServiceManager) BaseLoad(id string) (ME, error)

func (*EdgeServiceManager) BaseLoadInTx

func (self *EdgeServiceManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*EdgeServiceManager) BasePreparedList

func (self *EdgeServiceManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeServiceManager) BasePreparedListIndexed

func (self *EdgeServiceManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*EdgeServiceManager) Create

func (self *EdgeServiceManager) Create(entity *EdgeService, ctx *change.Context) error

func (*EdgeServiceManager) Delete

func (self *EdgeServiceManager) Delete(id string, ctx *change.Context) error

func (*EdgeServiceManager) Dispatch

func (self *EdgeServiceManager) Dispatch(command command.Command) error

func (*EdgeServiceManager) GetAnnotation

func (self *EdgeServiceManager) GetAnnotation(entityId string, key string) (*string, error)

func (*EdgeServiceManager) GetDb

func (self *EdgeServiceManager) GetDb() boltz.Db

func (*EdgeServiceManager) GetDetailLister

func (self *EdgeServiceManager) GetDetailLister() *ServiceDetailLister

func (*EdgeServiceManager) GetEntityTypeId

func (self *EdgeServiceManager) GetEntityTypeId() string

func (*EdgeServiceManager) GetEnv

func (self *EdgeServiceManager) GetEnv() Env

func (*EdgeServiceManager) GetPolicyPostureChecks

func (self *EdgeServiceManager) GetPolicyPostureChecks(identityId, serviceId string) map[string]*PolicyPostureChecks

func (*EdgeServiceManager) GetStore

func (self *EdgeServiceManager) GetStore() boltz.EntityStore[PE]

func (*EdgeServiceManager) IsBindableByIdentity added in v1.1.8

func (self *EdgeServiceManager) IsBindableByIdentity(id string, identityId string) (bool, error)

func (*EdgeServiceManager) IsDialableByIdentity added in v1.1.8

func (self *EdgeServiceManager) IsDialableByIdentity(id string, identityId string) (bool, error)

func (*EdgeServiceManager) IsEntityPresent added in v1.2.1

func (self *EdgeServiceManager) IsEntityPresent(id string) (bool, error)

func (*EdgeServiceManager) ListWithHandler

func (self *EdgeServiceManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*EdgeServiceManager) Marshall

func (self *EdgeServiceManager) Marshall(entity *EdgeService) ([]byte, error)

func (*EdgeServiceManager) PreparedListAssociatedWithHandler

func (self *EdgeServiceManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*EdgeServiceManager) PreparedListIndexed

func (self *EdgeServiceManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeServiceManager) PreparedListWithHandler

func (self *EdgeServiceManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*EdgeServiceManager) PublicQueryForIdentity

func (self *EdgeServiceManager) PublicQueryForIdentity(sessionIdentity *Identity, configTypes map[string]struct{}, query ast.Query) (*ServiceListResult, error)

func (*EdgeServiceManager) QueryForIdentity

func (self *EdgeServiceManager) QueryForIdentity(identityId string, configTypes map[string]struct{}, query ast.Query) (*ServiceListResult, error)

func (*EdgeServiceManager) QueryRoleAttributes

func (self *EdgeServiceManager) QueryRoleAttributes(queryString string) ([]string, *models.QueryMetaData, error)

func (*EdgeServiceManager) Read

func (self *EdgeServiceManager) Read(id string) (ME, error)

func (*EdgeServiceManager) ReadByName

func (self *EdgeServiceManager) ReadByName(name string) (*EdgeService, error)

func (*EdgeServiceManager) ReadForIdentity

func (self *EdgeServiceManager) ReadForIdentity(id string, identityId string, configTypes map[string]struct{}) (*ServiceDetail, error)

func (*EdgeServiceManager) ReadForIdentityInTx

func (self *EdgeServiceManager) ReadForIdentityInTx(tx *bbolt.Tx, id string, identityId string, configTypes map[string]struct{}) (*ServiceDetail, error)

func (*EdgeServiceManager) Unmarshall

func (self *EdgeServiceManager) Unmarshall(bytes []byte) (*EdgeService, error)

func (*EdgeServiceManager) Update

func (self *EdgeServiceManager) Update(entity *EdgeService, checker fields.UpdatedFields, ctx *change.Context) error

type EnrollModuleCa

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

func NewEnrollModuleCa

func NewEnrollModuleCa(env Env) *EnrollModuleCa

func (*EnrollModuleCa) CanHandle

func (module *EnrollModuleCa) CanHandle(method string) bool

func (*EnrollModuleCa) Process

func (module *EnrollModuleCa) Process(context EnrollmentContext) (*EnrollmentResult, error)

Process will attempt to verify a client certificate bundle (supplied via the TLS handshake) with known CAs. The first certificate must be the client certificate and all subsequent certificates are treated as untrusted intermediates. If a verifying CA has `externalIdClaim` configuration present, the claim will be searched for. If it resolves, the values will be used as the `externalId` for the resulting identity. Subsequent authentications will match the certificate `externalId`. If not present, a certificate authenticator will be created where the fingerprint of the certificate will be matched on subsequent authentications.

type EnrollModuleEr

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

func NewEnrollModuleEdgeRouterOtt

func NewEnrollModuleEdgeRouterOtt(env Env) *EnrollModuleEr

func (*EnrollModuleEr) CanHandle

func (module *EnrollModuleEr) CanHandle(method string) bool

func (*EnrollModuleEr) Process

func (module *EnrollModuleEr) Process(context EnrollmentContext) (*EnrollmentResult, error)

func (*EnrollModuleEr) ProcessClientCsrPem

func (module *EnrollModuleEr) ProcessClientCsrPem(clientCertCsrPem []byte, edgeRouterId string) ([]byte, error)

func (*EnrollModuleEr) ProcessServerCsrPem

func (module *EnrollModuleEr) ProcessServerCsrPem(serverCertCsrPem []byte) ([]byte, error)

type EnrollModuleOtt

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

func NewEnrollModuleOtt

func NewEnrollModuleOtt(env Env) *EnrollModuleOtt

func (*EnrollModuleOtt) CanHandle

func (module *EnrollModuleOtt) CanHandle(method string) bool

func (*EnrollModuleOtt) Process

func (module *EnrollModuleOtt) Process(ctx EnrollmentContext) (*EnrollmentResult, error)

type EnrollModuleOttCa

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

func NewEnrollModuleOttCa

func NewEnrollModuleOttCa(env Env) *EnrollModuleOttCa

func (*EnrollModuleOttCa) CanHandle

func (module *EnrollModuleOttCa) CanHandle(method string) bool

func (*EnrollModuleOttCa) Process

func (module *EnrollModuleOttCa) Process(ctx EnrollmentContext) (*EnrollmentResult, error)

type EnrollModuleRouterOtt

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

func NewEnrollModuleTransitRouterOtt

func NewEnrollModuleTransitRouterOtt(env Env) *EnrollModuleRouterOtt

func (*EnrollModuleRouterOtt) CanHandle

func (module *EnrollModuleRouterOtt) CanHandle(method string) bool

func (*EnrollModuleRouterOtt) Process

func (module *EnrollModuleRouterOtt) Process(context EnrollmentContext) (*EnrollmentResult, error)

type EnrollModuleUpdb

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

func NewEnrollModuleUpdb

func NewEnrollModuleUpdb(env Env) *EnrollModuleUpdb

func (*EnrollModuleUpdb) CanHandle

func (module *EnrollModuleUpdb) CanHandle(method string) bool

func (*EnrollModuleUpdb) Process

func (module *EnrollModuleUpdb) Process(ctx EnrollmentContext) (*EnrollmentResult, error)

type Enrollment

type Enrollment struct {
	models.BaseEntity
	Method          string
	IdentityId      *string
	TransitRouterId *string
	EdgeRouterId    *string
	Token           string
	IssuedAt        *time.Time
	ExpiresAt       *time.Time
	Jwt             string
	CaId            *string
	Username        *string
}

func (*Enrollment) FillJwtInfo

func (entity *Enrollment) FillJwtInfo(env Env, subject string) error

func (*Enrollment) FillJwtInfoWithExpiresAt

func (entity *Enrollment) FillJwtInfoWithExpiresAt(env Env, subject string, expiresAt time.Time) error

type EnrollmentContext

type EnrollmentContext interface {
	GetParameters() map[string]interface{}
	GetToken() string
	GetData() interface{}
	GetDataAsMap() map[string]interface{}
	GetDataAsByteArray() []byte
	GetCerts() []*x509.Certificate
	GetHeaders() map[string]interface{}
	GetMethod() string
	GetChangeContext() *change.Context
}

type EnrollmentContextHttp

type EnrollmentContextHttp struct {
	Headers       map[string]interface{}
	Parameters    map[string]interface{}
	Data          interface{}
	Certs         []*x509.Certificate
	Token         string
	Method        string
	ChangeContext *change.Context
}

func (*EnrollmentContextHttp) FillFromHttpRequest

func (context *EnrollmentContextHttp) FillFromHttpRequest(request *http.Request, changeCtx *change.Context) error

func (*EnrollmentContextHttp) GetCerts

func (context *EnrollmentContextHttp) GetCerts() []*x509.Certificate

func (*EnrollmentContextHttp) GetChangeContext

func (context *EnrollmentContextHttp) GetChangeContext() *change.Context

func (*EnrollmentContextHttp) GetData

func (context *EnrollmentContextHttp) GetData() interface{}

func (*EnrollmentContextHttp) GetDataAsByteArray

func (context *EnrollmentContextHttp) GetDataAsByteArray() []byte

func (*EnrollmentContextHttp) GetDataAsMap

func (context *EnrollmentContextHttp) GetDataAsMap() map[string]interface{}

func (*EnrollmentContextHttp) GetHeaders

func (context *EnrollmentContextHttp) GetHeaders() map[string]interface{}

func (*EnrollmentContextHttp) GetMethod

func (context *EnrollmentContextHttp) GetMethod() string

func (*EnrollmentContextHttp) GetParameters

func (context *EnrollmentContextHttp) GetParameters() map[string]interface{}

func (*EnrollmentContextHttp) GetToken

func (context *EnrollmentContextHttp) GetToken() string

type EnrollmentManager

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

func NewEnrollmentManager

func NewEnrollmentManager(env Env) *EnrollmentManager

func (*EnrollmentManager) Annotate

func (self *EnrollmentManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*EnrollmentManager) ApplyCreate

func (*EnrollmentManager) ApplyDelete

func (self *EnrollmentManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*EnrollmentManager) ApplyReEnrollEdgeRouter added in v0.32.1

func (self *EnrollmentManager) ApplyReEnrollEdgeRouter(cmd *ReEnrollEdgeRouterCmd, ctx boltz.MutateContext) error

func (*EnrollmentManager) ApplyReplaceEncoderWithAuthenticatorCommand

func (self *EnrollmentManager) ApplyReplaceEncoderWithAuthenticatorCommand(cmd *ReplaceEnrollmentWithAuthenticatorCmd, ctx boltz.MutateContext) error

func (*EnrollmentManager) ApplyUpdate

func (*EnrollmentManager) BaseList

func (self *EnrollmentManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*EnrollmentManager) BaseLoad

func (self *EnrollmentManager) BaseLoad(id string) (ME, error)

func (*EnrollmentManager) BaseLoadInTx

func (self *EnrollmentManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*EnrollmentManager) BasePreparedList

func (self *EnrollmentManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*EnrollmentManager) BasePreparedListIndexed

func (self *EnrollmentManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*EnrollmentManager) Create

func (self *EnrollmentManager) Create(entity *Enrollment, ctx *change.Context) error

func (*EnrollmentManager) Delete

func (self *EnrollmentManager) Delete(id string, ctx *change.Context) error

func (*EnrollmentManager) Dispatch

func (self *EnrollmentManager) Dispatch(command command.Command) error

func (*EnrollmentManager) Enroll

func (*EnrollmentManager) EnrollmentToProtobuf

func (self *EnrollmentManager) EnrollmentToProtobuf(entity *Enrollment) (*edge_cmd_pb.Enrollment, error)

func (*EnrollmentManager) GetAnnotation

func (self *EnrollmentManager) GetAnnotation(entityId string, key string) (*string, error)

func (*EnrollmentManager) GetCertChainPem added in v1.1.1

func (self *EnrollmentManager) GetCertChainPem(certRaw []byte) (string, error)

GetCertChainPem parses a given certificate in raw DER and attempt to provide string in PEM format of the original certificate followed by each signing intermediate up to but not including the root CA.

func (*EnrollmentManager) GetDb

func (self *EnrollmentManager) GetDb() boltz.Db

func (*EnrollmentManager) GetEntityTypeId

func (self *EnrollmentManager) GetEntityTypeId() string

func (*EnrollmentManager) GetEnv

func (self *EnrollmentManager) GetEnv() Env

func (*EnrollmentManager) GetStore

func (self *EnrollmentManager) GetStore() boltz.EntityStore[PE]

func (*EnrollmentManager) IsEntityPresent added in v1.2.1

func (self *EnrollmentManager) IsEntityPresent(id string) (bool, error)

func (*EnrollmentManager) ListWithHandler

func (self *EnrollmentManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*EnrollmentManager) Marshall

func (self *EnrollmentManager) Marshall(entity *Enrollment) ([]byte, error)

func (*EnrollmentManager) PreparedListAssociatedWithHandler

func (self *EnrollmentManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*EnrollmentManager) PreparedListIndexed

func (self *EnrollmentManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*EnrollmentManager) PreparedListWithHandler

func (self *EnrollmentManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*EnrollmentManager) ProtobufToEnrollment

func (self *EnrollmentManager) ProtobufToEnrollment(msg *edge_cmd_pb.Enrollment) (*Enrollment, error)

func (*EnrollmentManager) Query

func (self *EnrollmentManager) Query(query string) ([]*Enrollment, error)

func (*EnrollmentManager) Read

func (self *EnrollmentManager) Read(id string) (*Enrollment, error)

func (*EnrollmentManager) ReadByToken

func (self *EnrollmentManager) ReadByToken(token string) (*Enrollment, error)

func (*EnrollmentManager) RefreshJwt

func (self *EnrollmentManager) RefreshJwt(id string, expiresAt time.Time, ctx *change.Context) error

func (*EnrollmentManager) ReplaceWithAuthenticator

func (self *EnrollmentManager) ReplaceWithAuthenticator(enrollmentId string, authenticator *Authenticator, ctx *change.Context) error

func (*EnrollmentManager) Unmarshall

func (self *EnrollmentManager) Unmarshall(bytes []byte) (*Enrollment, error)

func (*EnrollmentManager) Update

func (self *EnrollmentManager) Update(entity *Enrollment, checker fields.UpdatedFields, ctx *change.Context) error

type EnrollmentProcessor

type EnrollmentProcessor interface {
	CanHandle(method string) bool
	Process(context EnrollmentContext) (*EnrollmentResult, error)
}

type EnrollmentRegistry

type EnrollmentRegistry interface {
	Add(method EnrollmentProcessor)
	GetByMethod(method string) EnrollmentProcessor
}

type EnrollmentRegistryImpl

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

func (*EnrollmentRegistryImpl) Add

func (registry *EnrollmentRegistryImpl) Add(processor EnrollmentProcessor)

func (*EnrollmentRegistryImpl) GetByMethod

func (registry *EnrollmentRegistryImpl) GetByMethod(method string) EnrollmentProcessor

type EnrollmentResult

type EnrollmentResult struct {
	Identity      *Identity
	Authenticator *Authenticator
	Content       interface{}
	TextContent   []byte
	Producer      runtime.Producer
	Status        int
}

type EntityManager

type EntityManager[E models.Entity] interface {
	models.EntityRetriever[E]
	command.EntityDeleter
	GetEnv() Env
	// contains filtered or unexported methods
}

type Env

type Env interface {
	GetCommandDispatcher() command.Dispatcher
	GetManagers() *Managers
	GetEventDispatcher() event.Dispatcher
	GetConfig() *config.Config
	GetDb() boltz.Db
	GetStores() *db.Stores
	GetAuthRegistry() AuthRegistry
	GetEnrollRegistry() EnrollmentRegistry
	GetApiClientCsrSigner() cert.Signer
	GetApiServerCsrSigner() cert.Signer
	GetControlClientCsrSigner() cert.Signer
	IsEdgeRouterOnline(id string) bool
	GetMetricsRegistry() metrics.Registry
	GetFingerprintGenerator() cert.FingerprintGenerator
	HandleServiceUpdatedEventForIdentityId(identityId string)

	GetEnrollmentJwtSigner() (jwtsigner.Signer, error)

	GetServerJwtSigner() jwtsigner.Signer
	GetServerCert() (*tls.Certificate, string, jwt.SigningMethod)
	JwtSignerKeyFunc(token *jwt.Token) (interface{}, error)
	GetPeerControllerAddresses() []string

	ValidateAccessToken(token string) (*common.AccessClaims, error)
	ValidateServiceAccessToken(token string, apiSessionId *string) (*common.ServiceAccessClaims, error)

	OidcIssuer() string
	RootIssuer() string

	GetRaftInfo() (string, string, string)
	GetApiAddresses() (map[string][]event.ApiAddress, []byte)
	GetCloseNotifyChannel() <-chan struct{}
	GetPeerSigners() []*x509.Certificate
	AddRouterPresenceHandler(h RouterPresenceHandler)

	GetId() string
}

type EnvInfo

type EnvInfo struct {
	Arch      string
	Os        string
	OsRelease string
	OsVersion string
	Domain    string
	Hostname  string
}

func (*EnvInfo) Equals

func (self *EnvInfo) Equals(other *EnvInfo) bool

type ExtendedCerts

type ExtendedCerts struct {
	RawClientCert []byte
	RawServerCert []byte
}

type ExternalIdClaim

type ExternalIdClaim struct {
	Location        string
	Matcher         string
	MatcherCriteria string
	Parser          string
	ParserCriteria  string
	Index           int64
}

type ExternalIdFieldType

type ExternalIdFieldType string

type ExternalJwtSigner

type ExternalJwtSigner struct {
	models.BaseEntity
	Name            string
	CertPem         *string
	JwksEndpoint    *string
	Kid             *string
	Enabled         bool
	ExternalAuthUrl *string
	UseExternalId   bool
	ClaimsProperty  *string
	Issuer          *string
	Audience        *string
	ClientId        *string
	Scopes          []string

	CommonName  string
	Fingerprint *string
	NotAfter    time.Time
	NotBefore   time.Time
}

type ExternalJwtSignerManager

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

func NewExternalJwtSignerManager

func NewExternalJwtSignerManager(env Env) *ExternalJwtSignerManager

func (*ExternalJwtSignerManager) Annotate

func (self *ExternalJwtSignerManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ExternalJwtSignerManager) ApplyCreate

func (*ExternalJwtSignerManager) ApplyDelete

func (self *ExternalJwtSignerManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ExternalJwtSignerManager) ApplyUpdate

func (*ExternalJwtSignerManager) BaseList

func (self *ExternalJwtSignerManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ExternalJwtSignerManager) BaseLoad

func (self *ExternalJwtSignerManager) BaseLoad(id string) (ME, error)

func (*ExternalJwtSignerManager) BaseLoadInTx

func (self *ExternalJwtSignerManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ExternalJwtSignerManager) BasePreparedList

func (self *ExternalJwtSignerManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ExternalJwtSignerManager) BasePreparedListIndexed

func (self *ExternalJwtSignerManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ExternalJwtSignerManager) Create

func (self *ExternalJwtSignerManager) Create(entity *ExternalJwtSigner, ctx *change.Context) error

func (*ExternalJwtSignerManager) Delete

func (self *ExternalJwtSignerManager) Delete(id string, ctx *change.Context) error

func (*ExternalJwtSignerManager) Dispatch

func (self *ExternalJwtSignerManager) Dispatch(command command.Command) error

func (*ExternalJwtSignerManager) GetAnnotation

func (self *ExternalJwtSignerManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ExternalJwtSignerManager) GetDb

func (self *ExternalJwtSignerManager) GetDb() boltz.Db

func (*ExternalJwtSignerManager) GetEntityTypeId

func (self *ExternalJwtSignerManager) GetEntityTypeId() string

func (*ExternalJwtSignerManager) GetEnv

func (self *ExternalJwtSignerManager) GetEnv() Env

func (*ExternalJwtSignerManager) GetStore

func (self *ExternalJwtSignerManager) GetStore() boltz.EntityStore[PE]

func (*ExternalJwtSignerManager) IsEntityPresent added in v1.2.1

func (self *ExternalJwtSignerManager) IsEntityPresent(id string) (bool, error)

func (*ExternalJwtSignerManager) ListWithHandler

func (self *ExternalJwtSignerManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ExternalJwtSignerManager) Marshall

func (self *ExternalJwtSignerManager) Marshall(entity *ExternalJwtSigner) ([]byte, error)

func (*ExternalJwtSignerManager) PreparedListAssociatedWithHandler

func (self *ExternalJwtSignerManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ExternalJwtSignerManager) PreparedListIndexed

func (self *ExternalJwtSignerManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ExternalJwtSignerManager) PreparedListWithHandler

func (self *ExternalJwtSignerManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ExternalJwtSignerManager) PublicQuery

func (self *ExternalJwtSignerManager) PublicQuery(query ast.Query) (*ListExtJwtSignerResult, error)

func (*ExternalJwtSignerManager) Read

func (self *ExternalJwtSignerManager) Read(id string) (ME, error)

func (*ExternalJwtSignerManager) Unmarshall

func (self *ExternalJwtSignerManager) Unmarshall(bytes []byte) (*ExternalJwtSigner, error)

func (*ExternalJwtSignerManager) Update

func (self *ExternalJwtSignerManager) Update(entity *ExternalJwtSigner, checker fields.UpdatedFields, ctx *change.Context) error

type Formatter

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

func NewFormatter

func NewFormatter(symbols map[string]string) *Formatter

func NewIdentityNameFormatter

func NewIdentityNameFormatter(ca *Ca, clientCert *x509.Certificate, identityName, identityId string) *Formatter

func (*Formatter) Format

func (formatter *Formatter) Format(name string) string

type HashResult

type HashResult struct {
	Hash []byte
	Salt []byte
}

func Hash

func Hash(password string) *HashResult

func ReHash

func ReHash(password string, s []byte) *HashResult

type HashedPassword

type HashedPassword struct {
	RawResult *HashResult //raw byte hash results
	Salt      string      //base64 encoded hash
	Password  string      //base64 encoded hash
}

type Heartbeat

type Heartbeat struct {
	ApiSessionId   string
	LastActivityAt time.Time
}

type HeartbeatCollector

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

func NewHeartbeatCollector

func NewHeartbeatCollector(env Env, batchSize int, updateInterval time.Duration, action func([]*Heartbeat)) *HeartbeatCollector

NewHeartbeatCollector creates a HeartbeatCollector which is used to manage situations where an SDK is connecting to multiple Edge Routers and making API calls that all update their last updated at and trigger writes. The heartbeat collector aggregates all of those calls into a single write and acts as an in memory buffer for last update times.

func (*HeartbeatCollector) LastAccessedAt

func (self *HeartbeatCollector) LastAccessedAt(apiSessionId string) (*time.Time, bool)

LastAccessedAt will return the last time an API Sessions was either connected to an Edge Router or made a REST API call and true. If no such action has happened or the API Session no longer exists nil and false will be returned.

func (*HeartbeatCollector) Mark

func (self *HeartbeatCollector) Mark(apiSessionId string)

func (*HeartbeatCollector) Remove

func (self *HeartbeatCollector) Remove(id string)

func (*HeartbeatCollector) Start

func (self *HeartbeatCollector) Start()

func (*HeartbeatCollector) Stop

func (self *HeartbeatCollector) Stop()

type HeartbeatStatus

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

type Identity

type Identity struct {
	models.BaseEntity
	Name                       string
	IdentityTypeId             string
	IsDefaultAdmin             bool
	IsAdmin                    bool
	RoleAttributes             []string
	EnvInfo                    *EnvInfo
	SdkInfo                    *SdkInfo
	HasErConnection            bool
	EdgeRouterConnectionStatus IdentityOnlineState
	DefaultHostingPrecedence   ziti.Precedence
	DefaultHostingCost         uint16
	ServiceHostingPrecedences  map[string]ziti.Precedence
	ServiceHostingCosts        map[string]uint16
	AppData                    map[string]interface{}
	AuthPolicyId               string
	ExternalId                 *string
	Disabled                   bool
	DisabledAt                 *time.Time
	DisabledUntil              *time.Time
	ServiceConfigs             map[string]map[string]string
}

type IdentityManager

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

func NewIdentityManager

func NewIdentityManager(env Env) *IdentityManager

func (*IdentityManager) Annotate

func (self *IdentityManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*IdentityManager) ApplyCreate

func (*IdentityManager) ApplyCreateWithEnrollments

func (self *IdentityManager) ApplyCreateWithEnrollments(cmd *CreateIdentityWithEnrollmentsCmd, ctx boltz.MutateContext) error

func (*IdentityManager) ApplyDelete

func (self *IdentityManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*IdentityManager) ApplyUpdate

func (*IdentityManager) ApplyUpdateServiceConfigs

func (self *IdentityManager) ApplyUpdateServiceConfigs(cmd *UpdateServiceConfigsCmd, ctx boltz.MutateContext) error

func (*IdentityManager) AssignServiceConfigs

func (self *IdentityManager) AssignServiceConfigs(id string, serviceConfigs []ServiceConfig, ctx *change.Context) error

func (*IdentityManager) BaseList

func (self *IdentityManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*IdentityManager) BaseLoad

func (self *IdentityManager) BaseLoad(id string) (ME, error)

func (*IdentityManager) BaseLoadInTx

func (self *IdentityManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*IdentityManager) BasePreparedList

func (self *IdentityManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*IdentityManager) BasePreparedListIndexed

func (self *IdentityManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*IdentityManager) CollectAuthenticators

func (self *IdentityManager) CollectAuthenticators(id string, collector func(entity *Authenticator) error) error

func (*IdentityManager) CollectEnrollments

func (self *IdentityManager) CollectEnrollments(id string, collector func(entity *Enrollment) error) error

func (*IdentityManager) Create

func (self *IdentityManager) Create(entity *Identity, ctx *change.Context) error

func (*IdentityManager) CreateWithAuthenticator

func (self *IdentityManager) CreateWithAuthenticator(identity *Identity, authenticator *Authenticator, ctx *change.Context) (string, string, error)

func (*IdentityManager) CreateWithEnrollments

func (self *IdentityManager) CreateWithEnrollments(identityModel *Identity, enrollmentsModels []*Enrollment, ctx *change.Context) error

func (*IdentityManager) Delete

func (self *IdentityManager) Delete(id string, ctx *change.Context) error

func (*IdentityManager) Disable

func (self *IdentityManager) Disable(identityId string, duration time.Duration, ctx *change.Context) error

func (*IdentityManager) Dispatch

func (self *IdentityManager) Dispatch(command command.Command) error

func (*IdentityManager) Enable

func (self *IdentityManager) Enable(identityId string, ctx *change.Context) error

func (*IdentityManager) GetAnnotation

func (self *IdentityManager) GetAnnotation(entityId string, key string) (*string, error)

func (*IdentityManager) GetConnectionTracker added in v1.2.0

func (self *IdentityManager) GetConnectionTracker() *ConnectionTracker

func (*IdentityManager) GetDb

func (self *IdentityManager) GetDb() boltz.Db

func (*IdentityManager) GetEntityTypeId

func (self *IdentityManager) GetEntityTypeId() string

func (*IdentityManager) GetEnv

func (self *IdentityManager) GetEnv() Env

func (*IdentityManager) GetIdentityStatusMapCopy added in v1.2.0

func (self *IdentityManager) GetIdentityStatusMapCopy() map[string]map[string]channel.Channel

func (*IdentityManager) GetStore

func (self *IdentityManager) GetStore() boltz.EntityStore[PE]

func (*IdentityManager) HasErConnection

func (self *IdentityManager) HasErConnection(id string) bool

HasErConnection will return true if the supplied identity id has a current an active ER connection registered.

func (*IdentityManager) IdentityToProtobuf

func (self *IdentityManager) IdentityToProtobuf(entity *Identity) (*edge_cmd_pb.Identity, error)

func (*IdentityManager) InitializeDefaultAdmin

func (self *IdentityManager) InitializeDefaultAdmin(username, password, name string) error

func (*IdentityManager) IsEntityPresent added in v1.2.1

func (self *IdentityManager) IsEntityPresent(id string) (bool, error)

func (*IdentityManager) IsUpdated

func (self *IdentityManager) IsUpdated(field string) bool

func (*IdentityManager) ListWithHandler

func (self *IdentityManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*IdentityManager) Marshall

func (self *IdentityManager) Marshall(entity *Identity) ([]byte, error)

func (*IdentityManager) PatchInfo

func (self *IdentityManager) PatchInfo(identity *Identity, changeCtx *change.Context) error

func (*IdentityManager) PreparedListAssociatedWithHandler

func (self *IdentityManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*IdentityManager) PreparedListIndexed

func (self *IdentityManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*IdentityManager) PreparedListWithHandler

func (self *IdentityManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*IdentityManager) ProtobufToIdentity

func (self *IdentityManager) ProtobufToIdentity(msg *edge_cmd_pb.Identity) (*Identity, error)

func (*IdentityManager) QueryRoleAttributes

func (self *IdentityManager) QueryRoleAttributes(queryString string) ([]string, *models.QueryMetaData, error)

func (*IdentityManager) Read

func (self *IdentityManager) Read(id string) (ME, error)

func (*IdentityManager) ReadByExternalId

func (self *IdentityManager) ReadByExternalId(externalId string) (*Identity, error)

func (*IdentityManager) ReadByName

func (self *IdentityManager) ReadByName(name string) (*Identity, error)

func (*IdentityManager) ReadDefaultAdmin

func (self *IdentityManager) ReadDefaultAdmin() (*Identity, error)

func (*IdentityManager) ReadOneByQuery

func (self *IdentityManager) ReadOneByQuery(query string) (*Identity, error)

func (*IdentityManager) RemoveServiceConfigs

func (self *IdentityManager) RemoveServiceConfigs(id string, serviceConfigs []ServiceConfig, ctx *change.Context) error

func (*IdentityManager) SetHasErConnection

func (self *IdentityManager) SetHasErConnection(identityId string)

SetHasErConnection will register an identity as having an ER connection. The registration has a TTL depending on how the status map was configured.

func (*IdentityManager) Unmarshall

func (self *IdentityManager) Unmarshall(bytes []byte) (*Identity, error)

func (*IdentityManager) Update

func (self *IdentityManager) Update(entity *Identity, checker fields.UpdatedFields, ctx *change.Context) error

func (*IdentityManager) VisitIdentityAuthenticatorFingerprints

func (self *IdentityManager) VisitIdentityAuthenticatorFingerprints(tx *bbolt.Tx, identityId string, visitor func(string) bool) (bool, error)

type IdentityOnlineState added in v1.2.0

type IdentityOnlineState uint32
const (
	IdentityStateOffline IdentityOnlineState = 0
	IdentityStateOnline  IdentityOnlineState = 1
	IdentityStateUnknown IdentityOnlineState = 2
)

func (IdentityOnlineState) String added in v1.2.0

func (self IdentityOnlineState) String() string

type IdentityType

type IdentityType struct {
	models.BaseEntity
	Name string `json:"name"`
}

type IdentityTypeManager

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

func NewIdentityTypeManager

func NewIdentityTypeManager(env Env) *IdentityTypeManager

func (*IdentityTypeManager) Annotate

func (self *IdentityTypeManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*IdentityTypeManager) ApplyDelete

func (self *IdentityTypeManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*IdentityTypeManager) BaseList

func (self *IdentityTypeManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*IdentityTypeManager) BaseLoad

func (self *IdentityTypeManager) BaseLoad(id string) (ME, error)

func (*IdentityTypeManager) BaseLoadInTx

func (self *IdentityTypeManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*IdentityTypeManager) BasePreparedList

func (self *IdentityTypeManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*IdentityTypeManager) BasePreparedListIndexed

func (self *IdentityTypeManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*IdentityTypeManager) Delete

func (self *IdentityTypeManager) Delete(id string, ctx *change.Context) error

func (*IdentityTypeManager) Dispatch

func (self *IdentityTypeManager) Dispatch(command command.Command) error

func (*IdentityTypeManager) GetAnnotation

func (self *IdentityTypeManager) GetAnnotation(entityId string, key string) (*string, error)

func (*IdentityTypeManager) GetDb

func (self *IdentityTypeManager) GetDb() boltz.Db

func (*IdentityTypeManager) GetEntityTypeId

func (self *IdentityTypeManager) GetEntityTypeId() string

func (*IdentityTypeManager) GetEnv

func (self *IdentityTypeManager) GetEnv() Env

func (*IdentityTypeManager) GetStore

func (self *IdentityTypeManager) GetStore() boltz.EntityStore[PE]

func (*IdentityTypeManager) IsEntityPresent added in v1.2.1

func (self *IdentityTypeManager) IsEntityPresent(id string) (bool, error)

func (*IdentityTypeManager) ListWithHandler

func (self *IdentityTypeManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*IdentityTypeManager) PreparedListAssociatedWithHandler

func (self *IdentityTypeManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*IdentityTypeManager) PreparedListIndexed

func (self *IdentityTypeManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*IdentityTypeManager) PreparedListWithHandler

func (self *IdentityTypeManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*IdentityTypeManager) Read

func (self *IdentityTypeManager) Read(id string) (ME, error)

func (*IdentityTypeManager) ReadByIdOrName

func (self *IdentityTypeManager) ReadByIdOrName(idOrName string) (*IdentityType, error)

func (*IdentityTypeManager) ReadByName

func (self *IdentityTypeManager) ReadByName(name string) (*IdentityType, error)
type Link struct {
	SrcLatency  int64
	DstLatency  int64
	Cost        int64
	Id          string
	Iteration   uint32
	Src         *Router
	DstId       string
	Dst         concurrenz.AtomicValue[*Router]
	Protocol    string
	DialAddress string

	StaticCost int32
	// contains filtered or unexported fields
}

TODO: Add CreateDate

func NewTestLink(id string, src, dst *Router) *Link

func (*Link) CurrentState added in v1.1.6

func (link *Link) CurrentState() LinkState

func (*Link) GetCost added in v1.1.6

func (link *Link) GetCost() int64

func (*Link) GetDest added in v1.1.6

func (link *Link) GetDest() *Router

func (*Link) GetDstLatency added in v1.1.6

func (link *Link) GetDstLatency() int64

func (*Link) GetId added in v1.1.6

func (link *Link) GetId() string

func (*Link) GetSrcLatency added in v1.1.6

func (link *Link) GetSrcLatency() int64

func (*Link) GetStaticCost added in v1.1.6

func (link *Link) GetStaticCost() int32

func (*Link) IsDown added in v1.1.6

func (link *Link) IsDown() bool

func (*Link) IsUsable added in v1.1.6

func (link *Link) IsUsable() bool

func (*Link) RecalculateCost added in v1.1.6

func (link *Link) RecalculateCost()

func (*Link) SetDown added in v1.1.6

func (link *Link) SetDown(down bool)

func (*Link) SetDstLatency added in v1.1.6

func (link *Link) SetDstLatency(latency int64)

func (*Link) SetSrcLatency added in v1.1.6

func (link *Link) SetSrcLatency(latency int64)

func (*Link) SetState added in v1.1.6

func (link *Link) SetState(m LinkMode)

func (*Link) SetStaticCost added in v1.1.6

func (link *Link) SetStaticCost(cost int32)

type LinkManager added in v1.1.6

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

func NewLinkManager added in v1.1.6

func NewLinkManager(env Env) *LinkManager

func (*LinkManager) Add added in v1.1.6

func (self *LinkManager) Add(link *Link)

func (*LinkManager) All added in v1.1.6

func (self *LinkManager) All() []*Link
func (self *LinkManager) BuildRouterLinks(router *Router)

func (*LinkManager) ClearExpiredPending added in v1.1.6

func (self *LinkManager) ClearExpiredPending(pendingTimeout time.Duration)

func (*LinkManager) ConnectedNeighborsOfRouter added in v1.1.6

func (self *LinkManager) ConnectedNeighborsOfRouter(router *Router) []*Router

func (*LinkManager) Get added in v1.1.6

func (self *LinkManager) Get(linkId string) (*Link, bool)

func (*LinkManager) GetLinkMap added in v1.1.6

func (self *LinkManager) GetLinkMap() map[string]*Link

func (*LinkManager) GetStore added in v1.1.6

func (self *LinkManager) GetStore() *objectz.ObjectStore[*Link]
func (self *LinkManager) LeastExpensiveLink(a, b *Router) (*Link, bool)

func (*LinkManager) LinksInMode added in v1.1.6

func (self *LinkManager) LinksInMode(mode LinkMode) []*Link
func (self *LinkManager) MissingLinks(routers []*Router, pendingTimeout time.Duration) ([]*Link, error)

func (*LinkManager) Remove added in v1.1.6

func (self *LinkManager) Remove(link *Link)
func (self *LinkManager) RouterReportedLink(linkId string, iteration uint32, linkProtocol, dialAddress string, src, dst *Router, dstId string) (*Link, bool)
func (self *LinkManager) ScanForDeadLinks()

type LinkMode added in v1.1.6

type LinkMode byte
const (
	Pending LinkMode = iota
	Connected
	Failed
	Duplicate
)

func (LinkMode) String added in v1.1.6

func (t LinkMode) String() string

type LinkState added in v1.1.6

type LinkState struct {
	Mode      LinkMode
	Timestamp int64
}

type ListExtJwtSignerResult

type ListExtJwtSignerResult struct {
	QueryMetaData models.QueryMetaData
	ExtJwtSigners []*ExternalJwtSigner
	// contains filtered or unexported fields
}

type Listener added in v1.1.6

type Listener interface {
	AdvertiseAddress() string
	Protocol() string
	Groups() []string
}

type Managers

type Managers struct {
	// command
	Registry   ioc.Registry
	Dispatcher command.Dispatcher

	// fabric
	Circuit    *CircuitManager
	Command    *CommandManager
	Link       *LinkManager
	Router     *RouterManager
	Service    *ServiceManager
	Terminator *TerminatorManager

	// edge
	ApiSession              *ApiSessionManager
	ApiSessionCertificate   *ApiSessionCertificateManager
	Ca                      *CaManager
	Config                  *ConfigManager
	ConfigType              *ConfigTypeManager
	Controller              *ControllerManager
	EdgeRouter              *EdgeRouterManager
	EdgeRouterPolicy        *EdgeRouterPolicyManager
	EdgeService             *EdgeServiceManager
	ExternalJwtSigner       *ExternalJwtSignerManager
	Identity                *IdentityManager
	IdentityType            *IdentityTypeManager
	PolicyAdvisor           *PolicyAdvisor
	ServiceEdgeRouterPolicy *ServiceEdgeRouterPolicyManager
	ServicePolicy           *ServicePolicyManager
	Revocation              *RevocationManager
	TransitRouter           *TransitRouterManager
	Session                 *SessionManager
	Authenticator           *AuthenticatorManager
	Enrollment              *EnrollmentManager
	PostureCheck            *PostureCheckManager
	PostureCheckType        *PostureCheckTypeManager
	PostureResponse         *PostureResponseManager
	Mfa                     *MfaManager
	AuthPolicy              *AuthPolicyManager
}

func NewManagers added in v1.1.6

func NewManagers() *Managers

func (*Managers) Init added in v1.1.6

func (managers *Managers) Init(env Env) *Managers

type Mfa

type Mfa struct {
	models.BaseEntity
	IsVerified    bool
	IdentityId    string
	Identity      *Identity
	Secret        string
	RecoveryCodes []string
}

type MfaListResult

type MfaListResult struct {
	Mfas []*Mfa
	models.QueryMetaData
	// contains filtered or unexported fields
}

type MfaManager

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

func NewMfaManager

func NewMfaManager(env Env) *MfaManager

func (*MfaManager) Annotate

func (self *MfaManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*MfaManager) ApplyCreate

func (self *MfaManager) ApplyCreate(cmd *command.CreateEntityCommand[*Mfa], ctx boltz.MutateContext) error

func (*MfaManager) ApplyDelete

func (self *MfaManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*MfaManager) ApplyUpdate

func (self *MfaManager) ApplyUpdate(cmd *command.UpdateEntityCommand[*Mfa], ctx boltz.MutateContext) error

func (*MfaManager) BaseList

func (self *MfaManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*MfaManager) BaseLoad

func (self *MfaManager) BaseLoad(id string) (ME, error)

func (*MfaManager) BaseLoadInTx

func (self *MfaManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*MfaManager) BasePreparedList

func (self *MfaManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*MfaManager) BasePreparedListIndexed

func (self *MfaManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*MfaManager) CompleteTotpEnrollment added in v0.34.0

func (self *MfaManager) CompleteTotpEnrollment(identityId string, code string, changeCtx *change.Context) error

func (*MfaManager) Create

func (self *MfaManager) Create(entity *Mfa, ctx *change.Context) error

func (*MfaManager) CreateForIdentity

func (self *MfaManager) CreateForIdentity(identity *Identity, ctx *change.Context) (string, error)

func (*MfaManager) CreateForIdentityId added in v0.34.0

func (self *MfaManager) CreateForIdentityId(identityId string, ctx *change.Context) (string, error)

func (*MfaManager) Delete

func (self *MfaManager) Delete(id string, ctx *change.Context) error

func (*MfaManager) DeleteAllForIdentity

func (self *MfaManager) DeleteAllForIdentity(id string, ctx *change.Context) error

DeleteAllForIdentity is meant for administrators to remove all MFAs (enrolled or not) from an identity

func (*MfaManager) DeleteForIdentity

func (self *MfaManager) DeleteForIdentity(identity *Identity, code string, ctx *change.Context) error

func (*MfaManager) Dispatch

func (self *MfaManager) Dispatch(command command.Command) error

func (*MfaManager) GetAnnotation

func (self *MfaManager) GetAnnotation(entityId string, key string) (*string, error)

func (*MfaManager) GetDb

func (self *MfaManager) GetDb() boltz.Db

func (*MfaManager) GetEntityTypeId

func (self *MfaManager) GetEntityTypeId() string

func (*MfaManager) GetEnv

func (self *MfaManager) GetEnv() Env

func (*MfaManager) GetProvisioningUrl

func (self *MfaManager) GetProvisioningUrl(mfa *Mfa) string

func (*MfaManager) GetStore

func (self *MfaManager) GetStore() boltz.EntityStore[PE]

func (*MfaManager) IsEntityPresent added in v1.2.1

func (self *MfaManager) IsEntityPresent(id string) (bool, error)

func (*MfaManager) IsUpdated

func (self *MfaManager) IsUpdated(field string) bool

func (*MfaManager) ListWithHandler

func (self *MfaManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*MfaManager) Marshall

func (self *MfaManager) Marshall(entity *Mfa) ([]byte, error)

func (*MfaManager) PreparedListAssociatedWithHandler

func (self *MfaManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*MfaManager) PreparedListIndexed

func (self *MfaManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*MfaManager) PreparedListWithHandler

func (self *MfaManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*MfaManager) QrCodePng

func (self *MfaManager) QrCodePng(mfa *Mfa) ([]byte, error)

func (*MfaManager) Query

func (self *MfaManager) Query(query string) (*MfaListResult, error)

func (*MfaManager) Read

func (self *MfaManager) Read(id string) (ME, error)

func (*MfaManager) ReadOneByIdentityId

func (self *MfaManager) ReadOneByIdentityId(identityId string) (*Mfa, error)

func (*MfaManager) RecreateRecoveryCodes

func (self *MfaManager) RecreateRecoveryCodes(mfa *Mfa, ctx *change.Context) error

func (*MfaManager) Unmarshall

func (self *MfaManager) Unmarshall(bytes []byte) (*Mfa, error)

func (*MfaManager) Update

func (self *MfaManager) Update(entity *Mfa, checker fields.UpdatedFields, ctx *change.Context) error

func (*MfaManager) Verify

func (self *MfaManager) Verify(mfa *Mfa, code string, ctx *change.Context) (bool, error)

func (*MfaManager) VerifyTOTP

func (self *MfaManager) VerifyTOTP(mfa *Mfa, code string) (bool, error)

VerifyTOTP verifies TOTP values only, not recovery codes

type NotFieldChecker added in v1.1.8

type NotFieldChecker map[string]struct{}

func (NotFieldChecker) IsUpdated added in v1.1.8

func (checker NotFieldChecker) IsUpdated(field string) bool

type OperatingSystem

type OperatingSystem struct {
	OsType     string
	OsVersions []string
}

type OrFieldChecker

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

func NewOrFieldChecker

func NewOrFieldChecker(checker boltz.FieldChecker, fields ...string) *OrFieldChecker

func (*OrFieldChecker) IsUpdated

func (checker *OrFieldChecker) IsUpdated(field string) bool

type Path added in v1.1.6

type Path struct {
	Nodes                []*Router
	Links                []*Link
	IngressId            string
	EgressId             string
	InitiatorLocalAddr   string
	InitiatorRemoteAddr  string
	TerminatorLocalAddr  string
	TerminatorRemoteAddr string
}

func (*Path) Cost added in v1.1.6

func (self *Path) Cost(minRouterCost uint16) int64

func (*Path) EgressRouter added in v1.1.6

func (self *Path) EgressRouter() *Router

func (*Path) EqualPath added in v1.1.6

func (self *Path) EqualPath(other *Path) bool

func (*Path) String added in v1.1.6

func (self *Path) String() string
func (self *Path) UsesLink(l *Link) bool

type PolicyAdvisor

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

func NewPolicyAdvisor

func NewPolicyAdvisor(env Env) *PolicyAdvisor

func (*PolicyAdvisor) AnalyzeServiceReachability

func (advisor *PolicyAdvisor) AnalyzeServiceReachability(identityId, serviceId string) (*AdvisorServiceReachability, error)
func (advisor *PolicyAdvisor) InspectIdentityEdgeRouterLinks(identityId, edgeRouterId string) (*AdvisorIdentityEdgeRouterLinks, error)
func (advisor *PolicyAdvisor) InspectIdentityServiceLinks(identityId, serviceId string) (*AdvisorIdentityServiceLinks, error)
func (advisor *PolicyAdvisor) InspectServiceEdgeRouterLinks(serviceId, edgeRouterId string) (*AdvisorServiceEdgeRouterLinks, error)

type PolicyPostureChecks

type PolicyPostureChecks struct {
	PostureChecks []*PostureCheck
	PolicyType    db.PolicyType
	PolicyName    string
}

type PostureCache

type PostureCache struct {
	events.EventEmmiter
	// contains filtered or unexported fields
}

func (*PostureCache) Add

func (pc *PostureCache) Add(identityId string, postureResponses []*PostureResponse)

func (*PostureCache) AddSessionRequestFailure

func (pc *PostureCache) AddSessionRequestFailure(identityId string, failure *PostureSessionRequestFailure)

func (*PostureCache) ApiSessionCreated

func (pc *PostureCache) ApiSessionCreated(apiSession *db.ApiSession)

func (*PostureCache) ApiSessionDeleted

func (pc *PostureCache) ApiSessionDeleted(apiSession *db.ApiSession)

func (*PostureCache) Evaluate

func (pc *PostureCache) Evaluate(identityId, apiSessionId string, postureChecks []*PostureCheck) (bool, []*PostureCheckFailure)

func (*PostureCache) IdentityDeleted

func (pc *PostureCache) IdentityDeleted(identity *db.Identity)

func (*PostureCache) PostureCheckChanged

func (pc *PostureCache) PostureCheckChanged(entity boltz.Entity)

PostureCheckChanged notifies all associated identities that posture configuration has changed and that endpoints may need to reevaluate posture queries.

func (*PostureCache) PostureData

func (pc *PostureCache) PostureData(identityId string) *PostureData

PostureData returns a copy of the current posture data for an identity. Suitable for read only rendering. To alter/update posture data see Upsert.

func (*PostureCache) Upsert

func (pc *PostureCache) Upsert(identityId string, emitDataAltered bool, cb func(exist bool, valueInMap *PostureData, newValue *PostureData) *PostureData)

Upsert is a convenience function to alter the existing PostureData for an identity. If emitDataAltered is true, posture data listeners will be alerted: this will trigger service update notifications and posture check evaluation.

func (*PostureCache) WithPostureData

func (pc *PostureCache) WithPostureData(identityId string, f func(data *PostureData))

type PostureCheck

type PostureCheck struct {
	models.BaseEntity
	Name           string
	TypeId         string
	Version        int64
	RoleAttributes []string
	SubType        PostureCheckSubType
}

func (*PostureCheck) Evaluate

func (entity *PostureCheck) Evaluate(apiSessionId string, pd *PostureData) (bool, *PostureCheckFailure)

func (*PostureCheck) LastUpdatedAt

func (entity *PostureCheck) LastUpdatedAt(apiSessionId string, pd *PostureData) *time.Time

LastUpdatedAt returns the last time posture state changed for a specific posture check. If the posture state does not report changes, nil is returned.

func (*PostureCheck) TimeoutRemainingSeconds

func (entity *PostureCheck) TimeoutRemainingSeconds(apiSessionId string, pd *PostureData) int64

func (*PostureCheck) TimeoutSeconds

func (entity *PostureCheck) TimeoutSeconds() int64

type PostureCheckDomains

type PostureCheckDomains struct {
	Domains []string
}

func (*PostureCheckDomains) ActualValue

func (p *PostureCheckDomains) ActualValue(_ string, pd *PostureData) interface{}

func (*PostureCheckDomains) Evaluate

func (p *PostureCheckDomains) Evaluate(_ string, pd *PostureData) bool

func (*PostureCheckDomains) ExpectedValue

func (p *PostureCheckDomains) ExpectedValue() interface{}

func (*PostureCheckDomains) FailureValues

func (*PostureCheckDomains) GetTimeoutRemainingSeconds

func (p *PostureCheckDomains) GetTimeoutRemainingSeconds(_ string, _ *PostureData) int64

func (*PostureCheckDomains) GetTimeoutSeconds

func (p *PostureCheckDomains) GetTimeoutSeconds() int64

func (*PostureCheckDomains) LastUpdatedAt

func (p *PostureCheckDomains) LastUpdatedAt(string, *PostureData) *time.Time

func (*PostureCheckDomains) TypeId

func (p *PostureCheckDomains) TypeId() string

type PostureCheckFailure

type PostureCheckFailure struct {
	PostureCheckId   string `json:"postureCheckId"`
	PostureCheckName string `json:"postureCheckName"`
	PostureCheckType string `json:"postureCheckType"`
	PostureCheckFailureValues
}

func (PostureCheckFailure) ToClientErrorData

func (self PostureCheckFailure) ToClientErrorData() interface{}

type PostureCheckFailureSubType

type PostureCheckFailureSubType interface {
	Value() interface{}
	Expected() interface{}
}

type PostureCheckFailureValues

type PostureCheckFailureValues interface {
	Expected() interface{}
	Actual() interface{}
}

type PostureCheckFailureValuesDomain

type PostureCheckFailureValuesDomain struct {
	ActualValue   string
	ExpectedValue []string
}

func (PostureCheckFailureValuesDomain) Actual

func (p PostureCheckFailureValuesDomain) Actual() interface{}

func (PostureCheckFailureValuesDomain) Expected

func (p PostureCheckFailureValuesDomain) Expected() interface{}

type PostureCheckFailureValuesMac

type PostureCheckFailureValuesMac struct {
	ActualValue   []string
	ExpectedValue []string
}

func (PostureCheckFailureValuesMac) Actual

func (p PostureCheckFailureValuesMac) Actual() interface{}

func (PostureCheckFailureValuesMac) Expected

func (p PostureCheckFailureValuesMac) Expected() interface{}

type PostureCheckFailureValuesMfa

type PostureCheckFailureValuesMfa struct {
	ActualValue   PostureCheckMfaValues
	ExpectedValue PostureCheckMfaValues
	Criteria      PostureCheckMfaCriteria
}

func (PostureCheckFailureValuesMfa) Actual

func (p PostureCheckFailureValuesMfa) Actual() interface{}

func (PostureCheckFailureValuesMfa) Expected

func (p PostureCheckFailureValuesMfa) Expected() interface{}

type PostureCheckFailureValuesOperatingSystem

type PostureCheckFailureValuesOperatingSystem struct {
	ActualValue   PostureResponseOs
	ExpectedValue []OperatingSystem
}

func (PostureCheckFailureValuesOperatingSystem) Actual

func (p PostureCheckFailureValuesOperatingSystem) Actual() interface{}

func (PostureCheckFailureValuesOperatingSystem) Expected

func (p PostureCheckFailureValuesOperatingSystem) Expected() interface{}

type PostureCheckFailureValuesProcess

type PostureCheckFailureValuesProcess struct {
	ActualValue   PostureResponseProcess
	ExpectedValue PostureCheckProcess
}

func (PostureCheckFailureValuesProcess) Actual

func (p PostureCheckFailureValuesProcess) Actual() interface{}

func (PostureCheckFailureValuesProcess) Expected

func (p PostureCheckFailureValuesProcess) Expected() interface{}

type PostureCheckFailureValuesProcessMulti

type PostureCheckFailureValuesProcessMulti struct {
	ActualValue   []PostureResponseProcess
	ExpectedValue PostureCheckProcessMulti
}

func (PostureCheckFailureValuesProcessMulti) Actual

func (p PostureCheckFailureValuesProcessMulti) Actual() interface{}

func (PostureCheckFailureValuesProcessMulti) Expected

func (p PostureCheckFailureValuesProcessMulti) Expected() interface{}

type PostureCheckListResult

type PostureCheckListResult struct {
	PostureChecks []*PostureCheck
	models.QueryMetaData
	// contains filtered or unexported fields
}

type PostureCheckMacAddresses

type PostureCheckMacAddresses struct {
	MacAddresses []string
}

func (*PostureCheckMacAddresses) Evaluate

func (p *PostureCheckMacAddresses) Evaluate(_ string, pd *PostureData) bool

func (*PostureCheckMacAddresses) FailureValues

func (*PostureCheckMacAddresses) GetTimeoutRemainingSeconds

func (p *PostureCheckMacAddresses) GetTimeoutRemainingSeconds(_ string, _ *PostureData) int64

func (*PostureCheckMacAddresses) GetTimeoutSeconds

func (p *PostureCheckMacAddresses) GetTimeoutSeconds() int64

func (*PostureCheckMacAddresses) LastUpdatedAt

func (p *PostureCheckMacAddresses) LastUpdatedAt(apiSessionId string, pd *PostureData) *time.Time

func (*PostureCheckMacAddresses) TypeId

func (p *PostureCheckMacAddresses) TypeId() string

type PostureCheckManager

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

func NewPostureCheckManager

func NewPostureCheckManager(env Env) *PostureCheckManager

func (*PostureCheckManager) Annotate

func (self *PostureCheckManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*PostureCheckManager) ApplyCreate

func (*PostureCheckManager) ApplyDelete

func (self *PostureCheckManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*PostureCheckManager) ApplyUpdate

func (*PostureCheckManager) BaseList

func (self *PostureCheckManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*PostureCheckManager) BaseLoad

func (self *PostureCheckManager) BaseLoad(id string) (ME, error)

func (*PostureCheckManager) BaseLoadInTx

func (self *PostureCheckManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*PostureCheckManager) BasePreparedList

func (self *PostureCheckManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*PostureCheckManager) BasePreparedListIndexed

func (self *PostureCheckManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*PostureCheckManager) Create

func (self *PostureCheckManager) Create(entity *PostureCheck, ctx *change.Context) error

func (*PostureCheckManager) Delete

func (self *PostureCheckManager) Delete(id string, ctx *change.Context) error

func (*PostureCheckManager) Dispatch

func (self *PostureCheckManager) Dispatch(command command.Command) error

func (*PostureCheckManager) GetAnnotation

func (self *PostureCheckManager) GetAnnotation(entityId string, key string) (*string, error)

func (*PostureCheckManager) GetDb

func (self *PostureCheckManager) GetDb() boltz.Db

func (*PostureCheckManager) GetEntityTypeId

func (self *PostureCheckManager) GetEntityTypeId() string

func (*PostureCheckManager) GetEnv

func (self *PostureCheckManager) GetEnv() Env

func (*PostureCheckManager) GetStore

func (self *PostureCheckManager) GetStore() boltz.EntityStore[PE]

func (*PostureCheckManager) IsEntityPresent added in v1.2.1

func (self *PostureCheckManager) IsEntityPresent(id string) (bool, error)

func (*PostureCheckManager) IsUpdated

func (self *PostureCheckManager) IsUpdated(field string) bool

func (*PostureCheckManager) ListWithHandler

func (self *PostureCheckManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*PostureCheckManager) Marshall

func (self *PostureCheckManager) Marshall(entity *PostureCheck) ([]byte, error)

func (*PostureCheckManager) PreparedListAssociatedWithHandler

func (self *PostureCheckManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*PostureCheckManager) PreparedListIndexed

func (self *PostureCheckManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*PostureCheckManager) PreparedListWithHandler

func (self *PostureCheckManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*PostureCheckManager) Query

func (self *PostureCheckManager) Query(query string) (*PostureCheckListResult, error)

func (*PostureCheckManager) QueryPostureChecks

func (self *PostureCheckManager) QueryPostureChecks(query ast.Query) (*PostureCheckListResult, error)

func (*PostureCheckManager) QueryRoleAttributes added in v1.1.8

func (self *PostureCheckManager) QueryRoleAttributes(queryString string) ([]string, *models.QueryMetaData, error)

func (*PostureCheckManager) Read

func (self *PostureCheckManager) Read(id string) (*PostureCheck, error)

func (*PostureCheckManager) Unmarshall

func (self *PostureCheckManager) Unmarshall(bytes []byte) (*PostureCheck, error)

func (*PostureCheckManager) Update

func (self *PostureCheckManager) Update(entity *PostureCheck, checker fields.UpdatedFields, ctx *change.Context) error

type PostureCheckMfa

type PostureCheckMfa struct {
	TimeoutSeconds        int64
	PromptOnWake          bool
	PromptOnUnlock        bool
	IgnoreLegacyEndpoints bool
}

func (*PostureCheckMfa) Evaluate

func (p *PostureCheckMfa) Evaluate(apiSessionId string, pd *PostureData) bool

func (*PostureCheckMfa) FailureValues

func (p *PostureCheckMfa) FailureValues(apiSessionId string, pd *PostureData) PostureCheckFailureValues

func (*PostureCheckMfa) GetTimeoutRemainingSeconds

func (p *PostureCheckMfa) GetTimeoutRemainingSeconds(apiSessionId string, pd *PostureData) int64

func (*PostureCheckMfa) GetTimeoutSeconds

func (p *PostureCheckMfa) GetTimeoutSeconds() int64

func (*PostureCheckMfa) IsLegacyClient

func (p *PostureCheckMfa) IsLegacyClient(apiSessionData *ApiSessionPostureData) bool

func (*PostureCheckMfa) LastUpdatedAt

func (p *PostureCheckMfa) LastUpdatedAt(apiSessionId string, pd *PostureData) *time.Time

func (*PostureCheckMfa) PassedOnUnlock

func (p *PostureCheckMfa) PassedOnUnlock(apiSessionData *ApiSessionPostureData, now time.Time) bool

func (*PostureCheckMfa) PassedOnWake

func (p *PostureCheckMfa) PassedOnWake(apiSessionData *ApiSessionPostureData, now time.Time) bool

func (*PostureCheckMfa) TypeId

func (p *PostureCheckMfa) TypeId() string

type PostureCheckMfaCriteria

type PostureCheckMfaCriteria struct {
	PassedMfaAt             *time.Time
	WokenAt                 *time.Time
	UnlockedAt              *time.Time
	TimeoutSeconds          int64
	TimeoutRemainingSeconds int64
}

type PostureCheckMfaValues

type PostureCheckMfaValues struct {
	TimedOutSeconds       bool
	PassedMfa             bool
	PassedOnWake          bool
	PassedOnUnlock        bool
	IgnoreLegacyEndpoints bool
}

type PostureCheckOperatingSystem

type PostureCheckOperatingSystem struct {
	OperatingSystems []OperatingSystem
}

func (*PostureCheckOperatingSystem) Evaluate

func (p *PostureCheckOperatingSystem) Evaluate(_ string, pd *PostureData) bool

func (*PostureCheckOperatingSystem) FailureValues

func (*PostureCheckOperatingSystem) GetTimeoutRemainingSeconds

func (p *PostureCheckOperatingSystem) GetTimeoutRemainingSeconds(_ string, _ *PostureData) int64

func (*PostureCheckOperatingSystem) GetTimeoutSeconds

func (p *PostureCheckOperatingSystem) GetTimeoutSeconds() int64

func (*PostureCheckOperatingSystem) LastUpdatedAt

func (p *PostureCheckOperatingSystem) LastUpdatedAt(id string, pd *PostureData) *time.Time

func (*PostureCheckOperatingSystem) TypeId

func (p *PostureCheckOperatingSystem) TypeId() string

type PostureCheckProcess

type PostureCheckProcess struct {
	PostureCheckId string
	OsType         string
	Path           string
	Hashes         []string
	Fingerprint    string
}

func (*PostureCheckProcess) Evaluate

func (p *PostureCheckProcess) Evaluate(_ string, pd *PostureData) bool

func (*PostureCheckProcess) FailureValues

func (*PostureCheckProcess) GetTimeoutRemainingSeconds

func (p *PostureCheckProcess) GetTimeoutRemainingSeconds(_ string, _ *PostureData) int64

func (*PostureCheckProcess) GetTimeoutSeconds

func (p *PostureCheckProcess) GetTimeoutSeconds() int64

func (*PostureCheckProcess) LastUpdatedAt

func (p *PostureCheckProcess) LastUpdatedAt(id string, pd *PostureData) *time.Time

func (*PostureCheckProcess) TypeId

func (p *PostureCheckProcess) TypeId() string

type PostureCheckProcessMulti

type PostureCheckProcessMulti struct {
	PostureCheckId string
	Semantic       string
	Processes      []*ProcessMulti
}

func (*PostureCheckProcessMulti) Evaluate

func (p *PostureCheckProcessMulti) Evaluate(_ string, pd *PostureData) bool

func (*PostureCheckProcessMulti) FailureValues

func (*PostureCheckProcessMulti) GetTimeoutRemainingSeconds

func (p *PostureCheckProcessMulti) GetTimeoutRemainingSeconds(_ string, _ *PostureData) int64

func (*PostureCheckProcessMulti) GetTimeoutSeconds

func (p *PostureCheckProcessMulti) GetTimeoutSeconds() int64

func (*PostureCheckProcessMulti) LastUpdatedAt

func (p *PostureCheckProcessMulti) LastUpdatedAt(string, *PostureData) *time.Time

func (*PostureCheckProcessMulti) TypeId

func (p *PostureCheckProcessMulti) TypeId() string

type PostureCheckSubType

type PostureCheckSubType interface {
	TypeId() string

	Evaluate(apiSessionId string, pd *PostureData) bool
	FailureValues(_ string, pd *PostureData) PostureCheckFailureValues
	GetTimeoutSeconds() int64
	GetTimeoutRemainingSeconds(apiSessionId string, pd *PostureData) int64

	// LastUpdatedAt returns the last time the posture state changed or nil if not supported.
	LastUpdatedAt(id string, pd *PostureData) *time.Time
	// contains filtered or unexported methods
}

type PostureCheckType

type PostureCheckType struct {
	models.BaseEntity
	Name             string
	OperatingSystems []OperatingSystem
}

type PostureCheckTypeManager

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

func NewPostureCheckTypeManager

func NewPostureCheckTypeManager(env Env) *PostureCheckTypeManager

func (*PostureCheckTypeManager) Annotate

func (self *PostureCheckTypeManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*PostureCheckTypeManager) ApplyDelete

func (self *PostureCheckTypeManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*PostureCheckTypeManager) BaseList

func (self *PostureCheckTypeManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*PostureCheckTypeManager) BaseLoad

func (self *PostureCheckTypeManager) BaseLoad(id string) (ME, error)

func (*PostureCheckTypeManager) BaseLoadInTx

func (self *PostureCheckTypeManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*PostureCheckTypeManager) BasePreparedList

func (self *PostureCheckTypeManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*PostureCheckTypeManager) BasePreparedListIndexed

func (self *PostureCheckTypeManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*PostureCheckTypeManager) Delete

func (self *PostureCheckTypeManager) Delete(id string, ctx *change.Context) error

func (*PostureCheckTypeManager) Dispatch

func (self *PostureCheckTypeManager) Dispatch(command command.Command) error

func (*PostureCheckTypeManager) GetAnnotation

func (self *PostureCheckTypeManager) GetAnnotation(entityId string, key string) (*string, error)

func (*PostureCheckTypeManager) GetDb

func (self *PostureCheckTypeManager) GetDb() boltz.Db

func (*PostureCheckTypeManager) GetEntityTypeId

func (self *PostureCheckTypeManager) GetEntityTypeId() string

func (*PostureCheckTypeManager) GetEnv

func (self *PostureCheckTypeManager) GetEnv() Env

func (*PostureCheckTypeManager) GetStore

func (self *PostureCheckTypeManager) GetStore() boltz.EntityStore[PE]

func (*PostureCheckTypeManager) IsEntityPresent added in v1.2.1

func (self *PostureCheckTypeManager) IsEntityPresent(id string) (bool, error)

func (*PostureCheckTypeManager) ListWithHandler

func (self *PostureCheckTypeManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*PostureCheckTypeManager) PreparedListAssociatedWithHandler

func (self *PostureCheckTypeManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*PostureCheckTypeManager) PreparedListIndexed

func (self *PostureCheckTypeManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*PostureCheckTypeManager) PreparedListWithHandler

func (self *PostureCheckTypeManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*PostureCheckTypeManager) Read

func (self *PostureCheckTypeManager) Read(id string) (ME, error)

type PostureData

type PostureData struct {
	Mac                    PostureResponseMac
	Domain                 PostureResponseDomain
	Os                     PostureResponseOs
	Processes              []*PostureResponseProcess
	ProcessPathMap         map[string]*PostureResponseProcess
	ApiSessions            map[string]*ApiSessionPostureData
	SessionRequestFailures []*PostureSessionRequestFailure
}

func (*PostureData) Copy

func (pd *PostureData) Copy() *PostureData

func (*PostureData) Evaluate

func (pd *PostureData) Evaluate(apiSessionId string, checks []*PostureCheck) (bool, []*PostureCheckFailure)

type PosturePolicyFailure

type PosturePolicyFailure struct {
	PolicyId   string
	PolicyName string
	Checks     []*PostureCheckFailure
}

type PostureResponse

type PostureResponse struct {
	PostureCheckId string
	TypeId         string
	TimedOut       bool
	LastUpdatedAt  time.Time
	SubType        PostureResponseSubType
}

func (*PostureResponse) Apply

func (pr *PostureResponse) Apply(postureData *PostureData)

type PostureResponseDomain

type PostureResponseDomain struct {
	*PostureResponse
	Name string `json:"name"`
}

func (*PostureResponseDomain) Apply

func (pr *PostureResponseDomain) Apply(postureData *PostureData)

type PostureResponseEndpointState

type PostureResponseEndpointState struct {
	*PostureResponse
	ApiSessionId string
	WokenAt      *time.Time
	UnlockedAt   *time.Time
}

func (*PostureResponseEndpointState) Apply

func (pr *PostureResponseEndpointState) Apply(postureData *PostureData)

type PostureResponseMac

type PostureResponseMac struct {
	*PostureResponse
	Addresses []string `json:"addresses"`
}

func (*PostureResponseMac) Apply

func (pr *PostureResponseMac) Apply(postureData *PostureData)

type PostureResponseManager

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

func NewPostureResponseManager

func NewPostureResponseManager(env Env) *PostureResponseManager

func (*PostureResponseManager) AddPostureDataListener

func (self *PostureResponseManager) AddPostureDataListener(cb func(env Env, identityId string))

func (*PostureResponseManager) Create

func (self *PostureResponseManager) Create(identityId string, postureResponses []*PostureResponse)

func (*PostureResponseManager) Evaluate

func (self *PostureResponseManager) Evaluate(identityId, apiSessionId string, check *PostureCheck) (bool, *PostureCheckFailure)

func (*PostureResponseManager) GetEndpointStateChangeAffectedServices

func (self *PostureResponseManager) GetEndpointStateChangeAffectedServices(timeSinceLastMfa, gracePeriod time.Duration, onWake bool, onUnlock bool) []*ServiceWithTimeout

func (*PostureResponseManager) PostureData

func (self *PostureResponseManager) PostureData(id string) *PostureData

func (*PostureResponseManager) SetMfaPosture

func (self *PostureResponseManager) SetMfaPosture(identityId string, apiSessionId string, isPassed bool)

SetMfaPosture sets the MFA passing status a specific API Session owned by an identity

func (*PostureResponseManager) SetMfaPostureForIdentity

func (self *PostureResponseManager) SetMfaPostureForIdentity(identityId string, isPassed bool)

SetMfaPostureForIdentity sets the MFA passing status for all API Sessions associated to an identity

func (*PostureResponseManager) SetSdkInfo

func (self *PostureResponseManager) SetSdkInfo(identityId, apiSessionId string, sdkInfo *SdkInfo)

func (*PostureResponseManager) WithPostureData

func (self *PostureResponseManager) WithPostureData(id string, f func(data *PostureData))

type PostureResponseMfa

type PostureResponseMfa struct {
	*PostureResponse
	ApiSessionId string     `json:"-"`
	PassedMfaAt  *time.Time `json:"passedMfaAt"`
}

func (*PostureResponseMfa) Apply

func (pr *PostureResponseMfa) Apply(postureData *PostureData)

type PostureResponseOs

type PostureResponseOs struct {
	*PostureResponse
	Type    string `json:"type"`
	Version string `json:"version"`
	Build   string `json:"build"`
}

func (*PostureResponseOs) Apply

func (pr *PostureResponseOs) Apply(postureData *PostureData)

type PostureResponseProcess

type PostureResponseProcess struct {
	*PostureResponse
	Path               string
	IsRunning          bool
	BinaryHash         string
	SignerFingerprints []string
}

func (*PostureResponseProcess) Apply

func (pr *PostureResponseProcess) Apply(postureData *PostureData)

func (*PostureResponseProcess) VerifyMultiCriteria

func (pr *PostureResponseProcess) VerifyMultiCriteria(process *ProcessMulti) bool

type PostureResponseSubType

type PostureResponseSubType interface {
	Apply(postureData *PostureData)
}

type PostureSessionData

type PostureSessionData struct {
	MfaTimeout int64
}

type PostureSessionRequestFailure

type PostureSessionRequestFailure struct {
	When           time.Time
	ServiceId      string
	ServiceName    string
	SessionType    string
	PolicyFailures []*PosturePolicyFailure
	ApiSessionId   string
}

type ProcessMulti

type ProcessMulti struct {
	OsType             string
	Path               string
	Hashes             []string
	SignerFingerprints []string
}

type ReEnrollEdgeRouterCmd added in v0.32.1

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

func (*ReEnrollEdgeRouterCmd) Apply added in v0.32.1

func (*ReEnrollEdgeRouterCmd) Decode added in v0.32.1

func (*ReEnrollEdgeRouterCmd) Encode added in v0.32.1

func (d *ReEnrollEdgeRouterCmd) Encode() ([]byte, error)

func (*ReEnrollEdgeRouterCmd) GetChangeContext added in v0.32.1

func (d *ReEnrollEdgeRouterCmd) GetChangeContext() *change.Context

type ReplaceEnrollmentWithAuthenticatorCmd

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

func (*ReplaceEnrollmentWithAuthenticatorCmd) Apply

func (*ReplaceEnrollmentWithAuthenticatorCmd) Decode

func (*ReplaceEnrollmentWithAuthenticatorCmd) Encode

func (self *ReplaceEnrollmentWithAuthenticatorCmd) Encode() ([]byte, error)

func (*ReplaceEnrollmentWithAuthenticatorCmd) GetChangeContext

func (self *ReplaceEnrollmentWithAuthenticatorCmd) GetChangeContext() *change.Context

type Revocation

type Revocation struct {
	models.BaseEntity
	ExpiresAt time.Time
}

type RevocationManager

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

func NewRevocationManager

func NewRevocationManager(env Env) *RevocationManager

func (*RevocationManager) Annotate

func (self *RevocationManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*RevocationManager) ApplyCreate

func (*RevocationManager) ApplyDelete

func (self *RevocationManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*RevocationManager) ApplyUpdate

func (*RevocationManager) BaseList

func (self *RevocationManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*RevocationManager) BaseLoad

func (self *RevocationManager) BaseLoad(id string) (ME, error)

func (*RevocationManager) BaseLoadInTx

func (self *RevocationManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*RevocationManager) BasePreparedList

func (self *RevocationManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*RevocationManager) BasePreparedListIndexed

func (self *RevocationManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*RevocationManager) Create

func (self *RevocationManager) Create(entity *Revocation, ctx *change.Context) error

func (*RevocationManager) Delete

func (self *RevocationManager) Delete(id string, ctx *change.Context) error

func (*RevocationManager) Dispatch

func (self *RevocationManager) Dispatch(command command.Command) error

func (*RevocationManager) GetAnnotation

func (self *RevocationManager) GetAnnotation(entityId string, key string) (*string, error)

func (*RevocationManager) GetDb

func (self *RevocationManager) GetDb() boltz.Db

func (*RevocationManager) GetEntityTypeId

func (self *RevocationManager) GetEntityTypeId() string

func (*RevocationManager) GetEnv

func (self *RevocationManager) GetEnv() Env

func (*RevocationManager) GetStore

func (self *RevocationManager) GetStore() boltz.EntityStore[PE]

func (*RevocationManager) IsEntityPresent added in v1.2.1

func (self *RevocationManager) IsEntityPresent(id string) (bool, error)

func (*RevocationManager) ListWithHandler

func (self *RevocationManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*RevocationManager) Marshall

func (self *RevocationManager) Marshall(entity *Revocation) ([]byte, error)

func (*RevocationManager) PreparedListAssociatedWithHandler

func (self *RevocationManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*RevocationManager) PreparedListIndexed

func (self *RevocationManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*RevocationManager) PreparedListWithHandler

func (self *RevocationManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*RevocationManager) Read

func (self *RevocationManager) Read(id string) (*Revocation, error)

func (*RevocationManager) Unmarshall

func (self *RevocationManager) Unmarshall(bytes []byte) (*Revocation, error)

type Router added in v1.1.6

type Router struct {
	models.BaseEntity
	Name        string
	Fingerprint *string
	Listeners   []*ctrl_pb.Listener
	Control     channel.Channel
	Connected   atomic.Bool
	ConnectTime time.Time
	VersionInfo *versions.VersionInfo

	Cost        uint16
	NoTraversal bool
	Disabled    bool
	Metadata    *ctrl_pb.RouterMetadata
	// contains filtered or unexported fields
}

func NewRouter added in v1.1.6

func NewRouter(id, name, fingerprint string, cost uint16, noTraversal bool) *Router

func NewRouterForTest added in v1.1.6

func NewRouterForTest(id string, fingerprint string, advLstnr transport.Address, ctrl channel.Channel, cost uint16, noTraversal bool) *Router

func (*Router) AddLinkListener added in v1.1.6

func (entity *Router) AddLinkListener(addr, linkProtocol string, linkCostTags []string, groups []string)
func (entity *Router) GetLinks() []*Link

func (*Router) HasCapability added in v1.1.6

func (entity *Router) HasCapability(capability ctrl_pb.RouterCapability) bool

func (*Router) SetLinkListeners added in v1.1.6

func (entity *Router) SetLinkListeners(listeners []*ctrl_pb.Listener)

func (*Router) SetMetadata added in v1.1.6

func (entity *Router) SetMetadata(metadata *ctrl_pb.RouterMetadata)

func (*Router) SupportsRouterLinkMgmt added in v1.1.6

func (entity *Router) SupportsRouterLinkMgmt() bool
type RouterLinks struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*RouterLinks) Add added in v1.1.6

func (self *RouterLinks) Add(link *Link, otherRouterId string)

func (*RouterLinks) Clear added in v1.1.6

func (self *RouterLinks) Clear()
func (self *RouterLinks) GetLinks() []*Link

func (*RouterLinks) GetLinksByRouter added in v1.1.6

func (self *RouterLinks) GetLinksByRouter() map[string][]*Link

func (*RouterLinks) Remove added in v1.1.6

func (self *RouterLinks) Remove(link *Link, otherRouterId string)

type RouterManager added in v1.1.6

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

func (*RouterManager) AllConnected added in v1.1.6

func (self *RouterManager) AllConnected() []*Router

func (*RouterManager) Annotate added in v1.1.6

func (self *RouterManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*RouterManager) ApplyCreate added in v1.1.6

func (self *RouterManager) ApplyCreate(cmd *command.CreateEntityCommand[*Router], ctx boltz.MutateContext) error

func (*RouterManager) ApplyDelete added in v1.1.6

func (self *RouterManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*RouterManager) ApplyDequiesce added in v1.1.6

func (self *RouterManager) ApplyDequiesce(cmd *command.UpdateEntityCommand[*Router], ctx boltz.MutateContext) error

func (*RouterManager) ApplyQuiesce added in v1.1.6

func (self *RouterManager) ApplyQuiesce(cmd *command.UpdateEntityCommand[*Router], ctx boltz.MutateContext) error

func (*RouterManager) ApplyUpdate added in v1.1.6

func (self *RouterManager) ApplyUpdate(cmd *command.UpdateEntityCommand[*Router], ctx boltz.MutateContext) error

func (*RouterManager) BaseList added in v1.1.6

func (self *RouterManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*RouterManager) BaseLoad added in v1.1.6

func (self *RouterManager) BaseLoad(id string) (ME, error)

func (*RouterManager) BaseLoadInTx added in v1.1.6

func (self *RouterManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*RouterManager) BasePreparedList added in v1.1.6

func (self *RouterManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*RouterManager) BasePreparedListIndexed added in v1.1.6

func (self *RouterManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*RouterManager) ConnectedCount added in v1.1.6

func (self *RouterManager) ConnectedCount() int

func (*RouterManager) Create added in v1.1.6

func (self *RouterManager) Create(entity *Router, ctx *change.Context) error

func (*RouterManager) Delete added in v1.1.6

func (self *RouterManager) Delete(id string, ctx *change.Context) error

func (*RouterManager) DequiesceRouter added in v1.1.6

func (self *RouterManager) DequiesceRouter(entity *Router, ctx *change.Context) error

DequiesceRouter returns all routers with a saved precedence that are in a failed state back to their saved state

func (*RouterManager) Dispatch added in v1.1.6

func (self *RouterManager) Dispatch(command command.Command) error

func (*RouterManager) Exists added in v1.1.6

func (self *RouterManager) Exists(id string) (bool, error)

func (*RouterManager) GetAnnotation added in v1.1.6

func (self *RouterManager) GetAnnotation(entityId string, key string) (*string, error)

func (*RouterManager) GetConnected added in v1.1.6

func (self *RouterManager) GetConnected(id string) *Router

func (*RouterManager) GetDb added in v1.1.6

func (self *RouterManager) GetDb() boltz.Db

func (*RouterManager) GetEntityTypeId added in v1.1.6

func (self *RouterManager) GetEntityTypeId() string

func (*RouterManager) GetEnv added in v1.1.6

func (self *RouterManager) GetEnv() Env

func (*RouterManager) GetStore added in v1.1.6

func (self *RouterManager) GetStore() boltz.EntityStore[PE]

func (*RouterManager) HandleRouterDelete added in v1.1.6

func (self *RouterManager) HandleRouterDelete(id string)

func (*RouterManager) IsConnected added in v1.1.6

func (self *RouterManager) IsConnected(id string) bool

func (*RouterManager) IsEntityPresent added in v1.2.1

func (self *RouterManager) IsEntityPresent(id string) (bool, error)

func (*RouterManager) ListWithHandler added in v1.1.6

func (self *RouterManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*RouterManager) MarkConnected added in v1.1.6

func (self *RouterManager) MarkConnected(r *Router)

func (*RouterManager) MarkDisconnected added in v1.1.6

func (self *RouterManager) MarkDisconnected(r *Router)

func (*RouterManager) Marshall added in v1.1.6

func (self *RouterManager) Marshall(entity *Router) ([]byte, error)

func (*RouterManager) PreparedListAssociatedWithHandler added in v1.1.6

func (self *RouterManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*RouterManager) PreparedListIndexed added in v1.1.6

func (self *RouterManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*RouterManager) PreparedListWithHandler added in v1.1.6

func (self *RouterManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*RouterManager) QuiesceRouter added in v1.1.6

func (self *RouterManager) QuiesceRouter(entity *Router, ctx *change.Context) error

QuiesceRouter marks all terminators on the router as failed, so that new traffic will avoid this router, if there's any alternative path

func (*RouterManager) Read added in v1.1.6

func (self *RouterManager) Read(id string) (entity *Router, err error)

func (*RouterManager) RemoveFromCache added in v1.1.6

func (self *RouterManager) RemoveFromCache(id string)

func (*RouterManager) ReportRouterSdkTerminatorsError added in v1.1.6

func (self *RouterManager) ReportRouterSdkTerminatorsError(router *Router, err error, cb func(detail *mgmt_pb.RouterSdkTerminatorsDetails))

func (*RouterManager) Unmarshall added in v1.1.6

func (self *RouterManager) Unmarshall(bytes []byte) (*Router, error)

func (*RouterManager) Update added in v1.1.6

func (self *RouterManager) Update(entity *Router, updatedFields fields.UpdatedFields, ctx *change.Context) error

func (*RouterManager) UpdateCachedRouter added in v1.1.6

func (self *RouterManager) UpdateCachedRouter(id string)

func (*RouterManager) UpdateTerminators added in v1.1.6

func (self *RouterManager) UpdateTerminators(router *Router, ctx boltz.MutateContext, f func(terminator *db.Terminator) error) error

func (*RouterManager) ValidateRouterSdkTerminators added in v1.1.6

func (self *RouterManager) ValidateRouterSdkTerminators(router *Router, cb func(detail *mgmt_pb.RouterSdkTerminatorsDetails))

type RouterPresenceHandler added in v1.2.0

type RouterPresenceHandler interface {
	RouterConnected(r *Router)
	RouterDisconnected(r *Router)
}

type RoutingTerminator added in v1.1.6

type RoutingTerminator struct {
	RouteCost uint32
	*Terminator
}

func (*RoutingTerminator) GetRouteCost added in v1.1.6

func (r *RoutingTerminator) GetRouteCost() uint32

type SdkInfo

type SdkInfo struct {
	AppId      string
	AppVersion string
	Branch     string
	Revision   string
	Type       string
	Version    string
}

func (*SdkInfo) Equals

func (self *SdkInfo) Equals(other *SdkInfo) bool

type Service

type Service struct {
	models.BaseEntity
	Name               string
	TerminatorStrategy string
	Terminators        []*Terminator
	MaxIdleTime        time.Duration
}

func (*Service) GetName added in v1.1.6

func (entity *Service) GetName() string

type ServiceConfig

type ServiceConfig struct {
	Service string
	Config  string
}

type ServiceDetail

type ServiceDetail struct {
	models.BaseEntity
	Name               string                            `json:"name"`
	MaxIdleTime        time.Duration                     `json:"maxIdleTime"`
	TerminatorStrategy string                            `json:"terminatorStrategy"`
	RoleAttributes     []string                          `json:"roleAttributes"`
	Permissions        []string                          `json:"permissions"`
	Configs            []string                          `json:"configs"`
	Config             map[string]map[string]interface{} `json:"config"`
	EncryptionRequired bool                              `json:"encryptionRequired"`
}

type ServiceDetailLister

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

func (*ServiceDetailLister) BaseLoadInTx

func (self *ServiceDetailLister) BaseLoadInTx(tx *bbolt.Tx, id string) (*ServiceDetail, error)

func (*ServiceDetailLister) BasePreparedList

func (self *ServiceDetailLister) BasePreparedList(query ast.Query) (*models.EntityListResult[*ServiceDetail], error)

func (*ServiceDetailLister) BasePreparedListIndexed

func (self *ServiceDetailLister) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[*ServiceDetail], error)

func (*ServiceDetailLister) GetListStore

func (self *ServiceDetailLister) GetListStore() boltz.Store

type ServiceEdgeRouterPolicy

type ServiceEdgeRouterPolicy struct {
	models.BaseEntity
	Name            string
	Semantic        string
	ServiceRoles    []string
	EdgeRouterRoles []string
}

type ServiceEdgeRouterPolicyManager

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

func NewServiceEdgeRouterPolicyManager

func NewServiceEdgeRouterPolicyManager(env Env) *ServiceEdgeRouterPolicyManager

func (*ServiceEdgeRouterPolicyManager) Annotate

func (self *ServiceEdgeRouterPolicyManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ServiceEdgeRouterPolicyManager) ApplyCreate

func (*ServiceEdgeRouterPolicyManager) ApplyDelete

func (self *ServiceEdgeRouterPolicyManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ServiceEdgeRouterPolicyManager) ApplyUpdate

func (*ServiceEdgeRouterPolicyManager) BaseList

func (self *ServiceEdgeRouterPolicyManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ServiceEdgeRouterPolicyManager) BaseLoad

func (self *ServiceEdgeRouterPolicyManager) BaseLoad(id string) (ME, error)

func (*ServiceEdgeRouterPolicyManager) BaseLoadInTx

func (self *ServiceEdgeRouterPolicyManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ServiceEdgeRouterPolicyManager) BasePreparedList

func (self *ServiceEdgeRouterPolicyManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ServiceEdgeRouterPolicyManager) BasePreparedListIndexed

func (self *ServiceEdgeRouterPolicyManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ServiceEdgeRouterPolicyManager) Create

func (*ServiceEdgeRouterPolicyManager) Delete

func (self *ServiceEdgeRouterPolicyManager) Delete(id string, ctx *change.Context) error

func (*ServiceEdgeRouterPolicyManager) Dispatch

func (self *ServiceEdgeRouterPolicyManager) Dispatch(command command.Command) error

func (*ServiceEdgeRouterPolicyManager) GetAnnotation

func (self *ServiceEdgeRouterPolicyManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ServiceEdgeRouterPolicyManager) GetDb

func (self *ServiceEdgeRouterPolicyManager) GetDb() boltz.Db

func (*ServiceEdgeRouterPolicyManager) GetEntityTypeId

func (self *ServiceEdgeRouterPolicyManager) GetEntityTypeId() string

func (*ServiceEdgeRouterPolicyManager) GetEnv

func (self *ServiceEdgeRouterPolicyManager) GetEnv() Env

func (*ServiceEdgeRouterPolicyManager) GetStore

func (self *ServiceEdgeRouterPolicyManager) GetStore() boltz.EntityStore[PE]

func (*ServiceEdgeRouterPolicyManager) IsEntityPresent added in v1.2.1

func (self *ServiceEdgeRouterPolicyManager) IsEntityPresent(id string) (bool, error)

func (*ServiceEdgeRouterPolicyManager) ListWithHandler

func (self *ServiceEdgeRouterPolicyManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ServiceEdgeRouterPolicyManager) Marshall

func (*ServiceEdgeRouterPolicyManager) PreparedListAssociatedWithHandler

func (self *ServiceEdgeRouterPolicyManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ServiceEdgeRouterPolicyManager) PreparedListIndexed

func (self *ServiceEdgeRouterPolicyManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ServiceEdgeRouterPolicyManager) PreparedListWithHandler

func (self *ServiceEdgeRouterPolicyManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ServiceEdgeRouterPolicyManager) Read

func (self *ServiceEdgeRouterPolicyManager) Read(id string) (ME, error)

func (*ServiceEdgeRouterPolicyManager) Unmarshall

func (self *ServiceEdgeRouterPolicyManager) Unmarshall(bytes []byte) (*ServiceEdgeRouterPolicy, error)

func (*ServiceEdgeRouterPolicyManager) Update

type ServiceListResult

type ServiceListResult struct {
	Services []*ServiceDetail

	models.QueryMetaData
	// contains filtered or unexported fields
}

type ServiceManager added in v1.1.6

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

func (*ServiceManager) Annotate added in v1.1.6

func (self *ServiceManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ServiceManager) ApplyCreate added in v1.1.6

func (*ServiceManager) ApplyDelete added in v1.1.6

func (self *ServiceManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ServiceManager) ApplyUpdate added in v1.1.6

func (*ServiceManager) BaseList added in v1.1.6

func (self *ServiceManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ServiceManager) BaseLoad added in v1.1.6

func (self *ServiceManager) BaseLoad(id string) (ME, error)

func (*ServiceManager) BaseLoadInTx added in v1.1.6

func (self *ServiceManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ServiceManager) BasePreparedList added in v1.1.6

func (self *ServiceManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ServiceManager) BasePreparedListIndexed added in v1.1.6

func (self *ServiceManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ServiceManager) Create added in v1.1.6

func (self *ServiceManager) Create(entity *Service, ctx *change.Context) error

func (*ServiceManager) Delete added in v1.1.6

func (self *ServiceManager) Delete(id string, ctx *change.Context) error

func (*ServiceManager) Dispatch added in v1.1.6

func (self *ServiceManager) Dispatch(command command.Command) error

func (*ServiceManager) GetAnnotation added in v1.1.6

func (self *ServiceManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ServiceManager) GetDb added in v1.1.6

func (self *ServiceManager) GetDb() boltz.Db

func (*ServiceManager) GetEntityTypeId added in v1.1.6

func (self *ServiceManager) GetEntityTypeId() string

func (*ServiceManager) GetEnv added in v1.1.6

func (self *ServiceManager) GetEnv() Env

func (*ServiceManager) GetIdForName added in v1.1.6

func (self *ServiceManager) GetIdForName(id string) (string, error)

func (*ServiceManager) GetStore added in v1.1.6

func (self *ServiceManager) GetStore() boltz.EntityStore[PE]

func (*ServiceManager) IsEntityPresent added in v1.2.1

func (self *ServiceManager) IsEntityPresent(id string) (bool, error)

func (*ServiceManager) ListWithHandler added in v1.1.6

func (self *ServiceManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ServiceManager) Marshall added in v1.1.6

func (self *ServiceManager) Marshall(entity *Service) ([]byte, error)

func (*ServiceManager) NotifyTerminatorChanged added in v1.1.6

func (self *ServiceManager) NotifyTerminatorChanged(terminator *db.Terminator) *db.Terminator

func (*ServiceManager) PreparedListAssociatedWithHandler added in v1.1.6

func (self *ServiceManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ServiceManager) PreparedListIndexed added in v1.1.6

func (self *ServiceManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ServiceManager) PreparedListWithHandler added in v1.1.6

func (self *ServiceManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ServiceManager) Read added in v1.1.6

func (self *ServiceManager) Read(id string) (entity *Service, err error)

func (*ServiceManager) RemoveFromCache added in v1.1.6

func (self *ServiceManager) RemoveFromCache(id string)

func (*ServiceManager) Unmarshall added in v1.1.6

func (self *ServiceManager) Unmarshall(bytes []byte) (*Service, error)

func (*ServiceManager) Update added in v1.1.6

func (self *ServiceManager) Update(entity *Service, updatedFields fields.UpdatedFields, ctx *change.Context) error

type ServicePolicy

type ServicePolicy struct {
	models.BaseEntity
	Name              string
	PolicyType        string
	Semantic          string
	IdentityRoles     []string
	ServiceRoles      []string
	PostureCheckRoles []string
}

type ServicePolicyManager

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

func NewServicePolicyManager

func NewServicePolicyManager(env Env) *ServicePolicyManager

func (*ServicePolicyManager) Annotate

func (self *ServicePolicyManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*ServicePolicyManager) ApplyCreate

func (*ServicePolicyManager) ApplyDelete

func (self *ServicePolicyManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*ServicePolicyManager) ApplyUpdate

func (*ServicePolicyManager) BaseList

func (self *ServicePolicyManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*ServicePolicyManager) BaseLoad

func (self *ServicePolicyManager) BaseLoad(id string) (ME, error)

func (*ServicePolicyManager) BaseLoadInTx

func (self *ServicePolicyManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*ServicePolicyManager) BasePreparedList

func (self *ServicePolicyManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*ServicePolicyManager) BasePreparedListIndexed

func (self *ServicePolicyManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*ServicePolicyManager) Create

func (self *ServicePolicyManager) Create(entity *ServicePolicy, ctx *change.Context) error

func (*ServicePolicyManager) Delete

func (self *ServicePolicyManager) Delete(id string, ctx *change.Context) error

func (*ServicePolicyManager) Dispatch

func (self *ServicePolicyManager) Dispatch(command command.Command) error

func (*ServicePolicyManager) GetAnnotation

func (self *ServicePolicyManager) GetAnnotation(entityId string, key string) (*string, error)

func (*ServicePolicyManager) GetDb

func (self *ServicePolicyManager) GetDb() boltz.Db

func (*ServicePolicyManager) GetEntityTypeId

func (self *ServicePolicyManager) GetEntityTypeId() string

func (*ServicePolicyManager) GetEnv

func (self *ServicePolicyManager) GetEnv() Env

func (*ServicePolicyManager) GetStore

func (self *ServicePolicyManager) GetStore() boltz.EntityStore[PE]

func (*ServicePolicyManager) IsEntityPresent added in v1.2.1

func (self *ServicePolicyManager) IsEntityPresent(id string) (bool, error)

func (*ServicePolicyManager) ListAssociatedIds added in v0.34.0

func (self *ServicePolicyManager) ListAssociatedIds(tx *bbolt.Tx, id string) *AssociatedIdsResult

func (*ServicePolicyManager) ListWithHandler

func (self *ServicePolicyManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*ServicePolicyManager) Marshall

func (self *ServicePolicyManager) Marshall(entity *ServicePolicy) ([]byte, error)

func (*ServicePolicyManager) PreparedListAssociatedWithHandler

func (self *ServicePolicyManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*ServicePolicyManager) PreparedListIndexed

func (self *ServicePolicyManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*ServicePolicyManager) PreparedListWithHandler

func (self *ServicePolicyManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*ServicePolicyManager) Read

func (self *ServicePolicyManager) Read(id string) (ME, error)

func (*ServicePolicyManager) Unmarshall

func (self *ServicePolicyManager) Unmarshall(bytes []byte) (*ServicePolicy, error)

func (*ServicePolicyManager) Update

func (self *ServicePolicyManager) Update(entity *ServicePolicy, checker fields.UpdatedFields, ctx *change.Context) error

type ServiceWithTimeout

type ServiceWithTimeout struct {
	Service *EdgeService
	Timeout int64
}

type Session

type Session struct {
	models.BaseEntity
	Token           string
	IdentityId      string
	ApiSessionId    string
	ServiceId       string
	Type            string
	ServicePolicies []string
}

type SessionListResult

type SessionListResult struct {
	Sessions []*Session
	models.QueryMetaData
	// contains filtered or unexported fields
}

type SessionManager

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

func NewSessionManager

func NewSessionManager(env Env) *SessionManager

func (*SessionManager) Annotate

func (self *SessionManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*SessionManager) ApplyDelete

func (self *SessionManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*SessionManager) BaseList

func (self *SessionManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*SessionManager) BaseLoad

func (self *SessionManager) BaseLoad(id string) (ME, error)

func (*SessionManager) BaseLoadInTx

func (self *SessionManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*SessionManager) BasePreparedList

func (self *SessionManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*SessionManager) BasePreparedListIndexed

func (self *SessionManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*SessionManager) Create

func (self *SessionManager) Create(entity *Session, ctx *change.Context) (string, error)

func (*SessionManager) CreateJwt added in v0.34.0

func (self *SessionManager) CreateJwt(entity *Session, ctx *change.Context) (string, error)

func (*SessionManager) Delete

func (self *SessionManager) Delete(id string, ctx *change.Context) error

func (*SessionManager) DeleteForIdentity

func (self *SessionManager) DeleteForIdentity(id, identityId string, ctx *change.Context) error

func (*SessionManager) Dispatch

func (self *SessionManager) Dispatch(command command.Command) error

func (*SessionManager) EvaluatePostureForService

func (self *SessionManager) EvaluatePostureForService(identityId, apiSessionId, sessionType, serviceId, serviceName string) *SessionPostureResult

func (*SessionManager) GetAnnotation

func (self *SessionManager) GetAnnotation(entityId string, key string) (*string, error)

func (*SessionManager) GetDb

func (self *SessionManager) GetDb() boltz.Db

func (*SessionManager) GetEntityTypeId

func (self *SessionManager) GetEntityTypeId() string

func (*SessionManager) GetEnv

func (self *SessionManager) GetEnv() Env

func (*SessionManager) GetStore

func (self *SessionManager) GetStore() boltz.EntityStore[PE]

func (*SessionManager) IsEntityPresent added in v1.2.1

func (self *SessionManager) IsEntityPresent(id string) (bool, error)

func (*SessionManager) ListSessionsForEdgeRouter

func (self *SessionManager) ListSessionsForEdgeRouter(edgeRouterId string) (*SessionListResult, error)

func (*SessionManager) ListWithHandler

func (self *SessionManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*SessionManager) PreparedListAssociatedWithHandler

func (self *SessionManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*SessionManager) PreparedListIndexed

func (self *SessionManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*SessionManager) PreparedListWithHandler

func (self *SessionManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*SessionManager) PublicQueryForIdentity

func (self *SessionManager) PublicQueryForIdentity(sessionIdentity *Identity, query ast.Query) (*SessionListResult, error)

func (*SessionManager) Query

func (self *SessionManager) Query(query string) (*SessionListResult, error)

func (*SessionManager) Read

func (self *SessionManager) Read(id string) (*Session, error)

func (*SessionManager) ReadByToken

func (self *SessionManager) ReadByToken(token string) (*Session, error)

func (*SessionManager) ReadForIdentity

func (self *SessionManager) ReadForIdentity(id string, identityId string) (*Session, error)

type SessionPostureResult

type SessionPostureResult struct {
	Passed           bool
	Failure          *PostureSessionRequestFailure
	PassingPolicyIds []string
	Cause            *fabricApiError.GenericCauseError
}

type Terminator added in v1.1.6

type Terminator struct {
	models.BaseEntity
	Service         string
	Router          string
	Binding         string
	Address         string
	InstanceId      string
	InstanceSecret  []byte
	Cost            uint16
	Precedence      xt.Precedence
	PeerData        map[uint32][]byte
	HostId          string
	SavedPrecedence xt.Precedence
	SourceCtrl      string
}

func (*Terminator) GetAddress added in v1.1.6

func (entity *Terminator) GetAddress() string

func (*Terminator) GetBinding added in v1.1.6

func (entity *Terminator) GetBinding() string

func (*Terminator) GetCost added in v1.1.6

func (entity *Terminator) GetCost() uint16

func (*Terminator) GetHostId added in v1.1.6

func (entity *Terminator) GetHostId() string

func (*Terminator) GetInstanceId added in v1.1.6

func (entity *Terminator) GetInstanceId() string

func (*Terminator) GetInstanceSecret added in v1.1.6

func (entity *Terminator) GetInstanceSecret() []byte

func (*Terminator) GetPeerData added in v1.1.6

func (entity *Terminator) GetPeerData() xt.PeerData

func (*Terminator) GetPrecedence added in v1.1.6

func (entity *Terminator) GetPrecedence() xt.Precedence

func (*Terminator) GetRouterId added in v1.1.6

func (entity *Terminator) GetRouterId() string

func (*Terminator) GetServiceId added in v1.1.6

func (entity *Terminator) GetServiceId() string

func (*Terminator) GetSourceCtrl added in v1.2.1

func (entity *Terminator) GetSourceCtrl() string

type TerminatorListResult added in v1.1.6

type TerminatorListResult struct {
	Entities []*Terminator
	models.QueryMetaData
	// contains filtered or unexported fields
}

type TerminatorManager added in v1.1.6

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

func (*TerminatorManager) Annotate added in v1.1.6

func (self *TerminatorManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*TerminatorManager) ApplyCreate added in v1.1.6

func (*TerminatorManager) ApplyDelete added in v1.1.6

func (self *TerminatorManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*TerminatorManager) ApplyDeleteBatch added in v1.1.6

func (self *TerminatorManager) ApplyDeleteBatch(cmd *DeleteTerminatorsBatchCommand, ctx boltz.MutateContext) error

func (*TerminatorManager) ApplyUpdate added in v1.1.6

func (*TerminatorManager) BaseList added in v1.1.6

func (self *TerminatorManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*TerminatorManager) BaseLoad added in v1.1.6

func (self *TerminatorManager) BaseLoad(id string) (ME, error)

func (*TerminatorManager) BaseLoadInTx added in v1.1.6

func (self *TerminatorManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*TerminatorManager) BasePreparedList added in v1.1.6

func (self *TerminatorManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*TerminatorManager) BasePreparedListIndexed added in v1.1.6

func (self *TerminatorManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*TerminatorManager) Create added in v1.1.6

func (self *TerminatorManager) Create(entity *Terminator, ctx *change.Context) error

func (*TerminatorManager) Delete added in v1.1.6

func (self *TerminatorManager) Delete(id string, ctx *change.Context) error

func (*TerminatorManager) DeleteBatch added in v1.1.6

func (self *TerminatorManager) DeleteBatch(ids []string, ctx *change.Context) error

func (*TerminatorManager) Dispatch added in v1.1.6

func (self *TerminatorManager) Dispatch(command command.Command) error

func (*TerminatorManager) GetAnnotation added in v1.1.6

func (self *TerminatorManager) GetAnnotation(entityId string, key string) (*string, error)

func (*TerminatorManager) GetDb added in v1.1.6

func (self *TerminatorManager) GetDb() boltz.Db

func (*TerminatorManager) GetEntityTypeId added in v1.1.6

func (self *TerminatorManager) GetEntityTypeId() string

func (*TerminatorManager) GetEnv added in v1.1.6

func (self *TerminatorManager) GetEnv() Env

func (*TerminatorManager) GetStore added in v1.1.6

func (self *TerminatorManager) GetStore() boltz.EntityStore[PE]

func (*TerminatorManager) HandlePrecedenceChange added in v1.1.6

func (self *TerminatorManager) HandlePrecedenceChange(terminatorId string, precedence xt.Precedence)

func (*TerminatorManager) IsEntityPresent added in v1.2.1

func (self *TerminatorManager) IsEntityPresent(id string) (bool, error)

func (*TerminatorManager) ListWithHandler added in v1.1.6

func (self *TerminatorManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*TerminatorManager) Marshall added in v1.1.6

func (self *TerminatorManager) Marshall(entity *Terminator) ([]byte, error)

func (*TerminatorManager) PreparedListAssociatedWithHandler added in v1.1.6

func (self *TerminatorManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*TerminatorManager) PreparedListIndexed added in v1.1.6

func (self *TerminatorManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*TerminatorManager) PreparedListWithHandler added in v1.1.6

func (self *TerminatorManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*TerminatorManager) Query added in v1.1.6

func (self *TerminatorManager) Query(query string) (*TerminatorListResult, error)

func (*TerminatorManager) Read added in v1.1.6

func (self *TerminatorManager) Read(id string) (ME, error)

func (*TerminatorManager) Unmarshall added in v1.1.6

func (self *TerminatorManager) Unmarshall(bytes []byte) (*Terminator, error)

func (*TerminatorManager) Update added in v1.1.6

func (self *TerminatorManager) Update(entity *Terminator, updatedFields fields.UpdatedFields, ctx *change.Context) error

func (*TerminatorManager) ValidateTerminators added in v1.1.6

func (self *TerminatorManager) ValidateTerminators(filter string, fixInvalid bool, cb TerminatorValidationCallback) (uint64, error)

type TerminatorValidationCallback added in v1.1.6

type TerminatorValidationCallback func(detail *mgmt_pb.TerminatorDetail)

type TestContext

type TestContext struct {
	*db.TestContext
	// contains filtered or unexported fields
}

func NewTestContext

func NewTestContext(t testing.TB) *TestContext

func (*TestContext) AddRouterPresenceHandler added in v1.2.0

func (self *TestContext) AddRouterPresenceHandler(RouterPresenceHandler)

func (*TestContext) Cleanup

func (ctx *TestContext) Cleanup()

func (*TestContext) Generate

func (ctx *TestContext) Generate(jwt.Claims) (string, error)

func (*TestContext) GetApiAddresses added in v1.1.6

func (self *TestContext) GetApiAddresses() (map[string][]event.ApiAddress, []byte)

func (*TestContext) GetApiClientCsrSigner

func (ctx *TestContext) GetApiClientCsrSigner() cert.Signer

func (*TestContext) GetApiServerCsrSigner

func (ctx *TestContext) GetApiServerCsrSigner() cert.Signer

func (*TestContext) GetAuthRegistry

func (ctx *TestContext) GetAuthRegistry() AuthRegistry

func (*TestContext) GetCloseNotifyChannel added in v1.1.6

func (self *TestContext) GetCloseNotifyChannel() <-chan struct{}

func (*TestContext) GetCommandDispatcher added in v1.1.6

func (self *TestContext) GetCommandDispatcher() command.Dispatcher

func (*TestContext) GetConfig

func (ctx *TestContext) GetConfig() *config.Config

func (*TestContext) GetControlClientCsrSigner

func (ctx *TestContext) GetControlClientCsrSigner() cert.Signer

func (*TestContext) GetEnrollRegistry

func (ctx *TestContext) GetEnrollRegistry() EnrollmentRegistry

func (*TestContext) GetEnrollmentJwtSigner added in v1.2.0

func (ctx *TestContext) GetEnrollmentJwtSigner() (jwtsigner.Signer, error)

func (*TestContext) GetEventDispatcher added in v1.1.14

func (ctx *TestContext) GetEventDispatcher() event.Dispatcher

func (*TestContext) GetFingerprintGenerator

func (ctx *TestContext) GetFingerprintGenerator() cert.FingerprintGenerator

func (*TestContext) GetId added in v1.2.1

func (ctx *TestContext) GetId() string

func (*TestContext) GetManagers

func (ctx *TestContext) GetManagers() *Managers

func (*TestContext) GetMetricsRegistry

func (ctx *TestContext) GetMetricsRegistry() metrics.Registry

func (*TestContext) GetPeerControllerAddresses added in v0.34.0

func (ctx *TestContext) GetPeerControllerAddresses() []string

func (*TestContext) GetPeerSigners added in v1.1.6

func (self *TestContext) GetPeerSigners() []*x509.Certificate

func (*TestContext) GetRaftInfo added in v1.1.6

func (self *TestContext) GetRaftInfo() (string, string, string)

func (*TestContext) GetServerCert

func (ctx *TestContext) GetServerCert() (*tls.Certificate, string, jwt.SigningMethod)

func (*TestContext) GetServerJwtSigner added in v0.34.0

func (ctx *TestContext) GetServerJwtSigner() jwtsigner.Signer

func (*TestContext) HandleServiceUpdatedEventForIdentityId

func (ctx *TestContext) HandleServiceUpdatedEventForIdentityId(string)

func (*TestContext) Identity added in v1.1.6

func (self *TestContext) Identity() identity.Identity

func (*TestContext) IsEdgeRouterOnline

func (ctx *TestContext) IsEdgeRouterOnline(string) bool

func (*TestContext) JwtSignerKeyFunc

func (ctx *TestContext) JwtSignerKeyFunc(*jwt.Token) (interface{}, error)

func (*TestContext) KeyId added in v0.34.0

func (ctx *TestContext) KeyId() string

func (*TestContext) OidcIssuer added in v0.34.0

func (ctx *TestContext) OidcIssuer() string

func (*TestContext) RootIssuer added in v0.34.0

func (ctx *TestContext) RootIssuer() string

func (*TestContext) Shutdown added in v1.1.6

func (self *TestContext) Shutdown()

func (*TestContext) SigningMethod added in v0.34.0

func (ctx *TestContext) SigningMethod() jwt.SigningMethod

func (*TestContext) Stop added in v1.1.6

func (self *TestContext) Stop()

func (*TestContext) ValidateAccessToken added in v0.34.0

func (ctx *TestContext) ValidateAccessToken(token string) (*common.AccessClaims, error)

func (*TestContext) ValidateServiceAccessToken added in v0.34.0

func (ctx *TestContext) ValidateServiceAccessToken(token string, apiSessionId *string) (*common.ServiceAccessClaims, error)

type TransitRouter

type TransitRouter struct {
	models.BaseEntity
	Name                  string
	Fingerprint           *string
	IsVerified            bool
	IsBase                bool
	UnverifiedFingerprint *string
	UnverifiedCertPem     *string
	Cost                  uint16
	NoTraversal           bool
	Disabled              bool
}

func (*TransitRouter) GetName

func (self *TransitRouter) GetName() string

type TransitRouterManager

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

func NewTransitRouterManager

func NewTransitRouterManager(env Env) *TransitRouterManager

func (*TransitRouterManager) Annotate

func (self *TransitRouterManager) Annotate(ctx boltz.MutateContext, entityId string, key, value string) error

func (*TransitRouterManager) ApplyCreate

func (*TransitRouterManager) ApplyDelete

func (self *TransitRouterManager) ApplyDelete(cmd *command.DeleteEntityCommand, ctx boltz.MutateContext) error

func (*TransitRouterManager) ApplyUpdate

func (*TransitRouterManager) BaseList

func (self *TransitRouterManager) BaseList(query string) (*models.EntityListResult[ME], error)

func (*TransitRouterManager) BaseLoad

func (self *TransitRouterManager) BaseLoad(id string) (ME, error)

func (*TransitRouterManager) BaseLoadInTx

func (self *TransitRouterManager) BaseLoadInTx(tx *bbolt.Tx, id string) (ME, error)

func (*TransitRouterManager) BasePreparedList

func (self *TransitRouterManager) BasePreparedList(query ast.Query) (*models.EntityListResult[ME], error)

func (*TransitRouterManager) BasePreparedListIndexed

func (self *TransitRouterManager) BasePreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query) (*models.EntityListResult[ME], error)

func (*TransitRouterManager) CollectEnrollments

func (self *TransitRouterManager) CollectEnrollments(id string, collector func(entity *Enrollment) error) error

func (*TransitRouterManager) Create

func (self *TransitRouterManager) Create(txRouter *TransitRouter, ctx *change.Context) error

func (*TransitRouterManager) Delete

func (self *TransitRouterManager) Delete(id string, ctx *change.Context) error

func (*TransitRouterManager) Dispatch

func (self *TransitRouterManager) Dispatch(command command.Command) error

func (*TransitRouterManager) ExtendEnrollment

func (self *TransitRouterManager) ExtendEnrollment(router *TransitRouter, clientCsrPem []byte, serverCertCsrPem []byte, ctx *change.Context) (*ExtendedCerts, error)

func (*TransitRouterManager) ExtendEnrollmentVerify

func (self *TransitRouterManager) ExtendEnrollmentVerify(router *TransitRouter, ctx *change.Context) error

func (*TransitRouterManager) ExtendEnrollmentWithVerify

func (self *TransitRouterManager) ExtendEnrollmentWithVerify(router *TransitRouter, clientCsrPem []byte, serverCertCsrPem []byte, ctx *change.Context) (*ExtendedCerts, error)

func (*TransitRouterManager) GetAnnotation

func (self *TransitRouterManager) GetAnnotation(entityId string, key string) (*string, error)

func (*TransitRouterManager) GetDb

func (self *TransitRouterManager) GetDb() boltz.Db

func (*TransitRouterManager) GetEntityTypeId

func (self *TransitRouterManager) GetEntityTypeId() string

func (*TransitRouterManager) GetEnv

func (self *TransitRouterManager) GetEnv() Env

func (*TransitRouterManager) GetStore

func (self *TransitRouterManager) GetStore() boltz.EntityStore[PE]

func (*TransitRouterManager) IsEntityPresent added in v1.2.1

func (self *TransitRouterManager) IsEntityPresent(id string) (bool, error)

func (*TransitRouterManager) ListWithHandler

func (self *TransitRouterManager) ListWithHandler(queryString string, resultHandler models.ListResultHandler) error

func (*TransitRouterManager) Marshall

func (self *TransitRouterManager) Marshall(entity *TransitRouter) ([]byte, error)

func (*TransitRouterManager) PreparedListAssociatedWithHandler

func (self *TransitRouterManager) PreparedListAssociatedWithHandler(id string, association string, query ast.Query, handler models.ListResultHandler) error

func (*TransitRouterManager) PreparedListIndexed

func (self *TransitRouterManager) PreparedListIndexed(cursorProvider ast.SetCursorProvider, query ast.Query, resultHandler models.ListResultHandler) error

func (*TransitRouterManager) PreparedListWithHandler

func (self *TransitRouterManager) PreparedListWithHandler(query ast.Query, resultHandler models.ListResultHandler) error

func (*TransitRouterManager) ProtobufToTransitRouter

func (self *TransitRouterManager) ProtobufToTransitRouter(msg *edge_cmd_pb.TransitRouter) (*TransitRouter, error)

func (*TransitRouterManager) Read

func (self *TransitRouterManager) Read(id string) (ME, error)

func (*TransitRouterManager) ReadOneByFingerprint

func (self *TransitRouterManager) ReadOneByFingerprint(fingerprint string) (*TransitRouter, error)

func (*TransitRouterManager) ReadOneByQuery

func (self *TransitRouterManager) ReadOneByQuery(query string) (*TransitRouter, error)

func (*TransitRouterManager) ReadOneByUnverifiedFingerprint

func (self *TransitRouterManager) ReadOneByUnverifiedFingerprint(fingerprint string) (*TransitRouter, error)

func (*TransitRouterManager) TransitRouterToProtobuf

func (self *TransitRouterManager) TransitRouterToProtobuf(entity *TransitRouter) (*edge_cmd_pb.TransitRouter, error)

func (*TransitRouterManager) Unmarshall

func (self *TransitRouterManager) Unmarshall(bytes []byte) (*TransitRouter, error)

func (*TransitRouterManager) Update

func (self *TransitRouterManager) Update(entity *TransitRouter, unrestricted bool, checker fields.UpdatedFields, ctx *change.Context) error

type UpdateServiceConfigsCmd

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

func (*UpdateServiceConfigsCmd) Apply

func (*UpdateServiceConfigsCmd) Decode

func (*UpdateServiceConfigsCmd) Encode

func (self *UpdateServiceConfigsCmd) Encode() ([]byte, error)

func (*UpdateServiceConfigsCmd) GetChangeContext

func (self *UpdateServiceConfigsCmd) GetChangeContext() *change.Context

type ValidateTerminatorRequestSendable added in v1.1.6

type ValidateTerminatorRequestSendable struct {
	channel.BaseSendListener
	*channel.Message
	// contains filtered or unexported fields
}

func (*ValidateTerminatorRequestSendable) AcceptReply added in v1.1.6

func (self *ValidateTerminatorRequestSendable) AcceptReply(message *channel.Message)

func (*ValidateTerminatorRequestSendable) Context added in v1.1.6

func (*ValidateTerminatorRequestSendable) ReplyReceiver added in v1.1.6

func (self *ValidateTerminatorRequestSendable) ReplyReceiver() channel.ReplyReceiver

func (*ValidateTerminatorRequestSendable) SendListener added in v1.1.6

func (self *ValidateTerminatorRequestSendable) SendListener() channel.SendListener

Source Files

Jump to

Keyboard shortcuts

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