Skip to content

Move token-provider related code to core - #146

Merged
s-vitaliy merged 3 commits into
mainfrom
move-more-code
Jul 15, 2026
Merged

Move token-provider related code to core#146
s-vitaliy merged 3 commits into
mainfrom
move-more-code

Conversation

@s-vitaliy

@s-vitaliy s-vitaliy commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Part of #71

Scope

Implemented:

  • The services required for the token issuance, moved to the boxer-core package.

Checklist

  • GitHub issue exists for this change.
  • Unit tests added and they pass.
  • Line Coverage is at least 80%.
  • Review requested on latest commit.

@github-actions

Copy link
Copy Markdown

Coverage after merging move-more-code into main will be

73.03%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/contracts/internal_token
   encrypted_token.rs80%100%80%80%15–16, 21–22
src/contracts/internal_token/v1
   boxer_claims.rs72.09%100%57.14%75%56–58, 60–62, 64–66
   token.rs100%100%100%100%
src/contracts/internal_token/v2
   boxer_claims.rs89.19%100%83.33%90.32%72–74
   internal_token.rs0%100%0%0%31–54, 60–69, 71–72, 74–77
src/http
   middleware.rs100%100%100%100%
   readiness.rs96.55%100%100%95.83%42
src/http/middleware
   extract_external_token.rs100%100%100%100%
   extract_internal_token.rs100%100%100%100%
   token_decryptor_middleware.rs89.47%100%66.67%93.75%
   tracer.rs0%100%0%0%30–37
src/http/middleware/audit
   audit_recorder.rs96.67%100%100%96.30%
   audit_scope.rs100%100%100%100%
   audited_error.rs62.77%100%44.44%64.71%100, 109–110, 140, 146–147, 152–155, 157, 163–165, 170–172, 23–29, 35–40
   audited_response.rs86.36%100%100%84.21%32–34
   begin_audit_chain.rs100%100%100%100%
   external_request.rs78.72%100%80%78.57%117, 125, 58–64
   internal_request.rs88.79%100%90.91%88.54%113, 121, 154, 157–158, 168, 180, 184, 196
src/http/middleware/audit/audit_recorder
   audit_recorder_factory.rs100%100%100%100%
src/http/middleware/token_decryptor_middleware
   token_decryptor_middleware_factory.rs100%100%100%100%
src/http/middleware/tracer
   tracer_middleware_factory.rs0%100%0%0%15–17, 32–41
src/models
   external_token.rs96.30%100%100%95.65%47
src/services
   token_decryption_service.rs94.44%100%100%93.94%53, 58
src/services/audit
   audit_facade.rs100%100%100%100%
   log_audit_service.rs0%100%0%0%15–17
src/services/audit/audit_facade
   to_audit_record.rs50%100%50%50%6–8
src/services/audit/chained
   audit_event.rs97.56%100%100%97.37%57
   chained_audit_event.rs19.35%100%25%18.52%35–41, 43–49, 51–57, 59–65, 67–76, 78–83
   policy_evaluation_result.rs100%100%100%100%
   token_audit_event.rs68.18%100%66.67%68.42%37–42
src/services/audit/events
   authorization_audit_event.rs30.43%100%40%27.78%30–38, 40–42
   resource_delete_audit_event.rs100%100%100%100%
   resource_modification_audit_event.rs100%100%100%100%
   token_validation_event.rs0%100%0%0%23–32, 34–36, 38–42, 44, 46–54, 64–66, 68, 70
src/services/backends
   memory.rs0%100%0%0%19–23, 25, 36–40, 42–45, 56–60
src/services/backends/kubernetes
   kubeconfig_loader.rs0%100%0%0%10–12, 14–16, 18–20, 38–42, 44, 46–51, 60–66, 72–76
   kubernetes_repository.rs59%100%44.44%60.44%118, 123, 125–127, 129, 131–132, 161, 166, 169, 174, 180, 182–183, 187, 43–49, 51–53, 55–57, 61–65
   kubernetes_resource_manager.rs90.65%100%84.62%91.49%175–176, 187–191
   logging_update_handler.rs85.71%100%100%84.62%24–25
src/services/backends/kubernetes/kubernetes_repository
   schema_repository.rs62.86%100%28.57%71.43%54–57
   to_resource.rs100%100%100%100%
   try_into_object_ref.rs62.50%100%50%64.29%39–43
src/services/backends/kubernetes/kubernetes_repository/schema_repository
   schema_document.rs93.75%100%85.71%96%
   test_reduced_schema.rs100%100%100%100%
   test_schema.rs100%100%100%100%
src/services/backends/kubernetes/kubernetes_resource_manager
   object_owner_mark.rs100%100%100%100%
   status.rs44.44%100%50%43.48%27, 33–36, 38, 42–44, 52, 54–56
src/services/backends/kubernetes/kubernetes_resource_manager/status
   not_found_details.rs100%100%100%100%
   owner_conflict_details.rs100%100%100%100%
src/services/external_identity_validator
   external_identity.rs100%100%100%100%
   oidc_external_identity_provider_settings.rs0%100%0%0%37–43
   oidc_validator.rs0%100%0%0%21–27, 30, 32, 34, 36, 40–46, 48–57
src/services/external_identity_validator_provider
   external_identity_provider.rs0%100%0%0%10–11, 16–18, 9
src/services/observability
   composed_logger.rs68.63%100%75%67.44%30–31, 33–35, 37–40, 65–69
src/services/observability/open_telemetry/metrics
   into_metric_tag.rs100%100%100%100%
src/services/token_decryption_service
   encryption_keys.rs100%100%100%100%
src/services/token_provider
   encrypted_token_service.rs96.30%100%66.67%98.04%
   principal.rs41.38%100%60%37.50%28–30, 32–36, 40–42, 50–53
src/services/validation_service
   cedar_validation_service.rs91.04%100%100%90.77%115–117, 135–137
   path_segment.rs81.82%100%100%80%20–21
   request_context.rs77.94%100%81.82%77.19%100–101, 37–43, 85, 97–98
   request_segment.rs80.95%100%50%84.21%44–45

@github-actions

Copy link
Copy Markdown

Coverage after merging move-more-code into main will be

72.52%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/contracts/internal_token
   encrypted_token.rs80%100%80%80%15–16, 21–22
src/contracts/internal_token/v1
   boxer_claims.rs72.09%100%57.14%75%56–58, 60–62, 64–66
   token.rs100%100%100%100%
src/contracts/internal_token/v2
   boxer_claims.rs89.19%100%83.33%90.32%72–74
   internal_token.rs0%100%0%0%31–54, 60–69, 71–72, 74–77
src/http
   middleware.rs100%100%100%100%
   readiness.rs96.55%100%100%95.83%42
src/http/middleware
   extract_external_token.rs100%100%100%100%
   extract_internal_token.rs100%100%100%100%
   token_decryptor_middleware.rs89.47%100%66.67%93.75%
   tracer.rs0%100%0%0%30–37
src/http/middleware/audit
   audit_recorder.rs96.67%100%100%96.30%
   audit_scope.rs100%100%100%100%
   audited_error.rs62.77%100%44.44%64.71%100, 109–110, 140, 146–147, 152–155, 157, 163–165, 170–172, 23–29, 35–40
   audited_response.rs86.36%100%100%84.21%32–34
   begin_audit_chain.rs100%100%100%100%
   external_request.rs78.72%100%80%78.57%117, 125, 58–64
   internal_request.rs88.79%100%90.91%88.54%113, 121, 154, 157–158, 168, 180, 184, 196
src/http/middleware/audit/audit_recorder
   audit_recorder_factory.rs100%100%100%100%
src/http/middleware/token_decryptor_middleware
   token_decryptor_middleware_factory.rs100%100%100%100%
src/http/middleware/tracer
   tracer_middleware_factory.rs0%100%0%0%15–17, 32–41
src/models
   external_token.rs96.30%100%100%95.65%47
src/services
   encrypted_token_service.rs96.30%100%66.67%98.04%
   token_decryption_service.rs94.44%100%100%93.94%53, 58
src/services/audit
   audit_facade.rs100%100%100%100%
   log_audit_service.rs0%100%0%0%15–17
src/services/audit/audit_facade
   to_audit_record.rs50%100%50%50%6–8
src/services/audit/chained
   audit_event.rs97.56%100%100%97.37%57
   chained_audit_event.rs19.35%100%25%18.52%35–41, 43–49, 51–57, 59–65, 67–76, 78–83
   policy_evaluation_result.rs100%100%100%100%
   token_audit_event.rs68.18%100%66.67%68.42%37–42
src/services/audit/events
   authorization_audit_event.rs30.43%100%40%27.78%30–38, 40–42
   resource_delete_audit_event.rs100%100%100%100%
   resource_modification_audit_event.rs100%100%100%100%
   token_validation_event.rs0%100%0%0%23–32, 34–36, 38–42, 44, 46–54, 64–66, 68, 70
src/services/backends
   memory.rs0%100%0%0%19–23, 25, 36–40, 42–45, 56–60
src/services/backends/kubernetes
   kubeconfig_loader.rs0%100%0%0%10–12, 14–16, 18–20, 38–42, 44, 46–51, 60–66, 72–76
   kubernetes_repository.rs59%100%44.44%60.44%118, 123, 125–127, 129, 131–132, 161, 166, 169, 174, 180, 182–183, 187, 43–49, 51–53, 55–57, 61–65
   kubernetes_resource_manager.rs90.65%100%84.62%91.49%175–176, 187–191
   logging_update_handler.rs100%100%100%100%
src/services/backends/kubernetes/kubernetes_repository
   schema_repository.rs62.86%100%28.57%71.43%54–57
   to_resource.rs100%100%100%100%
   try_into_object_ref.rs62.50%100%50%64.29%39–43
src/services/backends/kubernetes/kubernetes_repository/schema_repository
   schema_document.rs93.75%100%85.71%96%
   test_reduced_schema.rs100%100%100%100%
   test_schema.rs100%100%100%100%
src/services/backends/kubernetes/kubernetes_resource_manager
   object_owner_mark.rs100%100%100%100%
   status.rs44.44%100%50%43.48%27, 33–36, 38, 42–44, 52, 54–56
src/services/backends/kubernetes/kubernetes_resource_manager/status
   not_found_details.rs100%100%100%100%
   owner_conflict_details.rs100%100%100%100%
src/services/external_identity_validator
   external_identity.rs100%100%100%100%
   oidc_external_identity_provider_settings.rs0%100%0%0%37–43
   oidc_validator.rs0%100%0%0%21–27, 30, 32, 34, 36, 40–46, 48–57
src/services/observability
   composed_logger.rs68.63%100%75%67.44%30–31, 33–35, 37–40, 65–69
src/services/observability/open_telemetry/metrics
   into_metric_tag.rs100%100%100%100%
src/services/token_decryption_service
   encryption_keys.rs100%100%100%100%
src/services/token_service
   internal_token_service.rs0%100%0%0%20–28, 33–38
src/services/token_service/internal_token_service/external_identity_validator_provider
   external_identity_provider.rs0%100%0%0%10–11, 16–18, 9
src/services/token_service/internal_token_service/token_provider
   principal.rs41.38%100%60%37.50%28–30, 32–36, 40–42, 50–53
src/services/validation_service
   cedar_validation_service.rs91.04%100%100%90.77%115–117, 135–137
   path_segment.rs81.82%100%100%80%20–21
   request_context.rs77.94%100%81.82%77.19%100–101, 37–43, 85, 97–98
   request_segment.rs80.95%100%50%84.21%44–45

@s-vitaliy
s-vitaliy marked this pull request as ready for review July 14, 2026 15:12
@s-vitaliy
s-vitaliy requested a review from a team as a code owner July 14, 2026 15:12
@s-vitaliy
s-vitaliy merged commit 9d3c0f2 into main Jul 15, 2026
1 check passed
@s-vitaliy
s-vitaliy deleted the move-more-code branch July 15, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants