Repository navigation
EPMDEDP-17429: Check provider support before reading GitServer credentials - #99
Merged
Merged
Conversation
SergK
force-pushed
the
EPMDEDP-17429-provider-capabilities
branch
2 times, most recently
from
October 23, 2026 10:40
2e98a34 to
bbe46f4
Compare
…redentials - GitServerService.Resolve reads the GitServer CR, runs the support check, then reads the Secret and token - an unsupported operation never reads the Secret; the token check stays strict for every provider - each multi-provider service owns one lookup per operation, used by dispatch and by its Check* method - PipelineTrigger is an optional provider capability; the GitHub and Bitbucket stubs are deleted - caches: GitServer CR per name and token per Secret name, 60 s each; settings are built from the current CR - GitServerNames lists names, caches each listed CR and reads no Secrets - organization warm-up moves to OrganizationsService.WarmUp, started by BuildHandler; it skips unsupported servers and continues past failing ones - buildServer returns the server and the warm-up and does not start it Signed-off-by: Sergiy Kulanov <sergiy_kulanov@epam.com>
SergK
force-pushed
the
EPMDEDP-17429-provider-capabilities
branch
from
October 23, 2026 10:48
bbe46f4 to
bc08d34
Compare
Collaborator
Pipeline
|
| Status | Task | Duration |
|---|---|---|
| ✓ Passed | github-set-pending-status | 24s |
| ✓ Passed | fetch-repository | 29s |
| ✓ Passed | init-values | 6s |
| ✓ Passed | get-cache | 1m50s |
| ✓ Passed | commit-validate | 5s |
| ✓ Passed | dockerfile-lint | 21s |
| ✓ Passed | helm-lint | 16s |
| ✓ Passed | helm-docs | 8s |
| ✓ Passed | build | 1m27s |
| ✓ Passed | sonar | 20s |
| ✓ Passed | buildkit-verify | 13s |
| ✓ Passed | save-cache | 26s |
| ✓ Passed | github-report-pipeline-status | 8s |
Pushing new commits re-runs this pipeline automatically.
To re-run it without new commits, comment/recheck.
9 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Every request resolved credentials before it checked provider support. A Gerrit GitServer Secret holds an SSH key and no
token, so every Gerrit request failed with 500git provider token is empty. The organization warm-up stopped on the same error, for all GitServers.GitServerService.Resolvenow checks support before it reads the Secret:Check<Operation>. There is no central registry.TriggerPipelineis an optionalPipelineTriggercapability, likePipelineJobsProvider. The GitHub and Bitbucket stubs that only returned "unsupported" are deleted.OrganizationsService.WarmUp, started byBuildHandler. It skips unsupported GitServers and continues past failing ones.provider gerrit does not support listRepositories: unsupported operation.Supersedes #98. This PR reuses its
buildServerextraction, its all-routes API test and its Gerrit SSH-key Secret fixture, but it replaces the Gerrit token exception with the support check.Evidence
kind testbed, 9 routes × 6 GitServers, sent from an in-cluster pod:
0.8.0-SNAPSHOT.1)Warm-up log:
Failed to get git provider settings ... GitServer tst-gerrit: git provider token is empty(no GitServer warmed)tst-github-notokenlogged,Warmed up organization cache ... gitServerName=gitlabProvider change while the token is cached (on the cluster):
Tests:
make testpasses (lint 0 issues, CRAP gate passed) andgo test -race ./...passes.Merge Danger
Door: two-way
No data or schema migration. Revert the PR or roll back the image to undo it.
Blast Radius: API-consumers
GitServerService.GetGitProviderSettingsandGetGitProviderSettingsListare removed. Both are internal to gitfusion.unsupported provider gerrittoprovider gerrit does not support <operationId>: unsupported operation.