Skip to content

Commit 2d74801

Browse files
committed
fix: clarify verify output
1 parent bc68166 commit 2d74801

File tree

1 file changed

+79
-2
lines changed

1 file changed

+79
-2
lines changed

content/nap-waf/v5/admin-guide/policy-lifecycle-management.md

Lines changed: 79 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,11 +547,61 @@ http {
547547
kubectl get all -n <namespace>
548548
```
549549

550+
You should see output similar to this:
551+
552+
**Pods Status:**
553+
```
554+
NAME READY STATUS RESTARTS AGE
555+
<release-name>-policy-controller-cbd97c8db-tbq7j 1/1 Running 0 3d23h
556+
<release-name>-nginx-app-protect-deployment-5c99b8df65-g4nfn 3/3 Running 0 3d23h
557+
```
558+
559+
**CRDs Verification:**
560+
```
561+
aplogconfs.appprotect.f5.com 2025-08-27T10:23:34Z
562+
appolicies.appprotect.f5.com 2025-08-27T10:23:34Z
563+
apsignatures.appprotect.f5.com 2025-08-27T10:23:34Z
564+
apusersigs.appprotect.f5.com 2025-08-27T10:23:34Z
565+
```
566+
567+
**All Resources:**
568+
```
569+
NAME READY STATUS RESTARTS AGE
570+
pod/<release-name>-policy-controller-cbd97c8db-tbq7j 1/1 Running 0 3d23h
571+
pod/<release-name>-nginx-app-protect-deployment-5c99b8df65-g4nfn 4/4 Running 0 3d23h
572+
573+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
574+
service/<release-name>-nginx-app-protect-nginx NodePort 10.43.125.76 <none> 80:30847/TCP 3d23h
575+
576+
NAME READY UP-TO-DATE AVAILABLE AGE
577+
deployment.apps/<release-name>-policy-controller 1/1 1 1 3d23h
578+
deployment.apps/<release-name>-nginx-app-protect-deployment 1/1 1 1 3d23h
579+
580+
NAME DESIRED CURRENT READY AGE
581+
replicaset.apps/<release-name>-policy-controller-cbd97c8db 1 1 1 3d23h
582+
replicaset.apps/<release-name>-nginx-app-protect-deployment-5c99b8df65 1 1 1 3d23h
583+
```
584+
585+
**Key components to verify:**
586+
- **Policy Controller Pod**: Should show `1/1 Running` status
587+
- **NGINX App Protect Pod**: Should show `4/4 Running` status (nginx, waf-config-mgr, waf-enforcer, waf-ip-intelligence containers)
588+
- **All 4 CRDs**: Should be installed and show creation timestamps
589+
- **Service**: NodePort service should be available with assigned port
590+
550591
## Using Policy Lifecycle Management
551592
552593
### Setting up desired security update versions
553594
554-
Once PLM is deployed, you can create APSignatures resource using Kubernetes manifests and specify desired security update versions. Apply the following Custom Resource example or create your own based on the template:
595+
Once PLM is deployed, you can create APSignatures resource using Kubernetes manifests and specify desired security update versions.
596+
597+
**Organize Your Custom Resources:**
598+
599+
It's recommended to create a dedicated directory to organize your Custom Resource files:
600+
601+
```bash
602+
mkdir -p custom-resources
603+
cd custom-resources
604+
```
555605

556606
**Sample APSignatures Resource:**
557607

@@ -581,13 +631,28 @@ Apply the manifest:
581631
kubectl apply -f signatures.yaml -n <namespace>
582632
```
583633

634+
{{< call-out "note" >}}
635+
If you're not in the `custom-resources` directory, include the path: `kubectl apply -f custom-resources/signatures.yaml -n <namespace>`
636+
{{< /call-out >}}
637+
584638
{{< call-out "note" >}}
585639
Downloading security updates may take several minutes. The version of security updates available at the time of compilation is always used to compile policies. If APSignatures is not created or the specified versions are not downloaded, the versions contained in the compiler docker image will be used.
586640
{{< /call-out >}}
587641

588642
### Creating Policy Resources
589643

590-
Once PLM is deployed, you can create policy resources using Kubernetes manifests. Apply the following Custom Resource examples or create your own based on these templates:
644+
Once PLM is deployed, you can create policy resources using Kubernetes manifests.
645+
646+
**Organize Your Custom Resources (if not already done):**
647+
648+
If you haven't created a directory for your Custom Resources yet, create one:
649+
650+
```bash
651+
mkdir -p custom-resources
652+
cd custom-resources
653+
```
654+
655+
Apply the following Custom Resource examples or create your own based on these templates:
591656

592657
**Sample APPolicy Resource:**
593658

@@ -624,6 +689,10 @@ Apply the policy:
624689
kubectl apply -f dataguard-blocking-policy.yaml -n <namespace>
625690
```
626691

692+
{{< call-out "note" >}}
693+
If you're not in the `custom-resources` directory, include the path: `kubectl apply -f custom-resources/dataguard-blocking-policy.yaml -n <namespace>`
694+
{{< /call-out >}}
695+
627696
**Sample APUserSig Resource:**
628697

629698
Create a file named `apple-usersig.yaml` with the following content:
@@ -654,6 +723,10 @@ Apply the user signature:
654723
kubectl apply -f apple-usersig.yaml -n <namespace>
655724
```
656725

726+
{{< call-out "note" >}}
727+
If you're not in the `custom-resources` directory, include the path: `kubectl apply -f custom-resources/apple-usersig.yaml -n <namespace>`
728+
{{< /call-out >}}
729+
657730
### Monitoring Policy Status
658731

659732
Check the status of your policy resources:
@@ -678,6 +751,10 @@ Apply one of the sample policy Custom Resources to verify PLM is working correct
678751
kubectl apply -f dataguard-blocking-policy.yaml -n <namespace>
679752
```
680753

754+
{{< call-out "note" >}}
755+
If you're not in the `custom-resources` directory, include the path: `kubectl apply -f custom-resources/dataguard-blocking-policy.yaml -n <namespace>`
756+
{{< /call-out >}}
757+
681758
### 2. Check Policy Compilation Status
682759

683760
Verify that the policy has been compiled successfully by checking the Custom Resource status:

0 commit comments

Comments
 (0)