Skip to content

feat(declarative): expand external resource lookups - #2012

Merged
rspurgeon merged 4 commits into
mainfrom
gh-1674-expanded-lookups
Aug 29, 2026
Merged

feat(declarative): expand external resource lookups#2012
rspurgeon merged 4 commits into
mainfrom
gh-1674-expanded-lookups

Conversation

@rspurgeon

@rspurgeon rspurgeon commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • centralize declarative external lookup capabilities and relationship metadata
  • expand external lookup support across eligible resource types, including APIs and authentication strategies
  • allow managed API children and role assignments to resolve external API parents without placing those parents in apply or sync scope
  • resolve dumped API publication auth strategy refs to resources recreated earlier in the same sync instead of reusing stale UUIDs
  • document lookup contracts and add declarative, integration, unit, and end-to-end coverage

Validation

  • go fix ./...
  • make format
  • make build
  • make test
  • make test-integration
  • E2E: dump/portal-owned

make lint reports the existing 56 generated/mock-file findings (50 line-length, 4 spelling, and 2 staticcheck); this change introduces no lint findings.

Closes #1674

@rspurgeon
rspurgeon requested review from a team as code owners August 28, 2026 15:11
@rspurgeon
rspurgeon temporarily deployed to kongctl-acceptance August 28, 2026 15:16 — with GitHub Actions Inactive
@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-4 August 28, 2026 15:16 — with GitHub Actions Failure
@rspurgeon
rspurgeon deployed to kongctl-acceptance-2 August 28, 2026 15:16 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-5 August 28, 2026 15:16 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-3 August 28, 2026 15:16 — with GitHub Actions Active
@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-2 August 28, 2026 15:51 — with GitHub Actions Failure
@rspurgeon
rspurgeon temporarily deployed to kongctl-acceptance August 28, 2026 15:51 — with GitHub Actions Inactive
@rspurgeon
rspurgeon deployed to kongctl-acceptance-4 August 28, 2026 15:51 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-3 August 28, 2026 15:51 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-5 August 28, 2026 15:51 — with GitHub Actions Active
@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-2 August 28, 2026 16:12 — with GitHub Actions Failure
@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-2 August 29, 2026 02:51 — with GitHub Actions Failure
@rspurgeon

Copy link
Copy Markdown
Collaborator Author

/ksai review

@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-2 August 29, 2026 03:08 — with GitHub Actions Failure
@github-actions

Copy link
Copy Markdown
Contributor

Run report (federated)

Item Detail
Conclusion success
Reviewed commit 3f851a3eeb1534ba7dc30173537b4a1e3df1c948
Model claude-opus-5 (effort high)
Arm source caller default
Triage 49 files, 2166 lines, risk true, api false, skills go-code-review
Triage reasons a change on an auth path decides who gets in
Plugin ref 7a653240672e97f9a61309a09d3617270ce34677
Prompt
Duration 1180s (19 turns)
Input tokens (incl. cache) 665097
Output tokens 10267
Permission denials 6
Total cost $7.6698
Classifier off — the comment named a verb, or no arm was usable

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict APPROVE_WITH_COMMENTS
Critical/High 0

The change adds a generic external-lookup registry, relationship discriminators, and _external support for Catalog APIs and application auth strategies. The refactor is internally consistent and has good unit, integration, and E2E coverage. One Medium issue survived the audit pass: the new shared auth-strategy resolver depends on an index alignment that the UPDATE planner path does not guarantee.

Additional Risk pass over the non-Go files (docs, example YAML, E2E scenario and testdata) found no leaked secrets, no new attack surface, and no resource leaks.

Comment thread internal/declarative/executor/executor.go
@rspurgeon
rspurgeon deployed to kongctl-acceptance-2 August 29, 2026 04:22 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-5 August 29, 2026 04:22 — with GitHub Actions Active
@rspurgeon
rspurgeon temporarily deployed to kongctl-acceptance August 29, 2026 04:22 — with GitHub Actions Inactive
@rspurgeon
rspurgeon had a problem deploying to kongctl-acceptance-4 August 29, 2026 04:22 — with GitHub Actions Failure
@rspurgeon
rspurgeon deployed to kongctl-acceptance-3 August 29, 2026 04:22 — with GitHub Actions Active
@rspurgeon
rspurgeon deployed to kongctl-acceptance-4 August 29, 2026 12:41 — with GitHub Actions Active
@rspurgeon
rspurgeon merged commit d9a05f4 into main Aug 29, 2026
37 of 40 checks passed
@rspurgeon
rspurgeon deleted the gh-1674-expanded-lookups branch August 29, 2026 12:58
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.

Task: Evaluate supporting _external resource lookup broadly across the resource type set

1 participant