Files
zt/router/posture/domain.go
Andrew MartinezandGitHub bb5cc51a97 adds posture cache, instance, instance data, and event hooks (#3267)
* adds posture cache, instance, instance data, and event hooks

- reworks router security
- abstracts api session and service sessions
- use connection tracker instead of various maps
- doc
- adds service sessions as always JWTs
- addes token logging fields
- removes multiple connection tracking fields
- adds support for router specific posture data/respones
- adds support for router posture check evaluation
- defer dial/bind posture checking for legacy to controller
- fix double session event emitting
- fix session event missing id
2025-10-15 14:01:56 -04:00

43 lines
844 B
Go

package posture
import (
"github.com/openziti/ziti/common/pb/edge_ctrl_pb"
)
type DomainCheck struct {
*edge_ctrl_pb.DataState_PostureCheck
*edge_ctrl_pb.DataState_PostureCheck_Domains
}
func (m *DomainCheck) Evaluate(state *InstanceData) *CheckError {
if state == nil {
return &CheckError{
Id: m.Id,
Name: m.Name,
Cause: NilStateError,
}
}
notInListErr := &AnyInListError[Str]{
GivenValues: []Str{Str(state.Domain.Name)},
}
for _, domain := range m.Domains {
if state.Domain.Name != domain {
notInListErr.FailedValues = append(notInListErr.FailedValues, FailedValueError[Str]{
ExpectedValue: Str(domain),
GivenValue: Str(state.Domain.Name),
Reason: NotEqualError,
})
} else {
return nil
}
}
return &CheckError{
Id: m.Id,
Name: m.Name,
Cause: notInListErr,
}
}