feat(src/operator): add blueking-apigateway-operator into blueking-ap…#2767
Conversation
PR ReviewReview Scope
变更概览
历史评论核对
发现的问题Blocking
Important
Suggestion
优点
测试与文档建议
结论整体看,这个 PR 的导入和 module rename 是可读、可追踪的;建议合入前优先确认 Docker 镜像版本信息注入问题,其他两个是低风险清理项。 [from-codex local repo] |
PR Review Follow-up我又挑了 operator 的关键运行路径看了一轮:启动/配置、leader/agent、registry/store/synchronizer、committer、schema validator。PR head 仍是 发现的问题Important
补充说明
[from-codex local repo] |
Why this change was needed: The root AGENTS.md project tree did not list the operator subproject, so agents starting from the repository root could miss the local src/operator guidance. What changed: - Added src/operator to the root project structure - Pointed readers to src/operator/AGENTS.md Problem solved: Future repo-level agent work can discover the operator handbook from the root project overview.
Why this change was needed: CI builds the operator image from src/operator, so the Docker build context does not include the repository .git directory. The previous image build recalculated git metadata inside the builder container and could overwrite version fields with empty strings. What changed: - Define VERSION and COMMIT in the operator Makefile from the real checkout - Pass those values into docker build as build args - Make the Dockerfile pass VERSION and COMMIT through to make build - Normalize trailing whitespace in operator debug docs and schema tests Problem solved: Operator images built by integration CI and release pipelines keep traceable version and commit metadata even when the Docker context excludes .git, with the related operator files committed together as requested.
|
fixed:
|
Why this change was needed: Recovered goroutine panics are meant to be a last-resort safety path, but two operator paths could still fail after recovery: disabled Sentry left the hub without a client, and a global resource panic could leave commitGroup blocked on its WaitGroup. What changed: - Report recovered panic messages through sentry.CaptureMessage so a missing client is handled by sentry-go. - Defer WaitGroup completion in the global resource commit goroutine. - Add regression tests for Sentry-disabled recovery and global resource commit panic handling. Problem solved: A panic in wrapped operator goroutines no longer risks a secondary recovery panic or a stuck global plugin metadata commit batch.
PR ReviewReview Scope
变更概览
历史评论核对
发现的问题Blocking
Important
Suggestion
优点
测试与文档建议
结论建议先处理 Blocking 的 global resource key parsing 问题,再处理 TLS 校验、debug/默认密码、version probe 并发和 event reporter 背压这些 Important 项。旧 review 的三个历史 Important 已经修复,但当前 head 仍不建议直接合入。 [from-codex local repo] |
|
处理: [【新】] src/operator/pkg/client/apisix.go:100 [【新】] src/operator/pkg/core/registry/apigw.go:281 / src/operator/pkg/core/registry/apigw.go:454 [【新】] src/operator/pkg/config/config.go:298 / src/operator/config.yaml.tpl:1 [【新】] src/operator/pkg/config/config.go:205 / src/operator/config.yaml.tpl:45-50 [【新】] src/operator/pkg/apis/open/serializer/common.go:27 / src/operator/pkg/client/resource_slz.go:29 剩余的已经录单,下个小版本处理 |
Why this change was needed: Operator review found a few debug/runtime correctness gaps: local debug defaults drifted from the deployed dashboard prefix, version probes mutated a package-level retry evaluator while probes can run concurrently, and debug resource list DTOs used ssl instead of the ssls field emitted by the real APISIX resource entity. What changed: - Updated operator debug defaults for dashboard etcd prefix and loopback HTTP binding. - Reworked APISIX release-version probing to use request-local retry evaluation instead of the global gentleman-retry evaluator. - Aligned debug list serializers and CLI output with the ssls field, with regression tests for SSL resources. - Cleaned up debug command documentation and integration compose formatting. Problem solved: Debug/list APIs now preserve SSL resources, concurrent version probes no longer race through global retry state, and local operator defaults better match the intended debug deployment shape.
…igateway project
Description
将 https://github.com/TencentBlueKing/blueking-apigateway-operator 最新代码合入 src/operator
Fixes # (issue)
Checklist