Remove legacy API, rename component CRDs to v1alpha1 and prepare 3.0.0 - #22
Conversation
Expose the component-based controller through v1alpha1 Yanet/YanetConfig, remove legacy code and tests, and align chart, admission, metrics and documentation. Prepare chart 0.2.0 and make release.yml the sole stable-artifact publisher. Refs: NOCDEV-22322
🤖 AI Code ReviewChanged files: api/v1alpha1/yanet_types.go,api/v1alpha1/yanet_webhook.go,api/v1alpha1/yanet_webhook_test.go,api/v1alpha1/yanetconfig_types.go,api/v1alpha1/yanetconfig_webhook.go,api/v1alpha1/yanetconfig_webhook_test.go,api/v1alpha1/zz_generated.deepcopy.go,cmd/main.go,internal/controller/cleanup_regression_test.go,internal/controller/dataplane_networks_envtest_test.go,internal/controller/e2e_helpers_test.go,internal/controller/metrics.go,internal/controller/operator_placement_envtest_test.go,internal/controller/suite_test.go,internal/controller/webhook_test.go,internal/controller/yanet_autosync_e2e_test.go,internal/controller/yanet_conditions.go,internal/controller/yanet_controller.go,internal/controller/yanet_reconciler.go,internal/controller/yanet_reconciler_test.go,internal/controller/yanet_status_e2e_test.go,internal/controller/yanet_webhook_e2e_test.go,internal/controller/yanetconfig_controller.go,internal/helpers/operator_placement_test.go,internal/helpers/ptr.go,internal/manifests/builder.go,internal/manifests/dataplane_networks.go,internal/manifests/dataplane_networks_test.go,internal/manifests/operator_placement.go,internal/manifests/operator_placement_probes_test.go,internal/manifests/operator_placement_test.go,internal/manifests/patcher.go,internal/manifests/patcher_test.go,api/v1alpha1/config_source.go,api/v1alpha1/network_attachments.go,api/v1alpha1/network_attachments_test.go,api/v1alpha1/operator_placement_test.go,api/v1alpha1/operator_validation.go,internal/controller/defaulting_envtest_test.go,internal/controller/operator_examples_test.go,internal/controller/operator_placement.go,internal/controller/operator_placement_services_test.go,internal/controller/operator_placement_test.go,internal/controller/private_network_test.go,internal/controller/prune.go,internal/controller/shared_services.go,internal/controller/shared_services_review_test.go,internal/controller/shared_services_test.go,internal/controller/yanet_controller_review_test.go,internal/controller/yanet_reconciler_deletion_test.go,internal/controller/yanet_reconciler_extended_test.go,internal/controller/yanet_reconciler_h9_test.go,internal/controller/yanet_reconciler_hardening_test.go,internal/controller/yanet_reconciler_review_test.go,internal/controller/yanet_reconciler_sidecars_test.go,internal/controller/yanetconfig_controller_review_test.go,internal/controller/yanetconfig_controller_test.go,internal/helpers/resolve.go,internal/helpers/resolve_test.go,internal/manifests/builder_test.go,internal/manifests/labels.go,internal/manifests/labels_test.go,internal/manifests/listeners.go,internal/manifests/listeners_test.go,internal/manifests/pod_ports.go,internal/manifests/pod_ports_test.go,internal/manifests/runtime_network.go,internal/manifests/runtime_network_test.go,internal/manifests/service.go,internal/manifests/service_test.go This automated review checks for:
🔍 Static Analysis Results📊 Staticcheck✅ No issues found 🔒 Security Analysis (gosec)✅ No security issues found 🔧 Go Vet✅ No issues found 🏁 Race Detector✅ No race conditions detected 🚀 Concurrency Patterns AnalysisGoroutines found:Mutex usage:Context usage:Defer patterns:
|
Preserve ownership-safe cleanup under node conflicts, report read-only drift accurately, and retain patched init containers and NAD namespace identity. Wire admission TLS, custom ports and ServiceAccounts across deployment artifacts; propagate CI failures. Limit controlplane fan-out to four NUMA domains and add regression coverage with failure-sensitivity checks. Refs: NOCDEV-22322
🤖 AI Code ReviewThis workflow runs:
🔍 Static Analysis Results📊 Staticcheck🔒 Security Analysis (gosec)✅ No security issues found 🔧 Go Vet✅ No issues found 🏁 Race Detector✅ Full test suite passed with the race detector Passing checks do not prove the absence of races or deadlocks, or correctness of context and goroutine lifecycles. |
Use explicit RequeueAfter for finalizer initialization and actionable lowercase error prefixes without suppressing checks. Verify the public finalizer follow-up creates owned, synced workloads. Refs: NOCDEV-22322
🤖 AI Code ReviewThis workflow runs:
🔍 Static Analysis Results📊 Staticcheck✅ No issues found 🔒 Security Analysis (gosec)✅ No security issues found 🔧 Go Vet✅ No issues found 🏁 Race Detector✅ Full test suite passed with the race detector Passing checks do not prove the absence of races or deadlocks, or correctness of context and goroutine lifecycles. |
Summary
Compatibility and release
This requires a coordinated clean CRD installation and recreated resources. Helm does not upgrade/delete CRDs from crds/, and the old namespaced YanetConfig cannot change scope in place. See release-notes/v3.0.0.md. The YANET2 runtime paths/images retain their names.
The release tag and stable artifacts are to be published after review/merge. Target-cluster replacement/runtime qualification remains a separate step.
Verification
Refs: NOCDEV-22322