بنقرة واحدة
nic-planning
// Task planning and approach strategy for NIC. Use when starting any non-trivial task, reading issues or specs, planning before implementing, or when asked to create a plan for a change.
// Task planning and approach strategy for NIC. Use when starting any non-trivial task, reading issues or specs, planning before implementing, or when asked to create a plan for a change.
Debugging and troubleshooting patterns for NIC. Use when diagnosing failures, tracing issues, investigating NGINX reload errors, config generation bugs, or controller sync problems.
CI/CD pipeline structure, GitHub Actions workflows, reusable workflow patterns, and matrix builds for NIC. Use when working on CI workflows, debugging build failures, adding new workflow steps, modifying build matrices, or understanding the release pipeline.
Docker image build system, Dockerfile structure, image variants, build scripts, and Makefile targets for NIC. Use when building container images, modifying the Dockerfile, adding new image variants, debugging image builds, or working with build scripts.
NIC architecture, resource processing pipeline, template systems, and key type definitions. Use when exploring the codebase, understanding data flow, debugging config generation, or working on controller logic.
Checklists for adding Ingress annotations, VirtualServer/VSR fields, or Helm chart values to NIC. Use when adding new configuration options, new NGINX directives, new annotations, new CRD fields, or new Helm values.
Step-by-step checklist for adding a new Policy CRD type to NIC. Use when implementing a new policy like AccessControl, RateLimit, JWTAuth, ExternalAuth, BasicAuth, IngressMTLS, EgressMTLS, OIDC, WAF, APIKey, Cache, or CORS, or extending the policy system with a new policy type.
| name | nic-planning |
| description | Task planning and approach strategy for NIC. Use when starting any non-trivial task, reading issues or specs, planning before implementing, or when asked to create a plan for a change. |
pkg/apis/configuration/v1/types.go)pkg/apis/configuration/validation/)internal/k8s/)internal/configs/)internal/configs/version1/ or version2/)internal/nginx/)charts/nginx-ingress/)containsDangerousChars() on user strings reaching NGINX configzz_generated.deepcopy.go manuallyFor any change, ask:
types.go? → Run make update-codegen then make update-crdsnginx.ingress.tmpl AND nginx-plus.ingress.tmpl (or v2 equivalents)values.yaml, values.schema.json, and helmunit testsmake test-update-snaps after implementation| Scope | Indicators | Action |
|---|---|---|
| Trivial | Typo, docs, comment fix | Fix directly, no plan needed |
| Small | Single layer, <50 lines, no API change | Brief plan → implement → test |
| Medium | 2-3 layers, new field or annotation | Detailed plan → implement layer by layer → test each |
| Large | New subsystem, new policy type, cross-cutting | Write plan document → get approval → implement in stages |
types.go without running codegenWhen a change spans multiple layers, implement in this order:
types.gomake update-codegen && make update-crdspkg/apis/configuration/validation/version1/ or version2/internal/configs/.tmpl files (OSS + Plus)