From 6d60e17be73bde62711a3b0f3a60626eed35d381 Mon Sep 17 00:00:00 2001 From: "Dr. Christoph \"Schorsch\" Jung" Date: Mon, 5 Feb 2024 17:29:31 +0100 Subject: [PATCH 1/4] fix: problems with busybox default shell on linux/amd64. need to port entryscript to ash expressions. --- provisioning/resources/cx-ontology.ttl | 33 ++++ provisioning/resources/cx-ontology.xml | 34 ++++ provisioning/resources/entrypoint.sh | 202 +++++++++++---------- provisioning/resources/portal.toml | 55 ++++++ provisioning/resources/settings.properties | 3 + provisioning/src/main/docker/Dockerfile | 5 +- 6 files changed, 231 insertions(+), 101 deletions(-) create mode 100644 provisioning/resources/cx-ontology.ttl create mode 100644 provisioning/resources/cx-ontology.xml create mode 100644 provisioning/resources/portal.toml create mode 100644 provisioning/resources/settings.properties diff --git a/provisioning/resources/cx-ontology.ttl b/provisioning/resources/cx-ontology.ttl new file mode 100644 index 00000000..4e842f19 --- /dev/null +++ b/provisioning/resources/cx-ontology.ttl @@ -0,0 +1,33 @@ +# Copyright (c) 2022,2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +@prefix cx: . +@prefix dc: . +@prefix owl: . +@prefix rdfs: . +@prefix schema: . +@prefix skos: . +@prefix xsd: . +@prefix json: . + +json:Object a rdfs:Datatype. + +cx:CxOntology a owl:Ontology ; + dc:creator "Catena-X Knowledge Agents Team" ; + dc:date "2022-11-29"^^xsd:date ; + dc:description "Catena-X Ontology for the Autmotive Industry." ; + dc:title "Catena-X Ontology" . \ No newline at end of file diff --git a/provisioning/resources/cx-ontology.xml b/provisioning/resources/cx-ontology.xml new file mode 100644 index 00000000..7b85ce80 --- /dev/null +++ b/provisioning/resources/cx-ontology.xml @@ -0,0 +1,34 @@ + + + + + + + + + + \ No newline at end of file diff --git a/provisioning/resources/entrypoint.sh b/provisioning/resources/entrypoint.sh index c05e1cf2..ea576803 100644 --- a/provisioning/resources/entrypoint.sh +++ b/provisioning/resources/entrypoint.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Copyright (c) 2022,2023 Contributors to the Eclipse Foundation # @@ -21,106 +21,108 @@ # Entry script for provisioning agent/ontop with the ability to start multiple endpoints in lazy mode and disable CORS # -# Reinterpret the environment vars as arrays -ONTOP_PORT=( ${ONTOP_PORT[*]} ) -ONTOP_ONTOLOGY_FILE=( ${ONTOP_ONTOLOGY_FILE[*]} ) -ONTOP_MAPPING_FILE=( ${ONTOP_MAPPING_FILE[*]} ) -ONTOP_PROPERTIES_FILE=( ${ONTOP_PROPERTIES_FILE[*]} ) -ONTOP_PORTAL_FILE=( ${ONTOP_PORTAL_FILE[*]} ) -ONTOP_DEV_MODE=( ${ONTOP_DEV_MODE[*]} ) -JAVA_TOOL_OPTIONS_ARRAY=( ${JAVA_TOOL_OPTIONS[*]} ) - -ENDPOINT_LENGTH=${#ONTOP_PORT[@]} -if [[ ${ENDPOINT_LENGTH} -gt 0 ]]; then - echo "Found ${ENDPOINT_LENGTH} endpoints to provision."; -else - echo "Incorrect port specification: ${ONTOP_PORT[*]}"; - exit 1; -fi - -((ENDPOINT_LENGTH--)) - -# for matching the definitions -NUMBER='^[0-9]+$' -TOML='^.*toml$' -ONTOLOGY='^.*(ttl|xml)$' -MAPPING='^.*(obda)$' -PROPERTIES='^.*(properties)$' -CORS="--cors-allowed-origins=${ONTOP_CORS_ALLOWED_ORIGINS}" +CORS="" LAZY="--lazy" +ENDPOINT_LENGTH=0 +ONTOP_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS -# Loop over the endpoints driven by the ports -for ENDPOINT_NUMBER in "${!ONTOP_PORT[@]}" -do - # check port number - if [[ "${ONTOP_PORT[${ENDPOINT_NUMBER}]}" =~ ${NUMBER} ]]; then - echo "Providing endpoint ${ENDPOINT_NUMBER} on port ${ONTOP_PORT[${ENDPOINT_NUMBER}]}"; - PORT="--port=${ONTOP_PORT[${ENDPOINT_NUMBER}]}"; - - # check ontology - if [[ "${ONTOP_ONTOLOGY_FILE[${ENDPOINT_NUMBER}]}" =~ ${ONTOLOGY} ]]; then - echo "Providing endpoint ${ENDPOINT_NUMBER} on ontology ${ONTOP_ONTOLOGY_FILE[${ENDPOINT_NUMBER}]}"; - ONTOLOGY_FILE="--ontology=${ONTOP_ONTOLOGY_FILE[${ENDPOINT_NUMBER}]}"; - - # check mapping - if [[ "${ONTOP_MAPPING_FILE[${ENDPOINT_NUMBER}]}" =~ ${MAPPING} ]]; then - - echo "Providing endpoint ${ENDPOINT_NUMBER} on mapping ${ONTOP_MAPPING_FILE[${ENDPOINT_NUMBER}]}"; - MAPPING_FILE="--mapping=${ONTOP_MAPPING_FILE[${ENDPOINT_NUMBER}]}"; - - # check properties - if [[ "${ONTOP_PROPERTIES_FILE[${ENDPOINT_NUMBER}]}" =~ ${PROPERTIES} ]]; then - - echo "Providing endpoint ${ENDPOINT_NUMBER} on properties ${ONTOP_PROPERTIES_FILE[${ENDPOINT_NUMBER}]}"; - PROPERTIES_FILE="--properties=${ONTOP_PROPERTIES_FILE[${ENDPOINT_NUMBER}]}"; - - # check developer mode - if [ "${ONTOP_DEV_MODE[${ENDPOINT_NUMBER}]}" == "true" ]; then - echo "Providing endpoint ${ENDPOINT_NUMBER} in developer mode"; - DEV_MODE="--dev" - else - DEV_MODE="" - fi - - # check portal activation - if [[ "${ONTOP_PORTAL_FILE[${ENDPOINT_NUMBER}]}" =~ ${TOML} ]]; then - echo "Providing endpoint ${ENDPOINT_NUMBER} on portal ${ONTOP_PORTAL_FILE[${ENDPOINT_NUMBER}]}"; - PORTAL_FILE="--portal=${ONTOP_PORTAL_FILE[${ENDPOINT_NUMBER}]}" - else - PORTAL_FILE="" - fi - - JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS_ARRAY[${ENDPOINT_NUMBER}]}; - - echo "Arguments: ${ONTOLOGY_FILE} ${MAPPING_FILE} ${PROPERTIES_FILE} ${PORTAL_FILE} ${DEV_MODE} ${PORT} ${CORS} ${JAVA_TOOL_OPTIONS}"; - - if [[ "${ENDPOINT_NUMBER}" == "${ENDPOINT_LENGTH}" ]]; then - echo "Invoking last process"; - java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ - it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY_FILE} ${MAPPING_FILE} \ - ${PROPERTIES_FILE} ${PORTAL_FILE} ${DEV_MODE} ${PORT} ${CORS} ${LAZY}; - else - echo "Invoking intermediate process"; - java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ - it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY_FILE} ${MAPPING_FILE} \ - ${PROPERTIES_FILE} ${PORTAL_FILE} ${DEV_MODE} ${PORT} ${CORS} ${LAZY}& - fi - - else - # Incorrect properties - echo "Cannot provide endpoint ${ENDPOINT_NUMBER} as incorrect properties given: ${ONTOP_PROPERTIES_FILE[${ENDPOINT_NUMBER}]}"; - fi - else - # Incorrect mapping - echo "Cannot provide endpoint ${ENDPOINT_NUMBER} as incorrect mapping given: ${ONTOP_MAPPING_FILE[${ENDPOINT_NUMBER}]}"; - fi - else - # Incorrect ontology - echo "Cannot provide endpoint ${ENDPOINT_NUMBER} as incorrect ontology given: ${ONTOP_ONTOLOGY_FILE[${ENDPOINT_NUMBER}]}"; - fi - else - # Incorrect port number - echo "Cannot provide endpoint ${ENDPOINT_NUMBER} as incorrect port number given: ${ONTOP_PORT[${ENDPOINT_NUMBER}]}"; - fi +for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. + ENDPOINT_LENGTH=$((ENDPOINT_INDEX+1)) done +if [ "$ONTOP_CORS_ALLOWED_ORIGINS" != "" ]; then + CORS="--cors-allowed-origins=${ONTOP_CORS_ALLOWED_ORIGINS}" +fi + +echo "Found $ENDPOINT_LENGTH endpoints to provide under $CORS $LAZY." + +ENDPOINT_INDEX=0 +for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. + ENDPOINT_INDEX=$((ENDPOINT_INDEX+1)) + + ONTOLOGY="/opt/ontop/ontology.ttl" + ONTOLOGY_INDEX=0 + for ONTOLOGY_FILE in $ONTOP_ONTOLOGY_FILE ; do + ONTOLOGY_INDEX=$((ONTOLOGY_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $ONTOLOGY_INDEX ]; then + ONTOLOGY=$ONTOLOGY_FILE + fi + done + + MAPPING="/opt/ontop/input/mapping.obda" + MAPPING_INDEX=0 + for MAPPING_FILE in $ONTOP_MAPPING_FILE ; do + MAPPING_INDEX=$((MAPPING_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $MAPPING_INDEX ]; then + MAPPING=$MAPPING_FILE + fi + done + + PROPERTIES="/opt/ontop/input/settings.properties" + PROPERTIES_INDEX=0 + for PROPERTIES_FILE in $ONTOP_PROPERTIES_FILE ; do + PROPERTIES_INDEX=$((PROPERTIES_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $PROPERTIES_INDEX ]; then + PROPERTIES=$PROPERTIES_FILE + fi + done + + DEV="false" + DEV_INDEX=0 + for DEV_MODE in $ONTOP_DEV_MODE ; do + DEV_INDEX=$((DEV_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $DEV_INDEX ]; then + DEV=$DEV_MODE + fi + done + + JAVA_TOOL_OPTIONS="" + TOOL_INDEX=0 + for TOOL_OPTIONS in $ONTOP_TOOL_OPTIONS ; do + TOOL_INDEX=$((TOOL_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $TOOL_INDEX ]; then + JAVA_TOOL_OPTIONS=$TOOL_OPTIONS + fi + done + + PORTAL="/opt/ontop/portal.toml" + PORTAL_INDEX=0 + for PORTAL_FILE in $ONTOP_PORTAL_FILES ; do + PORTAL_INDEX=$((PORTAL_INDEX+1)) + + if [ $ENDPOINT_INDEX -ge $PORTAL_INDEX ]; then + PORTAL=$PORTAL_FILE + fi + done + + echo "Providing endpoint $ENDPOINT_INDEX on port $ENDPOINT with ontology $ONTOLOGY mapping $MAPPING properties $PROPERTIES portal $PORTAL dev mode $DEV and tool options $JAVA_TOOL_OPTIONS" + + ENDPOINT="--port=$ENDPOINT" + ONTOLOGY="--ontology=$ONTOLOGY" + MAPPING="--mapping=$MAPPING" + PROPERTIES="--properties=$PROPERTIES" + if [ "$DEV" == "true" ]; then + DEV="--dev" + else + DEV="" + fi + PORTAL="--portal=$PORTAL" + + if [ $ENDPOINT_INDEX -eq $ENDPOINT_LENGTH ]; then + echo "Invoking last process"; + java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ + it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY} ${MAPPING} \ + ${PROPERTIES} ${PORTAL} ${DEV} ${ENDPOINT} ${CORS} ${LAZY}; + else + echo "Invoking intermediate process"; + JAVA_TOOL_OPTIONS=TOOL + java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ + it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY_FILE} ${MAPPING_FILE} \ + ${PROPERTIES} ${PORTAL} ${DEV} ${ENDPOINT} ${CORS} ${LAZY}& + fi +done \ No newline at end of file diff --git a/provisioning/resources/portal.toml b/provisioning/resources/portal.toml new file mode 100644 index 00000000..cb343404 --- /dev/null +++ b/provisioning/resources/portal.toml @@ -0,0 +1,55 @@ +# Copyright (c) 2022,2023 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +title="Catena-X Agent Provisioning Demo" + +[[tabGroups]] + +name="Example Queries" + +[[tabGroups.tabs]] + +name="Diagnosis Skill" +query=""" +PREFIX cx: +PREFIX cx-diag: +PREFIX rdf: +PREFIX rdfs: +SELECT ?reason ?code ?description ?version ?partend ?partcat ?partclass WHERE { + # Select Business Partner + ?Oem cx:BPNL "BPNL00000003COJN". + + # Search for Trouble Codes of the Business Partner + # related to a cause in the "Kabelbaum" + ?Dtc rdf:type cx-diag:DTC. + ?Dtc cx:provisionedBy ?Oem. + ?Dtc cx-diag:PossibleCauses ?reason. + FILTER contains(?reason,"Kabelbaum"). + ?Dtc cx-diag:Code ?code. + ?Dtc cx-diag:Description ?description. + ?Dtc cx-diag:Version ?version. + + # Navigate to the affected parts + # and show only parts with a classification "Powertrain" + ?Dtc cx-diag:affects ?Part. + ?Part cx-diag:Category ?partcat. + ?Part cx-diag:EnDenomination ?partend. + ?Part cx-diag:Classification ?partclass. + FILTER contains(?partclass,'Powertrain'). + +} LIMIT 40 +""" \ No newline at end of file diff --git a/provisioning/resources/settings.properties b/provisioning/resources/settings.properties new file mode 100644 index 00000000..86f37ed1 --- /dev/null +++ b/provisioning/resources/settings.properties @@ -0,0 +1,3 @@ +# Setup In-Memory Database with the trouble codes +jdbc.url=jdbc:h2:file:/opt/ontop/database/db;INIT=RUNSCRIPT FROM '/opt/ontop/data/dtc.sql' +jdbc.driver=org.h2.Driver \ No newline at end of file diff --git a/provisioning/src/main/docker/Dockerfile b/provisioning/src/main/docker/Dockerfile index 262d2d83..84b9551c 100644 --- a/provisioning/src/main/docker/Dockerfile +++ b/provisioning/src/main/docker/Dockerfile @@ -94,9 +94,12 @@ COPY --from=build /opt/ontop/lib/*.jar /opt/ontop/lib/ COPY --from=build /opt/ontop/jdbc/*.jar /opt/ontop/jdbc/ # run with docker --build-arg sqlFiles=initial_sql to establish a different sql file -ARG sqlFiles=resources/dtc.sql +ARG sqlFiles="resources/dtc.sql" COPY ${sqlFiles} /opt/ontop/data/. +COPY resources/cx-ontology.ttl resources/cx-ontology.xml resources/settings.properties /opt/ontop/input/ +COPY resources/portal.toml /opt/ontop/ + # Additional Java debugging options ARG JAVA_TOOL_OPTIONS "" From f7163a013bbb855c86477f9669049388530e72c9 Mon Sep 17 00:00:00 2001 From: "Dr. Christoph \"Schorsch\" Jung" Date: Tue, 6 Feb 2024 08:58:42 +0100 Subject: [PATCH 2/4] fix: make sure java tool options do not mix in spawned shell processes. --- provisioning/README.md | 2 +- provisioning/resources/entrypoint.sh | 14 +++++++------- provisioning/src/main/docker/Dockerfile | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/provisioning/README.md b/provisioning/README.md index 3aead2dd..a1566878 100644 --- a/provisioning/README.md +++ b/provisioning/README.md @@ -278,7 +278,7 @@ Eclipse Tractus-X product(s) installed within the image: **Used base image** -- [eclipse-temurin:11-jre-alpine](https://github.com/adoptium/containers) +- [eclipse-temurin:21-jre-alpine](https://github.com/adoptium/containers) - Official Eclipse Temurin DockerHub page: https://hub.docker.com/_/eclipse-temurin - Eclipse Temurin Project: https://projects.eclipse.org/projects/adoptium.temurin - Additional information about the Eclipse Temurin images: https://github.com/docker-library/repo-info/tree/master/repos/eclipse-temurin diff --git a/provisioning/resources/entrypoint.sh b/provisioning/resources/entrypoint.sh index ea576803..b7fc0d3d 100644 --- a/provisioning/resources/entrypoint.sh +++ b/provisioning/resources/entrypoint.sh @@ -25,9 +25,10 @@ CORS="" LAZY="--lazy" ENDPOINT_LENGTH=0 ONTOP_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS +JAVA_TOOL_OPTIONS="" for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. - ENDPOINT_LENGTH=$((ENDPOINT_INDEX+1)) + ENDPOINT_LENGTH=$((ENDPOINT_LENGTH+1)) done if [ "$ONTOP_CORS_ALLOWED_ORIGINS" != "" ]; then @@ -80,13 +81,13 @@ for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. fi done - JAVA_TOOL_OPTIONS="" + TOOL="" TOOL_INDEX=0 for TOOL_OPTIONS in $ONTOP_TOOL_OPTIONS ; do TOOL_INDEX=$((TOOL_INDEX+1)) if [ $ENDPOINT_INDEX -ge $TOOL_INDEX ]; then - JAVA_TOOL_OPTIONS=$TOOL_OPTIONS + TOOL=$TOOL_OPTIONS fi done @@ -100,7 +101,7 @@ for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. fi done - echo "Providing endpoint $ENDPOINT_INDEX on port $ENDPOINT with ontology $ONTOLOGY mapping $MAPPING properties $PROPERTIES portal $PORTAL dev mode $DEV and tool options $JAVA_TOOL_OPTIONS" + echo "Providing endpoint $ENDPOINT_INDEX on port $ENDPOINT with ontology $ONTOLOGY mapping $MAPPING properties $PROPERTIES portal $PORTAL dev mode $DEV and tool options $TOOL" ENDPOINT="--port=$ENDPOINT" ONTOLOGY="--ontology=$ONTOLOGY" @@ -115,13 +116,12 @@ for ENDPOINT in $ONTOP_PORT ; do # NOTE: do not double-quote $services here. if [ $ENDPOINT_INDEX -eq $ENDPOINT_LENGTH ]; then echo "Invoking last process"; - java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ + java $TOOL -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY} ${MAPPING} \ ${PROPERTIES} ${PORTAL} ${DEV} ${ENDPOINT} ${CORS} ${LAZY}; else echo "Invoking intermediate process"; - JAVA_TOOL_OPTIONS=TOOL - java -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ + java $TOOL -cp ./lib/*:./jdbc/* -Dlogback.configurationFile="/opt/ontop/log/logback.xml" -Dlogging.config="/opt/ontop/log/logback.xml" \ it.unibz.inf.ontop.cli.Ontop endpoint ${ONTOLOGY_FILE} ${MAPPING_FILE} \ ${PROPERTIES} ${PORTAL} ${DEV} ${ENDPOINT} ${CORS} ${LAZY}& fi diff --git a/provisioning/src/main/docker/Dockerfile b/provisioning/src/main/docker/Dockerfile index 84b9551c..a7371340 100644 --- a/provisioning/src/main/docker/Dockerfile +++ b/provisioning/src/main/docker/Dockerfile @@ -25,7 +25,7 @@ FROM ontop/ontop:5.1.2 as blueprint # Build Container: Fixes diverse vulnerabilities in guava <32, tomcat, spring-boot 2.7<13, spring-framework <5.3.28 and spring-web (all 5 versions - need to exclude a deprecated package from the jar) ## -FROM eclipse-temurin:11-jdk AS build +FROM eclipse-temurin:21-jdk AS build # run with docker --build-arg jdbcDrivers=path_to_my_driver to establish a different driver ARG jdbcDrivers="https://repo1.maven.org/maven2/com/h2database/h2/2.2.220/h2-2.2.220.jar https://download.dremio.com/jdbc-driver/dremio-jdbc-driver-LATEST.jar https://repo1.maven.org/maven2/org/apache/calcite/avatica/avatica/1.22.0/avatica-1.22.0.jar" @@ -56,7 +56,7 @@ RUN if [ "${HTTP_PROXY}" != "" ]; then \ # Target Container: Use a valid base image ## -FROM eclipse-temurin:11-jre-alpine +FROM eclipse-temurin:21-jre-alpine ARG APP_USER=ontop ARG APP_UID=10001 From e6bad8af9ae94292a5e262beeb983260c2343a59 Mon Sep 17 00:00:00 2001 From: "Dr. Christoph \"Schorsch\" Jung" Date: Tue, 6 Feb 2024 09:07:11 +0100 Subject: [PATCH 3/4] fix: copyright headers and newlines. --- provisioning/README.md | 2 +- provisioning/resources/cx-ontology.ttl | 5 +++-- provisioning/resources/cx-ontology.xml | 4 ++-- provisioning/resources/entrypoint.sh | 4 ++-- provisioning/resources/portal.toml | 4 ++-- provisioning/resources/settings.properties | 19 ++++++++++++++++++- provisioning/src/main/docker/Dockerfile | 2 +- 7 files changed, 29 insertions(+), 11 deletions(-) diff --git a/provisioning/README.md b/provisioning/README.md index a1566878..bd2a11d4 100644 --- a/provisioning/README.md +++ b/provisioning/README.md @@ -1,5 +1,5 @@