Skip to content

v2023.3 - 18/09/2023

Compare
Choose a tag to compare
@jenriquesoriano jenriquesoriano released this 19 Sep 11:00
· 29 commits to master since this release
483728b

The version published at this time contains non-breaking changes related to the INSPIRE Reference Validator.

🐛 Bugfixes

  • #823 SNI Error validating services
  • #642 Problem with the test case "OpenSearch Description Query examples for each dataset" of predefined-ATOM - #815

🚀 Validator UI

  • #47 Remove beta instance entry from the menu

Deployment instructions

The section containing the deployment process using Docker image and troubleshooting section. You can also find these in the training material

docker login docker.pkg.github.com 
#Provide Github credentials
docker run --name inspire-validator -d -p 8090:8090 -v ~/etf:/etf docker.pkg.github.com/inspire-mif/helpdesk-validator/inspire-validator:2023.3
#Launches a container with the image, exposing the UI in port 8090 through the same port in the host machine, and uses a volume in the local file system, on the directory ~/etf

Please note that installation instructions for apt-get include --allow-unauthenticated parameter because the certificate of the Debian repository has expired, so this parameter is needed to download and install the tools properly.

Modifying the Docker image

In the inspire-validator ZIP file, you can find all the resources needed to generate the Docker image from this release. If you would like to tweak anything from it, you can modify any of its contents (Dockerfile, entrypoint file, configuration files... ), then execute the command

docker build -t [IMAGE_NAME]:[VERSION]

You can run this again using the run command

docker run --name inspire-validator -d -p 8090:8090 -v ~/etf:/etf [IMAGE_NAME]:[VERSION]
Deployment on production host

The Docker image is set up to run at localhost to be deployed on any machine. However, users may need to access their validator on a dedicated host, usually with a domain name. For proper functioning of the validator, the UI and correct rendering of Test Reports, the validator needs to be configured to run on a domain.

If you want to run the webapp in another host, you can change the configuration file, inside the .war file inside the inspire-validator zip file accompanying this release, at WEB-INF/classes/etf-config.properties, and modify the etf.webapp.base.url property.
It is also necessary to configure the Validator UI properties in order to properly point to the ETF. Thus, it is necessary to modify the configuration values in the /validator/js/config.js file inside the ui.zip (to point to the corresponding host domain).
Then you can proceed to the build process described in the previous point.

Since 22/12/2022 OGC moved to production version 5.5.2 (2022-08-26) of the TEAM Engine, which introduced credentials for the calls to the services.
Thus, any deployment which makes use of the OGC TEAM Engine needs to introduce credentials (to be requested here) in order to use them.
We have incorporated three parameters in the /WEB-INF/classes/etf-config.properties file of validator.war that need to be filled accordingly to authorize the use of the services:

#TEAM Engine credentials of your organization in order to properly use TEAM Engine remote calls
etf.testdrivers.teamengine.url = http://cite.opengeospatial.org/teamengine
etf.testdrivers.teamengine.username = 
etf.testdrivers.teamengine.password =
Exposing the validator through a proxy

Usually, host machines are connected to a private network that accesses the Internet through a proxy. The Docker client needs to be configured to make use of this proxy, in order to be able to build the image and set up running the container.

For the build process, you need to add the following arguments to the command

--build-arg http_proxy=[HTTP_PROXY_URL:PORT]  --build-arg https_proxy=[HTTPS_PROXY_URL:PORT]  --build-arg no_proxy=127.0.0.1,localhost,*.<my-domain>

For the run command, you need to add the environment variables to it

--env http_proxy=[HTTP_PROXY_URL:PORT]  --env https_proxy=[HTTPS_PROXY_URL:PORT]  --env no_proxy=127.0.0.1,localhost,*.<mydomain>

These can also be set up in the Dockerfile, using the keyword ENV

For more information please check out https://docs.docker.com/network/proxy

For further configuration, please download the file inspire-validator-2023.3.zip and follow the instructions in the README.md file inside the .zip file.

Setting up a cache of INSPIRE Registry resources

In your own deployment you may want to increase the performance of fetching the different resources that the INSPIRE Reference Validator requires from the INSPIRE Registry for validations.

Attached is the file inspire-registry-resources.zip, which includes the resources that the INSPIRE Reference Validator requests to the INSPIRE Registry to execute the validations defined in the Executable Test Suites (ETSs).
Using this content, you may configure your own deployment to access these resources without the need to make a call to the INSPIRE Registry to obtain them, increasing the performance of your own instance while decreasing the dependency on external resources in your installation.