diff --git a/jaspersoft-containers/Docker/README.md b/jaspersoft-containers/Docker/README.md index 3777cb2..348c494 100644 --- a/jaspersoft-containers/Docker/README.md +++ b/jaspersoft-containers/Docker/README.md @@ -1 +1 @@ -This distribution includes Dockerfile, scripts, and supporting files for building, configuring, and running TIBCO JasperReports® Server and TIBCO JasperReports® Server Scalable Query Engine in Docker. \ No newline at end of file +This distribution includes Dockerfile, scripts, and supporting files for building, configuring, and running JasperReports® Server and JasperReports® Server Scalable Query Engine in Docker. \ No newline at end of file diff --git a/jaspersoft-containers/Docker/jrs/.env b/jaspersoft-containers/Docker/jrs/.env index 187b8e9..75f7b79 100644 --- a/jaspersoft-containers/Docker/jrs/.env +++ b/jaspersoft-containers/Docker/jrs/.env @@ -1,11 +1,13 @@ INSTALL_CHROMIUM=false JASPERREPORTS_SERVER_APP_IMAGE_NAME=jasperserver-webapp JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_NAME=jasperserver-buildomatic -JASPERREPORTS_SERVER_VERSION=8.1.1 -JASPERREPORTS_SERVER_APP_IMAGE_TAG=8.1.1 -JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_TAG=8.1.1 -TOMCAT_BASE_IMAGE=tomcat:9.0.54-jdk11-openjdk +JASPERREPORTS_SERVER_VERSION=8.2.0 +JASPERREPORTS_SERVER_APP_IMAGE_TAG=8.2.0 +JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_TAG=8.2.0 +TOMCAT_BASE_IMAGE= tomcat:9.0.65-jdk11-openjdk JDK_BASE_IMAGE=openjdk:11-jdk +## TOMCAT_BASE_IMAGE=tomcat:9.0.62-jdk17-openjdk +## JDK_BASE_IMAGE=eclipse-temurin:17-jdk RELEASE_DATE=May 13,2022 JS_INSTALL_TARGETS=gen-config pre-install-test-pro prepare-all-pro-dbs-normal ## For including samples gen-config pre-install-test-pro prepare-all-pro-dbs-normal diff --git a/jaspersoft-containers/Docker/jrs/Dockerfile b/jaspersoft-containers/Docker/jrs/Dockerfile index 34b0adf..db0246b 100644 --- a/jaspersoft-containers/Docker/jrs/Dockerfile +++ b/jaspersoft-containers/Docker/jrs/Dockerfile @@ -1,11 +1,14 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file -#ARG TOMCAT_BASE_IMAGE=tomcat:9.0.54-jdk11-corretto -ARG TOMCAT_BASE_IMAGE=tomcat:9.0.54-jdk11-openjdk +#ARG TOMCAT_BASE_IMAGE=tomcat:9.0.73-jdk11-corretto +#ARG TOMCAT_BASE_IMAGE=tomcat:9.0.62-jdk17-openjdk +#ARG TOMCAT_BASE_IMAGE=tomcat:9.0.73-jdk17-corretto +ARG TOMCAT_BASE_IMAGE=tomcat:9.0.65-jdk11-openjdk + ARG INSTALL_CHROMIUM=false -ARG JASPERREPORTS_SERVER_VERSION=8.1.1 +ARG JASPERREPORTS_SERVER_VERSION=8.2.0 FROM ${TOMCAT_BASE_IMAGE} as deployment @@ -16,7 +19,7 @@ ARG JRS_DISTRO=jasperreports-server-pro-${JASPERREPORTS_SERVER_VERSION}-bin ENV INSTALL_CHROMIUM ${INSTALl_CHROMIUM:-false} -ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.1.1} +ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.2.0} ENV JRS_HOME /usr/src/jasperreports-server ENV BUILDOMATIC_MODE non-interactive @@ -57,7 +60,7 @@ ENV RELEASE_DATE ${RELEASE_DATE:- 13-05-2022} LABEL "org.jasperosft.name"="JasperReports Server" \ - "org.jaspersoft.vendor"="TIBCO Software Inc." \ + "org.jaspersoft.vendor"="Cloud Software Group, Inc." \ "org.jaspersoft.maintainer"="js-support@tibco.com" \ "org.jaspersoft.version"=$JASPERREPORTS_SERVER_VERSION \ "org.jaspersoft.release_date"=$RELEASE_DATE \ diff --git a/jaspersoft-containers/Docker/jrs/Dockerfile.buildomatic b/jaspersoft-containers/Docker/jrs/Dockerfile.buildomatic index e3d6657..ceab8d6 100644 --- a/jaspersoft-containers/Docker/jrs/Dockerfile.buildomatic +++ b/jaspersoft-containers/Docker/jrs/Dockerfile.buildomatic @@ -1,22 +1,24 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2005-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file #ARG JDK_BASE_IMAGE=amazoncorretto:11 +#ARG JDK_BASE_IMAGE=amazoncorretto:17 +#ARG JDK_BASE_IMAGE=eclipse-temurin:17-jdk ARG JDK_BASE_IMAGE=openjdk:11-jdk FROM ${JDK_BASE_IMAGE} -ARG JASPERREPORTS_SERVER_VERSION=8.1.1 +ARG JASPERREPORTS_SERVER_VERSION=8.2.0 ARG CONTAINER_DISTRO=jaspersoft-containers/Docker/jrs ARG JRS_DISTRO=jasperreports-server-pro-${JASPERREPORTS_SERVER_VERSION}-bin -ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.1.1} +ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.2.0} ENV JRS_HOME /usr/src/jasperreports-server ENV BUILDOMATIC_MODE non-interactive ENV RELEASE_DATE ${RELEASE_DATE:- 13-05-2022} LABEL "org.jasperosft.name"="JasperReports Server" \ - "org.jaspersoft.vendor"="TIBCO Software Inc." \ + "org.jaspersoft.vendor"="Cloud Software Group, Inc." \ "org.jaspersoft.maintainer"="js-support@tibco.com" \ "org.jaspersoft.version"=$JASPERREPORTS_SERVER_VERSION \ "org.jaspersoft.release_date"=$RELEASE_DATE \ diff --git a/jaspersoft-containers/Docker/jrs/README.md b/jaspersoft-containers/Docker/jrs/README.md index c4340e3..6b2a16b 100644 --- a/jaspersoft-containers/Docker/jrs/README.md +++ b/jaspersoft-containers/Docker/jrs/README.md @@ -11,12 +11,12 @@ - [Using Docker Compose](#using-docker-compose) - [Using Docker Build](#using-docker-build) - [Keystore Generation](#keystore-generation) - - [Using TIBCO JasperReports® Server Installer](#using-tibco-jasperreports-server-installer) + - [Using JasperReports® Server Installer](#using-jasperreports-server-installer) - [Using Docker Run](#using-docker-run) - [Repository Setup](#repository-setup) - [Using Docker Compose](#using-docker-compose-1) - [Using Docker Run](#using-docker-run-1) -- [Deploying the TIBCO JasperReports® Server Application](#deploying-the-tibco-jasperreports-server-application) +- [Deploying the JasperReports® Server Application](#deploying-the-jasperreports-server-application) - [Install JasperReports® Server license](#install-jasperreports-server-license) - [Using Docker Compose](#using-docker-compose-2) - [Using Docker Run](#using-docker-run-2) @@ -27,28 +27,28 @@ # Introduction -This distribution includes Dockerfile and supporting files for building, configuring, and running TIBCO JasperReports® Server in containers. Orchestration is done by Kubernetes and all the deployment configurations are managed by Helm charts for Kubernetes. ActiveMQ JMS is used for caching. +This distribution includes Dockerfile and supporting files for building, configuring, and running JasperReports® Server in containers. Orchestration is done by Kubernetes and all the deployment configurations are managed by Helm charts for Kubernetes. ActiveMQ JMS is used for caching. # Prerequisites 1. Docker-engine (19.x+) setup with Docker Compose (3.9+) 1. Knowledge of Docker 1. Git -1. TIBCO JasperReports® Server +1. JasperReports® Server -# Step-by-step Guide to deploy TIBCO JasperReports® Server on Docker -To deploy TIBCO JasperReports® Server Cluster from scratch using **docker compose**, you can follow instructions at [Deploying JasperReports Server and Scalable Query Engine](#deploying-jasperreports-server-and-scalable-query-engine) +# Step-by-step Guide to deploy JasperReports® Server on Docker +To deploy JasperReports® Server Cluster from scratch using **docker compose**, you can follow instructions at [Deploying JasperReports Server and Scalable Query Engine](#deploying-jasperreports-server-and-scalable-query-engine) # Repository Structure | File/Directory | Description | |------------| -------------| -|cluster-config| Directory contains all the TIBCO JasperReports® Server cluster configuration files.| +|cluster-config| Directory contains all the JasperReports® Server cluster configuration files.| |resources| Directory contains customer-related files.| |scripts| Directory contains Dockerfile scripts.| |.env | Environment variables for Docker Compose files.| -|Dockerfile|TIBCO JasperReports® Server web application image based on Tomcat.| -|Dockerfile.buildomatic|TIBCO JasperReports® Server buildomatic image. It initializes repository, keystore, import, and export.| +|Dockerfile|JasperReports® Server web application image based on Tomcat.| +|Dockerfile.buildomatic|JasperReports® Server buildomatic image. It initializes repository, keystore, import, and export.| |docker-compose.yml|Configuration file for running web app and buildomatic images via docker-compose.| |cluster-docker-compose.file|Configuration file for running web app images in cluster mode by using HAProxy load balancer via docker-compose.| @@ -57,7 +57,7 @@ To deploy TIBCO JasperReports® Server Cluster from scratch using **docker co 1. Run `cd `. 2. Clone the js-docker repository to the current directory:
`git clone git@github.com:TIBCOSoftware/js-docker.git` -3. `cd ` and Download a commercial edition of TIBCO JasperReports® Server WAR File installer zip into the current directory. +3. `cd ` and Download a commercial edition of JasperReports® Server WAR File installer zip into the current directory. 4. Run `cd /jaspersoft-containers/Docker/jrs/scripts` and then run `./unpackWARInstaller.sh`. **Note:** **CONTAINER_PATH=/js-docker** @@ -68,23 +68,23 @@ These variables are passed to the command line with `--build-arg` for docker bui | Environment Variable Name | Description | Default Value| |------------| -------------|--------------| -|INSTALL_CHROMIUM| Whether Chromium installed. **Note: TIBCO Software Inc. is not liable for license violation of chromium.**| false| -|JASPERREPORTS_SERVER_APP_IMAGE_NAME| Name of the TIBCO JasperReports® Server image | jasperserver-webapp| -|JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_NAME| Name of the TIBCO JasperReports® Server buildomatic image | jasperserver-buildomatic| -|JASPERREPORTS_SERVER_VERSION|Version number of TIBCO JasperReports® Server|8.1.1| -|JASPERREPORTS_SERVER_APP_IMAGE_TAG|Image tag of the TIBCO JasperReports® Server web app |8.1.1| -|JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_TAG|Image tag of the TIBCO JasperReports® Server buildomatic |8.1.1| -|TOMCAT_BASE_IMAGE|Tomcat Docker image certified for the version of TIBCO JasperReports® Server being deployed based on Debian and Amazon Linux 2. It is of two types "tomcat:9.0.54-jdk11-openjdk" for Debian and "tomcat:9.0.54-jdk11-corretto" for Amazon Linux 2 |tomcat:9.0.54-jdk11-openjdk| -|JDK_BASE_IMAGE|Java Docker image certified for the version of TIBCO JasperReports® Server being deployed based on Debian and Amazon Linux 2. It is of two types openjdk:11-jdk and amazoncorretto:11|openjdk:11-jdk| -RELEASE_DATE|Release date of TIBCO JasperReports® Server | May 13, 2022 | -|JS_INSTALL_TARGETS| Used for repository setup, import, and export. Provides all the lists of ANT targets to perform any buildomatic action in TIBCO JasperReports® Server. For more information, see the TIBCO JasperReports® Server documentation . |gen-config pre-install-test-pro prepare-all-pro-dbs-normal| +|INSTALL_CHROMIUM| Whether Chromium installed. **Note: Cloud Software Group, Inc. is not liable for license violation of chromium.**| false| +|JASPERREPORTS_SERVER_APP_IMAGE_NAME| Name of the JasperReports® Server image | jasperserver-webapp| +|JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_NAME| Name of the JasperReports® Server buildomatic image | jasperserver-buildomatic| +|JASPERREPORTS_SERVER_VERSION|Version number of JasperReports® Server|8.2.0| +|JASPERREPORTS_SERVER_APP_IMAGE_TAG|Image tag of the JasperReports® Server web app |8.2.0| +|JASPERREPORTS_SERVER_BUILDOMATIC_IMAGE_TAG|Image tag of the JasperReports® Server buildomatic |8.2.0| +|TOMCAT_BASE_IMAGE|Tomcat Docker image certified for the version of JasperReports® Server being deployed based on Debian and Amazon Linux 2. It is of two types "tomcat:9.0.65-jdk11-openjdk" ,"tomcat:9.0.62-jdk17-openjdk" for Debian and "tomcat:9.0.73-jdk11-corretto","tomcat:9.0.73-jdk-17-corretto" for Amazon Linux 2 |tomcat:9.0.65-jdk11-openjdk| +|JDK_BASE_IMAGE|Java Docker image certified for the version of JasperReports® Server being deployed based on Debian and Amazon Linux 2. It is of two types "openjdk:11-jdk","eclipse-temurin:17-jdk" and "amazoncorretto:11","amazoncorretto:17"|openjdk:11-jdk| +RELEASE_DATE|Release date of JasperReports® Server | May 13, 2022 | +|JS_INSTALL_TARGETS| Used for repository setup, import, and export. Provides all the lists of ANT targets to perform any buildomatic action in JasperReports® Server. For more information, see the JasperReports® Server documentation . |gen-config pre-install-test-pro prepare-all-pro-dbs-normal| # Building the Images `cd /jaspersoft-containers/Docker/jrs` and update the `.env` file and `./resources/default-properties/default_master.properties` ### Repository Configuration -Update the dbHost in `./resources/default-properties/default_master.properties` with the repository hostname for TIBCO JasperReports® Server. +Update the dbHost in `./resources/default-properties/default_master.properties` with the repository hostname for JasperReports® Server. In case if an external repository database already exists and loaded, then update **dbHost** to point to the corresponding database host. If you plan to use repository database in the container, then **dbHost** can be set to: @@ -92,17 +92,30 @@ If you plan to use repository database in the container, then **dbHost** can be - repository - in case of using docker compose (host should be the same as service name in docker-compose.yml) - repository-postgresql.default.svc.cluster.local - when PostgreSQL is installed in k8s cluster +### Setting Java options +During the deployment of JasperReports® Server with docker-compose, JAVA_OPTS can be specified within the `Docker/jrs/docker-compose.yml` or `Docker/jrs/cluster-docker-compose.yml` files. +This configuration option enables customization of the Java Virtual Machine settings, which can optimize the performance of the JasperReports® Server application. + +If deploying JasperReports® Server with docker images based on JDK17, an additional JAVA_OPTS options need to be added in the `Docker/jrs/docker-compose.yml` or `Docker/jrs/cluster-docker-compose.yml` files: +```yaml + environment: + JAVA_OPTS: "-XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 -Djs.license.directory=/usr/local/share/jasperserver-pro/license -Djasperserver.cache.jms.provider=tcp://activemq:61616 --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/javax.security.auth.login=ALL-UNNAMED --add-opens java.base/javax.security.auth=ALL-UNNAMED --add-opens java.base/jdk.internal.access.foreign=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens java.base/sun.util.calendar=ALL-UNNAMED" +``` + ### Chromium Configuration Update the chrome.path in `Docker/jrs/resources/default-properties/default_master.properties`. |Base Image | Chrome-path| |-----------|------------| -|tomcat:9.0.54-jdk11-openjdk| /usr/bin/chromium| -|tomcat:9.0.54-jdk11-corretto| /usr/bin/chromium-browser| +|tomcat:9.0.65-jdk11-openjdk| /usr/bin/chromium| +|tomcat:9.0.62-jdk17-openjdk| /usr/bin/chromium| +|tomcat:9.0.73-jdk11-corretto| /usr/bin/chromium-browser| +|tomcat:9.0.73-jdk17-corretto| /usr/bin/chromium-browser| + **Note on Chromium /dev/shm size limit** -By default, Chromium uses /dev/shm that has 64MB storage to store its internal data and some Operating System images. When exporting large Dashboards in the TIBCO JasperReports® Server, 64MB may not be enough and users may see Chrome-related timeout exceptions. To resolve it, uncomment the following line in `scripts/entrypoint.sh`. +By default, Chromium uses /dev/shm that has 64MB storage to store its internal data and some Operating System images. When exporting large Dashboards in the JasperReports® Server, 64MB may not be enough and users may see Chrome-related timeout exceptions. To resolve it, uncomment the following line in `scripts/entrypoint.sh`. echo 'net.sf.jasperreports.chrome.argument.disable-dev-shm-usage=true' >>$CATALINA_HOME/webapps/jasperserver-pro/WEB-INF/classes/jasperreports.properties @@ -112,7 +125,7 @@ By default, Chromium uses /dev/shm that has 64MB storage to store its internal d Some Linux operating systems require Chromium-sandbox and it depends on virtualization. [See here for more information](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/sandboxing.md) -If you see the Chromium issue in TIBCO JasperReports® Server using Docker deployment, uncomment the following line in `scripts/entrypoint.sh`. +If you see the Chromium issue in JasperReports® Server using Docker deployment, uncomment the following line in `scripts/entrypoint.sh`. echo 'net.sf.jasperreports.chrome.argument.no-sandbox=true' >>$CATALINA_HOME/webapps/jasperserver-pro/WEB-INF/classes/jasperreports.properties` @@ -139,7 +152,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu docker build -t jasperserver-webapp: -f jaspersoft-containers/Docker/jrs/Dockerfile . # Keystore Generation -## Using TIBCO JasperReports® Server Installer +## Using JasperReports® Server Installer 1. Go to `cd /jasperreports-server-pro--bin/buildomatic`. 1. Copy the `sample_conf/postgresql_master.properties` to `default_master.properties`. 1. Add `appServerType=skipAppServerCheck` to `default_master.properties` and comment out `appServerType = tomcat`. @@ -160,7 +173,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu - To change the keystore permission to 644, run `chmod -R 644 .jrs*`. - For more information, see the TIBCO JasperReports® Server Security Guide at [Jasperserver Official Docs](https://community.jaspersoft.com/documentation). + For more information, see the JasperReports® Server Security Guide at [Jasperserver Official Docs](https://community.jaspersoft.com/documentation). # Repository Setup @@ -171,7 +184,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu docker-compose run jasperserver-buildomatic (you can use the same command for the external DB Host and Docker container as DB host) - **Note:** Although an external repository DB is used, a PostgreSQL container is created, and it does not impact TIBCO JasperReports® Server. If you don't want to create a PostgreSQL container, then remove repository dependency from jasperserver-buildomatic service in docker-compose.yaml. + **Note:** Although an external repository DB is used, a PostgreSQL container is created, and it does not impact JasperReports® Server. If you don't want to create a PostgreSQL container, then remove repository dependency from jasperserver-buildomatic service in docker-compose.yaml. ## Using Docker Run @@ -197,7 +210,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu docker run --name jrs_jasperserver-buildomatic -v /jaspersoft-containers/Docker/jrs/resources/keystore:/usr/local/share/jasperserver-pro/keystore jasperserver-buildomatic: gen-config pre-install-test-pro prepare-all-pro-dbs-normal -# Deploying the TIBCO JasperReports® Server Application +# Deploying the JasperReports® Server Application ## Install JasperReports® Server license 1. To install JasperReports® Server license, copy obtained license file into `/jaspersoft-containers/Docker/jrs/resources/license`. @@ -211,7 +224,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu - Access the application by using host-name:8080/jasperserver-pro - **Note:** Although an external repository DB is used, a PostgreSQL container is created, and it does not impact TIBCO JasperReports® Server. If you don't want to create a PostgreSQL container, then remove repository dependency from jasperserver-webapp service in docker-compose.yaml + **Note:** Although an external repository DB is used, a PostgreSQL container is created, and it does not impact JasperReports® Server. If you don't want to create a PostgreSQL container, then remove repository dependency from jasperserver-webapp service in docker-compose.yaml ## Using Docker Run @@ -220,7 +233,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu docker run --name activemq -d rmohr/activemq:5.15.9-alpine docker run --link activemq:activemq --link repository:repository --name jrs_jasperserver-webapp -p 8080:8080 -v /jaspersoft-containers/Docker/jrs/resources/license:/usr/local/share/jasperserver-pro/license -v /jaspersoft-containers/Docker/jrs/resources/keystore:/usr/local/share/jasperserver-pro/keystore -e JAVA_OPTS="-Xmx3500M -Djs.license.directory=/usr/local/share/jasperserver-pro/license -Djasperserver.cache.jms.provider=tcp://activemq:61616 " -d jasperserver-webapp: -**Note:** Dockerfiles are designed to run in the cluster mode always, to run the TIBCO JasperReports® Server alone, comment `COPY --chown=jasperserver:jasperserver cluster-config/WEB-INF $CATALINA_HOME/webapps/jasperserver-pro/WEB-INF/` in Dockerfile and then rebuild the image. +**Note:** Dockerfiles are designed to run in the cluster mode always, to run the JasperReports® Server alone, comment `COPY --chown=jasperserver:jasperserver cluster-config/WEB-INF $CATALINA_HOME/webapps/jasperserver-pro/WEB-INF/` in Dockerfile and then rebuild the image. ### Repository Setup Using External DB @@ -231,7 +244,6 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu # Deploying the Application in Cluster Mode - It uses haproxy as a load balancer and activemq as a cache replication. Before launching the application, make sure images are created successfully and repository DB setup is also completed. -- Update the value of parameter 'replicas' in cluster-docker-compose.yml file depending upon how many containers you would want to create. `docker-compose -f cluster-docker-compose.yml up -d` @@ -253,7 +265,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu 7. Build the docker image for Scalable Query Engine by using following commands: 1. `cd /Docker/scalableQueryEngine` 2. Run `docker-compose build` -8. If keystore files (jrsks, jrsksp) do not exist, generate them. You can find information about generating keystore files at the [Using TIBCO JasperReports® Server Installer](#using-tibco-jasperreports-server-installer) section. +8. If keystore files (jrsks, jrsksp) do not exist, generate them. You can find information about generating keystore files at the [Using JasperReports® Server Installer](#using-jasperreports-server-installer) section. 9. Copy jrsks, jrsksp into jrs and scalableQueryEngine folders, then keystore files location can be mapped as volume: 1. copy .jrsks, .jrsksp into `/Docker/jrs/resources/keystore` 2. copy .jrsks, .jrsksp into `/Docker/scalableQueryEngine/resources/keystore` @@ -262,7 +274,7 @@ If you plan to work with **default** JasperReports® Server and buildomatic setu 11. Set up and load repository database by using following commands: 1. `cd /Docker/jrs` 2. Run `docker-compose run jasperserver-buildomatic` -12. Start the JasperReports® Server application, for more information, see [Deploying the TIBCO JasperReports® Server Application](#deploying-the-tibco-jasperreports-server-application) section. +12. Start the JasperReports® Server application, for more information, see [Deploying the JasperReports® Server Application](#deploying-the-jasperreports-server-application) section. 1. `cd /Docker/jrs` 2. Run `docker-compose up -d jasperserver-webapp` 13. Start the Scalable Query Engine by using following commands: diff --git a/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/classes/ehcache_hibernate.xml b/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/classes/ehcache_hibernate.xml index ae72ad4..2ec56cb 100644 --- a/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/classes/ehcache_hibernate.xml +++ b/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/classes/ehcache_hibernate.xml @@ -1,5 +1,5 @@ - +--> + + + + + + + + + + + + + + + - - + - - + + - + - - diff --git a/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/ehcache.xml b/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/ehcache.xml index 445cb24..df59405 100644 --- a/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/ehcache.xml +++ b/jaspersoft-containers/Docker/jrs/cluster-config/WEB-INF/ehcache.xml @@ -1,7 +1,7 @@ + + + + + + + + + diff --git a/jaspersoft-containers/Docker/jrs/cluster-docker-compose.yml b/jaspersoft-containers/Docker/jrs/cluster-docker-compose.yml index ffe7d19..c3b450c 100644 --- a/jaspersoft-containers/Docker/jrs/cluster-docker-compose.yml +++ b/jaspersoft-containers/Docker/jrs/cluster-docker-compose.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file diff --git a/jaspersoft-containers/Docker/jrs/docker-compose.yml b/jaspersoft-containers/Docker/jrs/docker-compose.yml index 172a2f4..ebd49e6 100644 --- a/jaspersoft-containers/Docker/jrs/docker-compose.yml +++ b/jaspersoft-containers/Docker/jrs/docker-compose.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary.. # This file is subject to the license terms contained # in the license file that is distributed with this file version: "3.9" diff --git a/jaspersoft-containers/Docker/jrs/resources/README.md b/jaspersoft-containers/Docker/jrs/resources/README.md index e662dab..898fb61 100644 --- a/jaspersoft-containers/Docker/jrs/resources/README.md +++ b/jaspersoft-containers/Docker/jrs/resources/README.md @@ -5,7 +5,7 @@ This repository contains: |------------| -------------| |**[buildomatic-customization](./buildomatic-customization)**| Directory where you can place buildomatic customization | |**[default-properties](./default-properties)**| Store default properties | -|**[jasperserver-customization](./jasperserver-customization)** | Directory where you can place TIBCO JasperReports® Server customization| -|**[keystore](./keystore)** | Directory where you can place TIBCO JasperReports® Server keystore| -|**[license](./license)**| Directory where you can place TIBCO JasperReports® Server license | +|**[jasperserver-customization](./jasperserver-customization)** | Directory where you can place JasperReports® Server customization| +|**[keystore](./keystore)** | Directory where you can place JasperReports® Server keystore| +|**[license](./license)**| Directory where you can place JasperReports® Server license | diff --git a/jaspersoft-containers/Docker/jrs/resources/jasperserver-customization/README.md b/jaspersoft-containers/Docker/jrs/resources/jasperserver-customization/README.md index 7d7f803..1c51971 100644 --- a/jaspersoft-containers/Docker/jrs/resources/jasperserver-customization/README.md +++ b/jaspersoft-containers/Docker/jrs/resources/jasperserver-customization/README.md @@ -1,6 +1,6 @@ This folder is used to apply customizations to $CATALINA_HOME and its subdirectories. -If you want to customize any file which already exists in $CATALINAHOME, or any TIBCO JasperReports® Server file, for example, js.config.properties, then make sure to copy them into a proper directory structure under jasperserver-customization. Then all the contents of the jasperserver-customization folder will be copied into $CATALINAHOME. +If you want to customize any file which already exists in $CATALINAHOME, or any JasperReports® Server file, for example, js.config.properties, then make sure to copy them into a proper directory structure under jasperserver-customization. Then all the contents of the jasperserver-customization folder will be copied into $CATALINAHOME. Example: To customize the js.config.properties file, copy the edited file into such directory structure under jasperserver-customization: diff --git a/jaspersoft-containers/Docker/jrs/resources/keystore/README.md b/jaspersoft-containers/Docker/jrs/resources/keystore/README.md index 35622eb..c2cf45a 100644 --- a/jaspersoft-containers/Docker/jrs/resources/keystore/README.md +++ b/jaspersoft-containers/Docker/jrs/resources/keystore/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server Keystore -This directory is used to store TIBCO JasperReports® Server keystore. You can place .jrsks and .jrsksp files here. +# JasperReports® Server Keystore +This directory is used to store JasperReports® Server keystore. You can place .jrsks and .jrsksp files here. diff --git a/jaspersoft-containers/Docker/jrs/resources/license/README.md b/jaspersoft-containers/Docker/jrs/resources/license/README.md index a2e861a..1c584bc 100644 --- a/jaspersoft-containers/Docker/jrs/resources/license/README.md +++ b/jaspersoft-containers/Docker/jrs/resources/license/README.md @@ -1,2 +1,2 @@ -You can place the TIBCO JasperReports® Server license file here. +You can place the JasperReports® Server license file here. diff --git a/jaspersoft-containers/Docker/jrs/scripts/buildomatic-entrypoint.sh b/jaspersoft-containers/Docker/jrs/scripts/buildomatic-entrypoint.sh index 7dde86b..08ef2c9 100644 --- a/jaspersoft-containers/Docker/jrs/scripts/buildomatic-entrypoint.sh +++ b/jaspersoft-containers/Docker/jrs/scripts/buildomatic-entrypoint.sh @@ -1,6 +1,6 @@ #! /bin/bash -# Copyright (c) 2021-2021. TIBCO Software Inc. +#Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file @@ -10,4 +10,4 @@ cat >> default_master.properties \ appServerType=skipAppServerCheck _EOL_ -./js-ant "$@" \ No newline at end of file +./js-ant $@ diff --git a/jaspersoft-containers/Docker/jrs/scripts/entrypoint.sh b/jaspersoft-containers/Docker/jrs/scripts/entrypoint.sh index 18ffb4d..3ada4f8 100644 --- a/jaspersoft-containers/Docker/jrs/scripts/entrypoint.sh +++ b/jaspersoft-containers/Docker/jrs/scripts/entrypoint.sh @@ -1,6 +1,6 @@ #! /bin/bash -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file diff --git a/jaspersoft-containers/Docker/jrs/scripts/installPackagesForBuildomatic.sh b/jaspersoft-containers/Docker/jrs/scripts/installPackagesForBuildomatic.sh index 8cc71d6..588c764 100644 --- a/jaspersoft-containers/Docker/jrs/scripts/installPackagesForBuildomatic.sh +++ b/jaspersoft-containers/Docker/jrs/scripts/installPackagesForBuildomatic.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2021-2021. TIBCO Software Inc. +#Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file diff --git a/jaspersoft-containers/Docker/jrs/scripts/installPackagesForJasperserver-pro.sh b/jaspersoft-containers/Docker/jrs/scripts/installPackagesForJasperserver-pro.sh index 96a6c20..87ed889 100644 --- a/jaspersoft-containers/Docker/jrs/scripts/installPackagesForJasperserver-pro.sh +++ b/jaspersoft-containers/Docker/jrs/scripts/installPackagesForJasperserver-pro.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file @@ -17,7 +17,7 @@ case "$PACKAGE_MGR" in yum -y update && yum -y install yum-utils wget unzip shadow-utils if [ "$INSTALL_CHROMIUM" == "true" ]; then - echo "WARNING! TIBCO Software Inc. is not liable for license violation of chromium" + echo "WARNING! Cloud Software Group, Inc. is not liable for license violation of chromium" sleep 10 amazon-linux-extras install epel -y yum -y install chromium @@ -30,7 +30,7 @@ case "$PACKAGE_MGR" in apt-get -y update && apt-get install -y --no-install-recommends apt-utils unzip wget if [ "$INSTALL_CHROMIUM" == "true" ]; then - echo "WARNING! TIBCO Software Inc. is not liable for license violation of chromium" + echo "WARNING! Cloud Software Group, Inc. is not liable for license violation of chromium" sleep 10 apt-get -y install chromium fi diff --git a/jaspersoft-containers/Docker/jrs/scripts/unpackWARInstaller.sh b/jaspersoft-containers/Docker/jrs/scripts/unpackWARInstaller.sh index e6876fc..fcca2e8 100644 --- a/jaspersoft-containers/Docker/jrs/scripts/unpackWARInstaller.sh +++ b/jaspersoft-containers/Docker/jrs/scripts/unpackWARInstaller.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file. diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/.env b/jaspersoft-containers/Docker/scalableQueryEngine/.env index 90069b1..2148aad 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/.env +++ b/jaspersoft-containers/Docker/scalableQueryEngine/.env @@ -1,9 +1,10 @@ -JASPERREPORTS_SERVER_VERSION=8.1.1 +JASPERREPORTS_SERVER_VERSION=8.2.0 SCALABLE_QUERY_ENGINE_IMAGE_NAME=scalable-query-engine SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_NAME=scalable-query-engine-drivers -SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_TAG=8.1.1 -SCALABLE_QUERY_ENGINE_IMAGE_TAG=8.1.1 +SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_TAG=8.2.0 +SCALABLE_QUERY_ENGINE_IMAGE_TAG=8.2.0 JDK_BASE_IMAGE=openjdk:11-jdk +## JDK_BASE_IMAGE=eclipse-temurin:17-jdk ks=/etc/secrets/keystore ksp=/etc/secrets/keystore RELEASE_DATE=May 13,2022 diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile b/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile index 7ce0f17..7cb8135 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile +++ b/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile @@ -1,16 +1,18 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file #ARG JDK_BASE_IMAGE=amazoncorretto:11 +#ARG JDK_BASE_IMAGE=amazoncorretto:17 +#ARG JDK_BASE_IMAGE=eclipse-temurin:17-jdk ARG JDK_BASE_IMAGE=openjdk:11-jdk -ARG JASPERREPORTS_SERVER_VERSION=8.1.1 +ARG JASPERREPORTS_SERVER_VERSION=8.2.0 FROM ${JDK_BASE_IMAGE} AS worker ARG JASPERREPORTS_SERVER_VERSION ARG CONTAINER_DISTRO=jaspersoft-containers/Docker/scalableQueryEngine -ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.1.1} +ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.2.0} ARG JRS_DISTRO=jasperreports-server-pro-${JASPERREPORTS_SERVER_VERSION}-bin ENV WORKER_HOME /usr/local/scalable-query-engine @@ -32,7 +34,7 @@ ARG JASPERREPORTS_SERVER_VERSION ENV RELEASE_DATE ${RELEASE_DATE:- 13-05-2022} LABEL "org.jasperosft.name"="Jasper Reports Server Scalable Query Engine" \ - "org.jaspersoft.vendor"="Tibco Software Inc." \ + "org.jaspersoft.vendor"="Cloud Software Group, Inc." \ "org.jaspersoft.maintainer"="js-eng-infra@tibco.com" \ "org.jaspersoft.version"=$JASPERREPORTS_SERVER_VERSION \ "org.jaspersoft.release_date"=$RELEASE_DATE \ @@ -59,4 +61,4 @@ COPY --from=worker --chown=jasperserver:root /usr/local/scalable-query-engine/sp COPY --from=worker --chown=jasperserver:root /usr/local/scalable-query-engine/snapshot-dependencies/ . COPY --from=worker --chown=jasperserver:root /usr/local/scalable-query-engine/application/ . -ENTRYPOINT ["java", "org.springframework.boot.loader.PropertiesLauncher"] +ENTRYPOINT ["java", "org.springframework.boot.loader.PropertiesLauncher"] \ No newline at end of file diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers b/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers index fbfbc04..7a3d337 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers +++ b/jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers @@ -1,14 +1,16 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file #ARG JDK_BASE_IMAGE=amazoncorretto:11 +#ARG JDK_BASE_IMAGE=amazoncorretto:17 +#ARG JDK_BASE_IMAGE=eclipse-temurin:17-jdk ARG JDK_BASE_IMAGE=openjdk:11-jdk -ARG JASPERREPORTS_SERVER_VERSION=8.1.1 +ARG JASPERREPORTS_SERVER_VERSION=8.2.0 FROM ${JDK_BASE_IMAGE} as driver ARG JASPERREPORTS_SERVER_VERSION -ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.1.1} +ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.2.0} ARG JRS_DISTRO=jasperreports-server-pro-${JASPERREPORTS_SERVER_VERSION}-bin ARG CONTAINER_DISTRO=jaspersoft-containers/Docker/scalableQueryEngine ENV JRS_HOME /usr/local/jasperreports-server @@ -26,11 +28,11 @@ FROM ${JDK_BASE_IMAGE} ARG CONTAINER_DISTRO=jaspersoft-containers/Docker/scalableQueryEngine ENV WAR_JARS=/usr/local/jasperreports-server/buildomatic/conf_source/iePro/lib ENV WAR_LIB_JARS=/usr/local/jasperreports-server/jasperserver-pro/WEB-INF/lib -ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.1.1} +ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-8.2.0} ENV RELEASE_DATE ${RELEASE_DATE:- 13-05-2022} LABEL "org.jasperosft.name"="Jasper Reports Server Scalable Query Engine" \ - "org.jaspersoft.vendor"="TIBCO Software Inc." \ + "org.jaspersoft.vendor"="Cloud Software Group, Inc." \ "org.jaspersoft.maintainer"="js-support@tibco.com" \ "org.jaspersoft.version"=$JASPERREPORTS_SERVER_VERSION \ "org.jaspersoft.release_date"=$RELEASE_DATE \ diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/README.md b/jaspersoft-containers/Docker/scalableQueryEngine/README.md index 77d3d0b..dfb91b6 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/README.md +++ b/jaspersoft-containers/Docker/scalableQueryEngine/README.md @@ -10,13 +10,13 @@ - [Environment Variables](#environment-variables) - [Using Docker Compose](#using-docker-compose) - [Using Docker Build](#using-docker-build) -- [Deploying the TIBCO JasperReports® Server Scalable Query Engine Application](#deploying-the-tibco-jasperreports-server-scalable-query-engine-application) +- [Deploying the JasperReports® Server Scalable Query Engine Application](#deploying-the-jasperreports-server-scalable-query-engine-application) ` # Introduction -This distribution includes `Dockerfile` and supporting files for building, configuring, and running TIBCO JasperReports® Server Scalable Query Engine in containers. Orchestration is done by Kubernetes +This distribution includes `Dockerfile` and supporting files for building, configuring, and running JasperReports® Server Scalable Query Engine in containers. Orchestration is done by Kubernetes and all the deployment configurations are managed by Helm charts and Redis is used for caching. @@ -25,7 +25,7 @@ and all the deployment configurations are managed by Helm charts and Redis is us 1. Docker-engine (19.x+) setup with Docker Compose (3.9+) 1. Knowledge of Docker 1. Git -1. TIBCO JasperReports® Server +1. JasperReports® Server 1. Keystore # Repository Structure @@ -56,12 +56,12 @@ and all the deployment configurations are managed by Helm charts and Redis is us | Environment Variable Name | Description | Default Value| |------------| -------------|--------------| -|JASPERREPORTS_SERVER_VERSION | JasperReports Server release version | 8.1.1| +|JASPERREPORTS_SERVER_VERSION | JasperReports Server release version | 8.2.0| |SCALABLE_QUERY_ENGINE_IMAGE_NAME| Scalable Query Engine image name |scalable-query-engine| |SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_NAME| Scalable Query Engine JDBC drivers image name| scalable-query-engine-driver| -|SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_TAG| Docker tag for Scalable Query Engine | 8.1.1| -|SCALABLE_QUERY_ENGINE_IMAGE_TAG| Docker tag for Scalable Query Engine Driver | 8.1.1| -|JDK_BASE_IMAGE | Docker image certified for the version of JasperReports Server being deployed based on Debian and Amazon Linux 2, and it is of two types **openjdk:11-jdk** for Debian and **amazoncorretto:11** for Amazon Linux 2 |openjdk:11-jdk| +|SCALABLE_QUERY_ENGINE_DRIVER_IMAGE_TAG| Docker tag for Scalable Query Engine | 8.2.0| +|SCALABLE_QUERY_ENGINE_IMAGE_TAG| Docker tag for Scalable Query Engine Driver | 8.2.0| +|JDK_BASE_IMAGE | Docker image certified for the version of JasperReports Server being deployed based on Debian and Amazon Linux 2, and it is of two types "openjdk:11-jdk","eclipse-temurin:17-jdk"and "amazoncorretto:11", "amazoncorretto:17" |openjdk:11-jdk| |ks | .jrsks keystore path |/etc/secrets/keystore| |ksp | .jrsksp keystore path | /etc/secrets/keystore | |RELEASE_DATE | JasperReports Server release date | Nov 14, 2021 | @@ -85,7 +85,7 @@ Update the `.env` based on the requirement. docker build -t scalable-query-engine-drivers: -f jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers . -# Deploying the TIBCO JasperReports® Server Scalable Query Engine Application +# Deploying the JasperReports® Server Scalable Query Engine Application [Generate the keystore](../jrs/#keystore-generation) if it does not exist and copy it to `./resources/keystore` folder. **Note** These keystore must be same as JasperReports Server keystore which is used for creating repository DB diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/docker-compose.yaml b/jaspersoft-containers/Docker/scalableQueryEngine/docker-compose.yaml index 1042be3..25c1b7a 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/docker-compose.yaml +++ b/jaspersoft-containers/Docker/scalableQueryEngine/docker-compose.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/resources/keystore/README.md b/jaspersoft-containers/Docker/scalableQueryEngine/resources/keystore/README.md index f6ea3a8..7104139 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/resources/keystore/README.md +++ b/jaspersoft-containers/Docker/scalableQueryEngine/resources/keystore/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server Scalable Query Engine Keystore -This directory is used to store TIBCO JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here. \ No newline at end of file +# JasperReports® Server Scalable Query Engine Keystore +This directory is used to store JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here. \ No newline at end of file diff --git a/jaspersoft-containers/Docker/scalableQueryEngine/scripts/installPackagesForScalableAdhoc.sh b/jaspersoft-containers/Docker/scalableQueryEngine/scripts/installPackagesForScalableAdhoc.sh index 86a96ba..c9cba32 100644 --- a/jaspersoft-containers/Docker/scalableQueryEngine/scripts/installPackagesForScalableAdhoc.sh +++ b/jaspersoft-containers/Docker/scalableQueryEngine/scripts/installPackagesForScalableAdhoc.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2021-2021. TIBCO Software Inc. +# Copyright © 2021-2023. Cloud Software Group, Inc. All Rights Reserved. Confidential & Proprietary. # This file is subject to the license terms contained # in the license file that is distributed with this file @@ -23,6 +23,7 @@ case "$PACKAGE_MGR" in "apt_get" ) apt-get -y update && apt-get install -y --no-install-recommends apt-utils rsync + apt-get install unzip apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false rm -rf /var/lib/apt/lists/* ;; diff --git a/jaspersoft-containers/K8s/README.md b/jaspersoft-containers/K8s/README.md index 0f8de65..3b214ae 100644 --- a/jaspersoft-containers/K8s/README.md +++ b/jaspersoft-containers/K8s/README.md @@ -1 +1 @@ -This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server and TIBCO JasperReports® Server Scalable Query Engine in Kubernetes. +This distribution includes supporting and configuration files for configuring and running JasperReports® Server and JasperReports® Server Scalable Query Engine in Kubernetes. diff --git a/jaspersoft-containers/K8s/jrs/README.md b/jaspersoft-containers/K8s/jrs/README.md index cf3cfca..9ec6c8e 100644 --- a/jaspersoft-containers/K8s/jrs/README.md +++ b/jaspersoft-containers/K8s/jrs/README.md @@ -1,6 +1,4 @@ - -
Table of Contents @@ -9,7 +7,7 @@ - [Prerequisites](#prerequisites) - [Parameters](#parameters) - [Adding External Helm Repositories](#adding-external-helm-repositories) -- [Installing TIBCO JasperReports® Server](#installing-tibco-jasperreports-server) +- [Installing JasperReports® Server](#installing-jasperreports-server) - [JMS Configuration](#jms-configuration) - [Ingress Controller](#ingress-controller) - [Monitoring](#monitoring) @@ -21,7 +19,7 @@ - [Prerequisites](#prerequisites) - [Installation Procedure](#installation-procedure) - [Integrating the Scalable Query Engine and JasperReports Server](#integrating-the-scalable-query-engine-and-jasperreports-server) -- [Use Case: Deploying TIBCO JasperReports® Server Using PostgreSQL Container in K8s Cluster](#use-case-deploying-tibco-jasperreports-server-using-postgresql-container-in-k8s-cluster) +- [Use Case: Deploying JasperReports® Server Using PostgreSQL Container in K8s Cluster](#use-case-deploying-jasperreports-server-using-postgresql-container-in-k8s-cluster) - [Installation](#installation-1) - [Troubleshooting](#troubleshooting) @@ -29,53 +27,53 @@ # Introduction - This helm chart is used to install TIBCO JasperReports® Server in Kubernetes and integrate it with the Scalable Query Engine. + This helm chart is used to install JasperReports® Server in Kubernetes and integrate it with the Scalable Query Engine. # Prerequisites 1. Docker-engine (19.x+) setup with Docker Compose (3.9+) 1. K8s cluster with 1.19+ -1. TIBCO JasperReports® Server +1. JasperReports® Server 1. Keystore 1. Git 1. [Helm 3.5](https://helm.sh/docs/intro/) 1. [kubectl commandline tool](https://kubernetes.io/docs/tasks/tools/) 1. Minimum Knowledge of Docker and K8s -# Step-by-step Guide to deploy TIBCO JasperReports® Server on K8s -To deploy TIBCO JasperReports® Server K8s Cluster from scratch, you can follow instructions at [Use Case: Deploying TIBCO JasperReports® Server Using PostgreSQL Container in K8s Cluster](#use-case-deploying-tibco-jasperreports-server-using-postgresql-container-in-k8s-cluster) +# Step-by-step Guide to deploy JasperReports® Server on K8s +To deploy JasperReports® Server K8s Cluster from scratch, you can follow instructions at [Use Case: Deploying JasperReports® Server Using PostgreSQL Container in K8s Cluster](#use-case-deploying-jasperreports-server-using-postgresql-container-in-k8s-cluster) # Parameters -These parameters and values are the same as parameters in `K8s/jrs/helm/values.yaml` and will be used by TIBCO JasperReports® Server Helm chart during installation. +These parameters and values are the same as parameters in `K8s/jrs/helm/values.yaml` and will be used by JasperReports® Server Helm chart during installation. | Parameter | Description | default Value | |------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | replicaCount | Number of pods | 1 (It will not come into effect if autoscaling is enabled.) | -| jrsVersion | TIBCO JasperReports® Server release version | 8.1.1 | -| image.tag | Name of the TIBCO JasperReports® Server webapp image tag | TIBCO JasperReports® Server Release Version | -| image.name | Name of the TIBCO JasperReports® Server webapp image | jasperserver-webapp | +| jrsVersion | JasperReports® Server release version | 8.2.0 | +| image.tag | Name of the JasperReports® Server webapp image tag | JasperReports® Server Release Version | +| image.name | Name of the JasperReports® Server webapp image | jasperserver-webapp | | image.pullPolicy | Docker image pull policy | IfNotPresent | | image.PullSecrets | Name of the image pull secret | Pull secret should be created manually before using it in same namespace, [See Docs](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | | nameOverride | Override the default helm chart name | jasperserver-pro | | fullnameOverride | Override the default full chart name | null | | secretKeyStoreName | Name of the keystore secret | jasperserver-keystore | | secretLicenseName | Name of the license secret | jasperserver-license | -| serviceAccount.enabled | Service account for TIBCO JasperReports® Server webapp | true | +| serviceAccount.enabled | Service account for JasperReports® Server webapp | true | | serviceAccount.annotations | Adds new annotations | null | | serviceAccount.name | Name of the service account | jasperserver-pro | | rbac.create | Creates role and role binding | true | -| rbac.name | Name of the TIBCO JasperReports® Server role and role binding | jasperserver-role | +| rbac.name | Name of the JasperReports® Server role and role binding | jasperserver-role | | podAnnotations | Adds pod annotations | null | -| securityContext.capabilities.drop | Drops Linux capabilites for the TIBCO JasperReports® Server webapp | All | -| securityContext.runAsNonRoot | Runs the TIBCO JasperReports® Server webapp as non root user | true | -| securityContext.runAsUser | User id to run the TIBCO JasperReports® Server webapp | 10099 | -| buildomatic.enabled | Installs or skips creation of the TIBCO JasperReports® Server repository DB | true | -| buildomatic.name | Name of the TIBCO JasperReports® Server command line tool | jasperserver-buildomatic | -| buildomatic.imageTag | Buildomatic image tag | Same as TIBCO JasperReports® Server release version | +| securityContext.capabilities.drop | Drops Linux capabilites for the JasperReports® Server webapp | All | +| securityContext.runAsNonRoot | Runs the JasperReports® Server webapp as non root user | true | +| securityContext.runAsUser | User id to run the JasperReports® Server webapp | 10099 | +| buildomatic.enabled | Installs or skips creation of the JasperReports® Server repository DB | true | +| buildomatic.name | Name of the JasperReports® Server command line tool | jasperserver-buildomatic | +| buildomatic.imageTag | Buildomatic image tag | Same as JasperReports® Server release version | | buildomatic.imageName | Name of the buildomatic image | null | | buildomatic.pullPolicy | Image pull policy | IfNotPresent | | buildomatic.PullSecrets | Image pull secrets | null | -| buildomatic.includeSamples | Installs TIBCO JasperReports® Server samples in JasperReports Server DB | true | +| buildomatic.includeSamples | Installs JasperReports® Server samples in JasperReports Server DB | true | | db.env | Enables the DB configuration using environment variables | false | | db.jrs.dbHost | JasperReports Server repository DB host | repository-postgresql.default.svc.cluster.local | | db.jrs.dbPort | JasperReports Server repository DB port | 5432 | @@ -88,29 +86,29 @@ These parameters and values are the same as parameters in `K8s/jrs/helm/values.y | db.audit.dbName | JasperReports Server audit DB name | null | | db.audit.dbUserName | JasperReports Server audit DB user name | null | | db.audit.dbPassword | JasperReports Server audit DB password | null | -| extraEnv.javaopts | Adds JAVA_OPTS to TIBCO JasperReports® Server application | -XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 | +| extraEnv.javaopts | Adds JAVA_OPTS to JasperReports® Server application | -XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 | | extraEnv.normal | Adds all the normal key value pair variables | null | | extraEnv.secrets | Adds all the environment references from secrets or configmaps | null | | extraVolumeMounts | Adds extra volume mounts | null | | extraVolumes | Adds extra volumes | null | -| Service.type | TIBCO JasperReports® Server Service type | ClusterIP | -| Service.port | TIBCO JasperReports® Server Service port | 80 | -| healthcheck.enabled | Checks TIBCO JasperReports® Server pod health status | true | -| healthcheck.livenessProbe.port | TIBCO JasperReports® Server container port | 8080 | -| healthcheck.livenessProbe.initialDelaySeconds | Initial waiting time to check the health and restarts the TIBCO JasperReports® Server Webapp pod | 350 | +| Service.type | JasperReports® Server Service type | ClusterIP | +| Service.port | JasperReports® Server Service port | 80 | +| healthcheck.enabled | Checks JasperReports® Server pod health status | true | +| healthcheck.livenessProbe.port | JasperReports® Server container port | 8080 | +| healthcheck.livenessProbe.initialDelaySeconds | Initial waiting time to check the health and restarts the JasperReports® Server Webapp pod | 350 | | healthcheck.livenessProbe.failureThreshold | Threshold for health checks | 10 | | healthcheck.livenessProbe.periodSeconds | Time period to check the health | 10 | | healthcheck.livenessProbe.timeoutSeconds | Timeout | 4 | -| healthcheck.readinessProbe.port | TIBCO JasperReports® Server container port | 8080 | +| healthcheck.readinessProbe.port | JasperReports® Server container port | 8080 | | healthcheck.readinessProbe.initialDelaySeconds | Initial delay before checking the health checks | 90 | | healthcheck.readinessProbe.failureThreshold | Threshold for health checks | 15 | | healthcheck.readinessProbe.periodSeconds | Time period to check the health checks | 10 | | healthcheck.readinessProbe.timeoutSeconds | Timeout | 4 | -| resources.enabled | Enables the minimum and maximum resources used by TIBCO JasperReports® Server | true | -| resources.limits.cpu | Maximum CPU for TIBCO JasperReports® Server Webapp pod | "3" | -| resources.limits.memory | Maximum Memory for TIBCO JasperReports® Server Webapp pod | 7.5Gi | -| resources.requests.cpu | Minimum CPU for TIBCO JasperReports® Server Webapp pod | "2" | -| resources.requests.memory | Minimum Memory for TIBCO JasperReports® Server Webapp pod | 3.5Gi | +| resources.enabled | Enables the minimum and maximum resources used by JasperReports® Server | true | +| resources.limits.cpu | Maximum CPU for JasperReports® Server Webapp pod | "3" | +| resources.limits.memory | Maximum Memory for JasperReports® Server Webapp pod | 7.5Gi | +| resources.requests.cpu | Minimum CPU for JasperReports® Server Webapp pod | "2" | +| resources.requests.memory | Minimum Memory for JasperReports® Server Webapp pod | 3.5Gi | | jms.enabled | Enables the ActiveMQ cache service | true | | jms.jmsBrokerUrl | Override ActiveMQ Broker Url | null | | jms.name | ActiveMQ deployment name | jasperserver-cache | @@ -127,25 +125,25 @@ These parameters and values are the same as parameters in `K8s/jrs/helm/values.y | jms.healthcheck.readinessProbe.failureThreshold | Threshold for health check | 15 | | jms.healthcheck.readinessProbe.periodSeconds | Time period for health check | 10 | | jms.securityContext.capabilities.drop | Linux capabilities to drop for the pod | All | -| ingress.enabled | TIBCO JasperReports® Server ingress | true | +| ingress.enabled | JasperReports® Server ingress | true | | ingress.annotations.ingress.kubernetes.io\/cookie-persistence | Work with multiple pods and stickyness | "JRS_COOKIE" | -| ingress.hosts.host | Adds valid DNS hostname to access the TIBCO JasperReports® Server | null | +| ingress.hosts.host | Adds valid DNS hostname to access the JasperReports® Server | null | | ingress.tls | Adds TLS secret name to allow secure traffic | null | | scalableQueryEngine.enabled | Deploy and configure Scalable Query Engine | false | | scalable-query-engine.replicaCount | Number of pods for Scalable Query Engine | 1 | -| scalable-query-engine.image.tag | Scalable Query Engine image tag | 8.1.1 | +| scalable-query-engine.image.tag | Scalable Query Engine image tag | 8.2.0 | | scalable-query-engine.image.name | Name of the Scalable Query Engine image | null | | scalable-query-engine.image.pullPolicy | Scalable Query Engine image pull policy | ifNotPresent | | scalable-query-engine.autoscaling.enabled | Enables the HPA for Scalable Query Engine | true | -| scalable-query-engine.drivers.image.tag | Scalable Query Engine Drivers image tag | 8.1.1 | +| scalable-query-engine.drivers.image.tag | Scalable Query Engine Drivers image tag | 8.2.0 | | scalable-query-engine.drivers.image.name | Scalable Query Engine Drivers image name | null | | scalable-query-engine.kubernetes-ingress.controller.service.type | Scalable Query Engine Service Type | ClusterIP | | autoscaling.enabled | Scales the JasperReports Server application, **Note:** Make sure metric server is installed or metrics are enabled | false | | autoscaling.minReplicas | Minimum number of pods maintained by autoscaler | 1 | | autoscaling.maxReplicas | Maximum number of pods maintained by autoscaler | 4 | | autoscaling.targetCPUUtilizationPercentage | Minimum CPU utilization to scale up the application | 50% | -| autoscaling.targetMemoryUtilizationPercentage | Minimum memory utilization to scale up the TIBCO JasperReports® Server applications | 50% | -| autoscaling.scaleDown.stabilizationWindowSeconds | Time to give TIBCO JasperReports® Server Webapp pod to finish all current tasks | 300 | +| autoscaling.targetMemoryUtilizationPercentage | Minimum memory utilization to scale up the JasperReports® Server applications | 50% | +| autoscaling.scaleDown.stabilizationWindowSeconds | Time to give JasperReports® Server Webapp pod to finish all current tasks | 300 | | metrics.enabled | Enables the Prometheus metrics | false | | kube-prometheus-stack.prometheus-node-exporter.hostRootFsMount | | false | | kube-prometheus-stack.grafana.service.type | Grafana service type | NodePort | @@ -163,65 +161,177 @@ These parameters and values are the same as parameters in `K8s/jrs/helm/values.y helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add elastic https://helm.elastic.co +# Setting Java options +During the deployment of JasperReports® Server with helm, JAVA_OPTS can be specified within the `K8s/jrs/helm/values.yaml` file. +This configuration option enables customization of the Java Virtual Machine settings, which can optimize the performance of the JasperReports® Server application. -# Installing TIBCO JasperReports® Server +If deploying JasperReports® Server with docker images based on JDK17, an additional JAVA_OPTS options need to be added in the in `K8s/jrs/helm/values.yaml` file: + +```yaml +extraEnv: + javaOpts: "-XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/javax.security.auth.login=ALL-UNNAMED --add-opens java.base/javax.security.auth=ALL-UNNAMED --add-opens java.base/jdk.internal.access.foreign=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens java.base/sun.util.calendar=ALL-UNNAMED" +``` + + +# Installing JasperReports® Server 1. Go to `jaspersoft-containers/K8s`, and to update the dependency charts, run `helm dependencies update jrs/helm`. 2. Update the default_master.properties in `Docker/jrs/resources/default_properties` as needed. -3. (Optional , in case DB has to be configure using env variables)Update the `db` section in `values.yaml` with the actual JasperReports Server DB details or create a separate secret like below. - +3. **Optional Step**: is required only if you plan to use environment variables from **Kubernetes Secrets** to pass `jasperserver` database details. +This option can be useful when the JasperReports® Server application needs to connect to its repository database, which is deployed externally and already loaded. +Repository details will be stored in Kubernetes secrets and will be used as environment variables during application startup. - - apiVersion: v1 - kind: Secret - type: Opaque - metadata: - name: jasperserver-pro-db-secret - labels: - data: - DB_HOST: host-name - DB_PORT: port-name - DB_NAME: db-name - DB_USER_NAME:db-user-name - DB_PASSWORD: db-password - -All the DB details should be encoded in base64 format. - - **Note:** By default, the below details are used and for this, DB should be part of K8s Cluster in the default namespace. Please note the DB is already created, adding this won't enforce to create a DB - If JasperReports Server is deployed in a different project, then change the dbHost in the following format: `respository-postgresql..svc.cluster.local`. +There are two ways to manage the Kubernetes Secret for passing `jasperserver` database details: + +- The Secret can be automatically generated from the values provided in `K8s/jrs/helm/values.yaml`. This approach simplifies the Secret management process by automatically populating it with the required details and deploying it. +- Alternatively, you can create a **Custom Kubernetes Secret** and deploy it into the cluster. This option provides greater control over the Secret contents and can be useful when specific Secrets management requirements need to be met. + +Note that both options can only be used when the `jasperserver` repository database is already created and loaded. + +The first step in either case is to set `buildomatic.enabled` to **false** in `K8s/jrs/helm/values.yaml`. +This setting instructs the Helm chart to skip the `jasperserver-buildomatic` job that creates and loads the repository database. + + +**Option 1: Automatically generated Kubernetes Secret** +Update the `db` section in `K8s/jrs/helm/values.yaml`, set `db.env` to **true**. Then, configure the `jrs` sub-section with the necessary database details. Note that you should not pass a `secretName` in this case. +Here is configuration example: +```yaml +db: + env: true + secretName: + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres +``` - dbHost: repository-postgresql.default.svc.cluster.local - dbPort: 5432 - dbName: jasperserver - dbUserName: postgres - dbPassword: postgres +**Note** that in this example, the `jasperserver` database was pre-created using the PostgreSQL Helm chart from this guide, and it is part of the same Kubernetes cluster in the default namespace. +If JasperReports® Server is deployed in a different namespace or cluster, update the `dbHost` parameter in the following format: `-postgresql..svc.cluster.`. +If the JasperReports® Server repository database is deployed remotely, such as in AWS RDS, then set the `dbHost` to a value that is accessible from the Kubernetes cluster. -These details are stored in Kubernetes secrets and used as environment variables during application startup. +With this step completed, you can move on to the next installation instructions. -**Note on Audit DB:** Enable the `db.audit.enable=true` if separate Audit DB is required for audit events, and add the below values to the db-secrets. Please note the Audit DB is already created, adding this won't enforce to create a DB +**Option 2: Custom Kubernetes Secret** + +First create a separate secret in `K8s/jrs/helm/templates` folder, for example: + +**Filename**: `K8s/jrs/helm/templates/envsecret.yaml` + +```yaml + apiVersion: v1 + kind: Secret + type: Opaque + metadata: + name: custom-db-secret + labels: + data: + DB_HOST: host-name + DB_PORT: port-name + DB_NAME: db-name + DB_USER_NAME: db-user-name + DB_PASSWORD: db-password +``` - AUDIT_DB_HOST: audit-db-host - AUDIT_DB_PORT: audit-db-port - AUDIT_DB_NAME: audit-db-name - AUDIT_DB_USER_NAME: audit-db-user-name - AUDIT_DB_PASSWORD: audit-password +**Note**: Every variable value under `data` section should be encoded in base64 format. You can use the following command to encode a string in base64 on Linux: +```commandline +echo -n "my-password" | base64 +``` +On Windows use powershell command that can encode text in file: +``` +certutil -f -encode raw.txt encoded.txt +``` -4. Build the docker images for TIBCO JasperReports® Server, and Scalable Query Engine (see the [Docker JasperReports Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableQueryEngine#readme) ). +After the secret file is created and the values are encoded in base64, it has to be deployed into the Kubernetes cluster using the following command: +```commandline +kubectl apply -f K8s/jrs/helm/templates/envsecret.yaml +``` + +Then edit `K8s/jrs/helm/values.yaml` and go to the `db` section. Set `env` to **true** and pass the secret name that you created. For example: + +```yaml +db: + env: true + secretName: custom-db-secret + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres +``` +**Note**: when `secretName` is set, then all properties under `jrs` sub-section will be ignored. + +You may now proceed to the next steps of the installation. + + +**JasperReports® Server Compact and Split installation** +- In Compact installation mode (default), all audit events will be stored in the same repository database. +- In Split installation mode (selected in default_master.properties), audit events will be stored in a separate database. + +To use the secrets for Compact installation, no additional configuration is required. + +To use the secrets for Split installation, first ensure that the audit database has already been created, loaded, and is accessible. + +Then, set `db.audit.enable=true` in `K8s/jrs/helm/values.yaml` to get automatically generated secret: + +```yaml +db: + env: false + secretName: + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres + audit: + enabled: true + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jrsaudit + dbUserName: postgres + dbPassword: postgres +``` + +or update your custom secret file `K8s/jrs/helm/templates/envsecret.yaml` with additional properties for Audit DB: + +```yaml + apiVersion: v1 + kind: Secret + type: Opaque + metadata: + name: custom-db-secret + labels: + data: + DB_HOST: host-name + DB_PORT: port-name + DB_NAME: db-name + DB_USER_NAME: db-user-name + DB_PASSWORD: db-password + AUDIT_DB_HOST: audit-db-host + AUDIT_DB_PORT: audit-db-port + AUDIT_DB_NAME: audit-db-name + AUDIT_DB_USER_NAME: audit-db-user-name + AUDIT_DB_PASSWORD: audit-password +``` +4. Build the docker images for JasperReports® Server, and Scalable Query Engine (see the [Docker JasperReports Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableQueryEngine#readme) ). 5. Generate the keystore and copy it to the `k8s/jrs/helm/secrets/keystore` folder, see here for [Keystore Generation ](../../Docker/jrs#keystore-generation). -6. Copy the TIBCO JasperReports® Server license to the `k8s/jrs/helm/secrets/license` folder. +6. Copy the JasperReports® Server license to the `k8s/jrs/helm/secrets/license` folder. ## JMS Configuration - By default, TIBCO JasperReports® Server will install using activemq docker image. You can disable it by changing the parameter `jms.enabled=false`. + By default, JasperReports® Server will install using activemq docker image. You can disable it by changing the parameter `jms.enabled=false`. External JMS instance can also be used instead of in-build JMS setup by adding the external jms url `jms.jmsBrokerUrl`. You can access it by using tcp port, for instance `tcp://:61616`. ## Ingress Controller -You can use HA Proxy ingress controller to manage the traffic across the TIBCO JasperReports® Server pods. +You can use HA Proxy ingress controller to manage the traffic across the JasperReports® Server pods. -**Note:** Enable the ingress controller so that TIBCO JasperReports® Server can work with multiple pods. +**Note:** Enable the ingress controller so that JasperReports® Server can work with multiple pods. To enable this setup, run the following command. @@ -270,7 +380,7 @@ For more information and configuration, see the [Official Docs](https://github.c - Set **buildomatic.enabled=true** for repository setup. By default samples are included, if it is not required, set **buildomatic.includeSamples=false** -- Run the below command to install TIBCO JasperReports® Server and repository setup. +- Run the below command to install JasperReports® Server and repository setup. `helm install jrs jrs/helm --namespace jrs --wait --timeout 17m0s` @@ -282,7 +392,7 @@ For more information and configuration, see the [Official Docs](https://github.c ## Verifying installation -After `helm install` is finished you can verify installed TIBCO JasperReports® Server cluster. +After `helm install` is finished you can verify installed JasperReports® Server cluster. - Switch to jrs namespace. @@ -300,7 +410,7 @@ List all the resources. 1. Enable the container insights for logging and monitoring, [see the docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-EKS.html) for enabling the container insights. ## Installation - 1. Build the images for TIBCO JasperReports® Server and Scalable Query Engine, see the [Docker TIBCO JasperReports® Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableQueryEngine#readme). + 1. Build the images for JasperReports® Server and Scalable Query Engine, see the [Docker JasperReports® Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableQueryEngine#readme). 2. Push the images to ECR, [see the docs](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html). 3. Add external repositories. @@ -309,7 +419,7 @@ List all the resources. 4. Run`helm dependencies update jrs/helm`. 5. Update the `jrs/helm/values.yaml` or use `--set =`. - 6. Follow the [TIBCO JasperReports® Server installation procedure](#installing-tibco-jasperreports-server). + 6. Follow the [JasperReports® Server installation procedure](#installing-jasperreports-server). **Note:** Logging and monitoring are not required if EKS container insights are enabled. @@ -318,7 +428,7 @@ AWS EKS offers two types of Load Balancers that can be deployed for K8s services - Classic Load Balancer - deployed by default for any service with LoadBalancer type. This is **L4** load balancer that works on network layer. - Application Load Balancer - **L7** load balancer that enables the load balancer to make smarter load balancing decisions, and to apply optimizations and changes to the content (such as compression and encryption) based on your application needs -By default, TIBCO JasperReports® Server k8s cluster comes with an internal HAProxy Load Balancer which covers all the needs to route traffic to the proper pod. +By default,JasperReports® Server k8s cluster comes with an internal HAProxy Load Balancer which covers all the needs to route traffic to the proper pod. In case if you want to control traffic on AWS Application Load Balancer side instead, you have to perform the following actions: 1. Deploy AWS Load Balancer Controller into your cluster, using [AWS Guide](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) @@ -326,7 +436,7 @@ In case if you want to control traffic on AWS Application Load Balancer side ins 3. Find ``/jaspersoft-containers/K8s/jrs/helm/Chart.yaml``, and comment out dependency on HAProxy chart: - name: kubernetes-ingress - version: 1.15.4 + version: 1.29.3 repository: "@haproxytech" condition: ingress.enabled @@ -352,11 +462,11 @@ In case if you want to control traffic on AWS Application Load Balancer side ins tls: [] ``` -7. Deploy TIBCO JasperReports® Server cluster, after successful deployment get the ALB hostname by running: +7. Deploy JasperReports® Server cluster, after successful deployment get the ALB hostname by running: kubectl get ingress -8. Connect to TIBCO JasperReports® Server `http://INGRESS-HOSTNAME/jasperserver-pro` +8. Connect to JasperReports® Server `http://INGRESS-HOSTNAME/jasperserver-pro` # Integrating the Scalable Query Engine and JasperReports Server @@ -369,13 +479,13 @@ In case if you want to control traffic on AWS Application Load Balancer side ins 1. Follow the [JasperReports Server installation procedure](#installing-jrs) to install the JasperReports Server, and the Scalable Query Engine will integrate automatically. -# Use Case: Deploying TIBCO JasperReports® Server Using PostgreSQL Container in K8s Cluster +# Use Case: Deploying JasperReports® Server Using PostgreSQL Container in K8s Cluster ## Installation 1. Clone the jaspersoft-containers ``git clone git@github.com:TIBCOSoftware/js-docker.git``. -2. Run ``cd `` and download a commercial edition of TIBCO JasperReports® Server WAR File installer zip to your current directory. +2. Run ``cd `` and download a commercial edition of JasperReports® Server WAR File installer zip to your current directory.
**Note:** CONTAINER_PATH=/js-docker 3. Run ``cd /jaspersoft-containers/Docker/jrs`` and update the `.env` if you need to change the version, tags, chromium installation, etc. 4. Run ``cd /jaspersoft-containers/Docker/jrs/scripts`` and then run ``./unpackWARInstaller.sh`` to unzip the installer file. @@ -425,9 +535,9 @@ If password wasn't set to `postgres`, check [Troubleshooting](#troubleshooting) helm install jrs jrs/helm --namespace jrs --wait --timeout 12m0s ``` - It will take few minutes to set up the DB and install the TIBCO JasperReports® Server webapp, JMS, and other addons like ingress controller, metrics, and logging. + It will take few minutes to set up the DB and install the JasperReports® Server webapp, JMS, and other addons like ingress controller, metrics, and logging. -19. Open TIBCO JasperReports® Server webapp url: +19. Open JasperReports® Server webapp url: - if Ingress was set to enabled (in values.yaml, see the [Parameters](#parameters)): ``` diff --git a/jaspersoft-containers/K8s/jrs/helm/Chart.lock b/jaspersoft-containers/K8s/jrs/helm/Chart.lock index 170e799..3b2c189 100644 --- a/jaspersoft-containers/K8s/jrs/helm/Chart.lock +++ b/jaspersoft-containers/K8s/jrs/helm/Chart.lock @@ -1,7 +1,7 @@ dependencies: - name: kubernetes-ingress repository: https://haproxytech.github.io/helm-charts - version: 1.15.4 + version: 1.29.3 - name: kube-prometheus-stack repository: https://prometheus-community.github.io/helm-charts version: 16.0.1 @@ -14,5 +14,5 @@ dependencies: - name: scalable-query-engine repository: file://../../scalableQueryEngine/helm version: 1.0.0 -digest: sha256:686ed4a690013f6a4b5d897ebe9a56f5a8aa535d29bc93ac5b626dbc234532e4 -generated: "2022-12-15T17:13:42.7253296+05:30" +digest: sha256:fdcc8d54046046394473b3235c434bea30ff1beb1411d32a7976fdaacddec707 +generated: "2023-04-18T21:04:35.6321472+05:30" diff --git a/jaspersoft-containers/K8s/jrs/helm/Chart.yaml b/jaspersoft-containers/K8s/jrs/helm/Chart.yaml index d2e94d9..8ba5d83 100644 --- a/jaspersoft-containers/K8s/jrs/helm/Chart.yaml +++ b/jaspersoft-containers/K8s/jrs/helm/Chart.yaml @@ -3,7 +3,7 @@ name: jasperserver-pro description: JasperReportServer deployment in K8s type: application version: 1.0.0 -appVersion: "8.1.1" +appVersion: "8.2.0" keywords: - Analytics - BI Tool @@ -16,7 +16,7 @@ maintainers: dependencies: - name: kubernetes-ingress - version: 1.15.4 + version: 1.29.3 repository: "@haproxytech" condition: ingress.enabled diff --git a/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.15.4.tgz b/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.15.4.tgz deleted file mode 100644 index 16b8d46..0000000 Binary files a/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.15.4.tgz and /dev/null differ diff --git a/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.29.3.tgz b/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.29.3.tgz new file mode 100644 index 0000000..b61b66e Binary files /dev/null and b/jaspersoft-containers/K8s/jrs/helm/charts/kubernetes-ingress-1.29.3.tgz differ diff --git a/jaspersoft-containers/K8s/jrs/helm/charts/scalable-query-engine-1.0.0.tgz b/jaspersoft-containers/K8s/jrs/helm/charts/scalable-query-engine-1.0.0.tgz index eaeb8ce..7a88b41 100644 Binary files a/jaspersoft-containers/K8s/jrs/helm/charts/scalable-query-engine-1.0.0.tgz and b/jaspersoft-containers/K8s/jrs/helm/charts/scalable-query-engine-1.0.0.tgz differ diff --git a/jaspersoft-containers/K8s/jrs/helm/secrets/keystore/README.md b/jaspersoft-containers/K8s/jrs/helm/secrets/keystore/README.md index dc039db..afb712b 100644 --- a/jaspersoft-containers/K8s/jrs/helm/secrets/keystore/README.md +++ b/jaspersoft-containers/K8s/jrs/helm/secrets/keystore/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server -This directory is used to store TIBCO JasperReports® Server keystore. You can place .jrsks and .jrsksp files here +# JasperReports® Server +This directory is used to store JasperReports® Server keystore. You can place .jrsks and .jrsksp files here diff --git a/jaspersoft-containers/K8s/jrs/helm/secrets/license/README.md b/jaspersoft-containers/K8s/jrs/helm/secrets/license/README.md index a8b48cc..be94f8c 100644 --- a/jaspersoft-containers/K8s/jrs/helm/secrets/license/README.md +++ b/jaspersoft-containers/K8s/jrs/helm/secrets/license/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server -This directory is used to store TIBCO JasperReports® Server License. You can place license file here +# JasperReports® Server +This directory is used to store JasperReports® Server License. You can place license file here diff --git a/jaspersoft-containers/K8s/jrs/helm/templates/db-configmap.yaml b/jaspersoft-containers/K8s/jrs/helm/templates/db-configmap.yaml index 94b56c3..3656145 100644 --- a/jaspersoft-containers/K8s/jrs/helm/templates/db-configmap.yaml +++ b/jaspersoft-containers/K8s/jrs/helm/templates/db-configmap.yaml @@ -29,7 +29,7 @@ data: url="jdbc:postgresql://${AUDIT_DB_HOST}:${AUDIT_DB_PORT}/${AUDIT_DB_NAME}" factory="com.jaspersoft.jasperserver.tomcat.jndi.JSCommonsBasicDataSourceFactory" /> - {{- else if semverCompare ">= 8.1.1" .Values.jrsVersion }} + {{- else if semverCompare ">= 8.2.0" .Values.jrsVersion }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/jaspersoft-containers/K8s/jrs/helm/templates/ingress.yaml b/jaspersoft-containers/K8s/jrs/helm/templates/ingress.yaml index 8a9e172..8aad77e 100644 --- a/jaspersoft-containers/K8s/jrs/helm/templates/ingress.yaml +++ b/jaspersoft-containers/K8s/jrs/helm/templates/ingress.yaml @@ -12,6 +12,9 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: + {{- if .Values.ingress.ingressClassName }} + ingressClassName: {{ .Values.ingress.ingressClassName }} + {{- end }} {{- if .Values.ingress.tls }} tls: {{- range .Values.ingress.tls }} diff --git a/jaspersoft-containers/K8s/jrs/helm/values.yaml b/jaspersoft-containers/K8s/jrs/helm/values.yaml index d412848..4aa05a1 100644 --- a/jaspersoft-containers/K8s/jrs/helm/values.yaml +++ b/jaspersoft-containers/K8s/jrs/helm/values.yaml @@ -3,9 +3,9 @@ # Declare variables to be passed into your templates. replicaCount: 1 -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -78,7 +78,7 @@ db: buildomatic: enabled: true name: jasperserver-buildomatic - imageTag: 8.1.1 + imageTag: 8.2.0 imageName: pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -215,6 +215,7 @@ kubernetes-ingress: ingress: enabled: true + ingressClassName: haproxy annotations: ingress.kubernetes.io/cookie-persistence: "JRS_COOKIE" haproxy.org/pod-maxconn: "500" @@ -243,7 +244,7 @@ scalableQueryEngineUrl: {} scalable-query-engine: replicaCount: 1 image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent autoscaling: @@ -255,7 +256,7 @@ scalable-query-engine: drivers: enabled: true image: - tag: 8.1.1 + tag: 8.2.0 name: kubernetes-ingress: controller: diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/README.md b/jaspersoft-containers/K8s/scalableQueryEngine/README.md index faeb86b..f76abbd 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/README.md +++ b/jaspersoft-containers/K8s/scalableQueryEngine/README.md @@ -9,20 +9,20 @@ - [Redis Configuration](#redis-configuration) - [JNDI Configuration](#jndi-configuration) - [Installing Scalable Query Engine](#installing-scalable-query-engine-manually) -- [Integrating Scalable Query Engine with running TIBCO JasperReports® Server](#integrating-scalable-query-engine-with-running-tibco-jasperreports-server-k8s-cluster) +- [Integrating Scalable Query Engine with running JasperReports® Server](#integrating-scalable-query-engine-with-running-jasperreports-server-k8s-cluster)
# Introduction These configuration files (Helm Charts) perform declarative configuration by using [Helm Package Manager](https://helm.sh/docs/) to deploy the - TIBCO JasperReports® Server Scalable Query Engine in Kubernetes cluster. + JasperReports® Server Scalable Query Engine in Kubernetes cluster. ## Prerequisites 1. Docker-engine (19.x+) setup with Docker Compose V2 (3.9+) 1. K8s cluster with 1.19+ -1. TIBCO JasperReports® Server +1. JasperReports® Server 1. Keystore 1. Git 1. Helm 3.5 @@ -30,12 +30,12 @@ ## Parameters -These parameters and values are the same as parameters in `K8s/scalableQueryEngine/helm/values.yaml` and will be used by TIBCO JasperReports® Server Scalable Query Engine Helm chart during installation. +These parameters and values are the same as parameters in `K8s/scalableQueryEngine/helm/values.yaml` and will be used by JasperReports® Server Scalable Query Engine Helm chart during installation. | Parameter| Description | Default Value | |------------| -------------| ----------| | replicaCount| Number of pods | 2 (It will not come into effect if autoscaling is enabled.)| -| jrsVersion| TIBCO JasperReports® Server release version | 8.1.1| +| jrsVersion| JasperReports® Server release version | 8.2.0| | image.name| Name of the Scalable Query Engine image | null | | image.tag | Name of the Scalable Query Engine image tag | JasperReports® Server Release Version| | image.pullPolicy | Docker image pull policy | IfNotPresent | @@ -133,7 +133,7 @@ These parameters and values are the same as parameters in `K8s/scalableQueryEngi | jrs.proxy.timedOut | timeout | 30000 | | drivers.image.enabled | Enables the drivers | true | | drivers.image.name | Image name for Scalable Query Engine Driver image | null | -| drivers.image.tag | Scalable Query Engine Driver image tag | 8.1.1 | +| drivers.image.tag | Scalable Query Engine Driver image tag | 8.2.0 | | drivers.image.pullPolicy | Image pull policy | IfNotPresent | | drivers.storageClassName | Driver image storage class name | hostPath | | drivers.image.jdbcDriversPath | JDBC drivers path | /usr/lib/drivers | @@ -185,17 +185,17 @@ External redis configuration can also be used by adding the redis url for `redis jndi.dataSources[3].maxIdle=30 jndi.dataSources[3].maxWait=10000 -**Note:** If you plan to use JNDI connections for queries performed by Scalable Query Engine, then JNDI data source names should be the same as defined in TIBCO JasperReports® Server repository. +**Note:** If you plan to use JNDI connections for queries performed by Scalable Query Engine, then JNDI data source names should be the same as defined in JasperReports® Server repository. For example `jdbc/foodmart`. # Installing Scalable Query Engine manually -**Note:** Following steps should be performed when the TIBCO JasperReports® Server helm chart is already installed and functions normally +**Note:** Following steps should be performed when the JasperReports® Server helm chart is already installed and functions normally 1. If not yet built, build the Scalable Query Engine images. For more information, see the instructions at [Docker scalableQueryEngine Readme](../../Docker/scalableQueryEngine). 2. Go to `cd /K8s`. 3. Copy the JasperReports® Server keystore to `./scalableQueryEngine/helm/secrets/keystore`, if keystore does not exist, generate the keystore (see the instructions at [Keystore Generation](../../Docker/jrs/#keystore-generation)). -
**Note:** Same keystore files should be used in TIBCO JasperReports® Server and Scalable Query Engine clusters +
**Note:** Same keystore files should be used in JasperReports® Server and Scalable Query Engine clusters 4. Update the values.yaml if needed or set the values to the chart dynamically by passing `--set =`.
**Note:** You can increase the `failureThreshold` limit from 12 to 24 in the values.yaml file, if Scalable Query Engine pods are not set into Ready state during autoscaling. 5. Run: @@ -210,7 +210,7 @@ For example `jdbc/foodmart`. 7. Check the engine status at `$SERVICE_IP/query-engine/actuator/health`. -# Integrating Scalable Query Engine with running TIBCO JasperReports® Server K8s Cluster +# Integrating Scalable Query Engine with running JasperReports® Server K8s Cluster 1. Confirm that Scalable Query Engine deployed successfully, get the ingress external IP of Scalable Query Engine (see step 7 from [Installing Scalable Query Engine](#installing-scalable-query-engine)) 2. Edit `K8s/jrs/helm/values.yaml`, and set: 1. `scalableQueryEngine.enabled` as false diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.lock b/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.lock index 89d2cd7..875aa50 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.lock +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.lock @@ -18,4 +18,4 @@ dependencies: repository: "" version: 1.0.0 digest: sha256:8dd4ce24539438f888c86ad3440e5b9caf6bc21a8aa71659e4b20002e172e623 -generated: "2022-12-20T23:14:04.179542+05:30" +generated: "2022-12-21T14:03:20.4255718+05:30" diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.yaml b/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.yaml index 21d1f7c..785e119 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.yaml +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/Chart.yaml @@ -3,7 +3,7 @@ name: scalable-query-engine description: Helm Chart for Scalable Query Engine type: application version: 1.0.0 -appVersion: 8.1.1 +appVersion: 8.2.0 maintainers: - name: Jaspersoft Eng Infra email: js-eng-infra@tico.com diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml b/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml index 4faccbc..8e3bd7b 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml @@ -3,10 +3,10 @@ name: scalable-query-engine-scaling description: Scalable Query Engine custome scaling type: application version: 1.0.0 -appVersion: 8.1.1 +appVersion: 8.2.0 maintainers: - name: Jaspersoft Eng Infra - email: js-eng-infra@tibco.com + email: js-eng-infra@tico.com dependencies: - name: prometheus-adapter version: "2.15.2" diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml b/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml index 4b974b9..0053b95 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml @@ -1,4 +1,4 @@ -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 queryEngine: deployment: jrs-scalable-query-engine diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/secrets/keystore/README.md b/jaspersoft-containers/K8s/scalableQueryEngine/helm/secrets/keystore/README.md index 86c7d36..648b2ff 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/secrets/keystore/README.md +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/secrets/keystore/README.md @@ -1,3 +1,3 @@ -# TIBCO JasperReports® Server Scalable Query Engine Keystore -This directory is used to store TIBCO JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here +# JasperReports® Server Scalable Query Engine Keystore +This directory is used to store JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here 1. These keystore must be same as JasperReports Server keystore which is used to create the repository database diff --git a/jaspersoft-containers/K8s/scalableQueryEngine/helm/values.yaml b/jaspersoft-containers/K8s/scalableQueryEngine/helm/values.yaml index 1825b3a..cf54e57 100644 --- a/jaspersoft-containers/K8s/scalableQueryEngine/helm/values.yaml +++ b/jaspersoft-containers/K8s/scalableQueryEngine/helm/values.yaml @@ -1,7 +1,7 @@ replicaCount: 1 -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -232,7 +232,7 @@ jrs: drivers: enabled: true image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent PullSecrets: diff --git a/jaspersoft-containers/OpenShift/README.md b/jaspersoft-containers/OpenShift/README.md index 5f14fc0..05b95ef 100644 --- a/jaspersoft-containers/OpenShift/README.md +++ b/jaspersoft-containers/OpenShift/README.md @@ -1 +1 @@ -This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server and TIBCO JasperReports® Server Scalable Query Engine in OpenShift. +This distribution includes supporting and configuration files for configuring and running JasperReports® Server and JasperReports® Server Scalable Query Engine in OpenShift. diff --git a/jaspersoft-containers/OpenShift/jrs/README.md b/jaspersoft-containers/OpenShift/jrs/README.md index 0d620c9..b92c342 100644 --- a/jaspersoft-containers/OpenShift/jrs/README.md +++ b/jaspersoft-containers/OpenShift/jrs/README.md @@ -9,7 +9,7 @@ - [Prerequisites](#prerequisites) - [Parameters](#parameters) - [Adding External Helm Repositories](#adding-external-helm-repositories) -- [Installing TIBCO JasperReports® Server](#installing-tibco-jasperreports-server) +- [Installing JasperReports® Server](#installing-jasperreports-server) - [JMS Configuration](#jms-configuration) - [Repository DB Does Not Exist](#repository-db-does-not-exist) - [Repository DB Already Exists](#repository-db-already-exists) @@ -21,12 +21,12 @@ # Introduction -This helm chart is used to install TIBCO JasperReports® Server in OpenShift and integrate it with the TIBCO JasperReports® Server Scalable Query Engine. +This helm chart is used to install JasperReports® Server in OpenShift and integrate it with the JasperReports® Server Scalable Query Engine. # Prerequisites 1. Docker-engine (19.x+) setup with Docker Compose (3.9+) 1. OpenShift cluster with 4.6+ -1. TIBCO JasperReports® Server +1. JasperReports® Server 1. Keystore 1. Git 1. [Helm 3.5](https://helm.sh/docs/intro/) @@ -40,31 +40,31 @@ These parameters and values are the same as parameters in values.yaml. | Parameter| Description | default Value | |------------| -------------| ----------| | replicaCount| Number of pods | 1 (It will not come into effect if autoscaling is enabled.)| -| jrsVersion|TIBCO JasperReports® Server release version | 8.1.1 | -| image.tag | Name of the TIBCO JasperReports® Server webapp image tag | TIBCO JasperReports® Server Release Version| -| image.name| Name of the TIBCO JasperReports® Server webapp image | jrscontainerregistry.azurecr.io/jrs/webapp| +| jrsVersion| JasperReports® Server release version | 8.2.0 | +| image.tag | Name of the JasperReports® Server webapp image tag | JasperReports® Server Release Version| +| image.name| Name of the JasperReports® Server webapp image | jrscontainerregistry.azurecr.io/jrs/webapp| | image.pullPolicy| Docker image pull policy | IfNotPresent| | image.PullSecrets | Name of the image pull secret | Pull secret should be created manually before using it in same namespace, [See Docs](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | | nameOverride| Override the default helm chart name | "" | | fullnameOverride| Override the default full chart name | "" | | secretKeyStoreName| Name of the keystore secret | jasperserver-keystore| | secretLicenseName | Name of the license secret | jasperserver-license| -| serviceAccount.enabled | Service account for TIBCO JasperReports® Server webapp | true | +| serviceAccount.enabled | Service account for JasperReports® Server webapp | true | | serviceAccount.annotations | Adds new annotations | null | | serviceAccount.name | Name of the service account | jasperserver-pro | | rbac.create | Creates role and role binding | true | -| rbac.name | Name of the TIBCO JasperReports® Server role and role binding | jasperserver-role | +| rbac.name | Name of the JasperReports® Server role and role binding | jasperserver-role | | podAnnotations | Adds pod annotations | null | -| securityContext.capabilities.drop | Drops Linux capabilites for the TIBCO JasperReports® Server webapp | All | -| securityContext.runAsNonRoot | Runs the TIBCO JasperReports® Server webapp as non root user | true | -| securityContext.runAsUser | User id to run the TIBCO JasperReports® Server webapp | 10099 | -| buildomatic.enabled | Installs or skips the TIBCO JasperReports® Server repository DB | true| -| buildomatic.name | Name of the TIBCO JasperReports® Server command line tool | jasperserver-buildomatic| -| buildomatic.imageTag| Buildomatic image tag | Same as TIBCO JasperReports® Server release version| +| securityContext.capabilities.drop | Drops Linux capabilites for the JasperReports® Server webapp | All | +| securityContext.runAsNonRoot | Runs the JasperReports® Server webapp as non root user | true | +| securityContext.runAsUser | User id to run the JasperReports® Server webapp | 10099 | +| buildomatic.enabled | Installs or skips the JasperReports® Server repository DB | true| +| buildomatic.name | Name of the JasperReports® Server command line tool | jasperserver-buildomatic| +| buildomatic.imageTag| Buildomatic image tag | Same as JasperReports® Server release version| | buildomatic.imageName | Name of the buildomatic image | jrscontainerregistry.azurecr.io/jrs/buildomatic| | buildomatic.pullPolicy | Image pull policy| IfNotPresent| | buildomatic.PullSecrets | Image pull secrets | acr-secret| -| buildomatic.includeSamples| Installs TIBCO JasperReports® Server samples in JasperReports Server DB | true| +| buildomatic.includeSamples| Installs JasperReports® Server samples in JasperReports Server DB | true| | db.env | Enables the DB configuration using environment variables | true | | db.jrs.dbHost | JasperReports Server repository DB host | repository-postgresql.default.svc.cluster.local | | db.jrs.dbPort | JasperReports Server repository DB port | 5432| @@ -81,20 +81,20 @@ These parameters and values are the same as parameters in values.yaml. | extraEnv.secrets | Adds all the environment references from secrets or configmaps| null | | extraVolumeMounts | Adds extra volume mounts | null| | extraVolumes | Adds extra volumes | null | -| Service.type | TIBCO JasperReports® Server service type | ClusterIP (for now, we kept as NodePort for internal testing) +| Service.type | JasperReports® Server service type | ClusterIP (for now, we kept as NodePort for internal testing) | Service.port | Service port | 80 | -| healthcheck.enabled | Checks TIBCO JasperReports® Server pod health status | true | -| healthcheck.livenessProbe.port | TIBCO JasperReports® Server container port | 8080 | -| healthcheck.livenessProbe.initialDelaySeconds | Initial waiting time to check the health and restarts the TIBCO JasperReports® Server Webapp pod | 350 | +| healthcheck.enabled | Checks JasperReports® Server pod health status | true | +| healthcheck.livenessProbe.port | JasperReports® Server container port | 8080 | +| healthcheck.livenessProbe.initialDelaySeconds | Initial waiting time to check the health and restarts the JasperReports® Server Webapp pod | 350 | | healthcheck.livenessProbe.failureThreshold | Threshold for health checks | 10 | | healthcheck.livenessProbe.periodSeconds |Time period to check the health | 10 | | healthcheck.livenessProbe.timeoutSeconds | Timeout | 4 | -| healthcheck.readinessProbe.port | TIBCO JasperReports® Server container port | 8080 | +| healthcheck.readinessProbe.port | JasperReports® Server container port | 8080 | | healthcheck.readinessProbe.initialDelaySeconds | Initial delay before checking the health checks | 90 | | healthcheck.readinessProbe.failureThreshold | Threshold for health checks | 15 | | healthcheck.readinessProbe.periodSeconds | Time period to check the health checks | 10 | | healthcheck.readinessProbe.timeoutSeconds | Timeout | 4 | -| resources.enabled | Enables the minimum and maximum resources used by TIBCO JasperReports® Server | true | +| resources.enabled | Enables the minimum and maximum resources used by JasperReports® Server | true | | resources.limits.cpu | Maximum CPU | "3" | | resources.limits.memory | Maximum memory | 7.5Gi | | resources.requests.cpu | Minimum CPU | "2" | @@ -117,15 +117,15 @@ These parameters and values are the same as parameters in values.yaml. | jms.securityContext.capabilities.drop | Linux capabilities to drop for the pod | All | | ingress.enabled | Work with multiple pods and stickyness | false| | ingress.annotations.ingress.kubernetes.io\/cookie-persistence| | "JRS_COOKIE"| -| ingress.hosts.host | Adds valid DNS hostname to access the TIBCO JasperReports® Server | null| +| ingress.hosts.host | Adds valid DNS hostname to access the JasperReports® Server | null| | ingress.tls | Adds TLS secret name to allow secure traffic | null| | scalableQueryEngine.enabled | Communicates with Scalable Query Engine | false| | scalable-query-engine.replicaCount | Number of pods for Scalable Query Engine | 1| -| scalable-query-engine.image.tag | Scalable Query Engine image tag | 8.1.1| +| scalable-query-engine.image.tag | Scalable Query Engine image tag | 8.2.0| | scalable-query-engine.image.name | Name of the Scalable Query Engine image | null | | scalable-query-engine.image.pullPolicy| Scalable Query Engine image pull policy | ifNotPresent | | scalable-query-engine.autoscaling.enabled | Enables the HPA for Scalable Query Engine | true | -| scalable-query-engine.drivers.image.tag | Scalable Query Engine image tag | 8.1.1 | +| scalable-query-engine.drivers.image.tag | Scalable Query Engine image tag | 8.2.0 | | scalable-query-engine.drivers.image.name | | null | | scalable-query-engine.drivers.storageClassName | | hostpath | | scalable-query-engine.kubernetes-ingress.controller.service.type | | ClusterIP | @@ -133,7 +133,7 @@ These parameters and values are the same as parameters in values.yaml. | autoscaling.minReplicas | Minimum number of pods maintained by autoscaler | 1 | | autoscaling.maxReplicas | Maximum number of pods maintained by autoscaler | 4 | | autoscaling.targetCPUUtilizationPercentage | Minimum CPU utilization to scale up the application | 50% | -| autoscaling.targetMemoryUtilizationPercentage | Minimum memory utilization to scale up the TIBCO JasperReports® Server applications | {} | +| autoscaling.targetMemoryUtilizationPercentage | Minimum memory utilization to scale up the JasperReports® Server applications | {} | | tolerations | Adds the tolerations as per K8s standard if needed | null | | affinity | Adds the affinity as per K8s standards if needed | null | @@ -142,56 +142,167 @@ These parameters and values are the same as parameters in values.yaml. helm repo add haproxytech https://haproxytech.github.io/helm-charts helm repo add bitnami https://charts.bitnami.com/bitnami +# Setting Java options +During the deployment of JasperReports® Server with helm, JAVA_OPTS can be specified within the `OpenShift/jrs/helm/values.yaml` file. +This configuration option enables customization of the Java Virtual Machine settings, which can optimize the performance of the JasperReports® Server application. -# Installing TIBCO JasperReports® Server +If deploying JasperReports® Server with docker images based on JDK17, an additional JAVA_OPTS options need to be added in the in `OpenShift/jrs/helm/values.yaml` file: -1. Go to `jaspersersoft-containers/OpenShift` and to update the dependency charts, run `helm dependencies update jrs/helm`. -2. (Optional , in case DB has to be configure using env variables)Update the `db` section in `values.yaml` with the actual JasperReports Server DB details or create a separate secret like below. - +```yaml +extraEnv: + javaOpts: "-XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/javax.security.auth.login=ALL-UNNAMED --add-opens java.base/javax.security.auth=ALL-UNNAMED --add-opens java.base/jdk.internal.access.foreign=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens java.base/sun.util.calendar=ALL-UNNAMED" +``` - - apiVersion: v1 - kind: Secret - type: Opaque - metadata: - name: jasperserver-pro-db-secret - labels: - data: - DB_HOST: host-name - DB_PORT: port-name - DB_NAME: db-name - DB_USER_NAME:db-user-name - DB_PASSWORD: db-password - -All the DB details should be encoded in base64 format. - - **Note:** By default, the below details are used and for this, DB should be part of OpenShift Cluster in the default project. Please note the DB is already created, adding this won't enforce to create a DB - If JasperReports Server is deployed in a different project, then change the dbHost in the following format: `respository-postgresql..svc.cluster.local`. - +# Installing JasperReports® Server - dbHost: repository-postgresql.default.svc.cluster.local - dbPort: 5432 - dbName: jasperserver - dbUserName: postgres - dbPassword: postgres +1. Go to `jaspersersoft-containers/OpenShift` and to update the dependency charts, run `helm dependencies update jrs/helm`. +2. **Optional Step**: is required only if you plan to use environment variables from **Kubernetes Secrets** to pass `jasperserver` database details. +This option can be useful when the JasperReports® Server application needs to connect to its repository database, which is deployed externally and already loaded. +Repository details will be stored in Kubernetes secrets and will be used as environment variables during application startup. -These details are stored in Kubernetes secrets and used as environment variables during application startup. +There are two ways to manage the Kubernetes Secret for passing `jasperserver` database details: -**Note on Audit DB:** Enable the `db.audit.enable=true` if separate Audit DB is required for audit events, and add the below values to the db-secrets. Please note the Audit DB is already created, adding this won't enforce to create a DB +- The Secret can be automatically generated from the values provided in `OpenShift/jrs/helm/values.yaml`. This approach simplifies the Secret management process by automatically populating it with the required details and deploying it. +- Alternatively, you can create a **Custom Kubernetes Secret** and deploy it into the cluster. This option provides greater control over the Secret contents and can be useful when specific Secrets management requirements need to be met. +Note that both options can only be used when the `jasperserver` repository database is already created and loaded. - AUDIT_DB_HOST: audit-db-host - AUDIT_DB_PORT: audit-db-port - AUDIT_DB_NAME: audit-db-name - AUDIT_DB_USER_NAME: audit-db-user-name - AUDIT_DB_PASSWORD: audit-password +The first step in either case is to set `buildomatic.enabled` to **false** in `OpenShift/jrs/helm/values.yaml`. +This setting instructs the Helm chart to skip the `jasperserver-buildomatic` job that creates and loads the repository database. -3. Build the docker images for TIBCO JasperReports® Server, and Scalable Query Engine (see the [Docker JasperReports Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableAdhocWorker#readme) ). + +**Option 1: Automatically generated Kubernetes Secret** + +Update the `db` section in `OpenShift/jrs/helm/values.yaml`, set `db.env` to **true**. Then, configure the `jrs` sub-section with the necessary database details. Note that you should not pass a `secretName` in this case. +Here is configuration example: +```yaml +db: + env: true + secretName: + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres +``` + +**Note** that in this example, the `jasperserver` database was pre-created using the PostgreSQL Helm chart from this guide, and it is part of the same Kubernetes cluster in the default namespace. +If JasperReports® Server is deployed in a different namespace or cluster, update the `dbHost` parameter in the following format: `-postgresql..svc.cluster.`. +If the JasperReports® Server repository database is deployed remotely, such as in AWS RDS, then set the `dbHost` to a value that is accessible from the Kubernetes cluster. + +With this step completed, you can move on to the next installation instructions. + + +**Option 2: Custom Kubernetes Secret** + +First create a separate secret in `OpenShift/jrs/helm/templates` folder, for example: + +**Filename**: `OpenShift/jrs/helm/templates/envsecret.yaml` + +```yaml + apiVersion: v1 + kind: Secret + type: Opaque + metadata: + name: custom-db-secret + labels: + data: + DB_HOST: host-name + DB_PORT: port-name + DB_NAME: db-name + DB_USER_NAME: db-user-name + DB_PASSWORD: db-password +``` + +**Note**: Every variable value under `data` section should be encoded in base64 format. You can use the following command to encode a string in base64 on Linux: +```commandline +echo -n "my-password" | base64 +``` +On Windows use powershell command that can encode text in file: +``` +certutil -f -encode raw.txt encoded.txt +``` + +After the secret file is created and the values are encoded in base64, it has to be deployed into the Kubernetes cluster using the following command: +```commandline +oc apply -f OpenShift/jrs/helm/templates/envsecret.yaml +``` + +Then edit `OpenShift/jrs/helm/values.yaml` and go to the `db` section. Set `env` to **true** and pass the secret name that you created. For example: + +```yaml +db: + env: true + secretName: custom-db-secret + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres +``` +**Note**: when `secretName` is set, then all properties under `jrs` sub-section will be ignored. + +You may now proceed to the next steps of the installation. + + +**JasperReports® Server Compact and Split installation** +- In Compact installation mode (default), all audit events will be stored in the same repository database. +- In Split installation mode (selected in default_master.properties), audit events will be stored in a separate database. + +To use the secrets for Compact installation, no additional configuration is required. + +To use the secrets for Split installation, first ensure that the audit database has already been created, loaded, and is accessible. + +Then, set `db.audit.enable=true` in `OpenShift/jrs/helm/values.yaml` to get automatically generated secret: + +```yaml +db: + env: false + secretName: + jrs: + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jasperserver + dbUserName: postgres + dbPassword: postgres + audit: + enabled: true + dbHost: repository-postgresql.default.svc.cluster.local + dbPort: 5432 + dbName: jrsaudit + dbUserName: postgres + dbPassword: postgres +``` + +or update your custom secret file `OpenShift/jrs/helm/templates/envsecret.yaml` with additional properties for Audit DB: + +```yaml + apiVersion: v1 + kind: Secret + type: Opaque + metadata: + name: custom-db-secret + labels: + data: + DB_HOST: host-name + DB_PORT: port-name + DB_NAME: db-name + DB_USER_NAME: db-user-name + DB_PASSWORD: db-password + AUDIT_DB_HOST: audit-db-host + AUDIT_DB_PORT: audit-db-port + AUDIT_DB_NAME: audit-db-name + AUDIT_DB_USER_NAME: audit-db-user-name + AUDIT_DB_PASSWORD: audit-password +``` +3. Build the docker images for JasperReports® Server, and Scalable Query Engine (see the [Docker JasperReports Server readme](../../Docker/jrs#readme) and [Docker Scalable Query Engine readme](../../Docker/scalableAdhocWorker#readme) ). 4. Generate the keystore and copy it to the `OpenShift/jrs/helm/secrets/keystore` folder, see here for [Keystore Generation ](../../Docker/jrs#keystore-generation). -5. Copy the TIBCO JasperReports® Server license to the `OpenShift/jrs/helm/secrets/license` folder. +5. Copy the JasperReports® Server license to the `OpenShift/jrs/helm/secrets/license` folder. ## JMS Configuration -By default, TIBCO JasperReports® Server will install using activemq docker image. You can disable it by changing the parameter `jms.enabled=false`. +By default, JasperReports® Server will install using activemq docker image. You can disable it by changing the parameter `jms.enabled=false`. External JMS instance can also be used instead of in-build JMS setup by adding the external jms url `jms.jmsBrokerUrl`. You can access it by using tcp port, for instance `tcp://:61616`. @@ -208,7 +319,7 @@ External JMS instance can also be used instead of in-build JMS setup by adding t - Set **buildomatic.enabled=true** for repository setup. By default, samples are included, if it is not required, set **buildomatic.includeSamples=false**. -- Run the below command to install TIBCO JasperReports® Server and repository setup. +- Run the below command to install JasperReports® Server and repository setup. `helm install jrs jrs/helm --wait --timeout 17m0s` @@ -224,7 +335,7 @@ List all the resources. ## Route Configuration -OpenShift [Route](https://docs.openshift.com/container-platform/4.8/networking/routes/route-configuration.html) is used to manage the traffic across the TIBCO JasperReports® Server pods and session replication. By default, it is enabled and created in the OpenShift cluster. +OpenShift [Route](https://docs.openshift.com/container-platform/4.8/networking/routes/route-configuration.html) is used to manage the traffic across the JasperReports® Server pods and session replication. By default, it is enabled and created in the OpenShift cluster. To get the host name, run the below command: @@ -232,14 +343,14 @@ To get the host name, run the below command: See the [ Official Docs](https://docs.openshift.com/container-platform/4.8/networking/routes/secured-routes.html) for TLS configuration. You can do it from the OpenShift webconsole or update the `route.tls` section in values.yaml. -# Integrating the Scalable Query Engine and TIBCO JasperReports® Server +# Integrating the Scalable Query Engine and JasperReports® Server 1. Enable the Scalable Query Engine to be installed by changing the `scalableQueryEngine.enabled = true`. **Note:** By default, Scalable Query Engine is disabled. 2. Update the parameters if needed by changing the `scalable-query-engine` section in values.yaml. -3. Follow the [JasperReports Server installation procedure](#installing-tibco-jasperreports-server) to install the JasperReports Server, and the Scalable Query Engine will integrate automatically. +3. Follow the [JasperReports Server installation procedure](#installing-jasperreports-server) to install the JasperReports Server, and the Scalable Query Engine will integrate automatically. # Troubleshooting diff --git a/jaspersoft-containers/OpenShift/jrs/helm/Chart.yaml b/jaspersoft-containers/OpenShift/jrs/helm/Chart.yaml index 2c6b2a3..c43fb11 100644 --- a/jaspersoft-containers/OpenShift/jrs/helm/Chart.yaml +++ b/jaspersoft-containers/OpenShift/jrs/helm/Chart.yaml @@ -3,7 +3,7 @@ name: jasperserver-pro description: JasperReportServer deployment in K8s type: application version: 1.0.0 -appVersion: "8.1.1" +appVersion: "8.2.0" keywords: - Analytics - BI Tool diff --git a/jaspersoft-containers/OpenShift/jrs/helm/charts/scalable-query-engine-1.0.0.tgz b/jaspersoft-containers/OpenShift/jrs/helm/charts/scalable-query-engine-1.0.0.tgz index 72ad654..9a09ce2 100644 Binary files a/jaspersoft-containers/OpenShift/jrs/helm/charts/scalable-query-engine-1.0.0.tgz and b/jaspersoft-containers/OpenShift/jrs/helm/charts/scalable-query-engine-1.0.0.tgz differ diff --git a/jaspersoft-containers/OpenShift/jrs/helm/secrets/keystore/README.md b/jaspersoft-containers/OpenShift/jrs/helm/secrets/keystore/README.md index dc039db..afb712b 100644 --- a/jaspersoft-containers/OpenShift/jrs/helm/secrets/keystore/README.md +++ b/jaspersoft-containers/OpenShift/jrs/helm/secrets/keystore/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server -This directory is used to store TIBCO JasperReports® Server keystore. You can place .jrsks and .jrsksp files here +# JasperReports® Server +This directory is used to store JasperReports® Server keystore. You can place .jrsks and .jrsksp files here diff --git a/jaspersoft-containers/OpenShift/jrs/helm/secrets/license/README.md b/jaspersoft-containers/OpenShift/jrs/helm/secrets/license/README.md index a8b48cc..be94f8c 100644 --- a/jaspersoft-containers/OpenShift/jrs/helm/secrets/license/README.md +++ b/jaspersoft-containers/OpenShift/jrs/helm/secrets/license/README.md @@ -1,2 +1,2 @@ -# TIBCO JasperReports® Server -This directory is used to store TIBCO JasperReports® Server License. You can place license file here +# JasperReports® Server +This directory is used to store JasperReports® Server License. You can place license file here diff --git a/jaspersoft-containers/OpenShift/jrs/helm/templates/db-configmap.yaml b/jaspersoft-containers/OpenShift/jrs/helm/templates/db-configmap.yaml index 94b56c3..3656145 100644 --- a/jaspersoft-containers/OpenShift/jrs/helm/templates/db-configmap.yaml +++ b/jaspersoft-containers/OpenShift/jrs/helm/templates/db-configmap.yaml @@ -29,7 +29,7 @@ data: url="jdbc:postgresql://${AUDIT_DB_HOST}:${AUDIT_DB_PORT}/${AUDIT_DB_NAME}" factory="com.jaspersoft.jasperserver.tomcat.jndi.JSCommonsBasicDataSourceFactory" /> - {{- else if semverCompare ">= 8.1.1" .Values.jrsVersion }} + {{- else if semverCompare ">= 8.2.0" .Values.jrsVersion }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/jaspersoft-containers/OpenShift/jrs/helm/values.yaml b/jaspersoft-containers/OpenShift/jrs/helm/values.yaml index ef6a454..ea5342f 100644 --- a/jaspersoft-containers/OpenShift/jrs/helm/values.yaml +++ b/jaspersoft-containers/OpenShift/jrs/helm/values.yaml @@ -3,9 +3,9 @@ # Declare variables to be passed into your templates. replicaCount: 1 -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 image: - tag: 8.1.1 + tag: 8.2.0 name: jrscontainerregistry.azurecr.io/jrs/webapp pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -57,7 +57,7 @@ securityContext: buildomatic: enabled: true name: jasperserver-buildomatic - imageTag: 8.1.1 + imageTag: 8.2.0 imageName: jrscontainerregistry.azurecr.io/jrs/buildomatic pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -220,7 +220,7 @@ scalableQueryEngineUrl: {} scalable-query-engine: replicaCount: 1 image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent autoscaling: @@ -232,7 +232,7 @@ scalable-query-engine: drivers: enabled: true image: - tag: 8.1.1 + tag: 8.2.0 name: kubernetes-ingress: controller: diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/README.md b/jaspersoft-containers/OpenShift/scalableQueryEngine/README.md index 823df34..9569a87 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/README.md +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/README.md @@ -9,19 +9,19 @@ - [Redis Configuration](#redis-configuration) - [JNDI Configuration](#jndi-configuration) - [Installing Scalable Query Engine](#installing-scalable-query-engine) -- [Integrating Scalable Query Engine with TIBCO JasperReports® Server](#integrating-scalable-query-engine-with-tibco-jasperreports-server) +- [Integrating Scalable Query Engine with JasperReports® Server](#integrating-scalable-query-engine-with-jasperreports-server) # Introduction These configuration files (Helm Charts) perform declarative configuration by using [Helm Package Manager](https://helm.sh/docs/) to deploy the - TIBCO JasperReports® Server Scalable Query Engine in Kubernetes cluster. + JasperReports® Server Scalable Query Engine in Kubernetes cluster. # Prerequisites 1. Docker-engine (19.x+) setup with Docker Compose (3.9+) 1. OpenShift cluster with 4.6+ -1. TIBCO JasperReports® Server +1. JasperReports® Server 1. Keystore 1. Git 1. [Helm 3.5](https://helm.sh/docs/intro/) @@ -33,7 +33,7 @@ | Parameter| Description | Default Value | |------------| -------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | replicaCount| Number of pods | 1 (It will not come into effect if autoscaling is enabled.) | -| jrsVersion| TIBCO JasperReports® Server release version | 8.1.1 | +| jrsVersion| JasperReports® Server release version | 8.2.0 | | image.name| Name of the Scalable Query Engine image | jrscontainerregistry.azurecr.io/engine/worker | | image.tag | Name of the Scalable Query Engine image tag | JasperReports® Server Release Version | | image.pullPolicy | Docker image pull policy | IfNotPresent | @@ -138,7 +138,7 @@ | jrs.load-balancer.timedOut | | 30000 | | drivers.enabled | Enable the drivers | true | | drivers.image.name | Image name for Scalable Query Engine Driver image | jrscontainerregistry.azurecr.io/engine/driver | -| drivers.image.tag | Scalable Query Engine Driver image tag | 8.1.1 | +| drivers.image.tag | Scalable Query Engine Driver image tag | 8.2.0 | | drivers.image.pullPolicy | Image pull policy | IfNotPresent | | drivers.storageClassName | Driver image storage class name | hostPath | | drivers.image.jdbcDriversPath | JDBC drivers path | /usr/lib/drivers | diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.lock b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.lock index 1041b45..270b82f 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.lock +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.lock @@ -18,4 +18,4 @@ dependencies: repository: "" version: 1.0.0 digest: sha256:8dd4ce24539438f888c86ad3440e5b9caf6bc21a8aa71659e4b20002e172e623 -generated: "2022-12-20T23:16:25.6932285+05:30" +generated: "2022-12-21T14:05:04.4599604+05:30" diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.yaml b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.yaml index 21d1f7c..e0cf99f 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.yaml +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/Chart.yaml @@ -3,10 +3,10 @@ name: scalable-query-engine description: Helm Chart for Scalable Query Engine type: application version: 1.0.0 -appVersion: 8.1.1 +appVersion: 8.2.0 maintainers: - name: Jaspersoft Eng Infra - email: js-eng-infra@tico.com + email: js-eng-infra@tibco.com dependencies: - name: kubernetes-ingress version: 1.15.4 diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml index 4faccbc..86f0c41 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/Chart.yaml @@ -3,7 +3,7 @@ name: scalable-query-engine-scaling description: Scalable Query Engine custome scaling type: application version: 1.0.0 -appVersion: 8.1.1 +appVersion: 8.2.0 maintainers: - name: Jaspersoft Eng Infra email: js-eng-infra@tibco.com diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml index 4b974b9..0053b95 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/charts/scalable-query-engine-scaling/values.yaml @@ -1,4 +1,4 @@ -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 queryEngine: deployment: jrs-scalable-query-engine diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/secrets/keystore/README.md b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/secrets/keystore/README.md index 2fa8acc..115ea1b 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/secrets/keystore/README.md +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/secrets/keystore/README.md @@ -1,3 +1,3 @@ -# TIBCO JasperReports® Server Scalable Query Engine Keystore -This directory is used to store TIBCO JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here +# JasperReports® Server Scalable Query Engine Keystore +This directory is used to store JasperReports® Server Scalable Query Engine keystore. You can place .jrsks and .jrsksp files here 1. These keystore must be same as JasperReports Server keystore which is used to create the repository database diff --git a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/values.yaml b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/values.yaml index ae06569..fb764af 100644 --- a/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/values.yaml +++ b/jaspersoft-containers/OpenShift/scalableQueryEngine/helm/values.yaml @@ -1,7 +1,7 @@ replicaCount: 1 -jrsVersion: 8.1.1 +jrsVersion: 8.2.0 image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent ## Secrets must be manually created in the namespace. @@ -244,7 +244,7 @@ jrs: drivers: enabled: true image: - tag: 8.1.1 + tag: 8.2.0 name: pullPolicy: IfNotPresent PullSecrets: diff --git a/jaspersoft-containers/README.md b/jaspersoft-containers/README.md index 12b0d7f..f752524 100644 --- a/jaspersoft-containers/README.md +++ b/jaspersoft-containers/README.md @@ -1,5 +1,5 @@ -# TIBCO JasperReports® Server for Containers -This project intends to build, configure, and deploy TIBCO JasperReports® Server and Scalable Adhoc Worker on Docker and Kubernetes. +# JasperReports® Server for Containers +This project intends to build, configure, and deploy JasperReports® Server and Scalable Adhoc Worker on Docker and Kubernetes. ## Repository Structure @@ -7,9 +7,9 @@ This repository contains: | Repository Directory| Description | |------------| -------------| -|**[Docker/jrs](./Docker/jrs)**| This distribution includes `Dockerfile`, scripts, and supporting files for building, configuring, and running TIBCO JasperReports® Server in Docker. | -|**[Docker/scalableQueryEngine](./Docker/scalableQueryEngine)** | This distribution includes `Dockerfile`, scripts, and supporting files for building, configuring, and running TIBCO JasperReports® Server Scalable Query Engine in Docker.| -| **[K8s/jrs](./K8s/jrs)** | This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server in Kubernetes. -|**[K8s/scalableQueryEngine](./K8s/scalableQueryEngine)** | This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server Scalable Query Engine in Kubernetes. | -|**[OpenShift/jrs](./OpenShift/jrs)**| This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server in OpenShift. | -|**[OpenShift/scalableQueryEngine](./OpenShift/scalableQueryEngine)**| This distribution includes supporting and configuration files for configuring and running TIBCO JasperReports® Server Scalable Query Engine in OpenShift. | +|**[Docker/jrs](./Docker/jrs)**| This distribution includes `Dockerfile`, scripts, and supporting files for building, configuring, and running JasperReports® Server in Docker. | +|**[Docker/scalableQueryEngine](./Docker/scalableQueryEngine)** | This distribution includes `Dockerfile`, scripts, and supporting files for building, configuring, and running JasperReports® Server Scalable Query Engine in Docker.| +| **[K8s/jrs](./K8s/jrs)** | This distribution includes supporting and configuration files for configuring and running JasperReports® Server in Kubernetes. +|**[K8s/scalableQueryEngine](./K8s/scalableQueryEngine)** | This distribution includes supporting and configuration files for configuring and running JasperReports® Server Scalable Query Engine in Kubernetes. | +|**[OpenShift/jrs](./OpenShift/jrs)**| This distribution includes supporting and configuration files for configuring and running JasperReports® Server in OpenShift. | +|**[OpenShift/scalableQueryEngine](./OpenShift/scalableQueryEngine)**| This distribution includes supporting and configuration files for configuring and running JasperReports® Server Scalable Query Engine in OpenShift. |