- WHY: enforce identity-only contract boundaries for policy orchestration - WHAT: add thalos-owned policy contracts, adapters, and grpc translation surfaces - RULE: apply workspace dependency graph and identity ownership constraints
37 lines
1014 B
Plaintext
37 lines
1014 B
Plaintext
@startuml
|
|
skinparam packageStyle rectangle
|
|
|
|
package "thalos-service" {
|
|
package "Thalos.Service.Identity.Abstractions" {
|
|
class IssueIdentityTokenRequest
|
|
class IssueIdentityTokenResponse
|
|
class EvaluateIdentityPolicyRequest
|
|
class EvaluateIdentityPolicyResponse
|
|
class IdentityPolicyContextRequest
|
|
class IdentityPolicyContextResponse
|
|
class ThalosIdentityPackageContract
|
|
interface IdentityAbstractionBoundary
|
|
}
|
|
|
|
package "Thalos.Service.Application" {
|
|
interface IIssueIdentityTokenUseCase
|
|
class IssueIdentityTokenUseCase
|
|
interface IEvaluateIdentityPolicyUseCase
|
|
class EvaluateIdentityPolicyUseCase
|
|
interface IIdentityTokenReadPort
|
|
interface IIdentityPolicyContextReadPort
|
|
interface IIdentityCapabilityContractAdapter
|
|
interface IIdentityPolicyGrpcContractAdapter
|
|
}
|
|
|
|
package "Thalos.Service.Grpc" {
|
|
class Program
|
|
}
|
|
}
|
|
|
|
package "thalos-dal" as ThalosDal
|
|
|
|
IIdentityPolicyContextReadPort ..> ThalosDal
|
|
IIdentityTokenReadPort ..> ThalosDal
|
|
@enduml
|