@@ -296,6 +296,9 @@ sha256sum compiled-policy.tgz > compiled-policy.tgz.sha256
296
296
aws s3 cp compiled-policy.tgz s3://company-policies/prod-policy.tgz
297
297
aws s3 cp compiled-policy.tgz.sha256 s3://company-policies/prod-policy.tgz.sha256
298
298
299
+ # Note: In WAFPolicy, reference S3 objects using HTTPS URLs:
300
+ # fileLocation: "https://company-policies.s3.amazonaws.com/prod-policy.tgz"
301
+
299
302
# No Kubernetes resource changes needed - NGF automatically detects the update
300
303
echo "Policy updated. NGF will detect changes within polling interval."
301
304
```
@@ -427,6 +430,8 @@ spec:
427
430
428
431
### WAFPolicy Custom Resource with Policy Attachment
429
432
433
+ ** Note** : When referencing S3 objects, use HTTPS URLs (e.g., ` https://bucket.s3.amazonaws.com/path/file.tgz ` ) rather than S3 protocol URLs (` s3://bucket/path/file.tgz ` ).
434
+
430
435
``` yaml
431
436
apiVersion : gateway.nginx.org/v1alpha1
432
437
kind : WAFPolicy
@@ -442,7 +447,7 @@ spec:
442
447
namespace : applications
443
448
444
449
policySource :
445
- fileLocation : " s3 ://ngf-waf-policies/production/gateway-policy-v1.2.3.tgz"
450
+ fileLocation : " https ://ngf-waf-policies.s3.amazonaws.com /production/gateway-policy-v1.2.3.tgz"
446
451
authSecret :
447
452
name : " policy-store-credentials"
448
453
validation :
@@ -456,7 +461,7 @@ spec:
456
461
interval : " 5m" # Check every 5 minutes
457
462
# Optional: explicit checksum location
458
463
# If not specified, defaults to <fileLocation>.sha256
459
- checksumLocation : " s3 ://ngf-waf-policies/production/gateway-policy-v1.2.3.tgz"
464
+ checksumLocation : " https ://ngf-waf-policies.s3.amazonaws.com /production/gateway-policy-v1.2.3.tgz.sha256 "
460
465
461
466
# Retry configuration for policy fetch failures
462
467
retryPolicy :
@@ -480,7 +485,7 @@ spec:
480
485
# Custom logging profile bundle (similar to policy bundle)
481
486
# logProfile and logProfileBundle are mutually exclusive per security log configuration entry
482
487
logProfileBundle :
483
- fileLocation : " s3 ://ngf-waf-policies/logging/custom-log-profile.tgz"
488
+ fileLocation : " https ://ngf-waf-policies.s3.amazonaws.com /logging/custom-log-profile.tgz"
484
489
authSecret :
485
490
name : " policy-store-credentials"
486
491
validation :
@@ -527,7 +532,7 @@ spec:
527
532
528
533
# Stricter policy for admin endpoints
529
534
policySource :
530
- fileLocation : " s3 ://ngf-waf-policies/production/admin-strict-policy-v1.0.0.tgz"
535
+ fileLocation : " https ://ngf-waf-policies.s3.amazonaws.com /production/admin-strict-policy-v1.0.0.tgz"
531
536
authSecret :
532
537
name : " policy-store-credentials"
533
538
polling :
@@ -664,7 +669,7 @@ metadata:
664
669
# NGF service account in nginx-gateway namespace provides IRSA authentication
665
670
spec:
666
671
policySource:
667
- fileLocation: "s3 ://company-waf-policies/policy.tgz"
672
+ fileLocation: "https ://company-waf-policies.s3.amazonaws.com /policy.tgz"
668
673
# No authSecret needed - uses IRSA automatically
669
674
` ` `
670
675
@@ -1009,7 +1014,7 @@ spec:
1009
1014
namespace: applications
1010
1015
1011
1016
policySource:
1012
- fileLocation: "s3 ://company-waf-policies/production/base-policy.tgz"
1017
+ fileLocation: "https ://company-waf-policies.s3.amazonaws.com /production/base-policy.tgz"
1013
1018
# Secret referenced for fallback - NGF will use IRSA if available, secret if not
1014
1019
authSecret:
1015
1020
name: "policy-store-credentials"
@@ -1020,7 +1025,7 @@ spec:
1020
1025
interval: "5m"
1021
1026
# Optional explicit checksum location
1022
1027
# If not specified, defaults to base-policy.tgz.sha256
1023
- checksumLocation: "s3 ://company-waf-policies/production/base-policy.tgz.sha256"
1028
+ checksumLocation: "https ://company-waf-policies.s3.amazonaws.com /production/base-policy.tgz.sha256"
1024
1029
1025
1030
securityLogs:
1026
1031
- name: "gateway-logging"
@@ -1044,7 +1049,7 @@ spec:
1044
1049
namespace: applications
1045
1050
1046
1051
policySource:
1047
- fileLocation: "s3 ://company-waf-policies/production/admin-strict-policy.tgz"
1052
+ fileLocation: "https ://company-waf-policies.s3.amazonaws.com /production/admin-strict-policy.tgz"
1048
1053
polling:
1049
1054
enabled: true
1050
1055
0 commit comments