github.com/nginxinc/kubernetes-ingress@v1.12.5/docs-web/app-protect/installation.md (about)

     1  # Install NGINX Ingress Controller with App Protect
     2  
     3  > **Note**: The NGINX Kubernetes Ingress Controller integration with NGINX App Protect requires the use of NGINX Plus.
     4  
     5  This document provides an overview of the steps required to use NGINX App Protect with your NGINX Ingress Controller deployment. You can visit the linked documents to find additional information and instructions.
     6  
     7  You can also [install the Ingress Controller with App Protect by using Helm](/nginx-ingress-controller/installation/installation-with-helm/). Use the `controller.appprotect.*` parameters of the chart.
     8  
     9  ## Build the Docker Image
    10  
    11  Take the steps below to create the Docker image that you'll use to deploy NGINX Ingress Controller with App Protect in Kubernetes.
    12  
    13  - [Build the NGINX Ingress Controller image](/nginx-ingress-controller/installation/building-ingress-controller-image).
    14  
    15      When running the `make` command to build the image, be sure to use the `debian-image-nap-plus` target. For example:
    16  
    17      ```bash
    18      make debian-image-nap-plus PREFIX=<your Docker registry domain>/nginx-plus-ingress
    19      ```
    20      Alternatively, if you want to run on an [OpenShift](https://www.openshift.com/) cluster, you can use the `openshift-image-nap-plus` target.
    21  
    22      If you intend to use [external references](https://docs.nginx.com/nginx-app-protect/configuration/#external-references) in NGINX App Protect policies, you may want to provide a custom CA certificate to authenticate with the hosting server.
    23      In order to do so, place the `*.crt` file in the build folder and uncomment the lines that follow this comment:
    24      `#Uncomment the lines below if you want to install a custom CA certificate`
    25  
    26      **Note**: In the event of a patch version of NGINX Plus being [released](/nginx/releases/), make sure to rebuild your image to get the latest version. The Dockerfile will use the latest available version of the [Attack Signatures](/nginx-app-protect/configuration/#attack-signatures) and [Threat Campaigns](/nginx-app-protect/configuration/#threat-campaigns) packages at the time of build. If your system is caching the Docker layers and not updating the packages, add `DOCKER_BUILD_OPTIONS="--no-cache"` to the `make` command.
    27  
    28  - [Push the image to your local Docker registry](/nginx-ingress-controller/installation/building-ingress-controller-image/#building-the-image-and-pushing-it-to-the-private-registry).
    29  
    30  ## Install the Ingress Controller
    31  
    32  Take the steps below to set up and deploy the NGINX Ingress Controller and App Protect module in your Kubernetes cluster.
    33  
    34  1. [Configure role-based access control (RBAC)](/nginx-ingress-controller/installation/installation-with-manifests/#configure-rbac).
    35  
    36      > **Important**: You must have an admin role to configure RBAC in your Kubernetes cluster.
    37  
    38  2. [Create the common Kubernetes resources](/nginx-ingress-controller/installation/installation-with-manifests/#create-common-resources).
    39  3. Enable the App Protect module by adding the `enable-app-protect` [cli argument](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#cmdoption-enable-app-protect) to your Deployment or DaemonSet file.
    40  4. [Deploy the Ingress Controller](/nginx-ingress-controller/installation/installation-with-manifests/#deploy-the-ingress-controller).
    41  
    42  For more information, see the [Configuration guide](/nginx-ingress-controller/app-protect/configuration) and the [NGINX Ingress Controller with App Protect examples on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/v1.12.5/examples/appprotect).