From 125726f5b2cc4d3bba353081dba9136227b29160 Mon Sep 17 00:00:00 2001 From: Fabrizio Fiorucci Date: Wed, 26 Feb 2025 11:51:10 +0000 Subject: [PATCH 1/2] Added several demos --- NGINX-API-Steering/README.md | 954 +++++++ NGINX-API-Steering/apiserver/Dockerfile | 9 + NGINX-API-Steering/apiserver/apiserver.py | 32 + NGINX-API-Steering/apiserver/requirements.txt | 2 + NGINX-API-Steering/backend/Dockerfile | 9 + NGINX-API-Steering/backend/backend.py | 31 + .../backend/db-dockercompose.json | 83 + NGINX-API-Steering/backend/db-k8s.json | 83 + NGINX-API-Steering/backend/requirements.txt | 1 + NGINX-API-Steering/docker-compose.yaml | 80 + NGINX-API-Steering/jwt/jwks.json | 9 + NGINX-API-Steering/jwt/jwtDecoder.sh | 68 + NGINX-API-Steering/jwt/jwtEncoder.sh | 74 + NGINX-API-Steering/kubernetes.yaml | 212 ++ NGINX-API-Steering/nginx-api-steering.sh | 109 + NGINX-API-Steering/nginx/Dockerfile | 66 + NGINX-API-Steering/nginx/api.conf | 12 + NGINX-API-Steering/nginx/nginx.conf | 40 + .../nginx/steering.conf-dockercompose | 75 + NGINX-API-Steering/nginx/steering.conf-k8s | 75 + NGINX-API-Steering/nginx/steering.js | 212 ++ NGINX-Advanced-Healthcheck/README.md | 92 + .../health-api/README.md | 33 + .../health-api/requirements.txt | 3 + .../health-api/serverstats.py | 73 + NGINX-Advanced-Healthcheck/img/lab-setup.png | Bin 0 -> 112787 bytes NGINX-Advanced-Healthcheck/img/logicflow.png | Bin 0 -> 40397 bytes .../img/nginx-dashboard.png | Bin 0 -> 139053 bytes NGINX-Advanced-Healthcheck/nginx/README.md | 7 + .../nginx/conf.d/healthcheck.conf | 133 + .../nginx/conf.d/healthcheck.js | 75 + .../nginx/conf.d/loadbalancer.conf | 26 + .../stream-conf.d/stream-loadbalancer.conf | 18 + .../webserver/README.md | 32 + .../webserver/requirements.txt | 1 + .../webserver/webserver.py | 18 + NGINX-Docker-Image-Builder/Dockerfile.oss | 34 + NGINX-Docker-Image-Builder/Dockerfile.plus | 49 + .../Dockerfile.plus.unprivileged | 82 + NGINX-Docker-Image-Builder/README.md | 110 + NGINX-Docker-Image-Builder/container/start.sh | 108 + .../manifests/nginx-manifest.yaml | 105 + NGINX-Docker-Image-Builder/scripts/build.sh | 114 + NGINX-Multicloud-Gateway/README.md | 279 ++ .../images/mcgw-rewrite.jpg | Bin 0 -> 194437 bytes .../images/mcgw-steering.jpg | Bin 0 -> 204347 bytes .../mcgw/mcgw/0.mcgw.ns.yaml | 4 + .../mcgw/mcgw/1.mcgw-test-backend-db.yaml | 68 + .../mcgw/mcgw/2.nginx.conf.yaml | 69 + .../mcgw/mcgw/3.mcgw.js.yaml | 130 + .../mcgw/mcgw/4.mcgw.conf.yaml | 71 + .../mcgw/mcgw/5.nginx-mcgw.yaml | 126 + .../mcgw/mcgw/certs/cert-install.sh | 16 + .../mcgw/mcgw/certs/mcgw.ff.lan.cnf | 19 + .../test-backend-db/Dockerfile | 15 + .../test-backend-db/app.py | 55 + NGINX-NIM-Docker/Dockerfile.automated | 33 + NGINX-NIM-Docker/Dockerfile.manual | 40 + NGINX-NIM-Docker/README.md | 295 ++ NGINX-NIM-Docker/container/startNIM.sh | 149 ++ NGINX-NIM-Docker/contrib/docker-compose/.env | 10 + .../contrib/docker-compose/README.md | 14 + .../docker-compose/docker-compose.yaml | 36 + ...GINX_NIM2_Telemetry_Grafana_Dashboard.json | 2370 +++++++++++++++++ NGINX-NIM-Docker/contrib/grafana/README.md | 18 + .../contrib/grafana/clickhouse-datasource.png | Bin 0 -> 183381 bytes .../contrib/grafana/grafana-dashboard.png | Bin 0 -> 355347 bytes .../helm-installer/NGINX-NMS-Installer.sh | 152 ++ .../contrib/helm-installer/README.md | 92 + .../contrib/pvc-provisioner/README.md | 42 + .../pvc-provisioner/dynamic-nfs-storage.yaml | 143 + .../contrib/pvc-provisioner/test-delete.yaml | 36 + .../contrib/pvc-provisioner/test-retain.yaml | 36 + NGINX-NIM-Docker/manifests/0.clickhouse.yaml | 79 + NGINX-NIM-Docker/manifests/1.nginx-nim.yaml | 88 + NGINX-NIM-Docker/manifests/2.grafana.yaml | 81 + NGINX-NIM-Docker/manifests/3.vs.yaml | 43 + .../manifests/certs/cert-install.sh | 16 + .../manifests/certs/nim2.f5.ff.lan.cnf | 16 + .../manifests/configmaps/config.xml | 1038 ++++++++ .../manifests/configmaps/users.xml | 124 + NGINX-NIM-Docker/nim-files/.placeholder | 0 NGINX-NIM-Docker/scripts/buildNIM.sh | 100 + NGINX-NIM-Docker/scripts/nimDockerStart.sh | 25 + NGINX-SOAP-REST/README.md | 312 +++ NGINX-SOAP-REST/docker-compose.yaml | 90 + NGINX-SOAP-REST/echo-server/Dockerfile | 10 + NGINX-SOAP-REST/echo-server/echo-server.py | 26 + NGINX-SOAP-REST/ldap/connector/Dockerfile | 16 + .../ldap/connector/ldap-connector.py | 37 + .../ldap/connector/requirements.txt | 6 + NGINX-SOAP-REST/ldap/ldif/setup.ldif | 20 + NGINX-SOAP-REST/nginx-soap-rest.sh | 66 + NGINX-SOAP-REST/nginx/Dockerfile | 66 + NGINX-SOAP-REST/nginx/nginx.conf | 39 + NGINX-SOAP-REST/nginx/soaprest.conf | 73 + NGINX-SOAP-REST/nginx/soaprest.js | 263 ++ NGINX-SOAP-REST/source-of-truth/Dockerfile | 13 + .../source-of-truth/requirements.txt | 1 + .../source-of-truth/source-of-truth.py | 49 + README.md | 5 + 101 files changed, 10369 insertions(+) create mode 100644 NGINX-API-Steering/README.md create mode 100644 NGINX-API-Steering/apiserver/Dockerfile create mode 100755 NGINX-API-Steering/apiserver/apiserver.py create mode 100644 NGINX-API-Steering/apiserver/requirements.txt create mode 100644 NGINX-API-Steering/backend/Dockerfile create mode 100755 NGINX-API-Steering/backend/backend.py create mode 100644 NGINX-API-Steering/backend/db-dockercompose.json create mode 100644 NGINX-API-Steering/backend/db-k8s.json create mode 100644 NGINX-API-Steering/backend/requirements.txt create mode 100644 NGINX-API-Steering/docker-compose.yaml create mode 100644 NGINX-API-Steering/jwt/jwks.json create mode 100755 NGINX-API-Steering/jwt/jwtDecoder.sh create mode 100755 NGINX-API-Steering/jwt/jwtEncoder.sh create mode 100644 NGINX-API-Steering/kubernetes.yaml create mode 100755 NGINX-API-Steering/nginx-api-steering.sh create mode 100644 NGINX-API-Steering/nginx/Dockerfile create mode 100644 NGINX-API-Steering/nginx/api.conf create mode 100644 NGINX-API-Steering/nginx/nginx.conf create mode 100644 NGINX-API-Steering/nginx/steering.conf-dockercompose create mode 100644 NGINX-API-Steering/nginx/steering.conf-k8s create mode 100644 NGINX-API-Steering/nginx/steering.js create mode 100644 NGINX-Advanced-Healthcheck/README.md create mode 100644 NGINX-Advanced-Healthcheck/health-api/README.md create mode 100644 NGINX-Advanced-Healthcheck/health-api/requirements.txt create mode 100755 NGINX-Advanced-Healthcheck/health-api/serverstats.py create mode 100644 NGINX-Advanced-Healthcheck/img/lab-setup.png create mode 100644 NGINX-Advanced-Healthcheck/img/logicflow.png create mode 100644 NGINX-Advanced-Healthcheck/img/nginx-dashboard.png create mode 100644 NGINX-Advanced-Healthcheck/nginx/README.md create mode 100644 NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.conf create mode 100644 NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.js create mode 100644 NGINX-Advanced-Healthcheck/nginx/conf.d/loadbalancer.conf create mode 100644 NGINX-Advanced-Healthcheck/nginx/stream-conf.d/stream-loadbalancer.conf create mode 100644 NGINX-Advanced-Healthcheck/webserver/README.md create mode 100644 NGINX-Advanced-Healthcheck/webserver/requirements.txt create mode 100755 NGINX-Advanced-Healthcheck/webserver/webserver.py create mode 100644 NGINX-Docker-Image-Builder/Dockerfile.oss create mode 100644 NGINX-Docker-Image-Builder/Dockerfile.plus create mode 100644 NGINX-Docker-Image-Builder/Dockerfile.plus.unprivileged create mode 100644 NGINX-Docker-Image-Builder/README.md create mode 100755 NGINX-Docker-Image-Builder/container/start.sh create mode 100644 NGINX-Docker-Image-Builder/manifests/nginx-manifest.yaml create mode 100755 NGINX-Docker-Image-Builder/scripts/build.sh create mode 100644 NGINX-Multicloud-Gateway/README.md create mode 100644 NGINX-Multicloud-Gateway/images/mcgw-rewrite.jpg create mode 100644 NGINX-Multicloud-Gateway/images/mcgw-steering.jpg create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/0.mcgw.ns.yaml create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/1.mcgw-test-backend-db.yaml create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/2.nginx.conf.yaml create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/3.mcgw.js.yaml create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/4.mcgw.conf.yaml create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/5.nginx-mcgw.yaml create mode 100755 NGINX-Multicloud-Gateway/mcgw/mcgw/certs/cert-install.sh create mode 100644 NGINX-Multicloud-Gateway/mcgw/mcgw/certs/mcgw.ff.lan.cnf create mode 100644 NGINX-Multicloud-Gateway/test-backend-db/Dockerfile create mode 100755 NGINX-Multicloud-Gateway/test-backend-db/app.py create mode 100644 NGINX-NIM-Docker/Dockerfile.automated create mode 100644 NGINX-NIM-Docker/Dockerfile.manual create mode 100644 NGINX-NIM-Docker/README.md create mode 100755 NGINX-NIM-Docker/container/startNIM.sh create mode 100644 NGINX-NIM-Docker/contrib/docker-compose/.env create mode 100644 NGINX-NIM-Docker/contrib/docker-compose/README.md create mode 100644 NGINX-NIM-Docker/contrib/docker-compose/docker-compose.yaml create mode 100644 NGINX-NIM-Docker/contrib/grafana/NGINX_NIM2_Telemetry_Grafana_Dashboard.json create mode 100644 NGINX-NIM-Docker/contrib/grafana/README.md create mode 100644 NGINX-NIM-Docker/contrib/grafana/clickhouse-datasource.png create mode 100644 NGINX-NIM-Docker/contrib/grafana/grafana-dashboard.png create mode 100755 NGINX-NIM-Docker/contrib/helm-installer/NGINX-NMS-Installer.sh create mode 100644 NGINX-NIM-Docker/contrib/helm-installer/README.md create mode 100644 NGINX-NIM-Docker/contrib/pvc-provisioner/README.md create mode 100644 NGINX-NIM-Docker/contrib/pvc-provisioner/dynamic-nfs-storage.yaml create mode 100644 NGINX-NIM-Docker/contrib/pvc-provisioner/test-delete.yaml create mode 100644 NGINX-NIM-Docker/contrib/pvc-provisioner/test-retain.yaml create mode 100644 NGINX-NIM-Docker/manifests/0.clickhouse.yaml create mode 100644 NGINX-NIM-Docker/manifests/1.nginx-nim.yaml create mode 100644 NGINX-NIM-Docker/manifests/2.grafana.yaml create mode 100644 NGINX-NIM-Docker/manifests/3.vs.yaml create mode 100755 NGINX-NIM-Docker/manifests/certs/cert-install.sh create mode 100644 NGINX-NIM-Docker/manifests/certs/nim2.f5.ff.lan.cnf create mode 100644 NGINX-NIM-Docker/manifests/configmaps/config.xml create mode 100644 NGINX-NIM-Docker/manifests/configmaps/users.xml create mode 100644 NGINX-NIM-Docker/nim-files/.placeholder create mode 100755 NGINX-NIM-Docker/scripts/buildNIM.sh create mode 100755 NGINX-NIM-Docker/scripts/nimDockerStart.sh create mode 100644 NGINX-SOAP-REST/README.md create mode 100644 NGINX-SOAP-REST/docker-compose.yaml create mode 100644 NGINX-SOAP-REST/echo-server/Dockerfile create mode 100755 NGINX-SOAP-REST/echo-server/echo-server.py create mode 100644 NGINX-SOAP-REST/ldap/connector/Dockerfile create mode 100755 NGINX-SOAP-REST/ldap/connector/ldap-connector.py create mode 100644 NGINX-SOAP-REST/ldap/connector/requirements.txt create mode 100644 NGINX-SOAP-REST/ldap/ldif/setup.ldif create mode 100755 NGINX-SOAP-REST/nginx-soap-rest.sh create mode 100644 NGINX-SOAP-REST/nginx/Dockerfile create mode 100644 NGINX-SOAP-REST/nginx/nginx.conf create mode 100644 NGINX-SOAP-REST/nginx/soaprest.conf create mode 100644 NGINX-SOAP-REST/nginx/soaprest.js create mode 100644 NGINX-SOAP-REST/source-of-truth/Dockerfile create mode 100644 NGINX-SOAP-REST/source-of-truth/requirements.txt create mode 100755 NGINX-SOAP-REST/source-of-truth/source-of-truth.py diff --git a/NGINX-API-Steering/README.md b/NGINX-API-Steering/README.md new file mode 100644 index 0000000..a8156b7 --- /dev/null +++ b/NGINX-API-Steering/README.md @@ -0,0 +1,954 @@ +# NGINX API Steering + +## Description + +This is a sample NGINX Plus API Gateway configuration to publish REST APIs and provide: + +- Authentication based on Java Web Tokens (JWT) +- Authorization based on HTTP method and JWT role match +- Reverse proxying with URL rewriting +- Template-based JSON payload manipulation (client-to-server and server-to-client) +- Template-based JSON payload format validation (mandatory parameters, parameters types) + +An external REST API-enabled backend is used to store JSON service definitions that include authorization and rewriting rules. +The service definition JSON is defined as: + +``` + { + "id": 2, <-- Unique ID + "enabled": true, <-- Flag to enable/disable the definition + "uri": "v1.0/api_post", <-- URI to match against client request + "matchRules": { + "method": "POST", <-- HTTP method to match against client request + "roles": "devops" <-- JWT role to match + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" <-- URL to reverse proxy the client request + }, + "json": { <-- JSON payload manipulation (optional) + "to_server": { <-- client-to-server payload manipulation rules + "set": [ <-- key:value array to add/replace in request JSON payload + { + "field1": "value1" + }, + { + "field2": "value2" + } + ], + "del": [ <-- Array of keys to delete from request JSON payload + "group" + ] + }, + "to_client": { <-- server-to-client payload manipulation rules + "set": [ <-- key:value array to add/replace in response JSON payload + { + "new_response_field": "ADDED" + } + ], + "del": [ <-- Array of keys to delete from response JSON payload + "hostname" + ] + } + }, + template": { <-- Template for JSON format validation + "name": "", <-- Mandatory parameter, type is string + "age": 0, <-- Mandatory parameter, type is integer + "address": { <-- Nested parameters + "street": "", + "city": "" + } + } + } +``` + +The provided sample backend can be queried using the request URI as the lookup key. +The sample backend provides the `jwks.json` endpoint to return the JWT secret. + +## Prerequisites + +- Linux VM with Docker-compose v2.20.3+ (tested on Ubuntu 20.04 and 22.04) or a running Kubernetes cluster +- NGINX Plus certificate and key to build the relevant docker image (tested with NGINX Plus R30-p1 and above) + +## High level architecture + +```mermaid +sequenceDiagram + Client->>NGINX Plus: REST request (with JWT token) + NGINX Plus->>NGINX Plus: JWT Authentication + NGINX Plus->>Source of truth: Service definition JSON request + Source of truth->>NGINX Plus: Service definition JSON reply + NGINX Plus->>NGINX Plus: Authorization + NGINX Plus->>NGINX Plus: Optional JSON request rewriting + NGINX Plus->>Backend: REST request + Backend->>NGINX Plus: REST response + NGINX Plus->>NGINX Plus: Optional JSON response rewriting + NGINX Plus->>Client: Response +``` + +## Deploying this repository + +1. Clone the repository + +``` +git clone https://github.com/fabriziofiorucci/NGINX-API-Steering +``` + +2. cd to the newly created directory + +``` +cd NGINX-API-Steering +``` + +## Running with docker-compose + +1. Run the startup script to build all docker images and spin up the docker-compose deployment. You will need to use a valid NGINX Plus certificate and key to fetch all software packages from the NGINX private registry + +``` +./nginx-api-steering.sh -o start -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key +``` + +2. Check running containers: + +``` +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +3f6f53f9786d nginx-api-steering "nginx -g 'daemon of…" 45 seconds ago Up 43 seconds 0.0.0.0:10080->80/tcp, :::10080->80/tcp, 0.0.0.0:20080->8080/tcp, :::20080->8080/tcp nginx +998ddb007210 api-server "python apiserver.py" 45 seconds ago Up 43 seconds 0.0.0.0:5001->5000/tcp, :::5001->5000/tcp api-server-1 +bd13b5e4ecf1 api-server "python apiserver.py" 45 seconds ago Up 43 seconds 0.0.0.0:5002->5000/tcp, :::5002->5000/tcp api-server-2 +46f25f772f63 backend "python backend.py" 45 seconds ago Up 43 seconds 0.0.0.0:10000->5000/tcp, :::10000->5000/tcp backend +``` + +## Running on Kubernetes + +1. Build the docker images: + +``` +./nginx-api-steering.sh -o build -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key +``` + +2. Make sure all images have been correctly built: + +``` +$ docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +api-server latest bc502c140891 2 minutes ago 159MB +backend latest ac783909638e 2 minutes ago 145MB +nginx-api-steering latest 0752ea9e5400 2 minutes ago 33.1MB +``` + +3. Tag and push the docker images: + +``` +docker tag api-server:latest registry.k8s.ie.ff.lan:31005/nginx-api-steering:api-server +docker tag backend:latest registry.k8s.ie.ff.lan:31005/nginx-api-steering:backend +docker tag nginx-api-steering:latest registry.k8s.ie.ff.lan:31005/nginx-api-steering:nginx-api-steering +``` + +``` +docker push registry.k8s.ie.ff.lan:31005/nginx-api-steering:api-server +docker push registry.k8s.ie.ff.lan:31005/nginx-api-steering:backend +docker push registry.k8s.ie.ff.lan:31005/nginx-api-steering:nginx-api-steering +``` + +4. Deploy all manifests: + +``` +./nginx-api-steering.sh -o start-k8s +``` + +5. Make sure all relevant objects have been created: + +``` +$ kubectl get all -n nginx-api-steering +NAME READY STATUS RESTARTS AGE +pod/api-server-1-6596f78694-nfjvm 1/1 Running 0 20s +pod/api-server-2-847868565b-5lwk8 1/1 Running 0 20s +pod/backend-74b87464fd-cmc6h 1/1 Running 0 20s +pod/nginx-9cbcb8bcd-hz6xm 1/1 Running 0 20s + +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +service/api-server-1 ClusterIP 10.103.76.109 5000/TCP 20s +service/api-server-2 ClusterIP 10.111.202.8 5000/TCP 20s +service/backend ClusterIP 10.107.14.237 5000/TCP 20s +service/nginx ClusterIP 10.97.140.134 80/TCP 20s + +NAME READY UP-TO-DATE AVAILABLE AGE +deployment.apps/api-server-1 1/1 1 1 20s +deployment.apps/api-server-2 1/1 1 1 20s +deployment.apps/backend 1/1 1 1 20s +deployment.apps/nginx 1/1 1 1 20s + +NAME DESIRED CURRENT READY AGE +replicaset.apps/api-server-1-6596f78694 1 1 1 20s +replicaset.apps/api-server-2-847868565b 1 1 1 20s +replicaset.apps/backend-74b87464fd 1 1 1 20s +replicaset.apps/nginx-9cbcb8bcd 1 1 1 20s +``` + + +## NGINX Plus dashboard (docker-compose only) + +Using your favourite browser open https://127.0.0.1:20080/dashboard.html + +## Creating JWT tokens + +(see https://www.nginx.com/blog/authenticating-api-clients-jwt-nginx-plus/) + +This repository's backend DB uses a JWT secret defined as + +``` +$ cat jwt/jwks.json +{ + "keys": [ + { + "k":"ZmFudGFzdGljand0", + "kty":"oct", + "kid":"0001" + } + ] +} +``` + +the k field is the generated symmetric key (base64url-encoded) basing on a secret (fantasticjwt in the example). The secret can be generated with the following command: + +``` +$ echo -n "fantasticjwt" | base64 | tr '+/' '-_' | tr -d '=' +ZmFudGFzdGljand0 +``` + +Create the test JWT tokens using: + +``` +$ cd jwt +$ ./jwtEncoder.sh +``` + +Two tokens are created: + +``` +jwt.devops - Token with "devops" role +jwt.guest - Token with "guest" role +``` + +The decoded tokens are: + +``` +$ cat jwt.guest | ./jwtDecoder.sh +Header +{ + "typ": "JWT", + "alg": "HS256", + "kid": "0001", + "iss": "Bash JWT Generator", + "iat": 1698145320, + "exp": 1698145321 +} +Payload +{ + "name": "Alice Guest", + "sub": "JWT sub claim", + "iss": "JWT iss claim", + "roles": [ + "guest" + ] +} +Signature is valid +``` + +``` +$ cat jwt.devops | ./jwtDecoder.sh +Header +{ + "typ": "JWT", + "alg": "HS256", + "kid": "0001", + "iss": "Bash JWT Generator", + "iat": 1698145320, + "exp": 1698145321 +} +Payload +{ + "name": "Bob DevOps", + "sub": "JWT sub claim", + "iss": "JWT iss claim", + "roles": [ + "devops" + ] +} +Signature is valid +``` + +## Backend DB test (docker-compose only) + +Backend DB, fetching the JWT secret: + +``` +$ curl -s 127.0.0.1:10000/jwks.json | jq +{ + "keys": [ + { + "k": "ZmFudGFzdGljand0", + "kid": "0001", + "kty": "oct" + } + ] +} +``` + +Backend DB, fetching all keys: + +``` +$ curl -s 127.0.0.1:10000/backend/fetchallkeys | jq +{ + "rules": [ + { + "enabled": true, + "id": 1, + "matchRules": { + "method": "GET", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-1:5000/get_data" + }, + "uri": "v1.0/api_get" + }, + { + "enabled": true, + "id": 2, + "json": { + "to_client": { + "del": [ + "hostname" + ], + "set": [ + { + "new_response_field": "ADDED" + } + ] + }, + "to_server": { + "del": [ + "group" + ], + "set": [ + { + "field1": "value1" + }, + { + "field2": "value2" + } + ] + } + }, + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "uri": "v1.0/api_post" + }, + { + "enabled": true, + "id": 3, + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "uri": "v1.0/api_post_no_change" + } + ] +} +``` + +Backend DB, fetching a specific key: + +``` +$ curl -s http://127.0.0.1:10000/backend/fetchkey/v1.0/api_post | jq +{ + "rule": { + "enabled": true, + "id": 2, + "json": { + "to_client": { + "del": [ + "hostname" + ], + "set": [ + { + "new_response_field": "ADDED" + } + ] + }, + "to_server": { + "del": [ + "group" + ], + "set": [ + { + "field1": "value1" + }, + { + "field2": "value2" + } + ] + } + }, + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "uri": "v1.0/api_post" + } +} +``` + +## Direct backend API access (docker-compose only): + +GET test: + +``` +curl -ks -X GET https://127.0.0.1:5001/get_data | jq +``` + +Output: + +``` +{ + "hostname": "be4e709e5957", + "timestamp": "2023-10-24 10:32:55" +} +``` + +POST test: the client payload is echoed back in the `payload` field + +``` +curl -ks -X POST https://127.0.0.1:5001/echo_data -d '{"var":123}' -H "Content-Type: application/json" | jq +``` + +Output: + +``` +{ + "hostname": "be4e709e5957", + "payload": { + "var": 123 + }, + "timestamp": "2023-10-24 10:32:18" +} +``` + +## REST API access test - for docker-compose + +Display NGINX Plus logs: + +``` +docker logs nginx -f +``` + +### Test with valid HTTP method with no JWT token + +``` +curl -X GET -ki http://127.0.0.1:10080/v1.0/api_get +``` + +Output: + +``` +HTTP/1.1 401 Unauthorized +Server: nginx/1.25.1 +Date: Tue, 24 Oct 2023 08:38:39 GMT +Content-Type: text/html +Content-Length: 179 +Connection: keep-alive +WWW-Authenticate: Bearer realm="authentication required" + + +401 Authorization Required + +

401 Authorization Required

+
nginx/1.25.1
+ + +``` + +### Test with valid JWT token, HTTP method and URI + +``` +curl -X GET -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://127.0.0.1:10080/v1.0/api_get +``` + +Output: + +``` +HTTP/1.1 200 OK +Server: nginx/1.25.1 +Date: Tue, 24 Oct 2023 10:51:59 GMT +Content-Type: application/json +Connection: keep-alive +Content-Length: 62 + +{"hostname":"6f0e4de1fa9b","timestamp":"2023-10-24 10:51:59"} +``` + +### Test with valid JWT token and invalid HTTP method + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://127.0.0.1:10080/v1.0/api_get +``` + +Output: + +``` +HTTP/1.1 403 Forbidden +Server: nginx/1.25.1 +Date: Tue, 24 Oct 2023 10:53:29 GMT +Content-Type: text/html +Content-Length: 153 +Connection: keep-alive + + +403 Forbidden + +

403 Forbidden

+
nginx/1.25.1
+ + +``` + +### Test with valid JWT token and invalid role (`guest` instead of `devops`) + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://127.0.0.1:10080/v1.0/api_post -d '{"username": "john.doe@acme.com"}' -H "Content-Type: application/json" +``` + +Output: + +``` +HTTP/1.1 403 Forbidden +Server: nginx/1.25.1 +Date: Tue, 24 Oct 2023 10:55:17 GMT +Content-Type: text/html +Content-Length: 153 +Connection: keep-alive + + +403 Forbidden + +

403 Forbidden

+
nginx/1.25.1
+ + +``` + +### Same request with a valid JWT token and `devops` role + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.devops`" http://127.0.0.1:10080/v1.0/api_post -d '{"username": "john.doe@acme.com", "group": "guest"}' -H "Content-Type: application/json" +``` + +Output: + +``` +HTTP/1.1 200 OK +Server: nginx/1.25.1 +Date: Wed, 01 Nov 2023 14:55:06 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +{"payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06","new_response_field":"ADDED"} +``` + +The JSON service definition retrieved from the backend is: + +``` + { + "id": 2, + "enabled": true, + "uri": "v1.0/api_post", + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "json": { + "to_server": { + "set": [ + { + "field1": "value1" + }, + { + "field2": "value2" + } + ], + "del": [ + "group" + ] + }, + "to_client": { + "set": [ + { + "new_response_field": "ADDED" + }, + "del": [ + "hostname" + ] + } + } + } +``` + +Client request payload is: + +``` +{"username": "john.doe@acme.com", "group": "guest"} +``` + +Based on the JSON service definition `to_server` section: + +- "field1": "value1" is added +- "field2": "value2" is added +- "group" is removed + +The updated payload: + +``` +{"field1":"value1","field2":"value2","username":"john.doe@acme.com"} +``` + +is sent to the upstream. Upstream response is: + +``` +{"hostname":"cf97af39bbd6","payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06"} +``` + +The response payload is updated based on the JSON service definition `to_client` section: + +- "new_response_field": "ADDED" is added +- "hostname" is removed + +The resulting payload is returned to the client as: + +``` +{"payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06","new_response_field":"ADDED"} +``` + +NGINX logs: + +``` +$ docker logs nginx -f +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- CLIENT REQUEST --------------------------- +2023/11/01 14:59:06 [warn] 6#6: *9 js: Client[10.5.0.1] Method[POST] Host[127.0.0.1:10080] URI [/v1.0/api_post] Body[{"username": "john.doe@acme.com", "group": "guest"}] +2023/11/01 14:59:06 [warn] 6#6: *9 js: Subrequest [/dbQuery/backend/fetchkey/v1.0/api_post] +2023/11/01 14:59:06 [warn] 6#6: *9 js: Rule found: URI[/dbQuery/backend/fetchkey/v1.0/api_post] status[200] body[{"rule":{"enabled":true,"id":2,"json":{"to_client":{"del":["hostname"],"set":[{"new_response_field":"ADDED"}]},"to_server":{"del":["group"],"set":[{"field1":"value1"},{"field2":"value2"}]}},"matchRules":{"method":"POST","roles":"devops"},"operation":{"url":"https://api-server-2:5000/echo_data"},"uri":"v1.0/api_post"}} +] +2023/11/01 14:59:06 [warn] 6#6: *9 js: Rewriting request [127.0.0.1:10080/v1.0/api_post] -> [https://api-server-2:5000/echo_data] +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- Checking authorization +2023/11/01 14:59:06 [warn] 6#6: *9 js: - HTTP method received [POST] -> needed [POST] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - JWT roles received [devops] -> needed [devops] +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- Authorization successful +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- JSON payload client -> server : being updated +2023/11/01 14:59:06 [warn] 6#6: *9 js: Updating JSON payload [{"username":"john.doe@acme.com","group":"guest"}] with template [{"del":["group"],"set":[{"field1":"value1"},{"field2":"value2"}]}] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - Updating [field1 = value1] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - Updating [field2 = value2] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - Deleting [group] +2023/11/01 14:59:06 [warn] 6#6: *9 js: Done updating JSON payload [{"username":"john.doe@acme.com","field1":"value1","field2":"value2"}] +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- Proxying request to upstream +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- Upstream returned HTTP [200] payload [{"hostname":"cf97af39bbd6","payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06"} +] +2023/11/01 14:59:06 [warn] 6#6: *9 js: --- JSON payload server -> client : being updated +2023/11/01 14:59:06 [warn] 6#6: *9 js: Updating JSON payload [{"hostname":"cf97af39bbd6","payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06"}] with template [{"del":["hostname"],"set":[{"new_response_field":"ADDED"}]}] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - Updating [new_response_field = ADDED] +2023/11/01 14:59:06 [warn] 6#6: *9 js: - Deleting [hostname] +2023/11/01 14:59:06 [warn] 6#6: *9 js: Done updating JSON payload [{"payload":{"field1":"value1","field2":"value2","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:59:06","new_response_field":"ADDED"}] +``` + +### Test with no payload rewriting + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.devops`" http://127.0.0.1:10080/v1.0/api_post_no_change -d '{"username": "john.doe@acme.com", "group": "guest"}' -H "Content-Type: application/json" +``` + +Output: + +``` +HTTP/1.1 200 OK +Server: nginx/1.25.1 +Date: Wed, 01 Nov 2023 14:22:47 GMT +Content-Type: application/octet-stream +Transfer-Encoding: chunked +Connection: keep-alive + +{"hostname":"b93ecf5e10c5","payload":{"group":"guest","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:22:47"} +``` + +NGINX logs: + +``` +$ docker logs nginx -f +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- CLIENT REQUEST --------------------------- +2023/11/01 14:22:47 [warn] 7#7: *13 js: Client[10.5.0.1] Method[POST] Host[127.0.0.1:10080] URI [/v1.0/api_post_no_change] Body[{"username": "john.doe@acme.com", "group": "guest"}] +2023/11/01 14:22:47 [warn] 7#7: *13 js: Subrequest [/dbQuery/backend/fetchkey/v1.0/api_post_no_change] +2023/11/01 14:22:47 [warn] 7#7: *13 js: Rule found: URI[/dbQuery/backend/fetchkey/v1.0/api_post_no_change] status[200] body[{"rule":{"enabled":true,"id":3,"matchRules":{"method":"POST","roles":"devops"},"operation":{"url":"https://api-server-2:5000/echo_data"},"uri":"v1.0/api_post_no_change"}} +] +2023/11/01 14:22:47 [warn] 7#7: *13 js: Rewriting request [127.0.0.1:10080/v1.0/api_post_no_change] -> [https://api-server-2:5000/echo_data] +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- Checking authorization +2023/11/01 14:22:47 [warn] 7#7: *13 js: - HTTP method received [POST] -> needed [POST] +2023/11/01 14:22:47 [warn] 7#7: *13 js: - JWT roles received [devops] -> needed [devops] +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- Authorization successful +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- JSON payload client -> server : no changes +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- Proxying request to upstream +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- Upstream returned HTTP [200] payload [{"hostname":"b93ecf5e10c5","payload":{"group":"guest","username":"john.doe@acme.com"},"timestamp":"2023-11-01 14:22:47"} +] +2023/11/01 14:22:47 [warn] 7#7: *13 js: --- JSON payload server -> client : no changes +10.5.0.1 - - [01/Nov/2023:14:22:47 +0000] "POST /v1.0/api_post_no_change HTTP/1.1" 200 132 "-" "curl/7.68.0" "-" +2023/11/01 14:22:47 [info] 7#7: *13 client 10.5.0.1 closed keepalive connection +``` + +### Test with JSON payload checked against template + +``` +curl -w '\n' -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://127.0.0.1:10080/v1.0/template_test -d ' +{ + "name": "John", + "age": 30, + "address": { + "street": "123 Main St", + "city": "New York" + } +} +' -H "Content-Type: application/json" +``` + +The JSON service definition retrieved from the backend is: + +``` + { + "id": 4, + "enabled": true, + "uri": "v1.0/template_test", + "matchRules": { + "method": "POST", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "template": { + "name": "", + "age": 0, + "address": { + "street": "", + "city": "" + } + } + } +``` + +Output: + +``` +HTTP/1.1 200 OK +Server: nginx/1.25.3 +Date: Thu, 28 Mar 2024 16:38:41 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +{"hostname":"6c8c15e6b178","payload":{"address":{"city":"New York","street":"123 Main St"},"age":30,"name":"John"},"timestamp":"2024-03-28 16:38:41"} +``` + +NGINX logs: + +``` +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- CLIENT REQUEST --------------------------- +2024/03/28 17:13:33 [warn] 6#6: *45 js: Client[10.5.0.1] Method[POST] Host[127.0.0.1:10080] URI [/v1.0/template_test] Body[ +{ + "name": "John", + "age": 30, + "address": { + "street": "123 Main St", + "city": "New York" + } +} +] +2024/03/28 17:13:33 [warn] 6#6: *45 js: Subrequest [/dbQuery/backend/fetchkey/v1.0/template_test] +2024/03/28 17:13:33 [warn] 6#6: *45 js: Rule found: URI[/dbQuery/backend/fetchkey/v1.0/template_test] status[200] body[{"rule":{"enabled":true,"id":4,"matchRules":{"method":"POST","roles":"guest"},"operation":{"url":"https://api-server-2:5000/echo_data"},"template":{"address":{"city":"","street":""},"age":0,"name":""},"uri":"v1.0/template_test"}} +] +2024/03/28 17:13:33 [warn] 6#6: *45 js: Rewriting request [127.0.0.1:10080/v1.0/template_test] -> [https://api-server-2:5000/echo_data] +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- Checking authorization +2024/03/28 17:13:33 [warn] 6#6: *45 js: - HTTP method received [POST] -> needed [POST] +2024/03/28 17:13:33 [warn] 6#6: *45 js: - JWT roles received [guest] -> needed [guest] +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- Authorization successful +2024/03/28 17:13:33 [warn] 6#6: *45 js: +-- JSON template validation [{"address":{"city":"","street":""},"age":0,"name":""}] +2024/03/28 17:13:33 [warn] 6#6: *45 js: |-- Checking JSON payload [[object Object]] +2024/03/28 17:13:33 [warn] 6#6: *45 js: |-- Checking JSON payload [[object Object]] +2024/03/28 17:13:33 [warn] 6#6: *45 js: |---- Property [city] ok +2024/03/28 17:13:33 [warn] 6#6: *45 js: |---- Property [street] ok +2024/03/28 17:13:33 [warn] 6#6: *45 js: |---- Property [address] ok +2024/03/28 17:13:33 [warn] 6#6: *45 js: |---- Property [age] ok +2024/03/28 17:13:33 [warn] 6#6: *45 js: |---- Property [name] ok +2024/03/28 17:13:33 [warn] 6#6: *45 js: +-- JSON template validation successful +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- JSON payload client -> server : no changes +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- Proxying request to upstream +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- Upstream returned HTTP [200] payload [{"hostname":"6c8c15e6b178","payload":{"address":{"city":"New York","street":"123 Main St"},"age":30,"name":"John"},"timestamp":"2024-03-28 17:13:33"} +] +2024/03/28 17:13:33 [warn] 6#6: *45 js: --- JSON payload server -> client : no changes +2024/03/28 17:13:33 [info] 6#6: *45 client 10.5.0.1 closed keepalive connection +``` + +### Test with invalid JSON payload check against template + +``` +curl -w '\n' -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://127.0.0.1:10080/v1.0/template_test -d ' +{ + "name": "John", + "address": { + "street": "123 Main St", + "city": "New York" + } +} +' -H "Content-Type: application/json" +``` + +Output: + +``` +HTTP/1.1 422 +Server: nginx/1.25.3 +Date: Thu, 28 Mar 2024 17:15:29 GMT +Content-Length: 0 +Connection: keep-alive +``` + +NGINX logs: + +``` +2024/03/28 17:15:29 [warn] 6#6: *49 js: --- CLIENT REQUEST --------------------------- +2024/03/28 17:15:29 [warn] 6#6: *49 js: Client[10.5.0.1] Method[POST] Host[127.0.0.1:10080] URI [/v1.0/template_test] Body[ +{ + "name": "John", + "address": { + "street": "123 Main St", + "city": "New York" + } +} +] +2024/03/28 17:15:29 [warn] 6#6: *49 js: Subrequest [/dbQuery/backend/fetchkey/v1.0/template_test] +2024/03/28 17:15:29 [warn] 6#6: *49 js: Rule found: URI[/dbQuery/backend/fetchkey/v1.0/template_test] status[200] body[{"rule":{"enabled":true,"id":4,"matchRules":{"method":"POST","roles":"guest"},"operation":{"url":"https://api-server-2:5000/echo_data"},"template":{"address":{"city":"","street":""},"age":0,"name":""},"uri":"v1.0/template_test"}} +] +2024/03/28 17:15:29 [warn] 6#6: *49 js: Rewriting request [127.0.0.1:10080/v1.0/template_test] -> [https://api-server-2:5000/echo_data] +2024/03/28 17:15:29 [warn] 6#6: *49 js: --- Checking authorization +2024/03/28 17:15:29 [warn] 6#6: *49 js: - HTTP method received [POST] -> needed [POST] +2024/03/28 17:15:29 [warn] 6#6: *49 js: - JWT roles received [guest] -> needed [guest] +2024/03/28 17:15:29 [warn] 6#6: *49 js: --- Authorization successful +2024/03/28 17:15:29 [warn] 6#6: *49 js: +-- JSON template validation [{"address":{"city":"","street":""},"age":0,"name":""}] +2024/03/28 17:15:29 [warn] 6#6: *49 js: |-- Checking JSON payload [[object Object]] +2024/03/28 17:15:29 [warn] 6#6: *49 js: |-- Checking JSON payload [[object Object]] +2024/03/28 17:15:29 [warn] 6#6: *49 js: |---- Property [city] ok +2024/03/28 17:15:29 [warn] 6#6: *49 js: |---- Property [street] ok +2024/03/28 17:15:29 [warn] 6#6: *49 js: |---- Property [address] ok +2024/03/28 17:15:29 [warn] 6#6: *49 js: |---- Property [age] missing +2024/03/28 17:15:29 [warn] 6#6: *49 js: +-- JSON template validation failed +2024/03/28 17:15:29 [info] 6#6: *49 client 10.5.0.1 closed keepalive connection +``` + +## REST API access test - for Kubernetes + +Note: the example FQDN `nginx-api-steering.k8s.f5.ff.lan` is used. This is defined in the `kubernetes.yaml` file. + +Display NGINX Plus logs: + +``` +kubectl logs -l app=nginx -n nginx-api-steering -f +``` + +Test with valid HTTP method with no JWT token (returns 401): + +``` +curl -X GET -ki http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_get +``` + +Test with valid JWT token, HTTP method and URI (returns 200): + +``` +curl -X GET -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_get +``` + +Test with valid JWT token and invalid HTTP method (return 403): + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_get +``` + +Test with valid JWT token and invalid `guest` role (returns 403): + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_post -d '{"username": "john.doe@acme.com"}' -H "Content-Type: application/json" +``` + +Test with valid JWT token and valid `devops` role (returns 200): + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.devops`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_post -d '{"username": "john.doe@acme.com", "group": "guest"}' -H "Content-Type: application/json" +``` + +Test with no payload rewriting (returns 200): + +``` +curl -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.devops`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/api_post_no_change -d '{"username": "john.doe@acme.com", "group": "guest"}' -H "Content-Type: application/json" +``` + +Test with JSON payload checked against template (returns 200): + +``` +curl -w '\n' -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/template_test -d ' +{ + "name": "John", + "age": 30, + "address": { + "street": "123 Main St", + "city": "New York" + } +} +' -H "Content-Type: application/json" +``` + +Test with invalid JSON payload check against template (returns 422): + +``` +curl -w '\n' -X POST -ki -H "Authorization: Bearer `cat jwt/jwt.guest`" http://nginx-api-steering.k8s.f5.ff.lan/v1.0/template_test -d ' +{ + "name": "John", + "address": { + "street": "123 Main St", + "city": "New York" + } +} +' -H "Content-Type: application/json" +``` + +## Deployment removal + +For docker-compose: + +``` +./nginx-api-steering.sh -o stop +``` + +For Kubernetes: + +``` +./nginx-api-steering.sh -o stop-k8s +``` diff --git a/NGINX-API-Steering/apiserver/Dockerfile b/NGINX-API-Steering/apiserver/Dockerfile new file mode 100644 index 0000000..3e664d4 --- /dev/null +++ b/NGINX-API-Steering/apiserver/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.12-slim + +WORKDIR /app +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt +COPY apiserver.py . + +EXPOSE 5000 +CMD ["python", "apiserver.py"] diff --git a/NGINX-API-Steering/apiserver/apiserver.py b/NGINX-API-Steering/apiserver/apiserver.py new file mode 100755 index 0000000..3bd0c7d --- /dev/null +++ b/NGINX-API-Steering/apiserver/apiserver.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 + +from flask import Flask, request, jsonify +from datetime import datetime +import socket + +app = Flask(__name__) + +# curl -ks -X GET https://127.0.0.1:5000/echo_data | jq +@app.route("/get_data", methods=["GET"]) +def get_data(): + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + hostname = socket.gethostname() + + data = { + "timestamp": timestamp, + "hostname": hostname + } + + return jsonify(data) + +# curl -ks -X POST https://127.0.0.1:5000/echo_data -d '{"var":123}' -H "Content-Type: application/json" +@app.route("/echo_data", methods=["POST"]) +def echo_data(): + payload = request.get_json() if request.get_json() != None else '' + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + hostname = socket.gethostname() + + return jsonify({"payload": payload, "hostname": hostname, "timestamp": timestamp}) + +if __name__ == "__main__": + app.run(ssl_context="adhoc",host="0.0.0.0", port=5000) diff --git a/NGINX-API-Steering/apiserver/requirements.txt b/NGINX-API-Steering/apiserver/requirements.txt new file mode 100644 index 0000000..74a05ec --- /dev/null +++ b/NGINX-API-Steering/apiserver/requirements.txt @@ -0,0 +1,2 @@ +Flask +cryptography diff --git a/NGINX-API-Steering/backend/Dockerfile b/NGINX-API-Steering/backend/Dockerfile new file mode 100644 index 0000000..6b67bc7 --- /dev/null +++ b/NGINX-API-Steering/backend/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.12-slim + +WORKDIR /app +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt +COPY backend.py . + +EXPOSE 5000 +CMD ["python", "backend.py"] diff --git a/NGINX-API-Steering/backend/backend.py b/NGINX-API-Steering/backend/backend.py new file mode 100755 index 0000000..d60c73f --- /dev/null +++ b/NGINX-API-Steering/backend/backend.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 + +import json +from flask import Flask, jsonify, abort, make_response, request + +app = Flask(__name__) + +with open('db.json') as db: + rules = json.load(db) + +@app.route('/backend/fetchkey/', methods=['GET']) +def get_key(uri): + rule = [rule for rule in rules if rule['uri'] == uri] + if len(rule) == 0: + abort(404) + return jsonify({'rule': rule[0]}) + +@app.route('/backend/fetchallkeys', methods=['GET']) +def get_all_keys(): + return jsonify({'rules': rules}) + +@app.route('/jwks.json', methods=['GET']) +def get_jwks(): + return jsonify({"keys": [{ "k":"ZmFudGFzdGljand0", "kty":"oct", "kid":"0001" }]}) + +@app.errorhandler(404) +def not_found(error): + return make_response(jsonify({'error': 'Not found'}), 404) + +if __name__ == '__main__': + app.run(host='0.0.0.0') diff --git a/NGINX-API-Steering/backend/db-dockercompose.json b/NGINX-API-Steering/backend/db-dockercompose.json new file mode 100644 index 0000000..5774799 --- /dev/null +++ b/NGINX-API-Steering/backend/db-dockercompose.json @@ -0,0 +1,83 @@ +[ + { + "id": 1, + "enabled": true, + "uri": "v1.0/api_get", + "matchRules": { + "method": "GET", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-1:5000/get_data" + } + }, + { + "id": 2, + "enabled": true, + "uri": "v1.0/api_post", + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "json": { + "to_server": { + "set": [ + { + "field1": "value1" + }, + { + "field2": "value2" + } + ], + "del": [ + "group" + ] + }, + "to_client": { + "set": [ + { + "new_response_field": "ADDED" + } + ], + "del": [ + "hostname" + ] + } + } + }, + { + "id": 3, + "enabled": true, + "uri": "v1.0/api_post_no_change", + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + } + }, + { + "id": 4, + "enabled": true, + "uri": "v1.0/template_test", + "matchRules": { + "method": "POST", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-2:5000/echo_data" + }, + "template": { + "name": "", + "age": 0, + "address": { + "street": "", + "city": "" + } + } + } +] diff --git a/NGINX-API-Steering/backend/db-k8s.json b/NGINX-API-Steering/backend/db-k8s.json new file mode 100644 index 0000000..00f659c --- /dev/null +++ b/NGINX-API-Steering/backend/db-k8s.json @@ -0,0 +1,83 @@ +[ + { + "id": 1, + "enabled": true, + "uri": "v1.0/api_get", + "matchRules": { + "method": "GET", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-1.nginx-api-steering.svc.cluster.local:5000/get_data" + } + }, + { + "id": 2, + "enabled": true, + "uri": "v1.0/api_post", + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2.nginx-api-steering.svc.cluster.local:5000/echo_data" + }, + "json": { + "to_server": { + "set": [ + { + "field1": "value1" + }, + { + "field2": "value2" + } + ], + "del": [ + "group" + ] + }, + "to_client": { + "set": [ + { + "new_response_field": "ADDED" + } + ], + "del": [ + "hostname" + ] + } + } + }, + { + "id": 3, + "enabled": true, + "uri": "v1.0/api_post_no_change", + "matchRules": { + "method": "POST", + "roles": "devops" + }, + "operation": { + "url": "https://api-server-2.nginx-api-steering.svc.cluster.local:5000/echo_data" + } + }, + { + "id": 4, + "enabled": true, + "uri": "v1.0/template_test", + "matchRules": { + "method": "POST", + "roles": "guest" + }, + "operation": { + "url": "https://api-server-2.nginx-api-steering.svc.cluster.local:5000/echo_data" + }, + "template": { + "name": "", + "age": 0, + "address": { + "street": "", + "city": "" + } + } + } +] diff --git a/NGINX-API-Steering/backend/requirements.txt b/NGINX-API-Steering/backend/requirements.txt new file mode 100644 index 0000000..e3e9a71 --- /dev/null +++ b/NGINX-API-Steering/backend/requirements.txt @@ -0,0 +1 @@ +Flask diff --git a/NGINX-API-Steering/docker-compose.yaml b/NGINX-API-Steering/docker-compose.yaml new file mode 100644 index 0000000..ba31d2b --- /dev/null +++ b/NGINX-API-Steering/docker-compose.yaml @@ -0,0 +1,80 @@ +version: "3.9" + +services: + backend: + container_name: backend + image: backend + build: + context: ./backend + dockerfile: Dockerfile + ports: + - 10000:5000 + networks: + lab-network: + ipv4_address: 10.5.0.10 + volumes: + - ./backend/db-dockercompose.json:/app/db.json:ro + + api-server-1: + container_name: api-server-1 + image: api-server + build: + context: ./apiserver + dockerfile: Dockerfile + ports: + - 5001:5000 + networks: + lab-network: + ipv4_address: 10.5.0.11 + + api-server-2: + container_name: api-server-2 + image: api-server + build: + context: ./apiserver + dockerfile: Dockerfile + ports: + - 5002:5000 + networks: + lab-network: + ipv4_address: 10.5.0.12 + + nginx: + container_name: nginx + image: nginx-api-steering + build: + context: ./nginx + dockerfile: Dockerfile + secrets: + - nginx-crt + - nginx-key + ports: + # Clients access to published REST API + - 10080:80 + # Admin access to NGINX Plus API and Dashboard + - 20080:8080 + networks: + lab-network: + ipv4_address: 10.5.0.20 + volumes: + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./nginx/api.conf:/etc/nginx/conf.d/api.conf:ro + - ./nginx/steering.js:/etc/nginx/conf.d/steering.js:ro + - ./nginx/steering.conf-dockercompose:/etc/nginx/conf.d/steering.conf:ro + - /dev/null:/etc/nginx/conf.d/default.conf:ro + +secrets: + nginx-crt: + name: nginx-crt + file: ${NGINX_CERT} + nginx-key: + name: nginx-key + file: ${NGINX_KEY} + +networks: + lab-network: + driver: bridge + ipam: + config: + - subnet: 10.5.0.0/24 + gateway: 10.5.0.1 diff --git a/NGINX-API-Steering/jwt/jwks.json b/NGINX-API-Steering/jwt/jwks.json new file mode 100644 index 0000000..68139b8 --- /dev/null +++ b/NGINX-API-Steering/jwt/jwks.json @@ -0,0 +1,9 @@ +{ + "keys": [ + { + "k":"ZmFudGFzdGljand0", + "kty":"oct", + "kid":"0001" + } + ] +} diff --git a/NGINX-API-Steering/jwt/jwtDecoder.sh b/NGINX-API-Steering/jwt/jwtDecoder.sh new file mode 100755 index 0000000..e48d4c6 --- /dev/null +++ b/NGINX-API-Steering/jwt/jwtDecoder.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +# +# JWT Decoder Bash Script +# + +secret='fantasticjwt' + +base64_encode() +{ + declare input=${1:-$(2& echo "fatal error. base64 string is unexepcted length" + elif [[ $remainder -eq 2 || $remainder -eq 3 ]]; + then + input="${input}$(for i in `seq $((4 - $remainder))`; do printf =; done)" + fi + printf '%s' "${input}" | base64 --decode +} + +verify_signature() +{ + declare header_and_payload=${1} + expected=$(echo "${header_and_payload}" | hmacsha256_encode | base64_encode) + actual=${2} + + if [ "${expected}" = "${actual}" ] + then + echo "Signature is valid" + else + echo "Signature is NOT valid" + fi +} + +hmacsha256_encode() +{ + declare input=${1:-$( jwt.guest +echo "${header_payload_devops}.${signature_devops}" > jwt.devops diff --git a/NGINX-API-Steering/kubernetes.yaml b/NGINX-API-Steering/kubernetes.yaml new file mode 100644 index 0000000..057e254 --- /dev/null +++ b/NGINX-API-Steering/kubernetes.yaml @@ -0,0 +1,212 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + namespace: nginx-api-steering + labels: + app: backend +spec: + selector: + matchLabels: + app: backend + replicas: 1 + template: + metadata: + labels: + app: backend + spec: + containers: + - name: backend + image: registry.k8s.ie.ff.lan:31005/nginx-api-steering:backend + ports: + - name: http + containerPort: 5000 + volumeMounts: + - name: backend-db-volume + mountPath: /app/db.json + subPath: db.json + volumes: + - name: backend-db-volume + configMap: + name: backend-db + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: api-server-1 + namespace: nginx-api-steering + labels: + app: api-server-1 +spec: + selector: + matchLabels: + app: api-server-1 + replicas: 1 + template: + metadata: + labels: + app: api-server-1 + spec: + containers: + - name: api-server-1 + image: registry.k8s.ie.ff.lan:31005/nginx-api-steering:api-server + ports: + - name: http + containerPort: 5000 + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: api-server-2 + namespace: nginx-api-steering + labels: + app: api-server-2 +spec: + selector: + matchLabels: + app: api-server-2 + replicas: 1 + template: + metadata: + labels: + app: api-server-2 + spec: + containers: + - name: api-server-2 + image: registry.k8s.ie.ff.lan:31005/nginx-api-steering:api-server + ports: + - name: http + containerPort: 5000 + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx + namespace: nginx-api-steering + labels: + app: nginx +spec: + selector: + matchLabels: + app: nginx + replicas: 1 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: backend + image: registry.k8s.ie.ff.lan:31005/nginx-api-steering:nginx-api-steering + ports: + - name: http + containerPort: 80 + volumeMounts: + - name: nginx-conf-volume + mountPath: /etc/nginx/nginx.conf + subPath: nginx.conf + - name: nginx-conf-volume + mountPath: /etc/nginx/conf.d/api.conf + subPath: api.conf + - name: nginx-conf-volume + mountPath: /etc/nginx/conf.d/steering.js + subPath: steering.js + - name: nginx-conf-volume + mountPath: /etc/nginx/conf.d/steering.conf + subPath: steering.conf + - name: nginx-conf-volume + mountPath: /etc/nginx/conf.d/default.conf + subPath: default.conf + volumes: + - name: nginx-conf-volume + configMap: + name: nginx-conf + +--- +apiVersion: v1 +kind: Service +metadata: + name: backend + namespace: nginx-api-steering + labels: + app: backend +spec: + ports: + - name: http + port: 5000 + selector: + app: backend + type: ClusterIP + +--- +apiVersion: v1 +kind: Service +metadata: + name: api-server-1 + namespace: nginx-api-steering + labels: + app: api-server-1 +spec: + ports: + - name: http + port: 5000 + selector: + app: api-server-1 + type: ClusterIP + +--- +apiVersion: v1 +kind: Service +metadata: + name: api-server-2 + namespace: nginx-api-steering + labels: + app: api-server-2 +spec: + ports: + - name: http + port: 5000 + selector: + app: api-server-2 + type: ClusterIP + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx + namespace: nginx-api-steering + labels: + app: nginx +spec: + ports: + - name: http + port: 80 + selector: + app: nginx + type: ClusterIP + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx-api-steering + namespace: nginx-api-steering + labels: + app: nginx-api-steering +spec: + ingressClassName: nginx + rules: + - host: nginx-api-steering.k8s.f5.ff.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx + port: + number: 80 diff --git a/NGINX-API-Steering/nginx-api-steering.sh b/NGINX-API-Steering/nginx-api-steering.sh new file mode 100755 index 0000000..135bf35 --- /dev/null +++ b/NGINX-API-Steering/nginx-api-steering.sh @@ -0,0 +1,109 @@ +#!/bin/bash + +PROJECT_NAME=nginx-api-steering +DOCKERCOMPOSE=docker-compose.yaml +NAMESPACE=nginx-api-steering + +BANNER="NGINX API Steering lab - https://github.com/fabriziofiorucci/NGINX-API-Steering\n\n +=== Usage:\n\n +$0 [options]\n\n +=== Options:\n\n +-h\t\t\t\t\t\t- This help\n +-o [start|stop|start-k8s|stop-k8s|build]\t- Action\n +-C [file.crt]\t\t\t\t\t- Certificate file to pull packages from the official NGINX repository\n +-K [file.key]\t\t\t\t\t- Key file to pull packages from the official NGINX repository\n\n +=== Examples:\n\n +Build docker images:\n +\t$0 -o build -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key\n\n +\tNote: Images are built as\n +\t- nginx-api-steering:latest\n +\t- api-server:latest\n +\t- backend:latest\n\n +docker-compose lab start (build images if needed):\n +\t$0 -o start -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key\n\n +docker-compose lab stop:\n +\t$0 -o stop\n\n +Kubernetes lab start:\n +\t$0 -o start-k8s\n\n +\tPrerequisites:\n\n +\t1. Docker images must be built using the \"build\" action\n +\t2. Docker images must be pushed to a local registry\n +\t3. Docker images in the local registry names must be referenced in the kubernetes.yaml file\n +\tNote: The lab is deployed in the \"$NAMESPACE\" namespace\n\n +Kubernetes lab stop:\n\n +\tNote: The \"$NAMESPACE\" namespace is deleted\n\n +\t$0 -o stop-k8s\n +" + + +while getopts 'ho:C:K:' OPTION +do + case "$OPTION" in + h) + echo -e $BANNER + exit + ;; + o) + MODE=$OPTARG + ;; + C) + export NGINX_CERT=$OPTARG + ;; + K) + export NGINX_KEY=$OPTARG + ;; + esac +done + +if [ -z "$1" ] || [ -z "${MODE}" ] +then + echo -e $BANNER + exit +fi + +case $MODE in + 'start'|'build') + if [ -z "${NGINX_CERT}" ] || [ -z "${NGINX_KEY}" ] + then + echo "Missing NGINX Plus certificate/key" + exit + fi + + if [ "$MODE" = "start" ] + then + DOCKER_BUILDKIT=1 docker-compose -p $PROJECT_NAME -f $DOCKERCOMPOSE up -d --remove-orphans + else + DOCKER_BUILDKIT=1 docker-compose -p $PROJECT_NAME -f $DOCKERCOMPOSE build + fi + ;; + 'stop') + export NGINX_CERT="x" + export NGINX_KEY="x" + docker-compose -p $PROJECT_NAME -f $DOCKERCOMPOSE down + ;; + 'start-k8s') + echo "Deploying on Kubernetes namespace $NAMESPACE" + kubectl create ns $NAMESPACE + + kubectl create configmap backend-db -n $NAMESPACE \ + --from-file=db.json=backend/db-k8s.json + + kubectl create configmap nginx-conf -n $NAMESPACE \ + --from-file=nginx.conf=nginx/nginx.conf \ + --from-file=api.conf=nginx/api.conf \ + --from-file=steering.js=nginx/steering.js \ + --from-file=steering.conf=nginx/steering.conf-k8s \ + --from-file=default.conf=/dev/null + + kubectl apply -n $NAMESPACE -f kubernetes.yaml + + ;; + 'stop-k8s') + echo "Removing Kubernetes namespace $NAMESPACE" + kubectl delete ns $NAMESPACE + ;; + *) + echo -e $BANNER + exit + ;; +esac diff --git a/NGINX-API-Steering/nginx/Dockerfile b/NGINX-API-Steering/nginx/Dockerfile new file mode 100644 index 0000000..457d36a --- /dev/null +++ b/NGINX-API-Steering/nginx/Dockerfile @@ -0,0 +1,66 @@ +FROM alpine:3.19 + +LABEL maintainer="NGINX Docker Maintainers " + +# Define NGINX versions for NGINX Plus and NGINX Plus modules +# Uncomment this block and the versioned nginxPackages in the main RUN +# instruction to install a specific release +# ENV NGINX_VERSION 29 +# ENV NJS_VERSION 0.7.12 +# ENV PKG_RELEASE 1 + +# Download certificate and key from the customer portal (https://account.f5.com) +# and copy to the build context +RUN --mount=type=secret,id=nginx-crt,dst=cert.pem \ + --mount=type=secret,id=nginx-key,dst=cert.key \ + set -x \ +# Create nginx user/group first, to be consistent throughout Docker variants + && addgroup -g 101 -S nginx \ + && adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx \ +# Install the latest release of NGINX Plus and/or NGINX Plus modules +# Uncomment individual modules if necessary +# Use versioned packages over defaults to specify a release + && nginxPackages=" \ + nginx-plus \ + # nginx-plus=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-xslt \ + # nginx-plus-module-xslt=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-geoip \ + # nginx-plus-module-geoip=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-image-filter \ + # nginx-plus-module-image-filter=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-perl \ + # nginx-plus-module-perl=${NGINX_VERSION}-r${PKG_RELEASE} \ + nginx-plus-module-njs \ + # nginx-plus-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${PKG_RELEASE} \ + " \ + KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" \ + && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub \ + && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then \ + echo "key verification succeeded!"; \ + mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; \ + else \ + echo "key verification failed!"; \ + exit 1; \ + fi \ + && cat cert.pem > /etc/apk/cert.pem \ + && cat cert.key > /etc/apk/cert.key \ + && apk add -X "https://pkgs.nginx.com/plus/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages \ + && if [ -f "/etc/apk/keys/nginx_signing.rsa.pub" ]; then rm -f /etc/apk/keys/nginx_signing.rsa.pub; fi \ + && if [ -f "/etc/apk/cert.key" ] && [ -f "/etc/apk/cert.pem" ]; then rm -f /etc/apk/cert.key /etc/apk/cert.pem; fi \ +# Bring in tzdata so users could set the timezones through the environment +# variables + && apk add --no-cache tzdata \ +# Bring in curl and ca-certificates to make registering on DNS SD easier + && apk add --no-cache curl ca-certificates \ +# Forward request and error logs to Docker log collector + && ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80 + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] + +# vim:syntax=Dockerfile diff --git a/NGINX-API-Steering/nginx/api.conf b/NGINX-API-Steering/nginx/api.conf new file mode 100644 index 0000000..f916c92 --- /dev/null +++ b/NGINX-API-Steering/nginx/api.conf @@ -0,0 +1,12 @@ +server { + listen 8080; + + location /api/ { + api write=on; + } + + location /dashboard.html { + root /usr/share/nginx/html; + } + access_log off; +} diff --git a/NGINX-API-Steering/nginx/nginx.conf b/NGINX-API-Steering/nginx/nginx.conf new file mode 100644 index 0000000..5d44eeb --- /dev/null +++ b/NGINX-API-Steering/nginx/nginx.conf @@ -0,0 +1,40 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +load_module modules/ngx_http_js_module.so; +load_module modules/ngx_stream_js_module.so; + + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + keepalive_timeout 65; + #gzip on; + include /etc/nginx/conf.d/*.conf; +} + + +# TCP/UDP proxy and load balancing block +stream { + log_format stream-main '$remote_addr [$time_local] ' + '$protocol $status $bytes_sent $bytes_received ' + '$session_time "$ssl_preread_server_name"'; + #access_log /dev/stdout stream-main; + include /etc/nginx/stream-conf.d/*.conf; +} diff --git a/NGINX-API-Steering/nginx/steering.conf-dockercompose b/NGINX-API-Steering/nginx/steering.conf-dockercompose new file mode 100644 index 0000000..7790105 --- /dev/null +++ b/NGINX-API-Steering/nginx/steering.conf-dockercompose @@ -0,0 +1,75 @@ +js_import steering from conf.d/steering.js; + +resolver 127.0.0.11; + +upstream backend-db +{ + zone backend-db 64k; + + # Steering DB REST API endpoint + server backend:5000; +} + +proxy_cache_path /var/cache/nginx/jwk levels=1 keys_zone=jwk:1m max_size=10m; +proxy_cache_path /var/tmp/cache levels=1:2 keys_zone=dbQueryCache:10m max_size=20m inactive=1m use_temp_path=off; +proxy_cache_key "$scheme://$host$request_uri$query_string"; + +log_format jwt '$remote_addr - $remote_user [$time_local] "$request" ' +'$status $body_bytes_sent "$http_referer" "$http_user_agent" ' +'$jwt_header_alg $jwt_claim_sub'; + +auth_jwt_claim_set $jwt_claim_roles roles; + +server +{ + listen 80; + server_name $host; + status_zone steering; + + location / + { + auth_jwt "authentication required"; + auth_jwt_key_request /_jwks_uri; + + access_log /var/log/nginx/api_steering_access.log jwt; + access_log /var/log/nginx/access.log main; + + error_log /var/log/nginx/api_steering_error.log debug; + error_log /var/log/nginx/error.log debug; + + js_content steering.dbQuery; + } + + location = /_jwks_uri + { + internal; + proxy_method GET; + proxy_cache jwk; # Cache responses + proxy_pass http://backend-db/jwks.json; # Obtain keys from here + } + + location ~ /dbQuery/(.*) + { + internal; + + proxy_cache dbQueryCache; + proxy_cache_bypass $http_pragma; + proxy_cache_lock on; + proxy_cache_valid 200 1m; + + proxy_pass http://backend-db/$1; + } + + location ~ /steeringMode/(.*) + { + internal; + + proxy_ssl_session_reuse off; + proxy_ssl_server_name on; + + proxy_pass_request_headers on; + proxy_pass_request_body on; + + proxy_pass $1; + } +} diff --git a/NGINX-API-Steering/nginx/steering.conf-k8s b/NGINX-API-Steering/nginx/steering.conf-k8s new file mode 100644 index 0000000..9886c39 --- /dev/null +++ b/NGINX-API-Steering/nginx/steering.conf-k8s @@ -0,0 +1,75 @@ +js_import steering from conf.d/steering.js; + +resolver kube-dns.kube-system.svc.cluster.local; + +upstream backend-db +{ + zone backend-db 64k; + + # Steering DB REST API endpoint + server backend:5000; +} + +proxy_cache_path /var/cache/nginx/jwk levels=1 keys_zone=jwk:1m max_size=10m; +proxy_cache_path /var/tmp/cache levels=1:2 keys_zone=dbQueryCache:10m max_size=20m inactive=1m use_temp_path=off; +proxy_cache_key "$scheme://$host$request_uri$query_string"; + +log_format jwt '$remote_addr - $remote_user [$time_local] "$request" ' +'$status $body_bytes_sent "$http_referer" "$http_user_agent" ' +'$jwt_header_alg $jwt_claim_sub'; + +auth_jwt_claim_set $jwt_claim_roles roles; + +server +{ + listen 80; + server_name $host; + status_zone steering; + + location / + { + auth_jwt "authentication required"; + auth_jwt_key_request /_jwks_uri; + + access_log /var/log/nginx/api_steering_access.log jwt; + access_log /var/log/nginx/access.log main; + + error_log /var/log/nginx/api_steering_error.log debug; + error_log /var/log/nginx/error.log debug; + + js_content steering.dbQuery; + } + + location = /_jwks_uri + { + internal; + proxy_method GET; + proxy_cache jwk; # Cache responses + proxy_pass http://backend-db/jwks.json; # Obtain keys from here + } + + location ~ /dbQuery/(.*) + { + internal; + + proxy_cache dbQueryCache; + proxy_cache_bypass $http_pragma; + proxy_cache_lock on; + proxy_cache_valid 200 1m; + + proxy_pass http://backend-db/$1; + } + + location ~ /steeringMode/(.*) + { + internal; + + proxy_ssl_session_reuse off; + proxy_ssl_server_name on; + + proxy_pass_request_headers on; + proxy_pass_request_body on; + + proxy_pass $1; + } +} diff --git a/NGINX-API-Steering/nginx/steering.js b/NGINX-API-Steering/nginx/steering.js new file mode 100644 index 0000000..2721d70 --- /dev/null +++ b/NGINX-API-Steering/nginx/steering.js @@ -0,0 +1,212 @@ +export default { + dbQuery +}; + +function dbQuery(r) { + r.warn('--- CLIENT REQUEST ---------------------------'); + r.warn('Client[' + r.remoteAddress + '] Method[' + r.method + '] Host[' + r.headersIn['host'] + '] URI [' + r.uri + '] Body[' + r.requestText + ']'); + + // Queries the backend db + r.warn('Subrequest [/dbQuery/backend/fetchkey' + r.uri + ']'); + r.subrequest('/dbQuery/backend/fetchkey' + r.uri, '', subReqCallback); + + function subReqCallback(reply) { + if (reply.status != 200) { + // Rule not found + + r.warn('Rule not found - returning 404'); + r.return(404); + } else { + r.warn('Rule found: URI[' + reply.uri + '] status[' + reply.status.toString() + '] body[' + reply.responseText + ']'); + + var body = JSON.parse(reply.responseText); + + if (body.rule.enabled == 'false') { + // Rule is disabled + + r.warn('Rule is disabled - returning 404'); + r.return(404); + } else { + r.warn('Rewriting request [' + r.headersIn['host'] + r.uri + '] -> [' + body.rule.operation.url + ']'); + + // Authorization checks + r.warn('--- Checking authorization'); + + r.warn('- HTTP method received [' + r.method + '] -> needed [' + body.rule.matchRules.method + ']'); + r.warn('- JWT roles received [' + r.variables.jwt_claim_roles + '] -> needed [' + body.rule.matchRules.roles + ']'); + + if (r.method == body.rule.matchRules.method && body.rule.matchRules.roles.indexOf(r.variables.jwt_claim_roles) >= 0) { + r.warn('--- Authorization successful'); + var requestOk = true; + + if (r.requestText) { + // Request JSON payload update + var requestBody=JSON.parse(r.requestText); + + // JSON payload validation against template + if ('template' in body.rule) { + r.warn('+-- JSON template validation [' + JSON.stringify(body.rule.template) + ']'); + + if (checkJSON(r,requestBody,body.rule.template)) { + r.warn('+-- JSON template validation successful'); + } else { + r.warn('+-- JSON template validation failed'); + requestOk = false; + r.return(422); + } + } + + if (requestOk == true) { + if ('json' in body.rule && 'to_server' in body.rule.json) { + r.warn('--- JSON payload client -> server : being updated') + requestBody = JSON.stringify( applyJSONChanges(r, requestBody, body.rule.json.to_server) ); + } else { + r.warn('--- JSON payload client -> server : no changes') + requestBody = r.requestText; + } + } + } + } else { + r.warn('--- Authorization failed'); + requestOk = false; + r.return(403); + } + + if (requestOk == true) { + r.warn('--- Proxying request to upstream'); + r.subrequest('/steeringMode/' + body.rule.operation.url, { + method: r.method, body: requestBody + }, steeringModeSubReqCallback); + } + } + } + + function steeringModeSubReqCallback(steeringReply) { + // Steering mode - returns the steered API response back to the client + + r.warn('--- Upstream returned HTTP [' + steeringReply.status + '] payload [' + steeringReply.responseText + ']'); + + var responseBody=''; + + if (steeringReply.responseText) { + // Response JSON payload update + + if ('json' in body.rule && 'to_client' in body.rule.json) { + r.warn('--- JSON payload server -> client : being updated') + responseBody = JSON.stringify( applyJSONChanges(r, responseBody=JSON.parse(steeringReply.responseText), body.rule.json.to_client) ); + } else { + r.warn('--- JSON payload server -> client : no changes') + responseBody = steeringReply.responseText; + } + } + + r.status = steeringReply.status; + + for (var header in steeringReply.headersOut) { + if (header.toLowerCase() != "content-length") { + r.headersOut[header] = steeringReply.headersOut[header]; + } + } + + r.sendHeader(); + r.send(responseBody); + r.finish(); + } + } +} + +function manipulateJSON(jsonObject, key, value) { + // Check if the key already exists in the JSON object + if (jsonObject.hasOwnProperty(key)) { + // If the value is provided, update the existing key value + if (value !== undefined) { + jsonObject[key] = value; + } + // If the value is not provided, remove the existing key + else { + delete jsonObject[key]; + } + } + // If the key doesn't exist and a value is provided, add a new key value pair + else if (value !== undefined) { + jsonObject[key] = value; + } + + // Return the updated JSON object as a string + return jsonObject; +} + +// Applies JSON payload transformations based on the given template +// "set": [ +// { +// "": "" +// } +// ], +// "del": [ +// "" +// ] +// payload and template are JSON objects +function applyJSONChanges(r, payload, jsonTemplate) { + r.warn('Updating JSON payload [' + JSON.stringify(payload) + '] with template [' + JSON.stringify(jsonTemplate) + ']'); + + if ('set' in jsonTemplate) { + for (var i = 0; i < jsonTemplate.set.length; i++) { + var keyVal = jsonTemplate.set[i]; + + Object.keys(keyVal).forEach(function(key) { + var value = keyVal[key]; + + r.warn('- Updating [' + key + ' = ' + value + ']'); + payload = manipulateJSON(payload, key, value); + }); + } + } + if ('del' in jsonTemplate) { + for (var i = 0; i < jsonTemplate.del.length; i++) { + var key = jsonTemplate.del[i]; + + r.warn('- Deleting [' + key + ']'); + payload = manipulateJSON(payload, key); + } + } + + r.warn('Done updating JSON payload [' + JSON.stringify(payload) + ']'); + + return payload; +} + +// Check JSON payload conformity to the template +// JSON keys and key types are verified +function checkJSON(r, payload, template) { + const keys = Object.keys(template); + + r.warn('|-- Checking JSON payload [' + payload + ']'); + + for (let i = 0; i < keys.length; i++) { + // Property check + + if (!payload.hasOwnProperty(keys[i])) { + // JSON key missing in payload + r.warn('|---- Property [' + keys[i] + '] missing'); + return false; + } + + // Property type check + if (typeof payload[keys[i]] !== typeof template[keys[i]]) { + // JSON key with wrong type in payload + r.warn('|---- Property [' + keys[i] + '] type wrong'); + return false; + } + + // Nested properties + if (typeof template[keys[i]] === 'object') { + if(!checkJSON(r, payload[keys[i]], template[keys[i]])) { + return false; + } + } + + r.warn('|---- Property [' + keys[i] + '] ok'); + } + + return true; +} diff --git a/NGINX-Advanced-Healthcheck/README.md b/NGINX-Advanced-Healthcheck/README.md new file mode 100644 index 0000000..06239d4 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/README.md @@ -0,0 +1,92 @@ +# NGINX Advanced Healthcheck + +## Description + +This repository provides a sample NGINX Plus configuration to support advanced active healthchecks. + +Upstream servers availability status is dynamically set based on evaluation of external REST API that can provide any type of JSON reply. +JSON responses can be evaluated by custom logic by adapting the sample [`healthcheck.js`](nginx/conf.d/healthcheck.js) configuration provided. + + +## Prerequisites + +To use this NGINX Plus configuration: + +- NGINX Plus R27 or later with njs support + +To set up the sample lab: + +- One "Load balancer" Linux host to run NGINX Plus and the configuration from this repo. See [here](https://docs.nginx.com/nginx/technical-specs/) for NGINX Plus supported distributions +- Two "Webserver" Linux hosts to run the [sample webservers](webserver) (upstream servers) +- One client host to access NGINX Plus dashboard and test load balancing using curl / a web browser +- Python 3.10+ on all Linux hosts + +## Setup description + + + +NGINX Plus: +- Runs healthcheck evaluation by [querying the external REST API](nginx/conf.d/healthcheck.js) service and applying the custom healthcheck logic +- Sets upstream servers up/down state [through its REST API](nginx/conf.d/healthcheck.js) +- Load balances client requests + - [For HTTP(S) services](nginx/conf.d/loadbalancer.conf) + - [For TCP/UDP services](nginx/stream-conf.d/stream-loadbalancer.conf) + + + +## Deploying this repository + +1. Setup Linux hosts (IP addresses reference the [sample NGINX configuration](nginx)) and install required packages + +| Hostname | IP Address | Distribution | Packages to be installed | Description | +| -------- | ---------- | ------------ | ----------------- | ----------- | +| `client` | 192.168.1.20 | Your favorite client OS | Your favorite web browser, [curl](https://curl.se) | This is used to access NGINX Plus dashboard and to test using curl | +| `nginx` | 192.168.1.21 | Any [NGINX Plus supported distribution](https://docs.nginx.com/nginx/technical-specs/) | NGINX Plus to be [installed](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/) here | NGINX Plus load balancer with advanced healthchecks | +| `webserver1` | 192.168.1.30 | Your favorite Linux distro | Python 3.10+, [webserver](webserver), [health API](health-api) | This is an upstream server NGINX will load balance requests to | +| `webserver2` | 192.168.1.31 | Your favorite Linux distro | Python 3.10+, [webserver](webserver), [health API](health-api) | This is an upstream server NGINX will load balance requests to | + +2. Configure and start services + +| Hostname | Description | +| -------- | ----------- | +| `nginx` | Copy all files in [`nginx/conf.d`](nginx/conf.d) to `/etc/nginx/conf.d/` and all files in [`nginx/stream-conf.d`](nginx/stream-conf.d) to `/etc/nginx/stream-conf.d/`. Start NGINX Plus | +| `webserver1` | Run the sample [`webserver`](webserver) (listening on 8080/TCP) and the [`health API`](health-api) (listening on 5000/TCP) | +| `webserver2` | Run the sample [`webserver`](webserver) (listening on 8080/TCP) and the [`health API`](health-api) (listening on 5000/TCP) | + + +## Testing + +1. NGINX Plus dashboard can be accessed from `client` browsing to `http://192.168.1.20:8080/dashboard.html` + + + +2. Running `curl` from the `client` host check where requests are balanced: + +``` +$ curl -H "Host: app.test.lab" http://192.168.1.21 +This is the webserver running on webserver1 +``` + +3. The default configuration sets upstream servers as available when 1 minute CPU load is lower than 5, see [`healthcheck.js`](nginx/conf.d/healthcheck.js). The actual logic is fully customizable. + +``` + // Evaluation logic goes here, this example checks the 1 minute CPU load + if(jsonReply.cpu.load.1minute < 5) { + // Set the upstream server up + r.warn('Healthcheck: server #[' + backend_server_entry + '] is up'); + r.subrequest("/upstream/up/" + backend_server_entry,postUpstreamUpdate); + } else { + // Set the upstream server down + r.warn('Healthcheck: server #[' + backend_server_entry + '] is down'); + r.subrequest("/upstream/down/" + backend_server_entry,postUpstreamUpdate); + } +``` + +## Customizing + +To customize the NGINX Plus configuration refer to: + +- [`nginx/conf.d/healthcheck.conf`](nginx/conf.d/healthcheck.conf) - Fully commented NGINX Plus configuration to define healtcheck REST API endpoints +- [`nginx/conf.d/healthcheck.js`](nginx/conf.d/healthcheck.js) - To customize the healthcheck evaluation logic +- [`nginx/conf.d/loadbalancer.conf`](nginx/conf.d/loadbalancer.conf) - HTTP(S) upstream and server {} configuration +- [`nginx/stream-conf.d/stream-loadbalancer.conf`](nginx/stream-conf.d/stream-loadbalancer.conf) - TCP/UDP upstream and server {} configuration diff --git a/NGINX-Advanced-Healthcheck/health-api/README.md b/NGINX-Advanced-Healthcheck/health-api/README.md new file mode 100644 index 0000000..a0e737d --- /dev/null +++ b/NGINX-Advanced-Healthcheck/health-api/README.md @@ -0,0 +1,33 @@ +## Health REST API + +This is a sample Python REST API that returns load and system information for the host it runs on. +It is used by this repository to read upstreams CPU usage and set the upstream server status based on the realtime CPU load. + +To run: + +``` +$ pip install -r requirements.txt +[...] +$ python serverstats.py + * Serving Flask app 'serverstats' + * Debug mode: off +WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on all addresses (0.0.0.0) + * Running on http://127.0.0.1:5000 + * Running on http://192.168.1.19:5000 +Press CTRL+C to quit +``` + +It responds to HTTP `GET /stats` requests on port 5000: + +``` +$ curl -i http://127.0.0.1:5000/stats +HTTP/1.1 200 OK +Server: Werkzeug/2.2.2 Python/3.10.9 +Date: Mon, 19 Dec 2022 16:47:17 GMT +Content-Type: application/json +Content-Length: 1836 +Connection: close + +{"cpu":{"arch":"X86_64","arch_string_raw":"x86_64","bits":64,"brand_raw":"Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz","count":8,"cpuinfo_version":[9,0,0],"cpuinfo_version_string":"9.0.0","family":6,"flags":["abm","acpi","aes","aperfmperf","apic","arat","arch_perfmon","avx","avx2","bmi1","bmi2","bts","clflush","cmov","constant_tsc","cpuid","cpuid_fault","cx16","cx8","de","ds_cpl","dtes64","dtherm","dts","epb","ept","ept_ad","erms","est","f16c","flexpriority","fma","fpu","fsgsbase","fxsr","hle","ht","ida","invpcid","invpcid_single","lahf_lm","lm","mca","mce","mmx","monitor","movbe","msr","mtrr","nonstop_tsc","nopl","nx","osxsave","pae","pat","pbe","pcid","pclmulqdq","pdcm","pdpe1gb","pebs","pge","pln","pni","popcnt","pse","pse36","pti","pts","rdrand","rdrnd","rdtscp","rep_good","rtm","sdbg","sep","smep","smx","ss","sse","sse2","sse4_1","sse4_2","ssse3","syscall","tm","tm2","tpr_shadow","tsc","tsc_adjust","tscdeadline","vme","vmx","vnmi","vpid","x2apic","xsave","xsaveopt","xtopology","xtpr"],"hz_actual":[3192955000,0],"hz_actual_friendly":"3.1930 GHz","hz_advertised":[2800000000,0],"hz_advertised_friendly":"2.8000 GHz","l1_data_cache_size":131072,"l1_instruction_cache_size":131072,"l2_cache_associativity":6,"l2_cache_line_size":256,"l2_cache_size":1048576,"l3_cache_size":8388608,"load":{"15minute":37.14599609375,"1minute":25.927734375,"5minute":35.4248046875},"model":60,"python_version":"3.10.9.final.0 (64 bit)","stepping":3,"vendor_id_raw":"GenuineIntel"},"disk":{"/":{"free":177138003968,"percent":65.2,"total":509677637632,"used":332539633664}},"swapMemory":{"total":2147479552},"system":{"bootTime":1671436837.0},"virtualMemory":{"active":2608058368,"available":22842421248,"buffers":156848128,"cached":10918633472,"free":14635302912,"inactive":13349625856,"percent":31.4,"total":33295020032,"used":7584235520}}``` +``` diff --git a/NGINX-Advanced-Healthcheck/health-api/requirements.txt b/NGINX-Advanced-Healthcheck/health-api/requirements.txt new file mode 100644 index 0000000..f6ad87b --- /dev/null +++ b/NGINX-Advanced-Healthcheck/health-api/requirements.txt @@ -0,0 +1,3 @@ +flask +psutil +Py-cpuinfo diff --git a/NGINX-Advanced-Healthcheck/health-api/serverstats.py b/NGINX-Advanced-Healthcheck/health-api/serverstats.py new file mode 100755 index 0000000..d22c698 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/health-api/serverstats.py @@ -0,0 +1,73 @@ +# +# Sample healthcheck REST API +# Query with: +# curl -s http://127.0.0.1:5000/stats +# + +from flask import Flask, jsonify, abort, make_response, request +import os +import psutil +import cpuinfo + +app = Flask(__name__) + +@app.route('/stats', methods=['GET']) +def get_info(): + load1, load5, load15 = psutil.getloadavg() + cpu_usage1 = (load1/os.cpu_count()) * 100 + cpu_usage5 = (load5/os.cpu_count()) * 100 + cpu_usage15 = (load15/os.cpu_count()) * 100 + + virtual = psutil.virtual_memory() + swap = psutil.swap_memory() + + output = {} + output['system'] = {} + output['system']['bootTime'] = psutil.boot_time() + + output['cpu'] = {} + output['cpu'] = cpuinfo.get_cpu_info() + + output['cpu']['load'] = {} + output['cpu']['load']['1minute'] = cpu_usage1 + output['cpu']['load']['5minute'] = cpu_usage5 + output['cpu']['load']['15minute'] = cpu_usage15 + + output['virtualMemory'] = {} + output['virtualMemory']['total'] = virtual.total + output['virtualMemory']['available'] = virtual.available + output['virtualMemory']['used'] = virtual.used + output['virtualMemory']['free'] = virtual.free + output['virtualMemory']['percent'] = virtual.percent + output['virtualMemory']['active'] = virtual.active + output['virtualMemory']['inactive'] = virtual.inactive + output['virtualMemory']['buffers'] = virtual.buffers + output['virtualMemory']['cached'] = virtual.cached + + output['swapMemory'] = {} + output['swapMemory']['total'] = swap.total + + output['disk'] = {} + + for disk in psutil.disk_partitions(): + try: + mountpoint = disk.mountpoint + diskstats = psutil.disk_usage(mountpoint) + + output['disk'][mountpoint] = {} + output['disk'][mountpoint]['total'] = diskstats.total + output['disk'][mountpoint]['used'] = diskstats.used + output['disk'][mountpoint]['free'] = diskstats.free + output['disk'][mountpoint]['percent'] = diskstats.percent + except Exception: + pass + + return output + #return jsonify({'cpu1': cpu_usage1,'cpu5': cpu_usage5,'cpu15': cpu_usage15,'ram': ram_usage}) + +@app.errorhandler(404) +def not_found(error): + return make_response(jsonify({'error': 'Not found'}), 404) + +if __name__ == '__main__': + app.run(host='0.0.0.0') diff --git a/NGINX-Advanced-Healthcheck/img/lab-setup.png b/NGINX-Advanced-Healthcheck/img/lab-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc61181ba15cbdb7097018d92d2e16b81d952c7 GIT binary patch literal 112787 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 O;#8G16(1{@`uz`-l(bO* literal 0 HcmV?d00001 diff --git a/NGINX-Advanced-Healthcheck/img/logicflow.png b/NGINX-Advanced-Healthcheck/img/logicflow.png new file mode 100644 index 0000000000000000000000000000000000000000..63ecbedd61e13079117cac95f781549d92bedf22 GIT binary patch literal 40397 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%0A3glP-u1uc`X5=~fAsMGde{FkbD{jZoPyZ` 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 NDYFeOiI!~nzW`d_j++1g literal 0 HcmV?d00001 diff --git a/NGINX-Advanced-Healthcheck/nginx/README.md b/NGINX-Advanced-Healthcheck/nginx/README.md new file mode 100644 index 0000000..200a318 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/nginx/README.md @@ -0,0 +1,7 @@ +## NGINX Configuration for advanced healtcheck + +- [`conf.d`](conf.d) contains: + - The main configuration to run advanced healtcheck (`healtcheck.conf` and `healthcheck.js`) - this works for HTTP(S) and TCP/UDP upstreams + - A sample load balancer configuration (upstream & server) for HTTP(S) services (`loadbalancer.conf`) +- [`stream-conf.d`](stream-conf.d) contains: + - A sample load balancer configuration (upstream & server) for TCP/UDP services (`stream-loadbalancer.conf`) diff --git a/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.conf b/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.conf new file mode 100644 index 0000000..c47eb32 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.conf @@ -0,0 +1,133 @@ +# +# NGINX Advanced Healtcheck +# This configuration requires NGINX Plus +# + +# Import the javascript code +js_import healthcheck from conf.d/healthcheck.js; + +# Log format for healthcheck requests +log_format healthcheck_log '[$time_local] $remote_addr:$remote_port ' + '$server_addr:$server_port ' + '"$request" $status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + +# Internal upstream for time-based healthcheck +upstream server_check { + zone server_check 64k; + + # Servers here must be 127.0.0.1: + # is an arbitrary and unique port referenced in + # the "REST API healtcheck monitoring endpoints map" here below + # and in the backserver servers mapping "map" + server 127.0.0.1:10080; + server 127.0.0.1:10081; +} + +# +# REST API healtcheck monitoring endpoints map +# +# This map must be defined as: +# key -> all ports declared in the "server_check" upstream +# value -> the REST API endpoint to be called for healthcheck evaluation (see healtcheck.js) +# +map $server_port $healthcheck_endpoint { + 10080 http://192.168.1.30:5000/stats; + 10081 http://192.168.1.31:5000/stats; +} + +# +# Mapping between port number and backend server position +# in the http_balancing_upstream upstream for HTTP(S) traffic (declared in conf.d/loadbalancer.conf) +# and in the tcp_balancing_upstream for TCP/UDP traffic (declared in stream-conf.d/stream-loadbalancer.conf) +# +# This map must be defined as: +# key -> all ports declared in the "server_check" upstream +# value -> position of the upstream server used for load balancing as listed in the "http_balancing_upstream" upstream (for HTTP/S traffic) or the "tcp_balancing_upstream" (for TCP/UDP traffic) +# +# In this example 1 is 192.168.1.30:8080 and 2 is 192.168.1.31:8080 (see conf.d/loadbalancer.conf) +# +map $server_port $backend_server_entry { + 10080 1; + 10081 2; +} + +# +# Internal monitoring server - checks destination servers health every 3 seconds +# +server { + location /dummy { + internal; + + health_check interval=3; + proxy_pass http://server_check; + } +} + +# Healtcheck server - njs-based healthcheck evaluation and dynamic balancing_upstream configuration +# This server must listen on all ip:port defined as servers in the "server_check" upstream +server { + listen 127.0.0.1:10080; + listen 127.0.0.1:10081; + + access_log /var/log/nginx/healthcheck-access_log healthcheck_log; + error_log /var/log/nginx/healthcheck-error_log notice; + + # Main location: hooks the javascript code + location / { + js_content healthcheck.check; + } + + # Internal location called by the javascript code through a subrequest. + # This location sends the actual REST API request to the monitoring endpoint + location ~ /healthCheck/(.*) { + internal; + proxy_pass $1$query_string; + } + + # Internal location to set an upstream server as "up" + # This gets called by the javascript code through a subrequest + location ~ /upstream/up/(.*) { + internal; + proxy_method PATCH; + proxy_set_body '{"down":"false"}'; + + # Use to dynamically update the HTTP (conf.d) upstream configured in conf.d/loadbalancer.conf + proxy_pass http://127.0.0.1:8080/api/8/http/upstreams/http_balancing_upstream/servers/$1; + + # Use to dynamically update the TCP/UDP (stream-conf.d) upstream configured in stream-conf.d/stream-loadbalancer.conf + #proxy_pass http://127.0.0.1:8080/api/8/stream/upstreams/tcp_balancing_upstream/servers/$1; + } + + # Internal location to set an upstream server as "down" + # This gets called by the javascript code through a subrequest + location ~ /upstream/down/(.*) { + internal; + proxy_method PATCH; + proxy_set_body '{"down":"true"}'; + + # Use to dynamically update the HTTP (conf.d) upstream configured in conf.d/loadbalancer.conf + proxy_pass http://127.0.0.1:8080/api/8/http/upstreams/http_balancing_upstream/servers/$1; + + # Use to dynamically update the TCP/UDP (stream-conf.d) upstream configured in stream-conf.d/stream-loadbalancer.conf + #proxy_pass http://127.0.0.1:8080/api/8/stream/upstreams/tcp_balancing_upstream/servers/$1; + } +} + +# This enables NGINX Plus REST API access, needed by the javascript code +server { + listen 0.0.0.0:8080; + + location /api { + api write=on; + # Allows full API access, restrict access for real-world usage + allow all; + } + + location / { + root /usr/share/nginx/html; + index dashboard.html; + # Allows full Dashboard access, restrict access for real-world usage + allow all; + } +} diff --git a/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.js b/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.js new file mode 100644 index 0000000..0f62fde --- /dev/null +++ b/NGINX-Advanced-Healthcheck/nginx/conf.d/healthcheck.js @@ -0,0 +1,75 @@ +// +// NGINX Smart Healtchecks +// This configuration requires NGINX Plus +// + +export default {check}; + +function check(r) { + var dest_url = r.variables.healthcheck_endpoint; + var rUri=r.uri; + + // Debug logging + r.warn('--> Running healthcheck'); + r.warn('Client['+r.remoteAddress+'] Method['+r.method+'] URI['+rUri+'] QueryString['+r.variables.query_string+'] Checking ['+encodeURI(dest_url)+']'); + + // Call the internal location to query the external healthcheck REST API + var fullURL = '/healthCheck/' + encodeURI(dest_url); + r.subrequest(fullURL,'',subReqCallback); + + // Callback function to evaluate external healtcheck REST API response + function subReqCallback(reply) { + // Gets the backend upstream server's position as mapped in the backend_server_entry map + var backend_server_entry = r.variables.backend_server_entry; + + // Debug logging + r.warn('JSON reply from: URI['+reply.uri+'] status['+reply.status.toString()+'] body['+reply.responseText+'] for server ['+backend_server_entry+']'); + + // Checks the external healthcheck REST API response code + if(reply.status!=200) { + // Return code != HTTP/200, healthcheck endpoint unreachable + r.warn('Healthcheck: server #[' + backend_server_entry + '] is down'); + + // HTTP response code is not 200/OK, setting the upstream server as not available + r.subrequest("/upstream/down/" + backend_server_entry,postUpstreamUpdate); + } else { + // HTTP response code is 200/OK, parse the JSON response + var jsonReply = JSON.parse(reply.responseText); + + // Example check on 1-minute CPU load + r.warn('Got 1-minute CPU value: '+jsonReply.cpu.load.1minute); + + // Runs the healthcheck logic + var setDownStateTo = "false" + + // Evaluation logic goes here, this example checks the 1 minute CPU load + if(jsonReply.cpu.load.1minute < 5) { + // Set the upstream server up + r.warn('Healthcheck: server #[' + backend_server_entry + '] is up'); + r.subrequest("/upstream/up/" + backend_server_entry,postUpstreamUpdate); + } else { + // Set the upstream server down + r.warn('Healthcheck: server #[' + backend_server_entry + '] is down'); + r.subrequest("/upstream/down/" + backend_server_entry,postUpstreamUpdate); + } + + return; + } + + // Example callback function to display/handle healthcheck REST API response + function postUpstreamUpdate(upstreamUpdateRequest) { + r.warn('NGINX API Response: '+upstreamUpdateRequest.responseText); + + for (var header in reply.headersOut) { + r.warn('header ['+header+'] = ['+reply.headersOut[header] + ']'); + r.headersOut[header] = reply.headersOut[header]; + } + + r.status=200; + r.sendHeader(); + if (reply.responseText) + r.send(reply.responseText); + r.finish(); + } + } +} diff --git a/NGINX-Advanced-Healthcheck/nginx/conf.d/loadbalancer.conf b/NGINX-Advanced-Healthcheck/nginx/conf.d/loadbalancer.conf new file mode 100644 index 0000000..24529b5 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/nginx/conf.d/loadbalancer.conf @@ -0,0 +1,26 @@ +# +# Servers to load balance traffic to - up/down status is automatically configured through REST API +# https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/ +# + +upstream http_balancing_upstream +{ + zone http_balancing_upstream 64k; + server 127.0.0.1 down; + + # Servers to load balance traffic to + server 192.168.1.30:8080; + server 192.168.1.31:8080; +} + +# The client-facing server to load balance the end-user application +server { + listen 80; + server_name app.test.lab; + status_zone app.test.lab; + + location / { + proxy_set_header Host $host; + proxy_pass http://http_balancing_upstream; + } +} diff --git a/NGINX-Advanced-Healthcheck/nginx/stream-conf.d/stream-loadbalancer.conf b/NGINX-Advanced-Healthcheck/nginx/stream-conf.d/stream-loadbalancer.conf new file mode 100644 index 0000000..1cea9f1 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/nginx/stream-conf.d/stream-loadbalancer.conf @@ -0,0 +1,18 @@ +# Actual servers used for load balancing - up/down status is automatically configured through REST API +# https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/ +upstream tcp_balancing_upstream +{ + zone tcp_balancing_upstream 64k; + server 127.0.0.1:5432 down; + + server 192.168.1.30:5432; + server 192.168.1.31:5432; +} + +# The client-facing server to load balance the end-user application +server { + listen 5432; + status_zone stream_loadbalancer; + + proxy_pass tcp_balancing_upstream; +} diff --git a/NGINX-Advanced-Healthcheck/webserver/README.md b/NGINX-Advanced-Healthcheck/webserver/README.md new file mode 100644 index 0000000..a7e732f --- /dev/null +++ b/NGINX-Advanced-Healthcheck/webserver/README.md @@ -0,0 +1,32 @@ +## Sample webserver + +This is a simple Python webserver to test the NGINX advanced healthcheck lab. + +To run it: + +``` +$ pip install -r requirements.txt +[...] +$ python webserver.py + * Serving Flask app 'webserver' + * Debug mode: off +WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on all addresses (0.0.0.0) + * Running on http://127.0.0.1:8080 + * Running on http://192.168.1.19:8080 +Press CTRL+C to quit +``` + +It responds to HTTP `GET /` requests on port 8080: + +``` +$ curl -i http://127.0.0.1:8080 +HTTP/1.1 200 OK +Server: Werkzeug/2.2.2 Python/3.10.9 +Date: Mon, 19 Dec 2022 16:29:48 GMT +Content-Type: text/html; charset=utf-8 +Content-Length: 42 +Connection: close + +This is the webserver running on fflaptop +``` diff --git a/NGINX-Advanced-Healthcheck/webserver/requirements.txt b/NGINX-Advanced-Healthcheck/webserver/requirements.txt new file mode 100644 index 0000000..7e10602 --- /dev/null +++ b/NGINX-Advanced-Healthcheck/webserver/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/NGINX-Advanced-Healthcheck/webserver/webserver.py b/NGINX-Advanced-Healthcheck/webserver/webserver.py new file mode 100755 index 0000000..9100e8a --- /dev/null +++ b/NGINX-Advanced-Healthcheck/webserver/webserver.py @@ -0,0 +1,18 @@ +# +# Minimal webserver +# +# To test: +# curl -s http://127.0.0.1:8080/ +# + +import socket +from flask import Flask + +app = Flask(__name__) + +@app.route('/') +def index(): + return 'This is the webserver running on ' + socket.gethostname() + '\n' + +if __name__ == '__main__': + app.run(debug=False, port=8080, host='0.0.0.0') diff --git a/NGINX-Docker-Image-Builder/Dockerfile.oss b/NGINX-Docker-Image-Builder/Dockerfile.oss new file mode 100644 index 0000000..5fb02e7 --- /dev/null +++ b/NGINX-Docker-Image-Builder/Dockerfile.oss @@ -0,0 +1,34 @@ +FROM nginx:stable-bullseye-perl + +ARG NMS_URL +ARG NGINX_AGENT=false + +# Initial packages setup +RUN apt-get -y update \ + && apt-get -y install wget gpg \ + && wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq \ + && chmod +x /usr/bin/yq \ + && set -x \ +# Forward request logs to Docker log collector + && ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log \ +# User and group + && groupadd -g 1001 nginx-agent \ + && usermod root -G nginx-agent \ + && usermod nginx -G nginx-agent \ +# NGINX Agent + && if [ "$NGINX_AGENT" = "true" ] ; then \ + apt-get -y install curl gnupg2 ca-certificates lsb-release debian-archive-keyring \ + && curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://packages.nginx.org/nginx-agent/debian/ `lsb_release -cs` agent" > /etc/apt/sources.list.d/nginx-agent.list \ + && apt-get -y update \ + && apt-get -y install nginx-agent; fi + +# Startup script +COPY ./container/start.sh /deployment/ +RUN chmod +x /deployment/start.sh && touch /.dockerenv + +EXPOSE 80 +STOPSIGNAL SIGTERM + +CMD /deployment/start.sh diff --git a/NGINX-Docker-Image-Builder/Dockerfile.plus b/NGINX-Docker-Image-Builder/Dockerfile.plus new file mode 100644 index 0000000..3da82d4 --- /dev/null +++ b/NGINX-Docker-Image-Builder/Dockerfile.plus @@ -0,0 +1,49 @@ +FROM debian:bullseye-slim + +ARG NAP_WAF=false +ARG NGINX_AGENT=false + +# Initial packages setup +RUN apt-get -y update \ + && apt-get -y install apt-transport-https lsb-release ca-certificates wget gnupg2 curl debian-archive-keyring iproute2 \ + && mkdir -p /deployment /etc/ssl/nginx \ + && addgroup --system --gid 20983 nginx \ + && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 20983 nginx \ + && wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq \ + && chmod +x /usr/bin/yq + +# Use certificate and key from secret +RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ + --mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ + set -x \ +# Install prerequisite packages: + && wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \ + && printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/plus/debian `lsb_release -cs` nginx-plus\n" > /etc/apt/sources.list.d/nginx-plus.list \ + && wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx \ + && apt-get -y update \ + && apt-get -y install nginx-plus nginx-plus-module-njs nginx-plus-module-prometheus \ +# Optional NGINX App Protect WAF + && if [ "$NAP_WAF" = "true" ] ; then \ + wget -qO - https://cs.nginx.com/static/keys/app-protect-security-updates.key | gpg --dearmor > /usr/share/keyrings/app-protect-security-updates.gpg \ + && printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/app-protect/debian `lsb_release -cs` nginx-plus\n" > /etc/apt/sources.list.d/nginx-app-protect.list \ + && printf "deb [signed-by=/usr/share/keyrings/app-protect-security-updates.gpg] https://pkgs.nginx.com/app-protect-security-updates/debian `lsb_release -cs` nginx-plus\n" >> /etc/apt/sources.list.d/nginx-app-protect.list \ + && apt-get -y update \ + && apt-get -y install app-protect app-protect-attack-signatures; fi \ +# Forward request logs to Docker log collector + && ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log \ +# NGINX Agent + && if [ "$NGINX_AGENT" = "true" ] ; then \ + curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://packages.nginx.org/nginx-agent/debian/ `lsb_release -cs` agent" > /etc/apt/sources.list.d/nginx-agent.list \ + && apt-get -y update \ + && apt-get -y install nginx-agent; fi + +# Startup script +COPY ./container/start.sh /deployment/ +RUN chmod +x /deployment/start.sh && touch /.dockerenv + +EXPOSE 80 +STOPSIGNAL SIGTERM + +CMD /deployment/start.sh diff --git a/NGINX-Docker-Image-Builder/Dockerfile.plus.unprivileged b/NGINX-Docker-Image-Builder/Dockerfile.plus.unprivileged new file mode 100644 index 0000000..9d66595 --- /dev/null +++ b/NGINX-Docker-Image-Builder/Dockerfile.plus.unprivileged @@ -0,0 +1,82 @@ +FROM debian:bullseye-slim + +ARG NAP_WAF=false +ARG NGINX_AGENT=false + +ARG UID=101 +ARG GID=101 + +# Initial packages setup +RUN apt-get -y update \ + && apt-get -y install apt-transport-https lsb-release ca-certificates wget gnupg2 curl debian-archive-keyring iproute2 \ + && mkdir -p /deployment /etc/ssl/nginx /etc/nms \ + && addgroup --system --gid $GID nginx \ + && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid $UID nginx \ + && wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq \ + && chmod +x /usr/bin/yq + +# Use certificate and key from secret +RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ + --mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ + set -x \ +# Install prerequisite packages: + && wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \ + && printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/plus/debian `lsb_release -cs` nginx-plus\n" > /etc/apt/sources.list.d/nginx-plus.list \ + && wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx \ + && apt-get -y update \ + && apt-get -y install nginx-plus nginx-plus-module-njs nginx-plus-module-prometheus \ +# Optional NGINX App Protect WAF + && if [ "$NAP_WAF" = "true" ] ; then \ + wget -qO - https://cs.nginx.com/static/keys/app-protect-security-updates.key | gpg --dearmor > /usr/share/keyrings/app-protect-security-updates.gpg \ + && printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://pkgs.nginx.com/app-protect/debian `lsb_release -cs` nginx-plus\n" > /etc/apt/sources.list.d/nginx-app-protect.list \ + && printf "deb [signed-by=/usr/share/keyrings/app-protect-security-updates.gpg] https://pkgs.nginx.com/app-protect-security-updates/debian `lsb_release -cs` nginx-plus\n" >> /etc/apt/sources.list.d/nginx-app-protect.list \ + && apt-get -y update \ + && apt-get -y install app-protect app-protect-attack-signatures \ + && chown $UID:0 /opt \ + && chmod g+w /opt \ + && chown -R $UID:0 /opt/app_protect \ + && chmod -R g+w /opt/app_protect; fi \ +# Forward request logs to Docker log collector + && ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log \ +# NGINX Agent + && if [ "$NGINX_AGENT" = "true" ] ; then \ + curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor > /usr/share/keyrings/nginx-archive-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://packages.nginx.org/nginx-agent/debian/ `lsb_release -cs` agent" > /etc/apt/sources.list.d/nginx-agent.list \ + && apt-get -y update \ + && apt-get -y install nginx-agent \ +# implement changes required to run NGINX Agent as an unprivileged user + && chown -R $UID:0 /etc/nginx-agent \ + && chmod -R g+w /etc/nginx-agent \ + && chown -R $UID:0 /var/lib/nginx-agent \ + && chmod -R g+w /var/lib/nginx-agent \ + && chown -R $UID:0 /var/log/nginx-agent \ + && chmod -R g+w /var/log/nginx-agent \ + && chown -R $UID:0 /var/run/nginx-agent \ + && chmod -R g+w /var/run/nginx-agent; fi + +# implement changes required to run NGINX as an unprivileged user +RUN rm /etc/nginx/conf.d/default.conf \ + && sed -i '/user nginx;/d' /etc/nginx/nginx.conf \ + && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf \ + && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf \ +# nginx user must own the cache and etc directory to write cache and tweak the nginx config + && chown -R $UID:0 /var/cache/nginx \ + && chmod -R g+w /var/cache/nginx \ + && chown -R $UID:0 /etc/nginx \ + && chmod -R g+w /etc/nginx \ + && chown -R $UID:0 /usr/lib/nginx/modules \ + && chmod -R g+w /usr/lib/nginx/modules \ + && chown -R $UID:0 /etc/nms \ + && chmod -R g+w /etc/nms + +# Startup script +COPY ./container/start.sh /deployment/ +RUN chmod +x /deployment/start.sh && touch /.dockerenv + +EXPOSE 80 +STOPSIGNAL SIGTERM + +USER $UID + +CMD ["/deployment/start.sh"] diff --git a/NGINX-Docker-Image-Builder/README.md b/NGINX-Docker-Image-Builder/README.md new file mode 100644 index 0000000..490ec50 --- /dev/null +++ b/NGINX-Docker-Image-Builder/README.md @@ -0,0 +1,110 @@ +# NGINX Docker image builder + +## Description + +This repository can be used to build a docker image that includes: + +- [NGINX Plus](https://docs.nginx.com/nginx) in privileged or unprivileged/non-root mode +- [NGINX Open Source](https://nginx.org/) +- [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf) +- [NGINX Agent](https://docs.nginx.com/nginx-agent) + +## Tested releases + +This repository has been tested with: + +- [NGINX Plus](https://docs.nginx.com/nginx) R29+ +- [NGINX Open Source](https://nginx.org) 1.24.0+ +- [NGINX Agent](https://docs.nginx.com/nginx-agent) 2.14+ +- [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager) 2.15+ +- [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf) 4.100.1+ +- [NGINX One Console](https://docs.nginx.com/nginx-app-protect-waf) + +## Prerequisites + +- Linux host running Docker to build the image +- NGINX Plus license +- Access to either control plane: + - [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/) + - [NGINX One Cloud Console](https://docs.nginx.com/nginx-one/) +- Docker/Docker-compose or Openshift/Kubernetes cluster + +## Building the docker image + +The `./scripts/build.sh` install script can be used to build the Docker image: + +``` +NGINX Docker Image builder + + This tool builds a Docker image to run NGINX Plus/Open Source, NGINX App Protect WAF and NGINX Agent + + === Usage: + + ./scripts/build.sh [options] + + === Options: + + -h - This help + -t [target image] - The Docker image to be created + -C [file.crt] - Certificate to pull packages from the official NGINX repository + -K [file.key] - Key to pull packages from the official NGINX repository + -w - Add NGINX App Protect WAF (requires NGINX Plus) + -O - Use NGINX Open Source instead of NGINX Plus + -u - Build unprivileged image (only for NGINX Plus) + -a - Add NGINX Agent + + === Examples: + + NGINX Plus and NGINX Agent image: + ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-agent-root -a + + NGINX Plus, NGINX App Protect WAF and NGINX Agent image: + ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-root -w -a + + NGINX Plus, NGINX App Protect WAF and NGINX Agent unprivileged image: + ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-nonroot -w -u -a + + NGINX Opensource and NGINX Agent image: + ./scripts/build.sh -O -t registry.ff.lan:31005/nginx-docker:oss-root -a +``` + +1. Clone this repository +2. For NGINX Plus only: get your license certificate and key +3. Build the Docker image using `./scripts/build.sh` + +### Running the docker image on Kubernetes + +1. Edit `manifests/1.nginx-nim.yaml` and specify the correct image by modifying the `image:` line, and set the following environment variables + - `NGINX_LICENSE` - NGINX R33+ JWT license token + - `NGINX_AGENT_SERVER_HOST` - NGINX Instance Manager / NGINX One Console hostname/IP address + - `NGINX_AGENT_SERVER_GRPCPORT` - NGINX Instance Manager / NGINX One Console gRPC port + - `NGINX_AGENT_SERVER_TOKEN` - NGINX Instance Manager / NGINX One Console authentication token + - `NGINX_AGENT_INSTANCE_GROUP` - instance group (NGINX Instance Manager) / config sync group (NGINX One Console) for the NGINX instance + - `NGINX_AGENT_TAGS` - comma separated list of tags for the NGINX instance + - `NAP_WAF` - set to `"true"` to enable NGINX App Protect WAF (docker image built using `-w`) - NGINX Plus only + - `NAP_WAF_PRECOMPILED_POLICIES` - set to `"true"` to enable NGINX App Protect WAF precompiled policies (docker image built using `-w`) - NGINX Plus only + - `NGINX_AGENT_LOG_LEVEL` - NGINX Agent loglevel, optional. If not specified defaults to `info` + +2. Deploy on Kubernetes using the example manifest `manifest/nginx-manifest.yaml` + +3. After startup the NGINX instance will register to NGINX Instance Manager / NGINX One console and will be displayed on the "instances" dashboard if the NGINX Agent has been build into the docker image + +### Running the docker image on Docker + +1. Start using + +``` +docker run --rm --name nginx -p [PORT_TO_EXPOSE] \ + -e "NGINX_LICENSE=" \ + -e "NGINX_AGENT_SERVER_HOST=" \ + -e "NGINX_AGENT_SERVER_GRPCPORT=" \ + -e "NGINX_AGENT_SERVER_TOKEN=" \ + -e "NGINX_AGENT_INSTANCE_GROUP=" \ + -e "NGINX_AGENT_TAGS=" \ + -e "NAP_WAF=[true|false]" \ + -e "NAP_WAF_PRECOMPILED_POLICIES=[true|false]" \ + -e "NGINX_AGENT_LOG_LEVEL=[panic|fatal|error|info|debug|trace]" \ + +``` + +2. After startup the NGINX instance will register to NGINX Instance Manager / NGINX One Console and will be displayed on the "instances" dashboard if the NGINX Agent has been build into the docker image diff --git a/NGINX-Docker-Image-Builder/container/start.sh b/NGINX-Docker-Image-Builder/container/start.sh new file mode 100755 index 0000000..0091560 --- /dev/null +++ b/NGINX-Docker-Image-Builder/container/start.sh @@ -0,0 +1,108 @@ +#!/bin/bash + +if [[ `whoami` == "nginx" ]]; then + IS_UNPRIVILEGED="true" +else + IS_UNPRIVILEGED= +fi + +if [[ ! -z "$NGINX_LICENSE" ]]; then + echo ${NGINX_LICENSE} > /etc/nginx/license.jwt +fi + +nginx +sleep 2 + +if [[ "$NGINX_AGENT_ENABLED" == "true" ]]; then + + # NGINX Agent version detection, change in behaviour in v2.24.0+ + AGENT_VERSION=`nginx-agent -v|awk '{print $3}'` + AGENT_VERSION_MAJOR=`echo $AGENT_VERSION | awk -F\. '{print $1}' | sed 's/v//'` + AGENT_VERSION_MINOR=`echo $AGENT_VERSION | awk -F\. '{print $2}'` + + echo "=> NGINX Agent version $AGENT_VERSION" + + PARM="" + + yq -i ' + .server.host=strenv(NGINX_AGENT_SERVER_HOST) | + .server.grpcPort=strenv(NGINX_AGENT_SERVER_GRPCPORT) | + .tls.enable=true | + .tls.skip_verify=true | + .tls.cert="" | + .tls.key="" + ' /etc/nginx-agent/nginx-agent.conf + + if [[ ! -z "$NGINX_AGENT_INSTANCE_GROUP" ]]; then + PARM="${PARM} --instance-group $NGINX_AGENT_INSTANCE_GROUP" + fi + + if [[ ! -z "$NGINX_AGENT_TAGS" ]]; then + PARM="${PARM} --tags $NGINX_AGENT_TAGS" + fi + + if [[ ! -z "$NGINX_AGENT_SERVER_TOKEN" ]]; then + yq -i ' + .server.token=strenv(NGINX_AGENT_SERVER_TOKEN) + ' /etc/nginx-agent/nginx-agent.conf + fi + + if [[ ! -z "$NGINX_AGENT_LOG_LEVEL" ]]; then + yq -i ' + .log.level=strenv(NGINX_AGENT_LOG_LEVEL) + ' /etc/nginx-agent/nginx-agent.conf + fi +fi + +if [[ "$NAP_WAF" == "true" ]]; then + export FQDN=127.0.0.1 + + if [[ "$IS_UNPRIVILEGED" ]]; then + /opt/app_protect/bin/bd_agent & + /usr/share/ts/bin/bd-socket-plugin tmm_count 4 proc_cpuinfo_cpu_mhz 2000000 total_xml_memory 471859200 total_umu_max_size 3129344 sys_max_account_id 1024 no_static_config & + + yq -i ' + .nap_monitoring.collector_buffer_size=50000 | + .nap_monitoring.processor_buffer_size=50000 | + .nap_monitoring.syslog_ip=strenv(FQDN) | + .nap_monitoring.syslog_port=10514 | + .extensions += ["nginx-app-protect","nap-monitoring"] + ' /etc/nginx-agent/nginx-agent.conf + + else + yq -i ' + .nap_monitoring.collector_buffer_size=50000 | + .nap_monitoring.processor_buffer_size=50000 | + .nap_monitoring.syslog_ip=strenv(FQDN) | + .nap_monitoring.syslog_port=514 | + .extensions += ["nginx-app-protect","nap-monitoring"] + ' /etc/nginx-agent/nginx-agent.conf + + su - nginx -s /bin/bash -c "/opt/app_protect/bin/bd_agent &" + su - nginx -s /bin/bash -c "/usr/share/ts/bin/bd-socket-plugin tmm_count 4 proc_cpuinfo_cpu_mhz 2000000 total_xml_memory 471859200 total_umu_max_size 3129344 sys_max_account_id 1024 no_static_config &" + fi + + while ([ ! -e /opt/app_protect/pipe/app_protect_plugin_socket ] || [ ! -e /opt/app_protect/pipe/ts_agent_pipe ]) + do + sleep 1 + done + + chown nginx:nginx /opt/app_protect/pipe/* + +if [[ "$NAP_WAF_PRECOMPILED_POLICIES" == "true" ]]; then + yq -i ' + .nginx_app_protect.precompiled_publication=true + ' /etc/nginx-agent/nginx-agent.conf +fi + +fi + +if [[ "$NGINX_AGENT_ENABLED" == "true" ]]; then + if [[ "$IS_UNPRIVILEGED" ]]; then + /usr/bin/nginx-agent $PARM + else + sg nginx-agent "/usr/bin/nginx-agent $PARM" + fi +else + while [ true ]; do sleep 3600; done +fi diff --git a/NGINX-Docker-Image-Builder/manifests/nginx-manifest.yaml b/NGINX-Docker-Image-Builder/manifests/nginx-manifest.yaml new file mode 100644 index 0000000..b277574 --- /dev/null +++ b/NGINX-Docker-Image-Builder/manifests/nginx-manifest.yaml @@ -0,0 +1,105 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx + labels: + app: nginx +spec: + selector: + matchLabels: + app: nginx + replicas: 1 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: YOUR_REGISTRY/NGINX_DOCKER_IMAGE_NAME:TAG + imagePullPolicy: Always + ports: + - name: http + containerPort: 80 + env: + # NGINX Plus R33+ JWT license token - it is recommended to store this in a Kubernetes secret + # To create the secret using a license.jwt file, run: + # kubectl create secret generic license-token --from-file=license.jwt= --type=nginx.com/license -n + - name: NGINX_LICENSE + #value: "NGINX_JWT_LICENSE_TOKEN" + valueFrom: + secretKeyRef: + name: license-token + key: license.jwt + + # NGINX Agent Configuration + - name: NGINX_AGENT_ENABLED + value: "true" + - name: NGINX_AGENT_SERVER_HOST + # NGINX Instance Manager / NGINX One Console hostname or IP address + value: "NGINX_CONTROL_PLANE_SERVER" + - name: NGINX_AGENT_SERVER_GRPCPORT + # NGINX Instance Manager / NGINX One Console gRPC port + value: "443" + # Optional parameters + - name: NGINX_AGENT_SERVER_TOKEN + # NGINX Instance Manager / NGINX One Console authentication token + value: "XYZ" + - name: NGINX_AGENT_INSTANCE_GROUP + # The Instance Group (NGINX Instance Manager) / Config Sync Group (NGINX One Console) + value: "lab" + - name: NGINX_AGENT_TAGS + # Comma-separated list of tags for the NGINX instance + value: "preprod,devops" + - name: NGINX_AGENT_LOG_LEVEL + # NGINX Agent loglevel - default is "info" + value: "info" + + # Optional if NGINX App Protect WAF is available in the docker image - set to "true" to enable + #- name: NAP_WAF + # value: "true" + #- name: NAP_WAF_PRECOMPILED_POLICIES + # value: "true" + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx + labels: + app: nginx +spec: + ports: + - name: http + port: 80 + - name: api + port: 8080 + selector: + app: nginx + type: ClusterIP + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx + annotations: + nginx.org/proxy-connect-timeout: "30s" + nginx.org/proxy-read-timeout: "20s" + nginx.org/client-max-body-size: "4m" + nginx.com/health-checks: "true" + labels: + app: nginx +spec: + ingressClassName: nginx + rules: + - host: nginx.yourdomain.tld + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx + port: + number: 80 diff --git a/NGINX-Docker-Image-Builder/scripts/build.sh b/NGINX-Docker-Image-Builder/scripts/build.sh new file mode 100755 index 0000000..bc109e1 --- /dev/null +++ b/NGINX-Docker-Image-Builder/scripts/build.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +# https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/#docker_plus + +BANNER="NGINX Docker Image builder\n\n +This tool builds a Docker image to run NGINX Plus/Open Source, NGINX App Protect WAF and NGINX Agent\n\n +=== Usage:\n\n +$0 [options]\n\n +=== Options:\n\n +-h\t\t\t- This help\n +-t [target image]\t- The Docker image to be created\n +-C [file.crt]\t\t- Certificate to pull packages from the official NGINX repository\n +-K [file.key]\t\t- Key to pull packages from the official NGINX repository\n +-w\t\t\t- Add NGINX App Protect WAF (requires NGINX Plus)\n +-O\t\t\t- Use NGINX Open Source instead of NGINX Plus\n +-u\t\t\t- Build unprivileged image (only for NGINX Plus)\n +-a\t\t\t- Add NGINX Agent\n\n +=== Examples:\n\n +NGINX Plus and NGINX Agent image:\n + $0 -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-agent-root -a\n\n + +NGINX Plus, NGINX App Protect WAF and NGINX Agent image:\n + $0 -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-root -w -a\n\n + +NGINX Plus, NGINX App Protect WAF and NGINX Agent unprivileged image:\n + $0 -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-nonroot -w -u -a\n\n + +NGINX Opensource and NGINX Agent image:\n + $0 -O -t registry.ff.lan:31005/nginx-docker:oss-root -a\n" + +while getopts 'ht:C:K:awOu' OPTION +do + case "$OPTION" in + h) + echo -e $BANNER + exit + ;; + t) + IMAGENAME=$OPTARG + ;; + C) + NGINX_CERT=$OPTARG + ;; + K) + NGINX_KEY=$OPTARG + ;; + a) + NGINX_AGENT=true + ;; + w) + NAP_WAF=true + ;; + O) + NGINX_OSS=true + ;; + u) + UNPRIVILEGED=true + ;; + esac +done + +if [ -z "$1" ] +then + echo -e $BANNER + exit +fi + +if [ -z "${IMAGENAME}" ] +then + echo "Docker image name is required" + exit +fi + +if ([ -z "${NGINX_OSS}" ] && ([ -z "${NGINX_CERT}" ] || [ -z "${NGINX_KEY}" ]) ) +then + echo "NGINX certificate and key are required for automated installation" + exit +fi + +echo "=> Target docker image is $IMAGENAME" + +if [ "${NGINX_AGENT}" ] +then + echo "=> Building with NGINX Agent" +fi + +if ([ ! -z "${NAP_WAF}" ] && [ -z "${NGINX_OSS}" ]) +then + echo "=> Building with NGINX App Protect WAF" +fi + +if [ -z "${NGINX_OSS}" ] +then + if [ -z "${UNPRIVILEGED}" ] + then + DOCKERFILE_NAME=Dockerfile.plus + echo "=> Building with NGINX Plus" + else + DOCKERFILE_NAME=Dockerfile.plus.unprivileged + echo "=> Building with NGINX Plus unprivileged" + fi + + DOCKER_BUILDKIT=1 docker build --no-cache -f $DOCKERFILE_NAME \ + --secret id=nginx-key,src=$NGINX_KEY --secret id=nginx-crt,src=$NGINX_CERT \ + --build-arg NAP_WAF=$NAP_WAF --build-arg NGINX_AGENT=$NGINX_AGENT \ + -t $IMAGENAME . +else + echo "=> Building with NGINX Open Source" + DOCKER_BUILDKIT=1 docker build --no-cache -f Dockerfile.oss \ + --build-arg NGINX_AGENT=$NGINX_AGENT \ + -t $IMAGENAME . +fi + +echo "=> Build complete for $IMAGENAME" diff --git a/NGINX-Multicloud-Gateway/README.md b/NGINX-Multicloud-Gateway/README.md new file mode 100644 index 0000000..89deb88 --- /dev/null +++ b/NGINX-Multicloud-Gateway/README.md @@ -0,0 +1,279 @@ +# NGINX Multicloud Gateway + +## Description + +This NGINX "Multicloud Gateway" configuration allows dynamic proxying/redirection of REST API calls regardless of where the actual destination REST API is located (on premise datacenter / off-prem cloud provider). + +NGINX acts as a global gateway for REST API access, REST API mapping (what clients request vs where the API runs) is dynamically configured through the backend database. + +This repo provides a very simple example, in a production deployment it can be any backend/repository (SQL, noSQL, key/value, ...) that can be queried through REST API calls. + +The two supported modes of operation are rewrite and steering. + +## Rewrite mode + + + +## Steering mode + + + +## Prerequisites + +- Kubernetes or Openshift cluster +- Linux VM with Docker to build all images +- Private registry to push the NGINX Plus and backend DB images +- The NGINX Plus image must include javascript (nginx-plus-module-njs) support + + +## Building the NGINX Plus image + +Refer to the official documentation at + +``` +https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/#docker_plus +``` + +## Deploying this repository + +Build the backend DB: + +``` +cd test-backend-db +docker build --no-cache -t YOUR_PRIVATE_REGISTRY/mcgw-test-backend-db:1.0 . +docker push YOUR_PRIVATE_REGISTRY/mcgw-test-backend-db:1.0 +``` + +Spin up NGINX Plus: + +1. Update the backend DB "image" line referenced in 1.mcgw-test-backend-db.yaml +2. Update the NGINX Plus "image" line referenced in 5.nginx-mcgw.yaml +3. Run the following commands + +``` +cd mcgw +kubectl apply -f 0.mcgw.ns.yaml +cd certs +./cert-install.sh install +cd .. +kubectl apply -f 1.mcgw-test-backend-db.yaml +kubectl apply -f 2.nginx.conf.yaml +kubectl apply -f 3.mcgw.js.yaml +kubectl apply -f 4.mcgw.conf.yaml +kubectl apply -f 5.nginx-mcgw.yaml +``` + +## Cleaning up this repository + +``` +cd mcgw +kubectl delete -f 0.mcgw.ns.yaml +``` + +## Namespace check + +``` +$ kubectl get all -n nginx-mcgw +NAME READY STATUS RESTARTS AGE +pod/mcgw-test-backend-db-5495877b88-hfq95 1/1 Running 0 56s +pod/nginx-mcgw-765c664-z2wqb 1/1 Running 0 25s + +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +service/mcgw-test-backend-db ClusterIP 10.100.198.14 5000/TCP 56s +service/nginx-mcgw ClusterIP 10.101.80.253 80/TCP,8080/TCP 25s + +NAME READY UP-TO-DATE AVAILABLE AGE +deployment.apps/mcgw-test-backend-db 1/1 1 1 56s +deployment.apps/nginx-mcgw 1/1 1 1 25s + +NAME DESIRED CURRENT READY AGE +replicaset.apps/mcgw-test-backend-db-5495877b88 1 1 1 56s +replicaset.apps/nginx-mcgw-765c664 1 1 1 25s +``` + + +## Backend DB test + +``` +$ curl -ks "https://db.mcgw.ff.lan/mcgw?fqdn=api.ff.lan&uri=/getmyip" | jq +[ + { + "enabled": "true", + "fqdn": "api.ff.lan", + "rewrite": "http://api.ipify.org", + "title": "Gets my IP in plaintext", + "uri": "/getmyip" + } +] +``` + +``` +$ curl -ks "https://db.mcgw.ff.lan/mcgw?fqdn=api.ff.lan&uri=/getmyip/json" | jq +[ + { + "enabled": "true", + "fqdn": "api.ff.lan", + "rewrite": "http://api.ipify.org?format=json", + "title": "Gets my IP in json", + "uri": "/getmyip/json" + } +] +``` + +``` +$ curl -ks "https://db.mcgw.ff.lan/mcgw?fqdn=api.ff.lan&uri=/getmyip/json/callback" | jq +[ + { + "enabled": "true", + "fqdn": "api.ff.lan", + "rewrite": "http://api.ipify.org?format=jsonp", + "title": "Gets my IP in json with callback", + "uri": "/getmyip/json/callback" + } +] +``` + +## Log level configuration + +Log level can optionally be configured at runtime for each FQDN and URI accessed by clients. The current version supports either "full" or "basic", as defined in 4.mcgw.conf.yaml + +``` +$ curl -ki -X POST https://api.mcgw.ff.lan/api/6/http/keyvals/dynamic_loglevel -d '{"api.ff.lan:/getmyip":"full"}' +HTTP/1.1 201 Created +Server: nginx/1.19.5 +Date: Sun, 22 Aug 2021 22:33:04 GMT +Content-Length: 0 +Connection: keep-alive +Location: http://api.mcgw.ff.lan:8080/api/6/http/keyvals/dynamic_loglevel/ +``` + +``` +$ curl -ki -X POST https://api.mcgw.ff.lan/api/6/http/keyvals/dynamic_loglevel -d '{"api.ff.lan:/getmyip/json":"basic"}' +HTTP/1.1 201 Created +Server: nginx/1.19.5 +Date: Sun, 22 Aug 2021 22:33:28 GMT +Content-Length: 0 +Connection: keep-alive +Location: http://api.mcgw.ff.lan:8080/api/6/http/keyvals/dynamic_loglevel/ +``` + +Retrieve currently configured log levels: + +``` +$ curl -ks -X GET https://api.mcgw.ff.lan/api/6/http/keyvals/dynamic_loglevel | jq +{ + "api.ff.lan:/getmyip": "full", + "api.ff.lan:/getmyip/json": "basic" +} +``` + +## Multicloud Gateway testing + +1. Rewrite mode + +Client supporting HTTP/302 calling a REST API: + +``` +$ curl -ki -H "X-REDIRECT-SUPPORT: true" https://api.ff.lan/getmyip +HTTP/1.1 302 Moved Temporarily +Server: nginx/1.19.5 +Date: Sun, 22 Aug 2021 22:55:50 GMT +Content-Type: text/html +Content-Length: 146 +Connection: keep-alive +Location: http://api.ipify.org + + +302 Found + +

302 Found

+
nginx/1.19.10
+ + +``` + +NGINX mcgw log shows the following. The last line is the access_log in "basic" format, as configured above. + +``` +$ kubectl logs -l app=nginx-mcgw -n nginx-mcgw -f +2021/08/22 23:07:53 [warn] 7#7: *7 js: ------------------------------ +2021/08/22 23:07:53 [warn] 7#7: *7 js: Client[10.244.2.229] Method[GET] Host[api.ff.lan] URI[/getmyip] QueryString[undefined] Body[undefined] +2021/08/22 23:07:53 [warn] 7#7: *7 js: subReqCallback got 200 for [/getmyip] +2021/08/22 23:07:53 [warn] 7#7: *7 js: JSON reply: URI[/dbQuery/mcgw?fqdn=api.ff.lan&uri=/getmyip] status[200] body[[{"enabled":"true","fqdn":"api.ff.lan","rewrite":"http://api.ipify.org","title":"Gets my IP in plaintext","uri":"/getmyip"}] +] +2021/08/22 23:07:53 [warn] 7#7: *7 js: Found 1 DB records for [/getmyip] +2021/08/22 23:07:53 [warn] 7#7: *7 js: Rewrite rule [api.ff.lan/getmyip] -> [http://api.ipify.org] X-REDIRECT-SUPPORT [true] +2021/08/22 23:07:53 [warn] 7#7: *7 js: Redirect mode 302 to [http://api.ipify.org] +[MCGW full] 10.244.2.229 [22/Aug/2021:23:07:53 +0000] api.ff.lan "GET /getmyip HTTP/1.1" "-" 302 146 "-" "curl/7.74.0" +``` + +2. Steering mode + +Client with no HTTP/302 support calling a REST API: + +``` +$ curl -ki https://api.ff.lan/getmyip +HTTP/1.1 200 OK +Server: nginx/1.19.5 +Date: Sun, 22 Aug 2021 22:58:39 GMT +Content-Type: text/plain +Content-Length: 12 +Connection: keep-alive +Vary: Origin +Via: 1.1 vegur + +192.168.1.18 +``` + +NGINX mcgw log shows the following. The last line is the access_log in "basic" format, as configured above. + +``` +$ kubectl logs -l app=nginx-mcgw -n nginx-mcgw -f +2021/08/22 23:10:22 [warn] 7#7: *15 js: ------------------------------ +2021/08/22 23:10:22 [warn] 7#7: *15 js: Client[10.244.1.179] Method[GET] Host[api.ff.lan] URI[/getmyip] QueryString[undefined] Body[undefined] +2021/08/22 23:10:22 [warn] 7#7: *15 js: subReqCallback got 200 for [/getmyip] +2021/08/22 23:10:22 [warn] 7#7: *15 js: JSON reply: URI[/dbQuery/mcgw?fqdn=api.ff.lan&uri=/getmyip] status[200] body[[{"enabled":"true","fqdn":"api.ff.lan","rewrite":"http://api.ipify.org","title":"Gets my IP in plaintext","uri":"/getmyip"}] +] +2021/08/22 23:10:22 [warn] 7#7: *15 js: Found 1 DB records for [/getmyip] +2021/08/22 23:10:22 [warn] 7#7: *15 js: Rewrite rule [api.ff.lan/getmyip] -> [http://api.ipify.org] X-REDIRECT-SUPPORT [undefined] +2021/08/22 23:10:22 [warn] 7#7: *15 js: Steering mode to [http://api.ipify.org] +2021/08/22 23:10:22 [warn] 7#7: *15 js: POSTSCHEME[api.ipify.org] QSTRING[undefined]/[undefined] FULLURI[api.ipify.org,] FQDNURI[api.ipify.org/] REWRITEURI[] -- [] +2021/08/22 23:10:22 [warn] 7#7: *15 js: Rewrite [http://api.ipify.org] -> scheme[http] fqdn[api.ipify.org] URI[/] queryString[] -> [http://api.ipify.org/] +2021/08/22 23:10:23 [warn] 7#7: *15 js: steeringModeSubReqCallback got [200] [192.168.1.18] +[MCGW full] 10.244.1.179 [22/Aug/2021:23:10:23 +0000] api.ff.lan "GET /getmyip HTTP/1.1" "-" 200 12 "-" "curl/7.74.0" +``` + +3. Steering mode + +Client with no HTTP/302 support calling a REST API: + +``` +$ curl -ki https://api.ff.lan/getmyip/json +HTTP/1.1 200 OK +Server: nginx/1.19.5 +Date: Sun, 22 Aug 2021 23:10:58 GMT +Content-Type: text/plain +Content-Length: 12 +Connection: keep-alive +Vary: Origin +Via: 1.1 vegur + +192.168.1.18 +``` + +NGINX mcgw log shows the following. The last line is the access_log in "basic" format, as configured above. + +``` +2021/08/22 23:10:58 [warn] 7#7: *17 js: ------------------------------ +2021/08/22 23:10:58 [warn] 7#7: *17 js: Client[10.244.1.179] Method[GET] Host[api.ff.lan] URI[/getmyip/json] QueryString[undefined] Body[undefined] +2021/08/22 23:10:58 [warn] 7#7: *17 js: subReqCallback got 200 for [/getmyip/json] +2021/08/22 23:10:58 [warn] 7#7: *17 js: JSON reply: URI[/dbQuery/mcgw?fqdn=api.ff.lan&uri=/getmyip/json] status[200] body[[{"enabled":"true","fqdn":"api.ff.lan","rewrite":"http://api.ipify.org?format=json","title":"Gets my IP in json","uri":"/getmyip/json"}] +] +2021/08/22 23:10:58 [warn] 7#7: *17 js: Found 1 DB records for [/getmyip/json] +2021/08/22 23:10:58 [warn] 7#7: *17 js: Rewrite rule [api.ff.lan/getmyip/json] -> [http://api.ipify.org?format=json] X-REDIRECT-SUPPORT [undefined] +2021/08/22 23:10:58 [warn] 7#7: *17 js: Steering mode to [http://api.ipify.org?format=json] +2021/08/22 23:10:58 [warn] 7#7: *17 js: POSTSCHEME[api.ipify.org?format=json] QSTRING[format=json]/[undefined] FULLURI[api.ipify.org,] FQDNURI[api.ipify.org/] REWRITEURI[] -- [] +2021/08/22 23:10:58 [warn] 7#7: *17 js: Rewrite [http://api.ipify.org?format=json] -> scheme[http] fqdn[api.ipify.org] URI[/] queryString[] -> [http://api.ipify.org/] +2021/08/22 23:10:58 [warn] 7#7: *17 js: steeringModeSubReqCallback got [200] [192.168.1.18] +[MCGW basic] 10.244.1.179 [22/Aug/2021:23:10:58 +0000] api.ff.lan "GET /getmyip/json HTTP/1.1" 200 +``` diff --git a/NGINX-Multicloud-Gateway/images/mcgw-rewrite.jpg b/NGINX-Multicloud-Gateway/images/mcgw-rewrite.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43a518ee7b255430b6c2282d0cb11211a823e05c GIT binary patch literal 194437 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⋘2eFS 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 z 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 H|GhMT(Z{Ah!Lhm2(vBn%4BUKTE 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 ['+rule.rewrite+'] X-REDIRECT-SUPPORT ['+r.headersIn['X-REDIRECT-SUPPORT']+']'); + + if(r.headersIn['X-REDIRECT-SUPPORT']=='true') { + // Client supports HTTP 302 - Redirect mode + r.warn('Redirect mode 302 to ['+rule.rewrite+']'); + r.return(302,rule.rewrite); + r.mcgwLogging='REDIRECT_MODE'; + } else { + // Client does not support HTTP 302 - Steering mode + + r.warn('Steering mode to ['+rule.rewrite+']'); + + // Parses the rewrite URI into scheme, fqdn and URI + // [http(s)]://fqdn[/uri][?query_string] + + // https://fqdn/a/b/c?var=value + var rewriteTokens = rule.rewrite.split('://'); + var rewriteScheme = rewriteTokens[0]; + + // rewritePostScheme = fqdn/a/b/c?var=value + var rewritePostScheme = rewriteTokens[1]; + var rewriteQueryString = rewritePostScheme.split('?')[1]; + var rewriteFQDNURI = rewritePostScheme.split('?')[0]+'/'; + + var rewriteFQDN = rewriteFQDNURI.split('/')[0]; + var fullURI = rewriteFQDNURI.split('/'); + + //var rewriteURI = rewriteFQDNURI.split('/')[1]; + var rewriteURI = fullURI.slice(1,-1); + var steeredURI = rewriteURI.join('/'); + + r.warn('POSTSCHEME['+rewritePostScheme+'] QSTRING['+rewriteQueryString+']/['+r.variables.query_string+'] FULLURI['+fullURI+'] FQDNURI['+rewriteFQDNURI+'] REWRITEURI['+rewriteURI+'] -- ['+steeredURI+']'); + + if (steeredURI == undefined) { + steeredURI=''; + } else { + steeredURI='/'+steeredURI; + } + if (rewriteQueryString == undefined) { + rewriteQueryString=''; + } else { + rewriteQueryString='?'+rewriteQueryString; + } + if (r.variables.query_string == undefined) { + rewriteQueryString=''; + } else { + rewriteQueryString='?'+rewriteQueryString+'&'+r.variables.query_string; + } + + var targetRewrite=rewriteScheme+'://'+rewriteFQDN+steeredURI+rewriteQueryString; + + r.warn('Rewrite ['+rule.rewrite+'] -> scheme['+rewriteScheme+'] fqdn['+rewriteFQDN+'] URI['+steeredURI+'] queryString['+rewriteQueryString+'] -> ['+targetRewrite+']'); + + // Proxies the client request + r.subrequest('/steeringMode/'+targetRewrite,{method: r.method, args: ''},steeringModeSubReqCallback); + } + } + } + + function steeringModeSubReqCallback(steeringReply) { + // Steering mode - returns the steered API response back to the client + + r.warn('steeringModeSubReqCallback got ['+steeringReply.status+'] ['+steeringReply.responseText+']'); + r.status=steeringReply.status; + + for (var header in steeringReply.headersOut) { + r.headersOut[header] = steeringReply.headersOut[header]; + } + + r.sendHeader(); + r.send(steeringReply.responseText); + r.finish(); + } + } + } diff --git a/NGINX-Multicloud-Gateway/mcgw/mcgw/4.mcgw.conf.yaml b/NGINX-Multicloud-Gateway/mcgw/mcgw/4.mcgw.conf.yaml new file mode 100644 index 0000000..6b23a59 --- /dev/null +++ b/NGINX-Multicloud-Gateway/mcgw/mcgw/4.mcgw.conf.yaml @@ -0,0 +1,71 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: mcgw-conf + namespace: nginx-mcgw +data: + mcgw.conf: |- + upstream upstream-db { + zone upstream-db 64k; + + # Upstream DB REST API endpoint + server mcgw-test-backend-db.nginx-mcgw.svc.cluster.local:5000; + } + + proxy_cache_path /var/tmp/cache levels=1:2 keys_zone=dbQueryCache:10m max_size=20m inactive=1m use_temp_path=off; + proxy_cache_key "$scheme://$host$request_uri$query_string"; + + log_format mcgw-basic '[MCGW basic] $remote_addr [$time_local] $http_host ' + '"$request" $status'; + + log_format mcgw-full '[MCGW full] $remote_addr [$time_local] $http_host ' + '"$request" "$request_body" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"'; + + # Keyval zone for dynamic log level configuration + # key: [request FQDN]:[request URI] - value: [none|basic|full] + keyval_zone zone=dynamic_loglevel:1M state=/var/tmp/dynamic_loglevel.json type=prefix; + keyval $host:$uri $dynamic_loglevel zone=dynamic_loglevel; + + server { + server_name $host; + resolver 8.8.8.8; + listen 80; + + location / { + js_content mcgw.dbQuery; + + if ( $dynamic_loglevel = basic ) { + access_log /var/log/nginx/access.log mcgw-basic; + } + if ( $dynamic_loglevel = full ) { + access_log /var/log/nginx/access.log mcgw-full; + } + } + + location ~ /dbQuery/(.*) { + internal; + + proxy_cache dbQueryCache; + proxy_cache_lock on; + proxy_cache_valid 200 1m; + proxy_ignore_headers Set-Cookie Cache-Control; + proxy_cache_methods GET; + + proxy_set_header Host db.mcgw.ff.lan; + proxy_pass http://upstream-db/$1$query_string; + } + + location ~ /steeringMode/(.*) { + internal; + + proxy_buffer_size 256k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + subrequest_output_buffer_size 256k; + + proxy_ssl_session_reuse off; + proxy_ssl_server_name on; + proxy_pass $1$query_string; + } + } diff --git a/NGINX-Multicloud-Gateway/mcgw/mcgw/5.nginx-mcgw.yaml b/NGINX-Multicloud-Gateway/mcgw/mcgw/5.nginx-mcgw.yaml new file mode 100644 index 0000000..e7669d6 --- /dev/null +++ b/NGINX-Multicloud-Gateway/mcgw/mcgw/5.nginx-mcgw.yaml @@ -0,0 +1,126 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-mcgw + namespace: nginx-mcgw + labels: + app: nginx-mcgw +spec: + selector: + matchLabels: + app: nginx-mcgw + replicas: 1 + template: + metadata: + labels: + app: nginx-mcgw + spec: + containers: + - name: nginx-mcgw + image: YOUR_PRIVATE_REGISTRY/nginxplus-js + ports: + - containerPort: 80 + - containerPort: 8080 + volumeMounts: + - name: nginx-conf + mountPath: /etc/nginx/nginx.conf + subPath: nginx.conf + - name: nginx-default-conf + mountPath: /etc/nginx/conf.d/default.conf + subPath: default.conf + - name: nginx-api-conf + mountPath: /etc/nginx/conf.d/api.conf + subPath: api.conf + - name: mcgw-js + mountPath: /etc/nginx/conf.d/mcgw.js + subPath: mcgw.js + - name: mcgw-conf + mountPath: /etc/nginx/conf.d/mcgw.conf + subPath: mcgw.conf + volumes: + - name: nginx-conf + configMap: + name: nginx-conf + - name: nginx-default-conf + configMap: + name: nginx-default-conf + - name: nginx-api-conf + configMap: + name: nginx-api-conf + - name: mcgw-conf + configMap: + name: mcgw-conf + - name: mcgw-js + configMap: + name: mcgw-js + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-mcgw + namespace: nginx-mcgw + labels: + app: nginx-mcgw +spec: + ports: + - name: http + port: 80 + - name: api + port: 8080 + selector: + app: nginx-mcgw + type: ClusterIP + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx-mcgw + namespace: nginx-mcgw + annotations: + nginx.org/proxy-connect-timeout: "30s" + nginx.org/proxy-read-timeout: "20s" + nginx.org/client-max-body-size: "4m" + nginx.com/health-checks: "true" + labels: + app: nginx-mcgw +spec: + ingressClassName: nginx + tls: + - hosts: + - mcgw.ff.lan + - api.mcgw.ff.lan + - api.ff.lan + secretName: mcgw.ff.lan + rules: + - host: mcgw.ff.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx-mcgw + port: + number: 80 + - host: api.mcgw.ff.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx-mcgw + port: + number: 8080 + - host: api.ff.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx-mcgw + port: + number: 80 diff --git a/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/cert-install.sh b/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/cert-install.sh new file mode 100755 index 0000000..91aa4b7 --- /dev/null +++ b/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/cert-install.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +case $1 in + 'clean') + kubectl delete secret mcgw.ff.lan -n nginx-mcgw + rm mcgw.ff.lan.key mcgw.ff.lan.crt + ;; + 'install') + openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout mcgw.ff.lan.key -out mcgw.ff.lan.crt -config mcgw.ff.lan.cnf + kubectl create secret tls mcgw.ff.lan --key mcgw.ff.lan.key --cert mcgw.ff.lan.crt -n nginx-mcgw + ;; + *) + echo "$0 [clean|install]" + exit + ;; +esac diff --git a/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/mcgw.ff.lan.cnf b/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/mcgw.ff.lan.cnf new file mode 100644 index 0000000..06adf9e --- /dev/null +++ b/NGINX-Multicloud-Gateway/mcgw/mcgw/certs/mcgw.ff.lan.cnf @@ -0,0 +1,19 @@ +[req] +default_bits = 2048 +prompt = no +default_md = sha256 +x509_extensions = v3_req +distinguished_name = dn + +[dn] +emailAddress = my@emailaddress.com +CN = mcgw.ff.lan + +[v3_req] +subjectAltName = @alt_names + +[alt_names] +DNS.1 = mcgw.ff.lan +DNS.2 = db.mcgw.ff.lan +DNS.3 = api.mcgw.ff.lan +DNS.4 = api.ff.lan diff --git a/NGINX-Multicloud-Gateway/test-backend-db/Dockerfile b/NGINX-Multicloud-Gateway/test-backend-db/Dockerfile new file mode 100644 index 0000000..fffd7ed --- /dev/null +++ b/NGINX-Multicloud-Gateway/test-backend-db/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:latest +RUN apt-get update + +RUN apt-get install -y -q build-essential python3-pip python3-dev python3-simplejson git +RUN pip3 install --upgrade pip +RUN pip3 install --upgrade virtualenv + +RUN mkdir deployment +RUN virtualenv /deployment/env/ +RUN /deployment/env/bin/python -m pip install --upgrade pip +RUN /deployment/env/bin/pip3 install flask +WORKDIR /deployment +COPY app.py . + +CMD env/bin/python3 app.py diff --git a/NGINX-Multicloud-Gateway/test-backend-db/app.py b/NGINX-Multicloud-Gateway/test-backend-db/app.py new file mode 100755 index 0000000..53794c3 --- /dev/null +++ b/NGINX-Multicloud-Gateway/test-backend-db/app.py @@ -0,0 +1,55 @@ +#!flask/bin/python +from flask import Flask, jsonify, abort, make_response, request + +app = Flask(__name__) + +rules = [ + { + 'fqdn': u'api.ff.lan', + 'uri': u'/getmyip', + 'title': u'Gets my IP in plaintext', + 'rewrite': u'http://api.ipify.org', + 'enabled': u'true' + }, + { + 'fqdn': u'api.ff.lan', + 'uri': u'/getmyip/json', + 'title': u'Gets my IP in json', + 'rewrite': u'http://api.ipify.org?format=json', + 'enabled': u'true' + }, + { + 'fqdn': u'api.ff.lan', + 'uri': u'/getmyip/json/callback', + 'title': u'Gets my IP in json with callback', + 'rewrite': u'http://api.ipify.org?format=jsonp', + 'enabled': u'true' + } +] + +@app.route('/mcgw', methods=['GET']) +def get_key_query_string(): + fqdn = request.args.get('fqdn') + uri = request.args.get('uri') + rule = [rule for rule in rules if rule['fqdn'] == fqdn and rule['uri'] == uri] + if len(rule) == 0: + abort(404) + return jsonify([rule[0]]) + +@app.route('/mcgw/keys//', methods=['GET']) +def get_key(fqdn,uri): + rule = [rule for rule in rules if rule['fqdn'] == fqdn and rule['uri'] == uri] + if len(rule) == 0: + abort(404) + return jsonify({'rule': rule[0]}) + +@app.route('/mcgw/keys', methods=['GET']) +def get_all_keys(): + return jsonify({'rules': rules}) + +@app.errorhandler(404) +def not_found(error): + return make_response(jsonify({'error': 'Not found'}), 404) + +if __name__ == '__main__': + app.run(host='0.0.0.0') diff --git a/NGINX-NIM-Docker/Dockerfile.automated b/NGINX-NIM-Docker/Dockerfile.automated new file mode 100644 index 0000000..d5daba1 --- /dev/null +++ b/NGINX-NIM-Docker/Dockerfile.automated @@ -0,0 +1,33 @@ +FROM ubuntu:20.04 + +ARG ADD_PUM + +# Initial setup +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential git nano curl jq wget gawk \ + nginx lsb-release rsyslog systemd apt-transport-https ca-certificates netcat sudo && \ + mkdir -p /etc/ssl/nginx /deployment + +COPY ./container/startNIM.sh /deployment/ + +RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ + --mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ + set -x \ + && chmod +x /deployment/startNIM.sh \ + && printf "deb https://pkgs.nginx.com/nms/ubuntu `lsb_release -cs` nginx-plus\n" > /etc/apt/sources.list.d/nms.list \ + && wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx \ + && wget -O /tmp/nginx_signing.key https://cs.nginx.com/static/keys/nginx_signing.key \ + && apt-key add /tmp/nginx_signing.key \ + && apt-get update \ + && apt-get install -y nms-instance-manager \ + && curl -s http://hg.nginx.org/nginx.org/raw-file/tip/xml/en/security_advisories.xml > /usr/share/nms/cve.xml \ + # Optional WAF Policy Compiler + && if [ ! -z "${ADD_PUM}" ] ; then \ + apt-get -y install nms-nap-compiler-$ADD_PUM; fi \ + # Set permissions + && chmod +x /etc/nms/scripts/*.sh \ + && wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_`dpkg --print-architecture` -O /usr/bin/yq \ + && chmod +x /usr/bin/yq + +WORKDIR /deployment +CMD /deployment/startNIM.sh diff --git a/NGINX-NIM-Docker/Dockerfile.manual b/NGINX-NIM-Docker/Dockerfile.manual new file mode 100644 index 0000000..b09700a --- /dev/null +++ b/NGINX-NIM-Docker/Dockerfile.manual @@ -0,0 +1,40 @@ +FROM ubuntu:20.04 + +ARG NIM_DEBFILE +ARG SM_IMAGE=nim-files/.placeholder +ARG PUM_IMAGE=nim-files/.placeholder + +# Initial setup +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential git nano curl jq wget gawk \ + nginx lsb-release rsyslog systemd apt-transport-https ca-certificates netcat && \ + mkdir -p /deployment/setup + +# NGINX Instance Manager 2.4.0+ +COPY $NIM_DEBFILE /deployment/setup/nim.deb +COPY $SM_IMAGE /deployment/setup/sm.deb +COPY $PUM_IMAGE /deployment/setup/pum.deb + +COPY ./container/startNIM.sh /deployment/ +RUN chmod +x /deployment/startNIM.sh + +WORKDIR /deployment/setup + +COPY $NIM_DEBFILE /deployment/setup/nim.deb + +RUN apt-get -y install /deployment/setup/nim.deb && \ + curl -s http://hg.nginx.org/nginx.org/raw-file/tip/xml/en/security_advisories.xml > /usr/share/nms/cve.xml \ + # Optional Security Monitoring + && if [ "$SM_IMAGE" != "nim-files/.placeholder" ] ; then \ + apt-get -y install /deployment/setup/sm.deb; fi \ + # Optional WAF Policy Compiler + && if [ "$PUM_IMAGE" != "nim-files/.placeholder" ] ; then \ + apt-get -y install /deployment/setup/pum.deb; fi \ + # Set permissions + && chmod +x /etc/nms/scripts/*.sh \ + && wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_`dpkg --print-architecture` -O /usr/bin/yq \ + && chmod +x /usr/bin/yq \ + && rm -r /deployment/setup + +WORKDIR /deployment +CMD /deployment/startNIM.sh diff --git a/NGINX-NIM-Docker/README.md b/NGINX-NIM-Docker/README.md new file mode 100644 index 0000000..8b148dc --- /dev/null +++ b/NGINX-NIM-Docker/README.md @@ -0,0 +1,295 @@ +# NGINX Instance Manager for Docker + +This repository helps deploying NGINX Instance Manager on containerized clusters by creating a docker image. + +It is also available as part of [official NGINX Demos](https://github.com/nginxinc/NGINX-Demos/tree/master/nginx-nim-docker) + +## Docker image creation + +Docker image creation is supported for: + +- [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/) 2.4.0+ +- [Security Monitoring](https://docs.nginx.com/nginx-management-suite/security/) 1.0.0+ +- [NGINX App Protect WAF compiler](https://docs.nginx.com/nginx-management-suite/nim/how-to/app-protect/setup-waf-config-management) + +The image can optionally be built with [Second Sight](https://github.com/F5Networks/SecondSight) support + +## Tested releases + +This repository has been tested on `amd64` and `arm64` architectures with: + +- NGINX Instance Manager 2.4.0+ +- Security Monitoring 1.0.0+ +- NGINX App Protect WAF compiler v3.1088.2+ + +## Prerequisites + +This repository has been tested with: + +- Docker 20.10+ to build the image +- Private registry to push the target Docker image +- Kubernetes cluster with dynamic storage provisioner enabled: see the [example](contrib/pvc-provisioner) +- NGINX Ingress Controller with `VirtualServer` CRD support (see https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/) +- Access to F5/NGINX downloads to fetch NGINX Instance Manager 2.4.0+ installation .deb file (when running in manual mode) +- Valid NGINX license certificate and key to fetch NGINX Instance Manager packages (when running in automated mode) +- Linux host running Docker to build the image + +## How to build + +The install script can be used to build the Docker image using automated or manual install: + +``` +$ ./scripts/buildNIM.sh +NGINX Instance Manager Docker image builder + + This tool builds a Docker image to run NGINX Instance Manager + + === Usage: + + ./scripts/buildNIM.sh [options] + + === Options: + + -h - This help + -t [target image] - Docker image name to be created + -s - Enable Second Sight (https://github.com/F5Networks/SecondSight/) - optional + + Manual build: + + -n [filename] - NGINX Instance Manager .deb package filename + -w [filename] - Security Monitoring .deb package filename - optional + -p [filename] - WAF policy compiler .deb package filename - optional + + Automated build: + + -i - Automated build - requires cert & key + -C [file.crt] - Certificate file to pull packages from the official NGINX repository + -K [file.key] - Key file to pull packages from the official NGINX repository + -W - Enable Security Monitoring - optional + -P [version] - Enable WAF policy compiler, version can be any [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0] - optional + + === Examples: + + Manual build: + ./scripts/buildNIM.sh -n nim-files/nms-instance-manager_2.6.0-698150575~focal_amd64.deb \ + -w nim-files/nms-sm_1.0.0-697204659~focal_amd64.deb \ + -p nim-files/nms-nap-compiler-v4.2.0.deb \ + -t my.registry.tld/nginx-nms:2.6.0 + + Automated build: + ./scripts/buildNIM.sh -i -C nginx-repo.crt -K nginx-repo.key + -W -P v4.583.0 -t my.registry.tld/nginx-nms:latest +``` + +### Automated build + +1. Clone this repo +2. Get your license certificate and key to fetch NGINX Instance Manager packages from NGINX repository +3. Build NGINX Instance Manager Docker image using: + +NGINX Instance Manager + +``` +./scripts/buildNIM.sh -t YOUR_DOCKER_REGISTRY/nginx-nim2:automated -i -C certs/nginx-repo.crt -K certs/nginx-repo.key +``` + +NGINX Instance Manager, Security Monitoring and WAF Policy Compiler + +``` +./scripts/buildNIM.sh -t YOUR_DOCKER_REGISTRY/nginx-nim2:automated -i -C certs/nginx-repo.crt -K certs/nginx-repo.key -W -P v4.457.0 +``` + +### Manual build + +1. Clone this repository +2. Download NGINX Instance Manager 2.4.0+ .deb installation file for Ubuntu 20.04 and copy it into `nim-files/` +3. Optional: download Security Monitoring .deb installation file for Ubuntu 20.04 and copy it into `nim-files/` +4. Optional: download WAF Policy Compiler .deb installation file for Ubuntu 20.04 and copy it into `nim-files/` +5. Build NGINX Instance Manager Docker image using the provided script + +Example: + +``` +cd nim-files + +apt-cache madison nms-instance-manager +apt-get download nms-instance-manager=2.15.1-1175574316~focal + +apt-cache madison nms-sm +apt-get download nms-sm=1.7.1-1046510610~focal + +apt-cache search nms-nap-compiler +apt-get download nms-nap-compiler-v4.815.0 + +cd .. + +./scripts/buildNIM.sh \ + -t my-private-registry/nginx-instance-manager:2.15.1-nap-v4.815.0-manualbuild \ + -n nim-files/nms-instance-manager_2.15.1-1175574316~focal_amd64.deb \ + -w nim-files/nms-sm_1.7.1-1046510610~focal_amd64.deb \ + -p nim-files/nms-nap-compiler-v4.815.0_4.815.0-1~focal_amd64.deb +``` + +### Configuring and running + +1. Edit `manifests/1.nginx-nim.yaml` and specify the correct image by modifying the "image" line and configure NGINX Instance Manager username, password and the base64-encoded license file for automated license activation. + +``` +image: your.registry.tld/nginx-nim2:tag +[...] +env: + ### NGINX Instance Manager environment + - name: NIM_USERNAME + value: admin + - name: NIM_PASSWORD + value: nimadmin + - name: NIM_LICENSE + value: "" +``` + +To base64-encode the license file the following command can be used: + +``` +base64 -w0 NIM_LICENSE_FILENAME.lic +``` + +Additionally, parameters user by NGINX Instance Manager to connect to ClickHouse can be configured: + +``` +env: + [...] + - name: NIM_CLICKHOUSE_ADDRESS + value: clickhouse + - name: NIM_CLICKHOUSE_PORT + value: "9000" + ### If username is not set to "default", the clickhouse-users ConfigMap in 0.clickhouse.yaml shall be updated accordingly + - name: NIM_CLICKHOUSE_USERNAME + value: "default" + ### If password is not set to "NGINXr0cks", the clickhouse-users ConfigMap in 0.clickhouse.yaml shall be updated accordingly + - name: NIM_CLICKHOUSE_PASSWORD + value: "NGINXr0cks" +``` + +2. If Second Sight was built in the image, configure the relevant environment variables. See the documentation at https://github.com/F5Networks/SecondSight/#on-kubernetesopenshift + +``` +env: + ### Second Sight Push mode + - name: STATS_PUSH_ENABLE + #value: "true" + value: "false" + - name: STATS_PUSH_MODE + value: CUSTOM + #value: PUSHGATEWAY + - name: STATS_PUSH_URL + value: "http://192.168.1.5/callHome" + #value: "http://pushgateway.nginx.ff.lan" + ### Push interval in seconds + - name: STATS_PUSH_INTERVAL + value: "10" +``` + +3. Check / modify files in `/manifests/certs` to customize the TLS certificate and key used for TLS offload + +4. Start and stop using + +``` +./scripts/nimDockerStart.sh start +./scripts/nimDockerStart.sh stop +``` + +5. After starting NGINX Instance Manager it will be accessible from outside the cluster at: + +NGINX Instance Manager GUI: `https://nim2.f5.ff.lan` +NGINX Instance Manager gRPC port: `nim2.f5.ff.lan:30443` + +and from inside the cluster at: + +NGINX Instance Manager GUI: `https://nginx-nim2.nginx-nim2` +NGINX Instance Manager gRPC port: `nginx-nim2.nginx-nim2:443` + + +Second Sight REST API (if enabled at build time - see the documentation at `https://github.com/F5Networks/SecondSight`): +- `https://nim2.f5.ff.lan/f5tt/instances` +- `https://nim2.f5.ff.lan/f5tt/metrics` +- Push mode (configured through env variables in `manifests/1.nginx-nim.yaml`) + +Grafana dashboard: `https://grafana.nim2.f5.ff.lan` - see [configuration details](contrib/grafana) + +Running pods are: + +``` +$ kubectl get pods -n nginx-nim2 -o wide +NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES +clickhouse-7bc96d6d56-jthtf 1/1 Running 0 5m8s 10.244.1.65 f5-node1 +grafana-6f58d455c7-8lk64 1/1 Running 0 5m8s 10.244.2.80 f5-node2 +nginx-nim2-679987c54d-7rl6b 1/1 Running 0 5m8s 10.244.1.64 f5-node1 +``` + +6. For NGINX Instances running on VM/bare metal only: after installing the nginx-agent on NGINX Instances to be managed with NGINX Instance Manager 2, update the file `/etc/nginx-agent/nginx-agent.conf` and modify the line: + +``` +grpcPort: 443 +``` + +into: + +``` +grpcPort: 30443 +``` + +and then restart nginx-agent + + +## Additional tools + +- [Grafana dashboard for telemetry](contrib/grafana) +- [Docker compose](contrib/docker-compose) + + +# Starting NGINX Instance Manager + +## On Kubernetes + +``` +$ ./scripts/nimDockerStart.sh start +namespace/nginx-nim2 created +Generating a RSA private key +...................+++++ +...............................+++++ +writing new private key to 'nim2.f5.ff.lan.key' +----- +secret/nim2.f5.ff.lan created +deployment.apps/nginx-nim2 created +service/nginx-nim2 created +service/nginx-nim2-grpc created +virtualserver.k8s.nginx.org/vs-nim2 created + +$ kubectl get pods -n nginx-nim2 -o wide +NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES +clickhouse-7bc96d6d56-jthtf 1/1 Running 0 5m8s 10.244.1.65 f5-node1 +grafana-6f58d455c7-8lk64 1/1 Running 0 5m8s 10.244.2.80 f5-node2 +nginx-nim2-679987c54d-7rl6b 1/1 Running 0 5m8s 10.244.1.64 f5-node1 +``` + +NGINX Instance Manager GUI is now reachable from outside the cluster at: +- Web GUI: `https://nim2.f5.ff.lan` +- gRPC: `nim2.f5.ff.lan:30443` +- Second Sight: see [usage](https://github.com/F5Networks/SecondSight/blob/main/USAGE.md) + +## On docker-compose + +See [docker-compose](contrib/docker-compose) + +# Stopping NGINX Instance Manager + +## On Kubernetes + +``` +$ ./scripts/nimDockerStart.sh stop +namespace "nginx-nim2" deleted +``` + +## On docker-compose + +See [docker-compose](contrib/docker-compose) diff --git a/NGINX-NIM-Docker/container/startNIM.sh b/NGINX-NIM-Docker/container/startNIM.sh new file mode 100755 index 0000000..2205592 --- /dev/null +++ b/NGINX-NIM-Docker/container/startNIM.sh @@ -0,0 +1,149 @@ +#!/bin/bash + +# Makes sure that Clickhouse is up and running - dedicated pod + +RETCODE=-1 +while [ ! $RETCODE = 0 ] +do + nc -z $NIM_CLICKHOUSE_ADDRESS $NIM_CLICKHOUSE_PORT + RETCODE=$? + echo "Waiting for ClickHouse..." + sleep 3 +done + +if [ -f "/deployment/counter.enabled" ] +then + export DATAPLANE_TYPE=NGINX_MANAGEMENT_SYSTEM + export DATAPLANE_FQDN="https://127.0.0.1:443" + export DATAPLANE_USERNAME=$NIM_USERNAME + export DATAPLANE_PASSWORD=$NIM_PASSWORD + export NMS_CH_HOST=$NIM_CLICKHOUSE_ADDRESS + export NMS_CH_PORT=$NIM_CLICKHOUSE_PORT + export NMS_CH_USER=$NIM_CLICKHOUSE_USERNAME + export NMS_CH_PASS=$NIM_CLICKHOUSE_PASSWORD + + python3 /deployment/app.py & +fi + +mkdir /nonexistent + +/etc/nms/scripts/basic_passwords.sh $NIM_USERNAME $NIM_PASSWORD + +# NGINX Management Suite version detection +# NMS >= 2.7.0 configuration is yaml +VERSION=`nms-core -v` +A=${VERSION%\/*} +B=${A##*\ } +RELEASE=`echo $B | awk -F- '{print $2"."$3"."$4}'` + +echo -n "Detected NMS $RELEASE... " + +case $RELEASE in + 2.4.0|2.5.0|2.5.1|2.6.0) + echo "legacy nms.conf" +# Clickhouse configuration - dedicated pod +echo -e " + +# Clickhouse config +clickhouse_address = $NIM_CLICKHOUSE_ADDRESS:$NIM_CLICKHOUSE_PORT +clickhouse_username = '$NIM_CLICKHOUSE_USERNAME' +clickhouse_password = '$NIM_CLICKHOUSE_PASSWORD' +" >> /etc/nms/nms.conf + ;; + 2.7.0|2.8.0|2.9.0|2.9.1|2.10.0|2.10.1|2.11.0|2.12.0) + echo "YAML nms.conf <= 2.12" +# Clickhouse configuration - dedicated pod +echo -e " + +# Clickhouse config +clickhouse: + address: $NIM_CLICKHOUSE_ADDRESS:$NIM_CLICKHOUSE_PORT + username: '$NIM_CLICKHOUSE_USERNAME' + password: '$NIM_CLICKHOUSE_PASSWORD' +" >> /etc/nms/nms.conf + ;; + *) + echo "YAML nms.conf >= 2.13" +# Clickhouse configuration - dedicated pod +export NIM_CLICKHOUSE_ADDRESSPORT=$NIM_CLICKHOUSE_ADDRESS:$NIM_CLICKHOUSE_PORT +yq '.clickhouse.address=strenv(NIM_CLICKHOUSE_ADDRESSPORT)|.clickhouse.username=strenv(NIM_CLICKHOUSE_USERNAME)|.clickhouse.password=strenv(NIM_CLICKHOUSE_PASSWORD)' /etc/nms/nms.conf > /etc/nms/nms.conf-updated +mv /etc/nms/nms.conf-updated /etc/nms/nms.conf +chown nms:nms /etc/nms/nms.conf +chmod 644 /etc/nms/nms.conf + +yq '.clickhouse.address="tcp://"+strenv(NIM_CLICKHOUSE_ADDRESSPORT)|.clickhouse.username=strenv(NIM_CLICKHOUSE_USERNAME)|.clickhouse.password=strenv(NIM_CLICKHOUSE_PASSWORD)' /etc/nms/nms-sm-conf.yaml > /etc/nms/nms-sm-conf.yaml-updated +mv /etc/nms/nms-sm-conf.yaml-updated /etc/nms/nms-sm-conf.yaml +chown nms:nms /etc/nms/nms-sm-conf.yaml +chmod 644 /etc/nms/nms-sm-conf.yaml + ;; +esac + +# Start nms core - from /lib/systemd/system/nms-core.service +/bin/bash -c '`which mkdir` -p /var/lib/nms/dqlite/' +/bin/bash -c '`which mkdir` -p /var/lib/nms/secrets/' +/bin/bash -c '`which mkdir` -p /var/run/nms/' +/bin/bash -c '`which mkdir` -p /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/run/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/lib/nms/' +/bin/bash -c '`which chmod` 0775 /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /etc/nms/certs/services/core' +/bin/bash -c '`which chown` nms:nms /etc/nms/certs/services/ca.crt' +/bin/bash -c '`which chmod` 0700 /etc/nms/certs/services/core' +/bin/bash -c '`which chmod` 0600 /etc/nms/certs/services/core/*' +su - nms -c 'function repeat { while [ 1 ] ; do "$@" ; sleep 1 ; done; };repeat /usr/bin/nms-core &' -s /bin/bash + +# Start nms dpm - from /lib/systemd/system/nms-dpm.service +/bin/bash -c '`which mkdir` -p /var/lib/nms/streaming/' +/bin/bash -c '`which mkdir` -p /var/lib/nms/dqlite/' +/bin/bash -c '`which mkdir` -p /var/run/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/lib/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/run/nms/' +/bin/bash -c '`which chown` -R nms:nms /etc/nms/certs/services/dataplane-manager' +/bin/bash -c '`which chown` nms:nms /etc/nms/certs/services/ca.crt' +/bin/bash -c '`which chmod` 0700 /etc/nms/certs/services/dataplane-manager' +/bin/bash -c '`which chmod` 0600 /etc/nms/certs/services/dataplane-manager/*' +su - nms -c 'function repeat { while [ 1 ] ; do "$@" ; sleep 1 ; done; };repeat /usr/bin/nms-dpm &' -s /bin/bash + +# Start nms ingestion - from /lib/systemd/system/nms-ingestion.service +/bin/bash -c '`which mkdir` -p /var/run/nms/' +/bin/bash -c '`which mkdir` -p /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/log/nms/' +/bin/bash -c '`which chmod` 0775 /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/run/nms/' +su - nms -c 'function repeat { while [ 1 ] ; do "$@" ; sleep 1 ; done; };repeat /usr/bin/nms-ingestion &' -s /bin/bash + +# Start nms integrations - from /lib/systemd/system/nms-integrations.service +/bin/bash -c '`which mkdir` -p /var/lib/nms/dqlite/' +/bin/bash -c '`which mkdir` -p /var/run/nms/' +/bin/bash -c '`which mkdir` -p /var/log/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/lib/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/run/nms/' +/bin/bash -c '`which chown` -R nms:nms /var/log/nms/' +/bin/bash -c '`which chmod` 0775 /var/log/nms/' +/bin/bash -c '`which chown` nms:nms /etc/nms/certs/services/ca.crt' +su - nms -c 'function repeat { while [ 1 ] ; do "$@" ; sleep 1 ; done; };repeat /usr/bin/nms-integrations &' -s /bin/bash + +sleep 5 + +# Start Security Monitoring +if [ -f /usr/bin/nms-sm ] +then + su - nms -c 'function repeat { while [ 1 ] ; do "$@" ; sleep 1 ; done; };repeat /usr/bin/nms-sm start &' -s /bin/bash +fi + +chmod 666 /var/run/nms/*.sock + +/etc/init.d/nginx start + +# License activation +if ((${#NIM_LICENSE[@]})) +then + curl -s -X PUT -k https://127.0.0.1/api/platform/v1/license -u "$NIM_USERNAME:$NIM_PASSWORD" -d '{ "desiredState": { "content": "'$NIM_LICENSE'" }, "metadata": { "name": "license" } }' -H "Content-Type: application/json" +fi + +while [ 1 ] +do + sleep 60 +done diff --git a/NGINX-NIM-Docker/contrib/docker-compose/.env b/NGINX-NIM-Docker/contrib/docker-compose/.env new file mode 100644 index 0000000..bf6c41d --- /dev/null +++ b/NGINX-NIM-Docker/contrib/docker-compose/.env @@ -0,0 +1,10 @@ +# NGINX Management Suite settings +NIM_IMAGE= +NIM_LICENSE= +NIM_USERNAME=admin +NIM_PASSWORD=nimadmin + +# Clickhouse settings +NIM_CLICKHOUSE_ADDRESS=clickhouse +NIM_CLICKHOUSE_USERNAME=default +NIM_CLICKHOUSE_PASSWORD=NGINXr0cks diff --git a/NGINX-NIM-Docker/contrib/docker-compose/README.md b/NGINX-NIM-Docker/contrib/docker-compose/README.md new file mode 100644 index 0000000..368db99 --- /dev/null +++ b/NGINX-NIM-Docker/contrib/docker-compose/README.md @@ -0,0 +1,14 @@ +# Docker-compose for NGINX Instance Manager + +1. Edit the `.env` file configuring the NGINX Management Suite docker image name and the base64-encoded license +2. Start NGINX Management Suite using + +``` +docker-compose -f docker-compose.yaml up -d +``` + +3. Stop NGINX Management Suite using + +``` +docker-compose -f docker-compose.yaml down +``` diff --git a/NGINX-NIM-Docker/contrib/docker-compose/docker-compose.yaml b/NGINX-NIM-Docker/contrib/docker-compose/docker-compose.yaml new file mode 100644 index 0000000..fc0ffcc --- /dev/null +++ b/NGINX-NIM-Docker/contrib/docker-compose/docker-compose.yaml @@ -0,0 +1,36 @@ +version: "3" +services: + clickhouse: + image: clickhouse/clickhouse-server:23.1.2.9 + ports: + - "9000:9000" + environment: + - CLICKHOUSE_USER=${NIM_CLICKHOUSE_USERNAME} + - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 + - CLICKHOUSE_PASSWORD=${NIM_CLICKHOUSE_PASSWORD} + volumes: + - db-data:/var/lib/clickhouse + ulimits: + nproc: 65535 + nofile: + soft: 262144 + hard: 262144 + + nms: + image: ${NIM_IMAGE} + ports: + - "443:443" + environment: + - NIM_LICENSE=${NIM_LICENSE} + - NIM_USERNAME=${NIM_USERNAME} + - NIM_PASSWORD=${NIM_PASSWORD} + - NIM_CLICKHOUSE_ADDRESS=${NIM_CLICKHOUSE_ADDRESS} + - NIM_CLICKHOUSE_PORT=9000 + - NIM_CLICKHOUSE_USERNAME=${NIM_CLICKHOUSE_USERNAME} + - NIM_CLICKHOUSE_PASSWORD=${NIM_CLICKHOUSE_PASSWORD} + volumes: + - nms-data:/var/lib/nms + +volumes: + db-data: + nms-data: diff --git a/NGINX-NIM-Docker/contrib/grafana/NGINX_NIM2_Telemetry_Grafana_Dashboard.json b/NGINX-NIM-Docker/contrib/grafana/NGINX_NIM2_Telemetry_Grafana_Dashboard.json new file mode 100644 index 0000000..ee3f315 --- /dev/null +++ b/NGINX-NIM-Docker/contrib/grafana/NGINX_NIM2_Telemetry_Grafana_Dashboard.json @@ -0,0 +1,2370 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 5, + "iteration": 1648720093378, + "links": [], + "liveNow": false, + "panels": [ + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "pattern": "nginx-agent (.*) started on (.*)", + "result": { + "color": "green", + "index": 0, + "text": "$1" + } + }, + "type": "regex" + }, + { + "options": { + "pattern": "nginx-agent (.*) stopped on (.*)", + "result": { + "color": "dark-red", + "index": 1, + "text": "$1" + } + }, + "type": "regex" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "yellow", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 0, + "y": 0 + }, + "id": 31, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.4.4", + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "fZlVdGynz" + }, + "dateColDataType": "partition_key", + "dateLoading": false, + "dateTimeColDataType": "creation_time", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n message\nFROM $table\n\nWHERE alias = '$nginx_instance_name'\nORDER BY db_timestamp DESC\nLIMIT 1", + "rawQuery": "SELECT\n (intDiv(toUInt32(creation_time), 1) * 1) * 1000 as t,\n message\nFROM nms.events\n\nWHERE alias = 'ubuntu'\nORDER BY db_timestamp DESC\nLIMIT 1", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "events", + "tableLoading": false + } + ], + "title": "Agent Version", + "type": "stat" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "pattern": "Agent Start", + "result": { + "color": "green", + "index": 0, + "text": "Online" + } + }, + "type": "regex" + }, + { + "options": { + "pattern": "Agent Stop", + "result": { + "color": "dark-red", + "index": 1, + "text": "Offline" + } + }, + "type": "regex" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "yellow", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 4, + "y": 0 + }, + "id": 32, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.4.4", + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "fZlVdGynz" + }, + "dateColDataType": "partition_key", + "dateLoading": false, + "dateTimeColDataType": "creation_time", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n status\nFROM $table\n\nWHERE alias = '$nginx_instance_name'\nORDER BY db_timestamp DESC\nLIMIT 1", + "rawQuery": "SELECT\n (intDiv(toUInt32(creation_time), 2) * 2) * 1000 as t,\n status\nFROM nms.events\n\nWHERE alias = 'ubuntu'\nORDER BY db_timestamp DESC\nLIMIT 1", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "events", + "tableLoading": false + } + ], + "title": "Agent Status", + "type": "stat" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 8, + "x": 8, + "y": 0 + }, + "id": 33, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.4.4", + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "fZlVdGynz" + }, + "dateColDataType": "partition_key", + "dateLoading": false, + "dateTimeColDataType": "creation_time", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n db_timestamp\nFROM $table\n\nWHERE alias = '$nginx_instance_name'\nORDER BY db_timestamp DESC\nLIMIT 1", + "rawQuery": "SELECT\n (intDiv(toUInt32(creation_time), 1) * 1) * 1000 as t,\n db_timestamp\nFROM nms.events\n\nWHERE alias = 'ubuntu'\nORDER BY db_timestamp DESC\nLIMIT 1", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "events", + "tableLoading": false + } + ], + "title": "Last change", + "type": "stat" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 8, + "panels": [ + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 5 + }, + "id": 2, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.cpu.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 2) * 2) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648250847) AND timestamp <= toDateTime(1648254447)\n and name like 'system.cpu.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "CPU usage", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 5 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.load.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 2) * 2) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648250842) AND timestamp <= toDateTime(1648254442)\n and name like 'system.load.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Load Average", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 13 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.mem.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248449) AND timestamp <= toDateTime(1648248749)\n and name like 'system.mem.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Memory usage", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "system.disk.in_use" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "custom.axisSoftMin", + "value": 0 + }, + { + "id": "custom.axisSoftMax", + "value": 100 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 13 + }, + "id": 4, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.disk.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248464) AND timestamp <= toDateTime(1648248764)\n and name like 'system.disk.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Disk", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "KBs" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "system.io.iops_r" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "unit", + "value": "none" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "system.io.iops_w" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "unit", + "value": "none" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 21 + }, + "id": 3, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and (name like 'system.io.iops_%' or name like 'system.io.kbs_%') and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248921) AND timestamp <= toDateTime(1648249221)\n and (name like 'system.io.iops_%' or name like 'system.io.kbs_%') and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Disk I/O", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 21 + }, + "id": 29, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.io.wait_%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 2) * 2) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648250834) AND timestamp <= toDateTime(1648254434)\n and name like 'system.io.wait_%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Disk Latency", + "type": "timeseries" + } + ], + "repeat": "nginx_instance", + "title": "System", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 26, + "panels": [ + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "system.disk.in_use" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 2 + }, + "id": 11, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.net.bytes_%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248475) AND timestamp <= toDateTime(1648248775)\n and name like 'system.net.bytes_%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Network Traffic", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "system.disk.in_use" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 2 + }, + "id": 24, + "options": { + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'system.net.packets_%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248486) AND timestamp <= toDateTime(1648248786)\n and name like 'system.net.packets_%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Network Packet Statistics", + "type": "timeseries" + } + ], + "title": "Network", + "type": "row" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 28, + "panels": [], + "title": "SSL", + "type": "row" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 7 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.ssl.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248527) AND timestamp <= toDateTime(1648248827)\n and name like 'plus.ssl.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "SSL", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 10, + "panels": [], + "repeat": "nginx_instance", + "title": "HTTP & SSL", + "type": "row" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 16 + }, + "id": 13, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'nginx.http.conn.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248511) AND timestamp <= toDateTime(1648248811)\n and name like 'nginx.http.conn.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP Connections", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "max": 1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "nginx.http.request.body_bytes_sent" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#73BF69", + "mode": "fixed" + } + }, + { + "id": "unit", + "value": "decbytes" + } + ] + }, + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "nginx.http.request.body_bytes_sent" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 16 + }, + "id": 15, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "mean", + "max", + "min" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'nginx.http.request.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248516) AND timestamp <= toDateTime(1648248816)\n and name like 'nginx.http.request.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP Requests", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 24 + }, + "id": 16, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.http.status.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248532) AND timestamp <= toDateTime(1648248832)\n and name like 'plus.http.status.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP Status", + "type": "timeseries" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 32 + }, + "id": 22, + "panels": [ + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 17, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.http.upstream.peers.health_checks.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248592) AND timestamp <= toDateTime(1648248892)\n and name like 'plus.http.upstream.peers.health_checks.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Upstream healthchecks", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 19, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.http.upstream.peers.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248598) AND timestamp <= toDateTime(1648248898)\n and name like 'plus.http.upstream.peers.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP upstream peers", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 18, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.http.upstream.peers.status.%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248604) AND timestamp <= toDateTime(1648248904)\n and name like 'plus.http.upstream.peers.status.%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "Upstream response status", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "plus.http.upstream.response.time" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#8AB8FF", + "mode": "fixed" + } + }, + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "unit", + "value": "ms" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 20, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and (name like 'plus.http.upstream.peers.request.%' or name like 'plus.http.upstream.peers.response.%') and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248611) AND timestamp <= toDateTime(1648248911)\n and (name like 'plus.http.upstream.peers.request.%' or name like 'plus.http.upstream.peers.response.%') and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP upstream peers", + "type": "timeseries" + }, + { + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 1, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "plus.http.upstream.response.time" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#8AB8FF", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 25 + }, + "id": 23, + "options": { + "legend": { + "calcs": [ + "lastNotNull", + "min", + "mean", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "database": "nms", + "datasource": { + "type": "vertamedia-clickhouse-datasource", + "uid": "kXXNDeonk" + }, + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "timestamp", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n name,avg(value)\nFROM $table\n\nWHERE $timeFilter\n and name like 'plus.http.upstream.peers.bytes_%' and display_name = '$nginx_instance_name'\nGROUP BY name,t\n\nORDER BY name,t\n", + "rawQuery": "SELECT\n (intDiv(toUInt32(timestamp), 1) * 1) * 1000 as t,\n name,avg(value)\nFROM nms.metrics\n\nWHERE timestamp >= toDateTime(1648248618) AND timestamp <= toDateTime(1648248918)\n and name like 'plus.http.upstream.peers.bytes_%' and display_name = 'devel'\nGROUP BY name,t\n\nORDER BY name,t", + "refId": "A", + "round": "0s", + "skip_comments": true, + "table": "metrics", + "tableLoading": false + } + ], + "title": "HTTP upstream bytes", + "type": "timeseries" + } + ], + "title": "HTTP Upstreams", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 35, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": true, + "text": "nginx-nim-96cfdbd97-rrlss", + "value": "nginx-nim-96cfdbd97-rrlss" + }, + "definition": "select distinct display_name from nms.metrics", + "hide": 0, + "includeAll": false, + "label": "NGINX Instance Name", + "multi": false, + "name": "nginx_instance_name", + "options": [], + "query": "select distinct display_name from nms.metrics", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": { + "hidden": false, + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ], + "type": "timepicker" + }, + "timezone": "browser", + "title": "NGINX Telemetry", + "uid": "yFZSpgJ7q", + "version": 3, + "weekStart": "" +} \ No newline at end of file diff --git a/NGINX-NIM-Docker/contrib/grafana/README.md b/NGINX-NIM-Docker/contrib/grafana/README.md new file mode 100644 index 0000000..5d39b2f --- /dev/null +++ b/NGINX-NIM-Docker/contrib/grafana/README.md @@ -0,0 +1,18 @@ +# Grafana telemetry dashboard + +To configure the bundled Grafana container follow these steps: + +1. Browse to https://grafana.nim2.f5.ff.lan/ (the actual FQDN depends on your cluster/network settings, see YAML files under /manifests) +2. Login as user "admin", password "admin" and set a new password +3. Go to configuration / data sources +4. Add a new data source. In the search box type "clickhouse" and click "select". Configure the datasource as displayed here below. Set the password to "NGINXr0cks": + + + +5. Click "Save and test": "Datasource is working" should be displayed +6. Go to Dashboards / browse and click "Import" +7. Click "Upload JSON file" and select the file `contrib/NGINX_NIM2_Telemetry_Grafana_Dashboard.json` +8. Click import +9. The NGINX Instance Manager 2 telemetry dashboard is up and running + + diff --git a/NGINX-NIM-Docker/contrib/grafana/clickhouse-datasource.png b/NGINX-NIM-Docker/contrib/grafana/clickhouse-datasource.png new file mode 100644 index 0000000000000000000000000000000000000000..876b61d2a52f0e101ca513c6704796b05d6085b3 GIT binary patch literal 183381 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%0DXw6Wr_@Ri}&q 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≺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

    e)j3b~%a~;;Ogyn)`c>LC?Gg5h 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ν?K!p0_Rhoj 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 jKm5PaTK>7%QT)D%du=U<;OT#K=DK;!/dev/null 2>&1 + if [ ! $? = 0 ] + then + echo -e "Not found, aborting" + exit + else + echo -e "OK" + fi +done + +RECAP=" +Release file:\t\t\t$HELMFILE\n +Private registry:\t\t$REGISTRY\n +Private registry pull secret:\t$PULLSECRET\n +Destination namespace:\t\t${NAMESPACE:=nms}\n +Persistent volumes:\t\t${PERSISTENTVOLUMES:=true}\n +Admin password:\t\t${ADMINPASS:=admin}\n" + +DRYRUN="\n-- Installing using:\n\n$RECAP" + +echo -e $DRYRUN + +read -p "Do you want to proceed (YES/no)? " PROCEED + +if [ ! "$PROCEED" = "YES" ] +then + echo "Aborting installation" + exit +fi + +echo + +if [ ! -f $HELMFILE ] +then + echo "$HELMFILE not found, aborting" + exit +fi + +NMSRELEASE=`basename $HELMFILE | sed "s/nms-helm-//g"|sed "s/.tar.gz//g"` +echo "-- Processing NMS Helm Chart for release $NMSRELEASE" + +DSTDIR=`mktemp -d` + +echo "-- Decompressing $HELMFILE" +tar -xf $HELMFILE -C $DSTDIR +pushd $DSTDIR > /dev/null + +IMAGES=`ls *.tar.gz` + +for I in $IMAGES +do + IMGNAME=`echo $I:$NMSRELEASE | sed "s/-$NMSRELEASE.tar.gz//g"` + + echo ".. Importing docker image for $I" + PUSHEDIMG=`docker load -i $I | tail -n1 | awk '{print $3}'` + + #echo ".. Tagging $PUSHEDIMG as $REGISTRY/$IMGNAME" + #docker tag $PUSHEDIMG $REGISTRY/$IMGNAME + + echo ".. Pushing $REGISTRY/$IMGNAME to private registry" + docker push $REGISTRY/$IMGNAME > /dev/null +done + +echo "-- Decompressing helm chart" +tar zxmf nms-hybrid-$NMSRELEASE.tgz + +echo "-- Running helm install" +helm install \ +--set core.persistence.enable=${PERSISTENTVOLUMES:true} \ +--set dpm.persistence.enable=${PERSISTENTVOLUMES:true} \ +--set integrations.persistence.enable=${PERSISTENTVOLUMES:true} \ +--set imagePullSecrets[0].name=${PULLSECRET:-""} \ +--set adminPasswordHash=`openssl passwd -1 ${ADMINPASS:=admin}` \ +--set namespace=$NAMESPACE \ +--set apigw.image.repository=$REGISTRY/nms-apigw \ +--set apigw.image.tag=$NMSRELEASE \ +--set core.image.repository=$REGISTRY/nms-core \ +--set core.image.tag=$NMSRELEASE \ +--set dpm.image.repository=$REGISTRY/nms-dpm \ +--set dpm.image.tag=$NMSRELEASE \ +--set ingestion.image.repository=$REGISTRY/nms-ingestion \ +--set ingestion.image.tag=$NMSRELEASE \ +--set integrations.image.repository=$REGISTRY/nms-integrations \ +--set integrations.image.tag=$NMSRELEASE \ +nim ./nms-hybrid +popd > /dev/null + +rm -r $DSTDIR + +echo -e "\n-- Installation complete\n" +echo -e $RECAP diff --git a/NGINX-NIM-Docker/contrib/helm-installer/README.md b/NGINX-NIM-Docker/contrib/helm-installer/README.md new file mode 100644 index 0000000..0925d71 --- /dev/null +++ b/NGINX-NIM-Docker/contrib/helm-installer/README.md @@ -0,0 +1,92 @@ +# NGINX Management Suite Helm Installer + +This is a bash script to simplify NGINX Management Suite installation through its helm chart. +NGINX Management Suite installation official docs are available at https://docs.nginx.com/nginx-management-suite/admin-guides/installation/helm-chart/ + +## Usage + +Follow these steps: + +1. Browse to NGINX Management Suite [Helm Installation Guide](https://docs.nginx.com/nginx-management-suite/admin-guides/installation/helm-chart/) +2. Check the [overview](https://docs.nginx.com/nginx-management-suite/admin-guides/installation/helm-chart/#overview) paragraph +3. Make sure all [prerequisites](https://docs.nginx.com/nginx-management-suite/admin-guides/installation/helm-chart/#before-you-begin) are met +4. Download the [helm bundle](https://docs.nginx.com/nginx-management-suite/admin-guides/installation/helm-chart/#download-helm-bundle) +5. Run the `NGINX-NMS-Installer.sh` script + +``` +$ ./NGINX-NMS-Installer.sh +NGINX Management Suite Helm Chart installation script + + Usage: + + ./NGINX-NMS-Installer.sh [options] + + Options: + + -h - This help + + -i [filename] - NGINX Management Suite Helm installation file (mandatory) + -r [registry FQDN] - Private registry FQDN (mandatory) + + -s [pull secret] - Private registry pull secret (optional) + -p [admin password] - NGINX Management Suite admin password (optional, default is 'admin') + -n [namespace] - Destination namespace to install to (optional, default is the current namespace) + -P [true|false] - Set persistent volumes usage (optional, default is 'true') + + Example: + + ./NGINX-NMS-Installer.sh -i nms-helm-2.5.1.tar.gz -r myregistry.k8s.local:31005 -s MyPullSecret -p adminP4ssw0rd -n nms-namespace +``` + +## How to run + +``` +$ ./NGINX-NMS-Installer.sh -i nms-helm-2.5.1.tar.gz -r registry.ff.lan:31005 -s myPullSecret -p nmsAdminPass -n nms-namespace +NGINX Management Suite Helm Chart installation script + +-- Running preflight checks +tar... OK +helm... OK +openssl... OK + +-- Installing using: + + Release file: nms-helm-2.5.1.tar.gz + Private registry: registry.ff.lan:31005 + Private registry pull secret: myPullSecret + Destination namespace: nms-namespace + Persistent volumes: true + Admin password: nmsAdminPass + +Do you want to proceed (YES/no)? YES + +-- Processing NMS Helm Chart for release 2.5.1 +-- Decompressing nms-helm-2.5.1.tar.gz +.. Importing docker image for nms-apigw-2.5.1.tar.gz +.. Pushing registry.ff.lan:31005/nms-apigw:2.5.1 to private registry +.. Importing docker image for nms-core-2.5.1.tar.gz +.. Pushing registry.ff.lan:31005/nms-core:2.5.1 to private registry +.. Importing docker image for nms-dpm-2.5.1.tar.gz +.. Pushing registry.ff.lan:31005/nms-dpm:2.5.1 to private registry +.. Importing docker image for nms-ingestion-2.5.1.tar.gz +.. Pushing registry.ff.lan:31005/nms-ingestion:2.5.1 to private registry +.. Importing docker image for nms-integrations-2.5.1.tar.gz +.. Pushing registry.ff.lan:31005/nms-integrations:2.5.1 to private registry +-- Decompressing helm chart +-- Running helm install +NAME: nim +LAST DEPLOYED: Tue Oct 25 17:47:23 2022 +NAMESPACE: default +STATUS: deployed +REVISION: 1 +TEST SUITE: None + +-- Installation complete + +Release file: nms-helm-2.5.1.tar.gz + Private registry: registry.ff.lan:31005 + Private registry pull secret: myPullSecret + Destination namespace: nms-namespace + Persistent volumes: true + Admin password: nmsAdminPass +``` diff --git a/NGINX-NIM-Docker/contrib/pvc-provisioner/README.md b/NGINX-NIM-Docker/contrib/pvc-provisioner/README.md new file mode 100644 index 0000000..022860c --- /dev/null +++ b/NGINX-NIM-Docker/contrib/pvc-provisioner/README.md @@ -0,0 +1,42 @@ +# Sample persistent volume dynamic provisioner + +`dynamic-nfs-storage.yaml` can be used to spin up a dynamic persistent volumes provisioner relying on a NFS server. To deploy it: + +1. Edit the Deployment in `dynamic-nfs-storage.yaml` setting the IP address and base path of an available NFS server: + +``` +[...] + env: + [...] + + ### CONFIGURE HERE NFS SERVER IP ADDRESS AND BASE PATH + - name: NFS_SERVER + value: + - name: NFS_PATH + value: + ### + volumes: + - name: nfs-client-root + nfs: + ### CONFIGURE HERE NFS SERVER IP ADDRESS AND BASE PATH + server: + path: + ### +``` + +2. Deploy it: + +``` +kubectl apply -f dynamic-nfs-storage.yaml +``` + +3. Two storage classes are created for persistent and disposable PVCs: + +``` +$ kubectl get storageclass +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +managed-nfs-storage-delete k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 82d +managed-nfs-storage-retain (default) k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false 82d +``` + +4. `test-retain.yaml` and `test-delete.yaml` can be used for testing purposes diff --git a/NGINX-NIM-Docker/contrib/pvc-provisioner/dynamic-nfs-storage.yaml b/NGINX-NIM-Docker/contrib/pvc-provisioner/dynamic-nfs-storage.yaml new file mode 100644 index 0000000..4f7af57 --- /dev/null +++ b/NGINX-NIM-Docker/contrib/pvc-provisioner/dynamic-nfs-storage.yaml @@ -0,0 +1,143 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: storage + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: nfs-client-provisioner-runner +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["create", "update", "patch"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: run-nfs-client-provisioner +subjects: + - kind: ServiceAccount + name: nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage +roleRef: + kind: ClusterRole + name: nfs-client-provisioner-runner + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: leader-locking-nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage +rules: + - apiGroups: [""] + resources: ["endpoints"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: leader-locking-nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage +subjects: + - kind: ServiceAccount + name: nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage +roleRef: + kind: Role + name: leader-locking-nfs-client-provisioner + apiGroup: rbac.authorization.k8s.io + +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: managed-nfs-storage-retain + annotations: + storageclass.kubernetes.io/is-default-class: "true" +provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME' +parameters: + pathPattern: "${.PVC.namespace}/${.PVC.annotations.nfs.io/storage-path}" # waits for nfs.io/storage-path annotation, if not specified will accept as empty string. + onDelete: retain + +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: managed-nfs-storage-delete +provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME' +parameters: + pathPattern: "${.PVC.namespace}/${.PVC.annotations.nfs.io/storage-path}" # waits for nfs.io/storage-path annotation, if not specified will accept as empty string. + onDelete: delete + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nfs-client-provisioner + labels: + app: nfs-client-provisioner + # replace with namespace where provisioner is deployed + namespace: storage +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: nfs-client-provisioner + template: + metadata: + labels: + app: nfs-client-provisioner + spec: + serviceAccountName: nfs-client-provisioner + containers: + - name: nfs-client-provisioner + image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 + volumeMounts: + - name: nfs-client-root + mountPath: /persistentvolumes + env: + - name: PROVISIONER_NAME + value: k8s-sigs.io/nfs-subdir-external-provisioner + + ### CONFIGURE HERE NFS SERVER IP ADDRESS AND BASE PATH + - name: NFS_SERVER + value: + - name: NFS_PATH + value: + ### + volumes: + - name: nfs-client-root + nfs: + ### CONFIGURE HERE NFS SERVER IP ADDRESS AND BASE PATH + server: + path: + ### diff --git a/NGINX-NIM-Docker/contrib/pvc-provisioner/test-delete.yaml b/NGINX-NIM-Docker/contrib/pvc-provisioner/test-delete.yaml new file mode 100644 index 0000000..1576ef2 --- /dev/null +++ b/NGINX-NIM-Docker/contrib/pvc-provisioner/test-delete.yaml @@ -0,0 +1,36 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: test-claim-delete + annotations: + nfs.io/storage-path: test-claim-delete +spec: + storageClassName: managed-nfs-storage-delete + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Mi + +--- +kind: Pod +apiVersion: v1 +metadata: + name: test-pod-delete +spec: + containers: + - name: test-pod + image: gcr.io/google_containers/busybox:1.24 + command: + - "/bin/sh" + args: + - "-c" + - "echo ok >> /mnt/SUCCESS && exit 0 || exit 1" + volumeMounts: + - name: nfs-pvc + mountPath: "/mnt" + restartPolicy: "Never" + volumes: + - name: nfs-pvc + persistentVolumeClaim: + claimName: test-claim-delete diff --git a/NGINX-NIM-Docker/contrib/pvc-provisioner/test-retain.yaml b/NGINX-NIM-Docker/contrib/pvc-provisioner/test-retain.yaml new file mode 100644 index 0000000..17140bb --- /dev/null +++ b/NGINX-NIM-Docker/contrib/pvc-provisioner/test-retain.yaml @@ -0,0 +1,36 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: test-claim-retain + annotations: + nfs.io/storage-path: test-claim-retain +spec: + storageClassName: managed-nfs-storage-retain + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Mi + +--- +kind: Pod +apiVersion: v1 +metadata: + name: test-pod-retain +spec: + containers: + - name: test-pod + image: gcr.io/google_containers/busybox:1.24 + command: + - "/bin/sh" + args: + - "-c" + - "echo ok >> /mnt/SUCCESS && exit 0 || exit 1" + volumeMounts: + - name: nfs-pvc + mountPath: "/mnt" + restartPolicy: "Never" + volumes: + - name: nfs-pvc + persistentVolumeClaim: + claimName: test-claim-retain diff --git a/NGINX-NIM-Docker/manifests/0.clickhouse.yaml b/NGINX-NIM-Docker/manifests/0.clickhouse.yaml new file mode 100644 index 0000000..b02b29d --- /dev/null +++ b/NGINX-NIM-Docker/manifests/0.clickhouse.yaml @@ -0,0 +1,79 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pvc-clickhouse + annotations: + nfs.io/storage-path: clickhouse +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: clickhouse + labels: + app: clickhouse +spec: + selector: + matchLabels: + app: clickhouse + replicas: 1 + template: + metadata: + labels: + app: clickhouse + spec: + containers: + - name: clickhouse + # NGINX Instance Manager up to 2.8.0 + #image: clickhouse/clickhouse-server:21.12.4.1 + # NGINX Instance Manager 2.9.0+ + #image: clickhouse/clickhouse-server:23.1.2.9 + # NGINX Instance Manager 2.14.0+ + image: clickhouse/clickhouse-server:23.8.3.48 + ports: + - name: binary + containerPort: 9000 + - name: http + containerPort: 8123 + volumeMounts: + - name: clickhouse-users + mountPath: /etc/clickhouse-server/users.xml + subPath: users.xml + - name: clickhouse-conf + mountPath: /etc/clickhouse-server/config.xml + subPath: config.xml + - name: clickhouse-storage + mountPath: /var/lib/clickhouse + volumes: + - name: clickhouse-users + configMap: + name: clickhouse-users + - name: clickhouse-conf + configMap: + name: clickhouse-conf + - name: clickhouse-storage + persistentVolumeClaim: + claimName: pvc-clickhouse + +--- +apiVersion: v1 +kind: Service +metadata: + name: clickhouse + labels: + app: clickhouse +spec: + ports: + - name: binary + port: 9000 + - name: http + port: 8123 + selector: + app: clickhouse + type: ClusterIP diff --git a/NGINX-NIM-Docker/manifests/1.nginx-nim.yaml b/NGINX-NIM-Docker/manifests/1.nginx-nim.yaml new file mode 100644 index 0000000..52057e7 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/1.nginx-nim.yaml @@ -0,0 +1,88 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-nim2 + labels: + app: nginx-nim2 +spec: + selector: + matchLabels: + app: nginx-nim2 + replicas: 1 + template: + metadata: + labels: + app: nginx-nim2 + spec: + containers: + - name: nginx-nim2 + image: your.registry.tld/nginx-nim2:tag + ports: + - name: https + containerPort: 443 + - name: f5tt + containerPort: 5000 + env: + ### NGINX Instance Manager environment + - name: NIM_USERNAME + value: admin + - name: NIM_PASSWORD + value: nimadmin + - name: NIM_LICENSE + value: "" + + - name: NIM_CLICKHOUSE_ADDRESS + value: clickhouse + - name: NIM_CLICKHOUSE_PORT + value: "9000" + ### If username is not set to "default", the clickhouse-users ConfigMap in 0.clickhouse.yaml shall be updated accordingly + - name: NIM_CLICKHOUSE_USERNAME + value: "default" + ### If password is not set to "NGINXr0cks", the clickhouse-users ConfigMap in 0.clickhouse.yaml shall be updated accordingly + - name: NIM_CLICKHOUSE_PASSWORD + value: "NGINXr0cks" + + ### Second Sight Push mode + - name: STATS_PUSH_ENABLE + value: "false" + - name: STATS_PUSH_MODE + value: CUSTOM + #value: NGINX_PUSH + - name: STATS_PUSH_URL + value: "http://192.168.1.5/callHome" + ### Push interval in seconds + - name: STATS_PUSH_INTERVAL + value: "1800" + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-nim2 + labels: + app: nginx-nim2 +spec: + ports: + - name: https + port: 443 + - name: f5tt + port: 5000 + selector: + app: nginx-nim2 + type: ClusterIP + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-nim2-grpc + labels: + app: nginx-nim2 +spec: + ports: + - name: grpc + port: 443 + nodePort: 30443 + selector: + app: nginx-nim2 + type: NodePort diff --git a/NGINX-NIM-Docker/manifests/2.grafana.yaml b/NGINX-NIM-Docker/manifests/2.grafana.yaml new file mode 100644 index 0000000..d6f66e9 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/2.grafana.yaml @@ -0,0 +1,81 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pvc-grafana-data + annotations: + nfs.io/storage-path: grafana/data +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pvc-grafana-log + annotations: + nfs.io/storage-path: grafana/log +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: grafana + labels: + app: grafana +spec: + selector: + matchLabels: + app: grafana + replicas: 1 + template: + metadata: + labels: + app: grafana + spec: + containers: + - name: grafana + image: grafana/grafana + ports: + - containerPort: 3000 + volumeMounts: + - name: grafana-data + mountPath: /var/lib/grafana + - name: grafana-log + mountPath: /var/log/grafana + env: + # Clickhouse datasource plugin installation + # https://grafana.com/grafana/plugins/vertamedia-clickhouse-datasource/?tab=installation + # grafana-cli plugins install vertamedia-clickhouse-datasource + - name: GF_INSTALL_PLUGINS + value: vertamedia-clickhouse-datasource + volumes: + - name: grafana-data + persistentVolumeClaim: + claimName: pvc-grafana-data + - name: grafana-log + persistentVolumeClaim: + claimName: pvc-grafana-log + +--- +apiVersion: v1 +kind: Service +metadata: + name: grafana + labels: + app: grafana +spec: + ports: + - port: 3000 + selector: + app: grafana + type: ClusterIP diff --git a/NGINX-NIM-Docker/manifests/3.vs.yaml b/NGINX-NIM-Docker/manifests/3.vs.yaml new file mode 100644 index 0000000..aaedf05 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/3.vs.yaml @@ -0,0 +1,43 @@ +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: nim2 +spec: + host: nim2.f5.ff.lan + tls: + secret: nim2.f5.ff.lan + upstreams: + - name: nginx-nim2 + service: nginx-nim2 + port: 443 + tls: + enable: true + client-max-body-size: 10m + - name: nginx-nim2-f5tt + service: nginx-nim2 + port: 5000 + routes: + - path: / + action: + pass: nginx-nim2 + - path: /f5tt + action: + pass: nginx-nim2-f5tt + +--- +apiVersion: k8s.nginx.org/v1 +kind: VirtualServer +metadata: + name: grafana +spec: + host: grafana.nim2.f5.ff.lan + tls: + secret: nim2.f5.ff.lan + upstreams: + - name: grafana + service: grafana + port: 3000 + routes: + - path: / + action: + pass: grafana diff --git a/NGINX-NIM-Docker/manifests/certs/cert-install.sh b/NGINX-NIM-Docker/manifests/certs/cert-install.sh new file mode 100755 index 0000000..b423412 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/certs/cert-install.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +case $1 in + 'clean') + kubectl delete secret nim2.f5.ff.lan -n nginx-nim2 + rm nim2.f5.ff.lankey nim2.f5.ff.lan.crt + ;; + 'install') + openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout nim2.f5.ff.lan.key -out nim2.f5.ff.lan.crt -config nim2.f5.ff.lan.cnf + kubectl create secret tls nim2.f5.ff.lan --key nim2.f5.ff.lan.key --cert nim2.f5.ff.lan.crt -n nginx-nim2 + ;; + *) + echo "$0 [clean|install]" + exit + ;; +esac diff --git a/NGINX-NIM-Docker/manifests/certs/nim2.f5.ff.lan.cnf b/NGINX-NIM-Docker/manifests/certs/nim2.f5.ff.lan.cnf new file mode 100644 index 0000000..23d5f43 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/certs/nim2.f5.ff.lan.cnf @@ -0,0 +1,16 @@ +[req] +default_bits = 2048 +prompt = no +default_md = sha256 +x509_extensions = v3_req +distinguished_name = dn + +[dn] +emailAddress = my@emailaddress.com +CN = nim2.f5.ff.lan + +[v3_req] +subjectAltName = @alt_names + +[alt_names] +DNS.1 = nim2.f5.ff.lan diff --git a/NGINX-NIM-Docker/manifests/configmaps/config.xml b/NGINX-NIM-Docker/manifests/configmaps/config.xml new file mode 100644 index 0000000..28d542a --- /dev/null +++ b/NGINX-NIM-Docker/manifests/configmaps/config.xml @@ -0,0 +1,1038 @@ + + + + + + trace + /var/log/clickhouse-server/clickhouse-server.log + /var/log/clickhouse-server/clickhouse-server.err.log + + 1000M + 10 + + + + + + + + + + + + + + 8123 + + + 9000 + + + 9004 + + + + + + + + + + + + + + + 9009 + + + + + + + + + + + + + + + 0.0.0.0 + + + + + + + + + + + + + 4096 + + + 3 + + + + + false + + + /path/to/ssl_cert_file + /path/to/ssl_key_file + + + false + + + /path/to/ssl_ca_cert_file + + + deflate + + + medium + + + -1 + -1 + + + false + + + + + + + /etc/clickhouse-server/server.crt + /etc/clickhouse-server/server.key + + /etc/clickhouse-server/dhparam.pem + none + true + true + sslv2,sslv3 + true + + + + true + true + sslv2,sslv3 + true + + + + RejectCertificateHandler + + + + + + + + + 100 + + + 0 + + + + 10000 + + + 0.9 + + + 4194304 + + + 0 + + + + + + 8589934592 + + + 5368709120 + + + + /var/lib/clickhouse/ + + + /var/lib/clickhouse/tmp/ + + + + + + /var/lib/clickhouse/user_files/ + + + + + + + + + + + users.xml + + + + /var/lib/clickhouse/access/ + + + + + + + default + + + + + + + + + + + + default + + + + + + + + + true + + + false + + + + + + + + + + + + + + + localhost + 9000 + + + + + + + + + localhost + 9000 + + + + + localhost + 9000 + + + + + + + 127.0.0.1 + 9000 + + + + + 127.0.0.2 + 9000 + + + + + + true + + 127.0.0.1 + 9000 + + + + true + + 127.0.0.2 + 9000 + + + + + + + localhost + 9440 + 1 + + + + + + + localhost + 9000 + + + + + localhost + 1 + + + + + + + + + + + + + + + + + + + + + + + + 3600 + + + + 3600 + + + 60 + + + + + + + + + + + + + system + query_log
    + + toYYYYMM(event_date) + + + + + + 7500 +
    + + + + system + trace_log
    + + toYYYYMM(event_date) + 7500 +
    + + + + system + query_thread_log
    + toYYYYMM(event_date) + 7500 +
    + + + + + + + + system + metric_log
    + 7500 + 1000 +
    + + + + system + asynchronous_metric_log
    + + 60000 +
    + + + + + + engine MergeTree + partition by toYYYYMM(finish_date) + order by (finish_date, finish_time_us, trace_id) + + system + opentelemetry_span_log
    + 7500 +
    + + + + + system + crash_log
    + + + 1000 +
    + + + + + + + + + + + + + + + + + + *_dictionary.xml + + + + + + + + /clickhouse/task_queue/ddl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + click_cost + any + + 0 + 3600 + + + 86400 + 60 + + + + max + + 0 + 60 + + + 3600 + 300 + + + 86400 + 3600 + + + + + + /var/lib/clickhouse/format_schemas/ + + + + + hide encrypt/decrypt arguments + ((?:aes_)?(?:encrypt|decrypt)(?:_mysql)?)\s*\(\s*(?:'(?:\\'|.)+'|.*?)\s*\) + + \1(???) + + + + + + + + + + false + + false + + + https://6f33034cfe684dd7a3ab9875e57b1c8d@o388870.ingest.sentry.io/5226277 + + + + +
    diff --git a/NGINX-NIM-Docker/manifests/configmaps/users.xml b/NGINX-NIM-Docker/manifests/configmaps/users.xml new file mode 100644 index 0000000..33bf337 --- /dev/null +++ b/NGINX-NIM-Docker/manifests/configmaps/users.xml @@ -0,0 +1,124 @@ + + + + + + + + + + 10000000000 + + + random + + + + + 0 + + + + + + + + + b056ff6ca466a8974d175ef0dd980b6c155c9399 + + + + ::/0 + + + + default + + + default + + + + + + + + + + + + + + 3600 + + + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/NGINX-NIM-Docker/nim-files/.placeholder b/NGINX-NIM-Docker/nim-files/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/NGINX-NIM-Docker/scripts/buildNIM.sh b/NGINX-NIM-Docker/scripts/buildNIM.sh new file mode 100755 index 0000000..080a1e2 --- /dev/null +++ b/NGINX-NIM-Docker/scripts/buildNIM.sh @@ -0,0 +1,100 @@ +#!/bin/bash + +BANNER="NGINX Instance Manager Docker image builder\n\n +This tool builds a Docker image to run NGINX Instance Manager\n\n +=== Usage:\n\n +$0 [options]\n\n +=== Options:\n\n +-h\t\t\t- This help\n +-t [target image]\t- Docker image name to be created\n\n +Manual build:\n\n +-n [filename]\t\t- NGINX Instance Manager .deb package filename\n +-w [filename]\t\t- Security Monitoring .deb package filename - optional\n +-p [filename]\t\t- WAF policy compiler .deb package filename - optional\n\n +Automated build:\n\n +-i\t\t\t- Automated build - requires cert & key\n +-C [file.crt]\t\t- Certificate file to pull packages from the official NGINX repository\n +-K [file.key]\t\t- Key file to pull packages from the official NGINX repository\n +-P [version]\t\t- Enable WAF policy compiler, version can be any [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0|v4.641|v4.762|v4.815.0|v5.17.0|v5.48.0|v5.144.0] - optional\n\n +=== Examples:\n\n +Manual build:\n +\t$0 -t my-private-registry/nginx-instance-manager:2.15.1-nap-v4.815.0-manualbuild \\\\\\n +\t\t-n nim-files/nms-instance-manager_2.15.1-1175574316~focal_amd64.deb \\\\\n +\t\t-w nim-files/nms-sm_1.7.1-1046510610~focal_amd64.deb \\\\\n +\t\t-p nim-files/nms-nap-compiler-v4.815.0_4.815.0-1~focal_amd64.deb\n\n +Automated build:\n +\t$0 -i -C nginx-repo.crt -K nginx-repo.key \\\\\n +\t\t-P v5.144.0 -t my.registry.tld/nginx-nms:latest\n +" + +while getopts 'hn:w:p:t:siC:K:AP:' OPTION +do + case "$OPTION" in + h) + echo -e $BANNER + exit + ;; + n) + DEBFILE=$OPTARG + ;; + w) + SM_IMAGE=$OPTARG + ;; + p) + PUM_IMAGE=$OPTARG + ;; + t) + IMGNAME=$OPTARG + ;; + i) + AUTOMATED_INSTALL=true + ;; + C) + NGINX_CERT=$OPTARG + ;; + K) + NGINX_KEY=$OPTARG + ;; + P) + ADD_PUM=$OPTARG + ;; + esac +done + +if [ -z "$1" ] +then + echo -e $BANNER + exit +fi + +if [ -z "${IMGNAME}" ] +then + echo "Docker image name is required" + exit +fi + +if ([ -z "${AUTOMATED_INSTALL}" ] && [ -z "${DEBFILE}" ]) +then + echo "NGINX Instance Manager package is required for manual installation" + exit +fi + +if ([ ! -z "${AUTOMATED_INSTALL}" ] && ([ -z "${NGINX_CERT}" ] || [ -z "${NGINX_KEY}" ])) +then + echo "NGINX certificate and key are required for automated installation" + exit +fi + +echo "==> Building NGINX Management Suite docker image" + +if [ -z "${AUTOMATED_INSTALL}" ] +then + docker build --no-cache -f Dockerfile.manual --build-arg NIM_DEBFILE=$DEBFILE \ + --build-arg SM_IMAGE=$SM_IMAGE --build-arg PUM_IMAGE=$PUM_IMAGE -t $IMGNAME . +else + DOCKER_BUILDKIT=1 docker build --no-cache -f Dockerfile.automated --secret id=nginx-key,src=$NGINX_KEY --secret id=nginx-crt,src=$NGINX_CERT \ + --build-arg ADD_PUM=$ADD_PUM \ + -t $IMGNAME . +fi + +docker push $IMGNAME diff --git a/NGINX-NIM-Docker/scripts/nimDockerStart.sh b/NGINX-NIM-Docker/scripts/nimDockerStart.sh new file mode 100755 index 0000000..22016ff --- /dev/null +++ b/NGINX-NIM-Docker/scripts/nimDockerStart.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +NAMESPACE=nginx-nim2 + +case $1 in + 'start') + kubectl create namespace $NAMESPACE + + pushd manifests/certs + ./cert-install.sh install + cd .. + + kubectl create configmap clickhouse-conf -n $NAMESPACE --from-file=configmaps/config.xml + kubectl create configmap clickhouse-users -n $NAMESPACE --from-file=configmaps/users.xml + kubectl apply -n $NAMESPACE -f . + popd + ;; + 'stop') + kubectl delete namespace $NAMESPACE + ;; + *) + echo "$0 [start|stop]" + exit + ;; +esac diff --git a/NGINX-SOAP-REST/README.md b/NGINX-SOAP-REST/README.md new file mode 100644 index 0000000..ac73cb8 --- /dev/null +++ b/NGINX-SOAP-REST/README.md @@ -0,0 +1,312 @@ +# NGINX SOAP/REST gateway + +## Description + +This is a sample NGINX Plus SOAP/REST gateway configuration to translate between SOAP webservices and REST APIs. + +NGINX Plus manages client requests based on service definitions provided by an external REST-enabled backend, and translates between XML and JSON based on custom templates. + +## Prerequisites + +This repo has been tested with: + +- Linux VM +- Docker-compose v2.20.2+ +- NGINX Plus R29+ license (`nginx-repo.crt` and `nginx-repo.key`) + +## Current status / work in progress + +XML/JSON and JSON/XML translation are performed based on templates or in automatic mode + +| JSON to XML | XML to JSON | Request | Response | Template-based | Automatic | +|-------------|--------------|---------|----------|----------------|-----------| +| X | | X | | X | | +| X | | X | X | | X | + +## High level architecture + +Sequence diagram + +```mermaid +sequenceDiagram + Client->>NGINX Plus: REST or SOAP request (with Basic Auth) + NGINX Plus->>LDAP Connector: REST API Call (REST request) + LDAP Connector-->>LDAP Server: LDAP Authentication request + LDAP Server-->>LDAP Connector: LDAP Authentication reply + LDAP Connector->>NGINX Plus: Authentication response (REST reply) + NGINX Plus->>Source of truth: Service definition JSON request + Source of truth->>NGINX Plus: Service definition JSON reply + NGINX Plus->>NGINX Plus: Payload XML/JSON translation + NGINX Plus->>Backend: SOAP/REST request +``` + +Flowchart + +```mermaid +flowchart LR + C[Client] -->|1. SOAP/REST request| N(NGINX Plus) + N --> |2. REST API request| LDAPC[LDAP Connector] + LDAPC --> |3. LDAP auth request| LDAP[[LDAP Server]] + LDAP --> |4. LDAP auth response| LDAPC + LDAPC --> |5. REST API response| N + N --> |6. Service definition request| SOT[[Source of Truth]] + SOT --> |7. Service definition response| N + N --> |8. XML/JSON request translation| N + N --> |9. SOAP/REST request| B[Backend] +``` + +## How to deploy + +A docker-compose YAML file is provided to spin up all components. `nginx/Dockerfile` has been created starting from https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/ + +To start the environment: + +1. Run the startup script: during its first run it will build all Docker images + +``` +$ ./nginx-soap-rest.sh -o start -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key +[+] Running 6/6 +[...] + ✔ Network nginx-soap-rest_lab-network Created + ✔ Container nginx Started + ✔ Container ldap-connector Started + ✔ Container source-of-truth Started + ✔ Container echo-server Started + ✔ Container openldap Started +``` + +2. Check running containers: + +``` +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +738fbd26a28e osixia/openldap:1.5.0 "/container/tool/run" 8 minutes ago Up 6 minutes (healthy) 0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp openldap +9052b76a4c34 source-of-truth "/bin/sh -c /deploym…" 8 minutes ago Up 6 minutes 0.0.0.0:10080->10080/tcp source-of-truth +bb8ce93e9b26 echo-server "/bin/sh -c /deploym…" 8 minutes ago Up 6 minutes 0.0.0.0:8000->8000/tcp echo-server +50be30c44fb9 ldap-connector "/bin/sh -c '/deploy…" 8 minutes ago Up 6 minutes 0.0.0.0:5389->5389/tcp ldap-connector +b659e2dde454 nginx-soap-rest "nginx -g 'daemon of…" 8 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp nginx +``` + +3. Test LDAP authentication through the LDAP connector. The LDAP connector provides NGINX with a REST API and acts as an LDAP client + +``` +$ curl -iX POST 127.0.0.1:5389/ldap/auth -u "alice:testpassword" -w '\n' +HTTP/1.1 200 OK +date: Wed, 09 Aug 2023 13:36:39 GMT +server: uvicorn +content-length: 38 +content-type: application/json + +{"detail":"Authentication successful"} +``` + +4. Test the source of truth: + +``` +$ curl -s 127.0.0.1:10080/fetchallkeys +{"rules":[{"enabled":"true","request_translation":{"to_xml":"$JSON.username$$JSON.email$$JSON.userid$$JSON.phone$"},"ruleid":1,"upstream":"10.5.0.13:8000","upstream_content":"xml","uri":"test.xml"},{"enabled":"true","ruleid":2,"upstream":"10.5.0.13:8000","upstream_content":"xml","uri":"auto.xml"},{"enabled":"true","ruleid":3,"upstream":"10.5.0.13:8000","upstream_content":"json","uri":"auto.json"}]} +``` + +5. Test the echo server: + +``` +$ curl -X POST http://127.0.0.1:8000 -d '{"parm":123}' -w '\n' -i +HTTP/1.0 200 OK +Server: BaseHTTP/0.6 Python/3.10.12 +Date: Thu, 10 Aug 2023 14:53:28 GMT +Content-type: text/plain + +{"parm":123} +``` + +6. Test NGINX: + +``` +$ curl -i 127.0.0.1 +HTTP/1.1 401 Unauthorized +Server: nginx/1.23.4 +Date: Thu, 10 Aug 2023 11:06:15 GMT +Content-Type: text/html +Content-Length: 179 +Connection: keep-alive +www-authenticate: Basic +X-Custom-Header: testing123 + + +401 Authorization Required + +

    401 Authorization Required

    +
    nginx/1.23.4
    + + +``` + +## Test: JSON to XML translation (template-based) + +The client POSTs a JSON payload and the backend service `echo-server` expects an XML payload. + +The source of truth holds service definition JSON files. Variables `$JSON.$` are rendered with values taken from input JSON fields. + +Example template: + +``` + + + + + $JSON.username$ + $JSON.email$ + + $JSON.userid$ + $JSON.phone$ + + + + +``` + +Service definition entries in the source of truth are looked up based on the `uri` requested by the client. +- `upstream` defines the backend service NGINX will `proxy_pass` the client request to +- `upstream_content` defines the backend service expected payload format `xml` or `json` +- `request_translation` defines translation templates `to_xml` or `to_json` + +``` + { + "ruleid": 1, + "enabled": "true", + "uri": "test.xml", + "upstream": "10.5.0.13:8000", + "upstream_content": "xml", + "request_translation": { + "to_xml": "$JSON.username$$JSON.email$$JSON.userid$JSON.phone" + } + } +``` + +Test client request: + +``` +curl -isH "X-Wanted-Content: xml" -X POST http://127.0.0.1/test.xml -u "alice:testpassword" -d ' +{ + "username":"John Doe", + "email":"john@doe.org", + "userid":"U-12345", + "phone":"(012) 345-6789" +}' +``` + +Response is: + +``` +HTTP/1.1 200 OK +Server: nginx/1.23.4 +Date: Thu, 10 Aug 2023 16:05:52 GMT +Content-Type: text/xml +Transfer-Encoding: chunked +Connection: keep-alive +X-Custom-Header: testing123 + + + + + + John Doe + john@doe.org + + U-12345 + (012) 345-6789 + + + + +``` + +NGINX logs report: + +``` +$ docker logs nginx -f +2023/08/10 16:05:53 [warn] 8#8: *5 js: Request: Client[10.5.0.1] Scheme[http] Method[POST] Host[127.0.0.1] URI [/test.xml] Body[ +{ + "username":"John Doe", + "email":"john@doe.org", + "userid":"U-12345", + "phone":"(012) 345-6789" +}] +2023/08/10 16:05:53 [warn] 8#8: *5 js: Subrequest [/sourceOfTruth/fetchkey/test.xml] +2023/08/10 16:05:53 [warn] 8#8: *5 js: subReqCallback got 200 +2023/08/10 16:05:53 [warn] 8#8: *5 js: Rewrite rule [127.0.0.1/test.xml] -> upstream content [xml] +2023/08/10 16:05:53 [warn] 8#8: *5 js: Upstream wants XML payload +2023/08/10 16:05:53 [warn] 8#8: *5 js: Payload translation JSON -> XML +2023/08/10 16:05:53 [warn] 8#8: *5 js: ===> Template-based JSON to XML translation +2023/08/10 16:05:53 [warn] 8#8: *5 js: Request body: [[object Object]] +2023/08/10 16:05:53 [warn] 8#8: *5 js: Template : [$JSON.username$$JSON.email$$JSON.userid$$JSON.phone$] +2023/08/10 16:05:53 [warn] 8#8: *5 js: => JSON -> XML Translation token [JSON.username] +2023/08/10 16:05:53 [warn] 8#8: *5 js: username found in JSON payload +2023/08/10 16:05:53 [warn] 8#8: *5 js: => JSON -> XML Translation token [JSON.email] +2023/08/10 16:05:53 [warn] 8#8: *5 js: email found in JSON payload +2023/08/10 16:05:53 [warn] 8#8: *5 js: => JSON -> XML Translation token [JSON.userid] +2023/08/10 16:05:53 [warn] 8#8: *5 js: userid found in JSON payload +2023/08/10 16:05:53 [warn] 8#8: *5 js: => JSON -> XML Translation token [JSON.phone] +2023/08/10 16:05:53 [warn] 8#8: *5 js: phone found in JSON payload +2023/08/10 16:05:53 [warn] 8#8: *5 js: Request body sent to upstream: [John Doejohn@doe.orgU-12345(012) 345-6789] +2023/08/10 16:05:53 [warn] 8#8: *5 js: Proxying to [http://10.5.0.13:8000] +10.5.0.1 - alice [10/Aug/2023:16:05:53 +0000] "POST /test.xml HTTP/1.1" 200 401 "-" "curl/8.0.1" "-" +``` + +## Test: JSON to XML translation (automatic mode) + +Client request: + +``` +curl -isH "X-Wanted-Content: xml" -X POST http://127.0.0.1/auto.xml -u "alice:testpassword" -d ' +{ + "username":"John Doe", + "email":"john@doe.org", + "userid":"U-12345", + "phone":"(012) 345-6789" +}' +``` + +Response: + +``` +HTTP/1.1 200 OK +Server: nginx/1.23.4 +Date: Thu, 10 Aug 2023 16:24:44 GMT +Content-Type: text/xml +Transfer-Encoding: chunked +Connection: keep-alive +X-Custom-Header: testing123 + + + + + + John Doe + john@doe.org + U-12345 + (012) 345-6789 + + + +``` + +## How to undeploy + +The environment can be stopped using: + +``` +$ ./nginx-soap-rest.sh -o stop +[+] Running 6/6 + ✔ Container echo-server Removed + ✔ Container ldap-connector Removed + ✔ Container openldap Removed + ✔ Container source-of-truth Removed + ✔ Container nginx Removed + ✔ Network nginx-soap-rest_lab-network Removed +``` diff --git a/NGINX-SOAP-REST/docker-compose.yaml b/NGINX-SOAP-REST/docker-compose.yaml new file mode 100644 index 0000000..0800508 --- /dev/null +++ b/NGINX-SOAP-REST/docker-compose.yaml @@ -0,0 +1,90 @@ +version: "3.9" + +services: + openldap: + container_name: openldap + image: osixia/openldap:1.5.0 + restart: always + ports: + - 389:389 + - 636:636 + networks: + lab-network: + ipv4_address: 10.5.0.10 + volumes: + - ./ldap/ldif:/ldif:ro + healthcheck: + test: ["CMD-SHELL", "ldapadd -x -D cn=admin,dc=example,dc=org -w admin -H ldap://localhost -ZZ -f /ldif/setup.ldif || exit 0"] + interval: 10s + timeout: 5s + retries: 2 + + ldap-connector: + container_name: ldap-connector + image: ldap-connector + build: + dockerfile: ldap/connector/Dockerfile + ports: + - 5389:5389 + networks: + lab-network: + ipv4_address: 10.5.0.11 + environment: + - LDAP_SERVER=openldap:389 + + source-of-truth: + container_name: source-of-truth + image: source-of-truth + build: + dockerfile: source-of-truth/Dockerfile + ports: + - 10080:10080 + networks: + lab-network: + ipv4_address: 10.5.0.12 + + echo-server: + container_name: echo-server + image: echo-server + build: + dockerfile: echo-server/Dockerfile + ports: + - 8000:8000 + networks: + lab-network: + ipv4_address: 10.5.0.13 + + nginx: + container_name: nginx + image: nginx-soap-rest + build: + dockerfile: nginx/Dockerfile + secrets: + - nginx-crt + - nginx-key + ports: + - 80:80 + networks: + lab-network: + ipv4_address: 10.5.0.14 + volumes: + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./nginx/soaprest.js:/etc/nginx/conf.d/soaprest.js:ro + - ./nginx/soaprest.conf:/etc/nginx/conf.d/soaprest.conf:ro + - /dev/null:/etc/nginx/conf.d/default.conf:ro + +secrets: + nginx-crt: + name: nginx-crt + file: ${NGINX_CERT} + nginx-key: + name: nginx-key + file: ${NGINX_KEY} + +networks: + lab-network: + driver: bridge + ipam: + config: + - subnet: 10.5.0.0/24 + gateway: 10.5.0.1 diff --git a/NGINX-SOAP-REST/echo-server/Dockerfile b/NGINX-SOAP-REST/echo-server/Dockerfile new file mode 100644 index 0000000..ff8e315 --- /dev/null +++ b/NGINX-SOAP-REST/echo-server/Dockerfile @@ -0,0 +1,10 @@ +From ubuntu:22.04 + +RUN apt-get update \ + && apt-get -y install python3 \ + && mkdir /deployment + +COPY ./echo-server/echo-server.py /deployment + +WORKDIR /deployment +CMD /deployment/echo-server.py diff --git a/NGINX-SOAP-REST/echo-server/echo-server.py b/NGINX-SOAP-REST/echo-server/echo-server.py new file mode 100755 index 0000000..bd601b6 --- /dev/null +++ b/NGINX-SOAP-REST/echo-server/echo-server.py @@ -0,0 +1,26 @@ +#!/usr/bin/python3 + +import http.server +import socketserver + +class EchoRequestHandler(http.server.BaseHTTPRequestHandler): + def _set_response(self): + self.send_response(200) + self.send_header('Content-type', 'text/plain') + self.end_headers() + + def do_POST(self): + content_length = int(self.headers['Content-Length']) + post_data = self.rfile.read(content_length).decode('utf-8') + + self._set_response() + self.wfile.write(post_data.encode('utf-8')) + +def run(server_class=http.server.HTTPServer, handler_class=EchoRequestHandler, port=8000): + server_address = ('', port) + httpd = server_class(server_address, handler_class) + print(f"Starting httpd on {server_address[0]}:{server_address[1]}...") + httpd.serve_forever() + +if __name__ == '__main__': + run() diff --git a/NGINX-SOAP-REST/ldap/connector/Dockerfile b/NGINX-SOAP-REST/ldap/connector/Dockerfile new file mode 100644 index 0000000..1a3d869 --- /dev/null +++ b/NGINX-SOAP-REST/ldap/connector/Dockerfile @@ -0,0 +1,16 @@ +From ubuntu:22.04 + +ARG LDAP_SERVER + +RUN apt-get update \ +# && apt-get -y install python3 python3-venv python3-pip python3-openssl libsasl2-dev libldap2-dev libssl-dev \ + && apt-get -y install python3 python3-pip python3-openssl libsasl2-dev libldap2-dev libssl-dev \ + && mkdir /deployment + +COPY ./ldap/connector/ldap-connector.py /deployment +COPY ./ldap/connector/requirements.txt /deployment + +RUN pip install --no-cache -r /deployment/requirements.txt + +WORKDIR /deployment +CMD /deployment/ldap-connector.py $LDAP_SERVER diff --git a/NGINX-SOAP-REST/ldap/connector/ldap-connector.py b/NGINX-SOAP-REST/ldap/connector/ldap-connector.py new file mode 100755 index 0000000..1d203e5 --- /dev/null +++ b/NGINX-SOAP-REST/ldap/connector/ldap-connector.py @@ -0,0 +1,37 @@ +#!/usr/bin/python3 + +import os +import secrets +import uvicorn +import sys + +from fastapi import FastAPI, Depends, HTTPException, status, Response +from fastapi.security import HTTPBasic, HTTPBasicCredentials +from typing_extensions import Annotated + +from ldap3 import Server, Connection, SAFE_SYNC + + +app = FastAPI(openapi_url="/ldap/access/openapi.json", docs_url="/ldap/access/docs") +security = HTTPBasic() + +def authorize(credentials: HTTPBasicCredentials = Depends(security)): + + #server = Server('ubuntu.ff.lan:389') + server = Server(sys.argv[1]) + try: + conn = Connection(server, f'uid={credentials.username},ou=users,dc=example,dc=org', credentials.password, client_strategy=SAFE_SYNC, auto_bind=True) + except Exception: + raise HTTPException(status_code=401, detail='Authentication failed') + + +@app.post('/ldap/auth', dependencies=[Depends(authorize)], status_code=status.HTTP_200_OK) +def auth(response: Response): + return {'detail': 'Authentication successful'}; + + +if __name__ == '__main__': + if len(sys.argv) != 2: + print('LDAP server missing') + else: + uvicorn.run("ldap-connector:app", host='0.0.0.0', port=5389) diff --git a/NGINX-SOAP-REST/ldap/connector/requirements.txt b/NGINX-SOAP-REST/ldap/connector/requirements.txt new file mode 100644 index 0000000..40e08aa --- /dev/null +++ b/NGINX-SOAP-REST/ldap/connector/requirements.txt @@ -0,0 +1,6 @@ +cryptography +secrets +uvicorn +fastapi +typing_extensions +ldap3 diff --git a/NGINX-SOAP-REST/ldap/ldif/setup.ldif b/NGINX-SOAP-REST/ldap/ldif/setup.ldif new file mode 100644 index 0000000..010b7c8 --- /dev/null +++ b/NGINX-SOAP-REST/ldap/ldif/setup.ldif @@ -0,0 +1,20 @@ +dn: ou=users,dc=example,dc=org +objectClass: organizationalUnit +ou: users + +dn: uid=alice,ou=users,dc=example,dc=org +objectClass: top +objectClass: account +objectClass: posixAccount +objectClass: shadowAccount +cn: alice +uid: alice +uidNumber: 16861 +gidNumber: 100 +homeDirectory: /home/alice +loginShell: /bin/bash +gecos: alice +userPassword: testpassword +shadowLastChange: 0 +shadowMax: 0 +shadowWarning: 0 diff --git a/NGINX-SOAP-REST/nginx-soap-rest.sh b/NGINX-SOAP-REST/nginx-soap-rest.sh new file mode 100755 index 0000000..c891b83 --- /dev/null +++ b/NGINX-SOAP-REST/nginx-soap-rest.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +PROJECT_NAME=nginx-soap-rest +DOCKERCOMPOSE=docker-compose.yaml + +BANNER="NGINX SOAP REST lab - https://github.com/fabriziofiorucci/NGINX-SOAP-REST\n\n +=== Usage:\n\n +$0 [options]\n\n +== Options:\n\n +-h\t\t\t- This help\n +-o [start|stop]\t- Start/stop the lab\n +-C [file.crt]\t\t- Certificate file to pull packages from the official NGINX repository\n +-K [file.key]\t\t- Key file to pull packages from the official NGINX repository\n\n +=== Examples:\n\n +Lab start:\n +\t$0 -o start -C /etc/ssl/nginx/nginx-repo.crt -K /etc/ssl/nginx/nginx-repo.key\n\n +Lab stop:\n +\t$0 -o stop\n\n +" + + +while getopts 'ho:C:K:' OPTION +do + case "$OPTION" in + h) + echo -e $BANNER + exit + ;; + o) + MODE=$OPTARG + ;; + C) + export NGINX_CERT=$OPTARG + ;; + K) + export NGINX_KEY=$OPTARG + ;; + esac +done + +if [ -z "$1" ] || [ -z "${MODE}" ] +then + echo -e $BANNER + exit +fi + +case $MODE in + 'start') + if [ -z "${NGINX_CERT}" ] || [ -z "${NGINX_KEY}" ] + then + echo "Missing NGINX Plus certificate/key" + exit + fi + + DOCKER_BUILDKIT=1 docker-compose -p $PROJECT_NAME -f $DOCKERCOMPOSE up -d --remove-orphans + ;; + 'stop') + export NGINX_CERT="x" + export NGINX_KEY="x" + docker-compose -p $PROJECT_NAME -f $DOCKERCOMPOSE down + ;; + *) + echo "$0 [start|stop]" + exit + ;; +esac diff --git a/NGINX-SOAP-REST/nginx/Dockerfile b/NGINX-SOAP-REST/nginx/Dockerfile new file mode 100644 index 0000000..8ed3647 --- /dev/null +++ b/NGINX-SOAP-REST/nginx/Dockerfile @@ -0,0 +1,66 @@ +FROM alpine:3.17 + +LABEL maintainer="NGINX Docker Maintainers " + +# Define NGINX versions for NGINX Plus and NGINX Plus modules +# Uncomment this block and the versioned nginxPackages in the main RUN +# instruction to install a specific release +# ENV NGINX_VERSION 29 +# ENV NJS_VERSION 0.7.12 +# ENV PKG_RELEASE 1 + +# Download certificate and key from the customer portal (https://account.f5.com) +# and copy to the build context +RUN --mount=type=secret,id=nginx-crt,dst=cert.pem \ + --mount=type=secret,id=nginx-key,dst=cert.key \ + set -x \ +# Create nginx user/group first, to be consistent throughout Docker variants + && addgroup -g 101 -S nginx \ + && adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx \ +# Install the latest release of NGINX Plus and/or NGINX Plus modules +# Uncomment individual modules if necessary +# Use versioned packages over defaults to specify a release + && nginxPackages=" \ + nginx-plus \ + # nginx-plus=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-xslt \ + # nginx-plus-module-xslt=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-geoip \ + # nginx-plus-module-geoip=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-image-filter \ + # nginx-plus-module-image-filter=${NGINX_VERSION}-r${PKG_RELEASE} \ + # nginx-plus-module-perl \ + # nginx-plus-module-perl=${NGINX_VERSION}-r${PKG_RELEASE} \ + nginx-plus-module-njs \ + # nginx-plus-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${PKG_RELEASE} \ + " \ + KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" \ + && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub \ + && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then \ + echo "key verification succeeded!"; \ + mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; \ + else \ + echo "key verification failed!"; \ + exit 1; \ + fi \ + && cat cert.pem > /etc/apk/cert.pem \ + && cat cert.key > /etc/apk/cert.key \ + && apk add -X "https://pkgs.nginx.com/plus/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages \ + && if [ -f "/etc/apk/keys/nginx_signing.rsa.pub" ]; then rm -f /etc/apk/keys/nginx_signing.rsa.pub; fi \ + && if [ -f "/etc/apk/cert.key" ] && [ -f "/etc/apk/cert.pem" ]; then rm -f /etc/apk/cert.key /etc/apk/cert.pem; fi \ +# Bring in tzdata so users could set the timezones through the environment +# variables + && apk add --no-cache tzdata \ +# Bring in curl and ca-certificates to make registering on DNS SD easier + && apk add --no-cache curl ca-certificates \ +# Forward request and error logs to Docker log collector + && ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80 + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] + +# vim:syntax=Dockerfile diff --git a/NGINX-SOAP-REST/nginx/nginx.conf b/NGINX-SOAP-REST/nginx/nginx.conf new file mode 100644 index 0000000..921a49b --- /dev/null +++ b/NGINX-SOAP-REST/nginx/nginx.conf @@ -0,0 +1,39 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +load_module modules/ngx_http_js_module.so; +load_module modules/ngx_stream_js_module.so; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + keepalive_timeout 65; + #gzip on; + include /etc/nginx/conf.d/*.conf; +} + + +# TCP/UDP proxy and load balancing block +stream { + log_format stream-main '$remote_addr [$time_local] ' + '$protocol $status $bytes_sent $bytes_received ' + '$session_time "$ssl_preread_server_name"'; + #access_log /dev/stdout stream-main; + include /etc/nginx/stream-conf.d/*.conf; +} diff --git a/NGINX-SOAP-REST/nginx/soaprest.conf b/NGINX-SOAP-REST/nginx/soaprest.conf new file mode 100644 index 0000000..1c713a7 --- /dev/null +++ b/NGINX-SOAP-REST/nginx/soaprest.conf @@ -0,0 +1,73 @@ +js_import soaprest from conf.d/soaprest.js; + +proxy_cache_path /var/cache/nginx/jwk levels=1 keys_zone=jwk:1m max_size=10m; +proxy_cache_path /var/tmp/cache levels=1:2 keys_zone=dbQueryCache:10m max_size=20m inactive=1m use_temp_path=off; +proxy_cache_key "$scheme://$host$request_uri$query_string"; + +log_format jwt '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" "$http_user_agent" ' + '$jwt_header_alg $jwt_claim_sub'; + +# LDAP connector +upstream upstream_auth_server { + server ldap-connector:5389; +} + +# Source of truth +upstream upstream_source_of_truth { + server source-of-truth:10080; +} + +server { + server_name $host; + #resolver 8.8.8.8; + + listen 80; + + location / { + access_log /var/log/nginx/access.log main; + error_log /var/log/nginx/error.log warn; + + auth_request /auth; + + js_content soaprest.requestHandler; + #js_header_filter soaprest.headerFilter; + } + + location ~ /proxyToUpstream/(.*) { + internal; + + proxy_buffer_size 256k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + subrequest_output_buffer_size 256k; + + proxy_ssl_session_reuse off; + proxy_ssl_server_name on; + + # Request header injection + proxy_set_header X-Injected-Request-Header "test value"; + + # Proxy request to upstream + proxy_pass http://$1; + } + + location = /auth { + internal; + + proxy_method POST; + proxy_set_header Authorization $http_authorization; + + proxy_pass http://upstream_auth_server/ldap/auth; + } + + location ~ /sourceOfTruth/(.*) { + internal; + + proxy_cache dbQueryCache; + proxy_cache_bypass $http_pragma; + proxy_cache_lock on; + proxy_cache_valid 200 1m; + proxy_pass http://upstream_source_of_truth/$1; + } +} diff --git a/NGINX-SOAP-REST/nginx/soaprest.js b/NGINX-SOAP-REST/nginx/soaprest.js new file mode 100644 index 0000000..f89426d --- /dev/null +++ b/NGINX-SOAP-REST/nginx/soaprest.js @@ -0,0 +1,263 @@ +export default {requestHandler,headerFilter}; + +const xml = require("xml"); +const querystring = require("querystring"); +const fs = require("fs"); + +function requestHandler(r) { + r.warn('Request: Client['+r.remoteAddress+'] Scheme['+r.variables.scheme+'] Method['+r.method+'] Host['+r.headersIn['host']+'] URI ['+r.uri+'] Body['+r.requestText+']'); + + // Queries the source of truth + r.warn('Subrequest [/sourceOfTruth/fetchkey'+r.uri+']'); + r.subrequest('/sourceOfTruth/fetchkey'+r.uri,'',sourceOfTruthCallback); + + function sourceOfTruthCallback(reply) { + if(reply.status!=200) { + // Rule not found + r.warn('Rule not found - returning 404'); + r.return(404); + } else { + r.warn('subReqCallback got 200'); + + var body = JSON.parse(reply.responseText); + + if (body.rule.enabled=='false') { + // Rule is disabled + r.warn('Rule is disabled - returning 404'); + r.return(404); + } else { + // Rule is enabled + r.warn('Rewrite rule ['+r.headersIn['host']+r.uri+'] -> upstream content ['+body.rule.upstream_content+']'); + + // Request body translation + let requestBody = ''; + let convertedRequestBody = ''; + + if(r.requestText != null) { + convertedRequestBody = r.requestText; + } + + //let requestContentType = String(r.headersIn['Content-Type']); + + // Service definition JSON "upstream_content" field describes the content format expected by the upstream. It can be set to either "json" or "xml" and it enables request body translation when needed + if(r.requestText != null) { + if (body.rule.upstream_content == 'json') { + r.warn('Upstream requires JSON payload'); + + if(isXml(r.requestText)) { + requestBody = xml.parse(r.requestText); + + if ('request_translation' in body.rule) { + r.warn('Request payload translation XML -> JSON - template-based'); + convertedRequestBody = templateSoapToRest(r,requestBody,body.rule.request_translation.to_json) + } else { + r.warn('Request payload translation XML -> JSON - automatic mode'); + convertedRequestBody = soapToRest(r,requestBody); + } + } + } else if (body.rule.upstream_content == 'xml') { + r.warn('Upstream requires XML payload'); + + if(isJson(r.requestText)) { + requestBody = JSON.parse(r.requestText); + + if ('request_translation' in body.rule) { + r.warn('Request payload translation JSON -> XML - template-based'); + convertedRequestBody = templateRestToSoap(r,requestBody,body.rule.request_translation.to_xml) + } else { + r.warn('Request payload translation JSON -> XML - automatic mode'); + convertedRequestBody = restToSoap(r,requestBody); + } + } + } else { + convertedRequestBody = r.requestText; + } + } + + r.warn('Request body sent to upstream: [' + convertedRequestBody + ']'); + + // Proxy the request to upstream + r.warn('Proxying to [http://'+body.rule.upstream+']'); + r.subrequest('/proxyToUpstream/'+body.rule.upstream,{method: r.method, body: convertedRequestBody},proxyCallback); + + function proxyCallback(upstreamReply) { + // Collect upstream reply + //r.warn('Upstream reply status ['+upstreamReply.status+'] body ['+upstreamReply.responseText+']'); + r.status=upstreamReply.status; + + let responseBody = ''; + let convertedBody = ''; + + let replyContentType = upstreamReply.headersOut['Content-Type']; + + // XML to JSON and JSON to XML response payload translation + // X-Wanted-Content HTTP request header can be set to either "json" or "xml" to enable response body translation + if (r.headersIn['X-Wanted-Content'] == 'json' && replyContentType.includes('application/xml')) { + responseBody = xml.parse(upstreamReply.responseText); + convertedBody = soapToRest(r,responseBody); + + delete r.headersOut["Content-Length"]; + delete r.headersOut["Content-Type"]; + r.headersOut['Content-Type'] = 'application/json; charset=utf-8'; + } else if (r.headersIn['X-Wanted-Content'] == 'xml' && replyContentType.includes('application/json')) { + responseBody = JSON.parse(upstreamReply.responseText); + convertedBody = restToSoap(r,responseBody); + + delete r.headersOut["Content-Length"]; + delete r.headersOut["Content-Type"]; + r.headersOut['Content-Type'] = 'application/soap+xml; charset=utf-8'; + } else { + convertedBody = upstreamReply.responseText; + } + + //r.warn('Reply type: ' + upstreamReply.headersOut['Content-Type']); + //r.warn('Converted body: ' + convertedBody); + + // Returns upstream reply headers to client + for (var header in upstreamReply.headersOut) { + switch (header) { + case 'Content-Type': + case 'Content-Length': + break; + default: + r.headersOut[header] = upstreamReply.headersOut[header]; + } + } + + r.sendHeader(); + r.send(convertedBody); + r.finish(); + } + } + } +}} + +function headerFilter(r) { + // Sample response headers removal + //delete r.headersOut["Content-Length"]; + //delete r.headersOut["Content-Type"]; + + // Sample response headers injection + //r.headersOut["Content-Type"] = "application/json"; + //r.headersOut["Content-Type"] = "application/soap+xml; charset=utf-8"; + //r.headersOut["X-Custom-Header"] = "testing123"; +} + +// REST to SOAP payload translation +function restToSoap(r,obj) { + let soap = ''+ + '' + + '' + + '' + + jsonToXml(r,obj) + + '' + + '' + + '' + + return soap; +} + +function jsonToXml(r,json) { + let xml = ''; + + Object.keys(json).forEach(k => { + if (typeof json[k] == 'object') { + //r.warn('==> JSON object ['+k+']'); + xml += '<'+k+'>'+jsonToXml(r,json[k])+''; + } else { + //r.warn('JSON parameter ['+k+'] => ['+json[k]+']'); + xml += '<'+k+'>'+json[k]+''; + } + }) + + return xml; +} + +// template-based JSON to XML payload translation +function templateRestToSoap(r,jsonRequestBody,translationTemplate) { + r.warn('===> Template-based JSON to XML translation'); + r.warn('Request body: [' + jsonRequestBody + ']'); + r.warn('Template : [' + translationTemplate + ']'); + + let outputXml = ''; + let tokenFound = false; + let tokenName = ''; + + Object.keys(translationTemplate).forEach(c => { + let char = translationTemplate[c]; + + if (char != '$') { + if (tokenFound == false) { + outputXml += char; + } else { + tokenName += char; + } + } else { + // JSON translation '$' token found + if (tokenFound == true) { + let jsonField = tokenName.substring(5); + r.warn('=> JSON -> XML Translation token ['+tokenName+']'); + + // Removes 'JSON.' at the start of the token name + if (tokenName.substring(5) in jsonRequestBody) { + r.warn(' '+jsonField+' found in JSON payload'); + outputXml += jsonRequestBody[tokenName.substring(5)]; + } else { + r.warn(' '+jsonField+' missing in JSON payload'); + } + tokenName = ''; + tokenFound = false; + } else { + tokenFound = true; + } + } + }); + + return outputXml; +} + +// SOAP to REST payload translation +function soapToRest(r,obj) { + //let json = { test: 123, code: 456 }; + + let json = {}; + json = xmlToJson(r,obj); + + return JSON.stringify(json); +} + +function xmlToJson(r,xml) { + let json = {}; + + Object.keys(xml).forEach(k => { + if (typeof xml[k][Symbol.toStringTag] == 'XMLNode') { + //r.warn('==> XML node ['+k+'] => ['+xml[k]+']'); + json[k] = xmlToJson(r,xml[k]); + } else { + //r.warn('XML parameter ['+k+'] => ['+xml[k]+']'); + json[k] = xml[k]; + } + }) + + return json; +} + +// JSON format check +function isJson(str) { + try { + JSON.parse(str); + } catch (e) { + return false; + } + return true; +} + +// XML format check +function isXml(str) { + try { + xml.parse(str); + } catch (e) { + return false; + } + return true; +} diff --git a/NGINX-SOAP-REST/source-of-truth/Dockerfile b/NGINX-SOAP-REST/source-of-truth/Dockerfile new file mode 100644 index 0000000..5eff9f0 --- /dev/null +++ b/NGINX-SOAP-REST/source-of-truth/Dockerfile @@ -0,0 +1,13 @@ +From ubuntu:22.04 + +RUN apt-get update \ + && apt-get -y install python3 python3-venv python3-pip python3-openssl libsasl2-dev libldap2-dev libssl-dev \ + && mkdir /deployment + +COPY ./source-of-truth/source-of-truth.py /deployment +COPY ./source-of-truth/requirements.txt /deployment + +RUN pip install --no-cache -r /deployment/requirements.txt + +WORKDIR /deployment +CMD /deployment/source-of-truth.py diff --git a/NGINX-SOAP-REST/source-of-truth/requirements.txt b/NGINX-SOAP-REST/source-of-truth/requirements.txt new file mode 100644 index 0000000..7e10602 --- /dev/null +++ b/NGINX-SOAP-REST/source-of-truth/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/NGINX-SOAP-REST/source-of-truth/source-of-truth.py b/NGINX-SOAP-REST/source-of-truth/source-of-truth.py new file mode 100755 index 0000000..1c19126 --- /dev/null +++ b/NGINX-SOAP-REST/source-of-truth/source-of-truth.py @@ -0,0 +1,49 @@ +#!/usr/bin/python3 +from flask import Flask, jsonify, abort, make_response, request + +app = Flask(__name__) + +rules = [ + { + 'ruleid': 1, + 'enabled': u'true', + 'uri': u'test.xml', + 'upstream_content': u'xml', + 'upstream': u'10.5.0.13:8000', + 'request_translation': { + 'to_xml': u'$JSON.username$$JSON.email$$JSON.userid$$JSON.phone$' + } + }, + { + 'ruleid': 2, + 'enabled': u'true', + 'uri': u'auto.xml', + 'upstream_content': u'xml', + 'upstream': u'10.5.0.13:8000' + }, + { + 'ruleid': 3, + 'enabled': u'true', + 'uri': u'auto.json', + 'upstream_content': u'json', + 'upstream': u'10.5.0.13:8000' + } +] + +@app.route('/fetchkey/', methods=['GET']) +def get_key(uri): + rule = [rule for rule in rules if rule['uri'] == uri] + if len(rule) == 0: + abort(404) + return jsonify({'rule': rule[0]}) + +@app.route('/fetchallkeys', methods=['GET']) +def get_all_keys(): + return jsonify({'rules': rules}) + +@app.errorhandler(404) +def not_found(error): + return make_response(jsonify({'error': 'Not found'}), 404) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=10080) diff --git a/README.md b/README.md index 6bcfa8b..49c2537 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,15 @@ Each demo might have unique deployment requirements. Please refer to each indivi |Title|Description| |-----|-----------| +|NGINX Advanced Healthcheck|Advanced active healthchecks for NGINX Plus| |NGINX API gateway|Configure NGINX as an API gateway| +|NGINX API Steering|NGINX as an API gateway using an external data source for authentication, authorization and steering| +|NGINX Docker Image Builder|Tool to build several docker images for NGINX Plus, NGINX App Protect, NGINX Agent| |NGINX Gateway Fabric|Simple overview of configuring NGINX Gateway Fabric to route traffic within Kubernetes| |NGINX Ingress Controller|Simple overview of deploying and configuring NGINX Ingress Controller| +|NGINX Multicloud Gateway|NGINX setup for URI-based kubernetes traffic routing| |NGINX One|Simple overview of NGINX One and its capabilities| +|NGINX SOAP REST|Example NGINX configuration to translate between SOAP and REST| ## Contributing From b407560a47fec91d943889610a2b088e268c814b Mon Sep 17 00:00:00 2001 From: Fabrizio Fiorucci Date: Wed, 26 Feb 2025 11:56:51 +0000 Subject: [PATCH 2/2] README updated --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 49c2537..d338f39 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Each demo might have unique deployment requirements. Please refer to each indivi |NGINX Gateway Fabric|Simple overview of configuring NGINX Gateway Fabric to route traffic within Kubernetes| |NGINX Ingress Controller|Simple overview of deploying and configuring NGINX Ingress Controller| |NGINX Multicloud Gateway|NGINX setup for URI-based kubernetes traffic routing| +|NGINX NIM Docker|Tool to build docker images for NGINX Instance Manager| |NGINX One|Simple overview of NGINX One and its capabilities| |NGINX SOAP REST|Example NGINX configuration to translate between SOAP and REST|