This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new 41df8e1a1 Nginx conf parameters as env var (#2203)
41df8e1a1 is described below

commit 41df8e1a17418d39a3da8b68e3a08365c1881c95
Author: Stefan Obermeier <[email protected]>
AuthorDate: Thu Dec 28 10:40:43 2023 +0100

    Nginx conf parameters as env var (#2203)
    
    * Nginx conf parameters as env var
    
    * Add http-server route configuration to more installers
    
    * Create backup of nginx configuration before changing it
    
    * Fix merge mistakes.
---
 docker-compose.yml                                       |  2 ++
 .../standalone/extensions-all-jvm/docker-compose.yml     |  2 ++
 installer/cli/deploy/standalone/ui/docker-compose.yml    |  2 ++
 installer/cli/environments/full                          |  3 ---
 installer/compose/docker-compose.full.yml                |  2 ++
 installer/compose/docker-compose.minimal.yml             |  2 ++
 installer/compose/docker-compose.nats.yml                |  2 ++
 installer/compose/docker-compose.pulsar.yml              |  2 ++
 installer/compose/docker-compose.quickstart.yml          |  2 ++
 installer/compose/docker-compose.yml                     |  2 ++
 installer/k8s/README.md                                  | 16 ++--------------
 .../templates/core/extensions-all-iiot-deployment.yaml   |  2 +-
 installer/k8s/templates/core/ui-ingressroute.yaml        |  5 +++++
 installer/k8s/values.yaml                                |  1 +
 ui/Dockerfile                                            |  1 +
 ui/docker-entrypoint.sh                                  |  7 ++++++-
 ui/nginx_config/default.conf                             |  2 +-
 ui/nginx_config/{default.conf => default.conf.template}  |  2 +-
 18 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 860c6e779..cfc47addd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -53,6 +53,8 @@ services:
       context: ./ui
       dockerfile: Dockerfile
     image: streampipes_ui:release-validation
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git 
a/installer/cli/deploy/standalone/extensions-all-jvm/docker-compose.yml 
b/installer/cli/deploy/standalone/extensions-all-jvm/docker-compose.yml
index 90686788d..a355c6c96 100644
--- a/installer/cli/deploy/standalone/extensions-all-jvm/docker-compose.yml
+++ b/installer/cli/deploy/standalone/extensions-all-jvm/docker-compose.yml
@@ -17,6 +17,8 @@ version: "3.4"
 services:
   extensions-all-jvm:
     image: ${SP_DOCKER_REGISTRY}/extensions-all-jvm:${SP_VERSION}
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     depends_on:
       - couchdb
     environment:
diff --git a/installer/cli/deploy/standalone/ui/docker-compose.yml 
b/installer/cli/deploy/standalone/ui/docker-compose.yml
index 0985c3a7d..3aa23250b 100644
--- a/installer/cli/deploy/standalone/ui/docker-compose.yml
+++ b/installer/cli/deploy/standalone/ui/docker-compose.yml
@@ -17,6 +17,8 @@ version: "3.4"
 services:
   ui:
     image: ${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/cli/environments/full b/installer/cli/environments/full
index bc9f7da71..cf8789429 100644
--- a/installer/cli/environments/full
+++ b/installer/cli/environments/full
@@ -18,9 +18,6 @@ ui
 backend
 extensions-all-jvm
 couchdb
-jobmanager
-taskmanager
 zookeeper
 kafka
 influxdb
-pipeline-elements-all-flink
diff --git a/installer/compose/docker-compose.full.yml 
b/installer/compose/docker-compose.full.yml
index a8f88f6e4..8f73e254d 100644
--- a/installer/compose/docker-compose.full.yml
+++ b/installer/compose/docker-compose.full.yml
@@ -39,6 +39,8 @@ services:
 
   ui:
     image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/compose/docker-compose.minimal.yml 
b/installer/compose/docker-compose.minimal.yml
index 948dd0d35..a1e747b3c 100644
--- a/installer/compose/docker-compose.minimal.yml
+++ b/installer/compose/docker-compose.minimal.yml
@@ -40,6 +40,8 @@ services:
 
   ui:
     image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-iiot-minimal:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/compose/docker-compose.nats.yml 
b/installer/compose/docker-compose.nats.yml
index b9e5fff61..8313c02db 100644
--- a/installer/compose/docker-compose.nats.yml
+++ b/installer/compose/docker-compose.nats.yml
@@ -40,6 +40,8 @@ services:
 
   ui:
     image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/compose/docker-compose.pulsar.yml 
b/installer/compose/docker-compose.pulsar.yml
index c657b18bb..0775603f2 100644
--- a/installer/compose/docker-compose.pulsar.yml
+++ b/installer/compose/docker-compose.pulsar.yml
@@ -41,6 +41,8 @@ services:
 
   ui:
     image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/compose/docker-compose.quickstart.yml 
b/installer/compose/docker-compose.quickstart.yml
index 5fea61fc4..bac87eb21 100644
--- a/installer/compose/docker-compose.quickstart.yml
+++ b/installer/compose/docker-compose.quickstart.yml
@@ -39,6 +39,8 @@ services:
 
   ui:
     image: "${SP_DOCKER_REGISTRY}/ui:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     ports:
       - "80:8088"
     depends_on:
diff --git a/installer/compose/docker-compose.yml 
b/installer/compose/docker-compose.yml
index 25a5be84b..ce084204f 100644
--- a/installer/compose/docker-compose.yml
+++ b/installer/compose/docker-compose.yml
@@ -27,6 +27,8 @@ services:
   # StreamPipes services
   backend:
     image: "${SP_DOCKER_REGISTRY}/backend:${SP_VERSION}"
+    environment:
+      - SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
     depends_on:
       - couchdb
     volumes:
diff --git a/installer/k8s/README.md b/installer/k8s/README.md
index c6da802a0..23bfce457 100644
--- a/installer/k8s/README.md
+++ b/installer/k8s/README.md
@@ -158,6 +158,7 @@ rm -rf ${HOME}/streampipes-k8s
 | Parameter Name               | Description                               | 
Value               |
 
|------------------------------|-------------------------------------------|---------------------|
 | extensions.iiot.appName      | IIoT extensions application name          | 
extensions-all-iiot |
+| extensions.iiot.imageName    | IIoT extensions image name                | 
extensions-all-jvm  |
 | extensions.iiot.port         | Port for the IIoT extensions application  | 
8090                |
 | extensions.iiot.service.name | Name of the IIoT extensions service       | 
extensions-all-iiot |
 | extensions.iiot.service.port | TargetPort of the IIoT extensions service | 
8090                |
@@ -179,20 +180,7 @@ rm -rf ${HOME}/streampipes-k8s
 | external.couchdb.persistence.storageSize      | Size of the CouchDB PV       
             | "1Gi"                  |
 | external.couchdb.persistence.claimName        | Name of the CouchDB 
PersistentVolumeClaim | "couchdb-pvc"          |
 | external.couchdb.persistence.pvName           | Name of the CouchDB 
PersistentVolume      | "couchdb-pv"           |
-####Couchdb common parameters
-| Parameter Name                                  | Description                
                              | Value                                    |
-|-------------------------------------------------|----------------------------------------------------------|------------------------------------------|
-| external.couchdb.appName                        | CouchDB application name   
                              | "couchdb"                                |
-| external.couchdb.version                        | CouchDB version            
                              | 3.3.1                                    |
-| external.couchdb.user                           | CouchDB admin username     
                              | "admin"                                  |
-| external.couchdb.password                       | CouchDB admin password     
                              | empty (auto-generated)                   |
-| external.couchdb.port                           | Port for the CouchDB 
service                             | 5984                                     |
-| external.couchdb.service.name                   | Name of the CouchDB 
service                              | "couchdb"                                
|
-| external.couchdb.service.port                   | TargetPort of the CouchDB 
service                        | 5984                                     |
-| external.couchdb.persistence.storageClassName   | Storage class name for 
CouchDB PVs                       | "hostpath"                               |
-| external.couchdb.persistence.storageSize        | Size of the CouchDB PV     
                              | "1Gi"                                    |
-| external.couchdb.persistence.claimName          | Name of the CouchDB 
PersistentVolumeClaim                | "couchdb-pvc"                            
|
-| external.couchdb.persistence.pvName             | Name of the CouchDB 
PersistentVolume                     | "couchdb-pv"                             
|
+
 
 #### Influxdb common parameters
 
diff --git a/installer/k8s/templates/core/extensions-all-iiot-deployment.yaml 
b/installer/k8s/templates/core/extensions-all-iiot-deployment.yaml
index 16a1e88bf..cecc9a18f 100644
--- a/installer/k8s/templates/core/extensions-all-iiot-deployment.yaml
+++ b/installer/k8s/templates/core/extensions-all-iiot-deployment.yaml
@@ -34,7 +34,7 @@ spec:
           command: ["sh", "-c", "for i in $(seq 1 300); do nc -zvw1 
{{.Values.streampipes.core.service.name}} {{ 
.Values.streampipes.core.service.port }} && exit 0 || sleep 3; done; exit 1"]
       containers:
         - name: extensions-all-iiot
-          image: {{ .Values.streampipes.registry }}/extensions-all-iiot:{{ 
.Values.streampipes.version }}
+          image: {{ .Values.streampipes.registry }}/{{ 
.Values.extensions.iiot.imageName }}:{{ .Values.streampipes.version }}
           imagePullPolicy: {{ .Values.pullPolicy }}
           ports:
             - containerPort: {{ .Values.extensions.iiot.port }}
diff --git a/installer/k8s/templates/core/ui-ingressroute.yaml 
b/installer/k8s/templates/core/ui-ingressroute.yaml
index 812d83e60..64609e5d0 100644
--- a/installer/k8s/templates/core/ui-ingressroute.yaml
+++ b/installer/k8s/templates/core/ui-ingressroute.yaml
@@ -39,6 +39,11 @@ spec:
       services:
         - name: {{ .Values.streampipes.ui.appName }}
           port: {{ .Values.streampipes.ui.service.port }}
+    - match: Host(`{{ .Values.streampipes.ingressroute.host }}`) && 
PathPrefix(`/endpoints/`)
+      kind: Rule
+      services:
+        - name: {{ .Values.extensions.iiot.appName }}
+          port: {{ .Values.extensions.iiot.service.port }}
   {{- if .Values.streampipes.ingressroute.certResolverActive }}
   tls:
     certResolver: {{ .Values.streampipes.ingressroute.certResolver}}
diff --git a/installer/k8s/values.yaml b/installer/k8s/values.yaml
index 36ae91f3a..d531045a1 100644
--- a/installer/k8s/values.yaml
+++ b/installer/k8s/values.yaml
@@ -81,6 +81,7 @@ streampipes:
 extensions:
   iiot:
     appName: extensions-all-iiot
+    imageName: extensions-all-jvm
     port: 8090
     service:
       name: extensions-all-iiot
diff --git a/ui/Dockerfile b/ui/Dockerfile
index 723029b83..a0483f862 100644
--- a/ui/Dockerfile
+++ b/ui/Dockerfile
@@ -34,6 +34,7 @@ USER nginx
 
 COPY nginx_config/nginx.conf /etc/nginx/nginx.conf
 COPY nginx_config/default.conf /etc/nginx/conf.d/default.conf
+COPY nginx_config/default.conf.template /etc/nginx/conf.d/default.conf.template
 COPY nginx_config/ssl.conf /app/nginx-confs/ssl.conf
 
 COPY docker-entrypoint.sh /
diff --git a/ui/docker-entrypoint.sh b/ui/docker-entrypoint.sh
index eeb26849d..d608b80f4 100755
--- a/ui/docker-entrypoint.sh
+++ b/ui/docker-entrypoint.sh
@@ -16,10 +16,15 @@
 set -e
 
 if [ ! -z "$NGINX_SSL" ] && [ "$NGINX_SSL" = "true" ]; then
-
     rm /etc/nginx/conf.d/default.conf
     ln -s /app/nginx-confs/ssl.conf /etc/nginx/conf.d/default.conf
+elif [ ! -z "$SP_HTTP_SERVER_ADAPTER_ENDPOINT" ]; then
+    DEFAULT_CONF_BACKUP="/etc/nginx/conf.d/default.conf_$(date +%s).bak"
+    echo "Create backup of old configuration $DEFAULT_CONF_BACKUP"
+    cp /etc/nginx/conf.d/default.conf $DEFAULT_CONF_BACKUP
 
+    rm /etc/nginx/conf.d/default.conf
+    envsubst '\$SP_HTTP_SERVER_ADAPTER_ENDPOINT' < 
/etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf
 fi
 
 exec "$@"
\ No newline at end of file
diff --git a/ui/nginx_config/default.conf b/ui/nginx_config/default.conf
index 5dd4447c2..ef8f1fb4c 100644
--- a/ui/nginx_config/default.conf
+++ b/ui/nginx_config/default.conf
@@ -44,7 +44,7 @@ server {
   }
 
   location ~/endpoints/(?<endpointName>.*)$ {
-    set $upstream connect-adapters-iiot:8001/api/v1/worker/live/$endpointName;
+    set $upstream extensions-all-jvm:8090/api/v1/worker/live/$endpointName;
 
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
diff --git a/ui/nginx_config/default.conf 
b/ui/nginx_config/default.conf.template
similarity index 95%
copy from ui/nginx_config/default.conf
copy to ui/nginx_config/default.conf.template
index 5dd4447c2..38532388f 100644
--- a/ui/nginx_config/default.conf
+++ b/ui/nginx_config/default.conf.template
@@ -44,7 +44,7 @@ server {
   }
 
   location ~/endpoints/(?<endpointName>.*)$ {
-    set $upstream connect-adapters-iiot:8001/api/v1/worker/live/$endpointName;
+    set $upstream 
${SP_HTTP_SERVER_ADAPTER_ENDPOINT}/api/v1/worker/live/$endpointName;
 
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Reply via email to