Simplify registerSecretInGatewayConfig to reduce cyclomatic complexity - #5491
Merged
Merged
Conversation
|
Hi @somaz94! Thanks for opening this pull request! Please make sure to include the issue number in the PR description to automatically close the issue when the PR is merged. |
bjee19
approved these changes
Jun 24, 2026
salonichf5
approved these changes
Jun 25, 2026
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.
Proposed changes
Problem:
registerSecretInGatewayConfigcarried a//nolint:gocyclobecause it duplicated the same five-case named-secret switch across the new-entry and existing-entry branches.Solution: extract the duplicated named-secret switch into a small
assignNamedSecrethelper (shared by both branches) and hoist the localhasSuffixclosure to a package-level function. The two branches are NOT merged: the docker-secret handling keeps its original asymmetry exactly (the new-entry path overwrites the map entry on first match withbreak; the existing-entry path appends). This is a behavior-preserving refactor that drops the//nolint:gocyclo.Testing:
go test ./internal/controller/provisioner/...passes unchanged (existingTestRegisterResourceInGatewayConfigcovers every secret type across both new and existing-entry paths).golangci-lint run ./internal/controller/provisioner/...reports 0 issues (gocyclo min-complexity 15; the nolint is removed).related: #5253