Skip to content

feat(hub/frontdoorprofile): [PATCH 06/08] reconciler + WAF/Compliance…#385

Open
rchincha wants to merge 1 commit into
Azure:mainfrom
rchincha:rchinchani/afd-06-frontdoorprofile
Open

feat(hub/frontdoorprofile): [PATCH 06/08] reconciler + WAF/Compliance…#385
rchincha wants to merge 1 commit into
Azure:mainfrom
rchincha:rchinchani/afd-06-frontdoorprofile

Conversation

@rchincha

Copy link
Copy Markdown

…Mode enforcement + envtest

Part 06 of an 8-patch split of #373. First AFD reconciler: FrontDoorProfile.

  • pkg/controllers/hub/frontdoorprofile/controller.go — reconciles FrontDoorProfile CRs into Azure AFD Premium profiles.
  • pkg/controllers/hub/frontdoorprofile/waf.go — enforces WAFPolicyRef and ComplianceMode by attaching a SecurityPolicy to the profile. ComplianceMode=SFI-NS253 requires WAFPolicy to be set (validated at admission + reconcile time). Standard_AzureFrontDoor SKU rejected.
  • pkg/controllers/hub/frontdoorprofile/suite_test.go + controller_integration_test.go — envtest suite covering:
    • Programmed happy path
    • WAF not found -> Programmed=False with reason
    • SFI-Detection mode with unrelated policy
  • test/common/azurefrontdoor/fakeprovider/{profile,securitypolicy,wafpolicy}.go — in-memory armcdn fakes used by the envtest suite.

Depends on API types from PATCH 03 and SDK client bundle from PATCH 04.

Copilot-Session: a8fabc68-e113-49ef-b82d-d99a8502da11

What type of PR is this?

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Requirements:

How has this code been tested

Special notes for your reviewer

…Mode enforcement + envtest

Part 06 of an 8-patch split of Azure#373. First AFD reconciler: FrontDoorProfile.

- pkg/controllers/hub/frontdoorprofile/controller.go — reconciles
  FrontDoorProfile CRs into Azure AFD Premium profiles.
- pkg/controllers/hub/frontdoorprofile/waf.go — enforces WAFPolicyRef
  and ComplianceMode by attaching a SecurityPolicy to the profile.
  ComplianceMode=SFI-NS253 requires WAFPolicy to be set (validated at
  admission + reconcile time). Standard_AzureFrontDoor SKU rejected.
- pkg/controllers/hub/frontdoorprofile/suite_test.go +
  controller_integration_test.go — envtest suite covering:
  * Programmed happy path
  * WAF not found -> Programmed=False with reason
  * SFI-Detection mode with unrelated policy
- test/common/azurefrontdoor/fakeprovider/{profile,securitypolicy,wafpolicy}.go
  — in-memory armcdn fakes used by the envtest suite.

Depends on API types from PATCH 03 and SDK client bundle from PATCH 04.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a8fabc68-e113-49ef-b82d-d99a8502da11
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.

1 participant