diff --git a/.changeset/beige-suns-tickle.md b/.changeset/beige-suns-tickle.md new file mode 100644 index 0000000..ebf0d07 --- /dev/null +++ b/.changeset/beige-suns-tickle.md @@ -0,0 +1,5 @@ +--- +"fuseki-geosparql": minor +--- + +Include Apache SIS in the Docker image diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..50fa9fc --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +# Documentation: https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file +version: 2 +updates: + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + # Workflow files stored in the default location of `.github/workflows`. (You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.) + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for npm + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" diff --git a/Dockerfile b/Dockerfile index 1f8a6a9..b75ca9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,8 @@ ARG ALPINE_VERSION="3.18.4" ARG JENA_VERSION="4.10.0" ARG OTEL_VERSION="1.32.0" ARG MAVEN_VERSION="3.9.5" +ARG APACHE_SIS_VERSION="1.4" +ARG DERBY_VERSION="10.17.1.0" # configure some paths, names and args ARG FUSEKI_HOME="/opt/fuseki" @@ -98,6 +100,8 @@ ARG JENA_VERSION ARG FUSEKI_HOME ARG FUSEKI_BASE ARG JAVA_MINIMAL +ARG APACHE_SIS_VERSION +ARG DERBY_VERSION COPY --from=deps "${JAVA_MINIMAL}" "${JAVA_MINIMAL}" COPY --from=deps "${FUSEKI_HOME}" "${FUSEKI_HOME}" @@ -116,6 +120,19 @@ COPY config/log4j2.properties config/shiro.ini entrypoint.sh ./ COPY config/config.ttl "${FUSEKI_BASE}" RUN chmod +x entrypoint.sh +# Add Apache SIS +RUN wget "http://archive.apache.org/dist/sis/${APACHE_SIS_VERSION}/apache-sis-${APACHE_SIS_VERSION}-bin.zip" -O /tmp/apache-sis.zip \ + && cd /tmp/ \ + && unzip apache-sis.zip \ + && mv "/tmp/apache-sis-${APACHE_SIS_VERSION}/" /apache-sis \ + && chown -R 1000:1000 /apache-sis \ + && rm -f /tmp/apache-sis.zip + +# Add Apache Derby +RUN cd /apache-sis/lib \ + && wget "https://repo1.maven.org/maven2/org/apache/derby/derby/${DERBY_VERSION}/derby-${DERBY_VERSION}.jar" \ + -O "derby-${DERBY_VERSION}.jar" + # default environment variables ENV \ JAVA_HOME="${JAVA_MINIMAL}" \ @@ -126,7 +143,10 @@ ENV \ OTEL_TRACES_EXPORTER="none" \ OTEL_METRICS_EXPORTER="none" \ ADMIN_PASSWORD="admin" \ - DISABLE_OTEL="false" + DISABLE_OTEL="false" \ + PATH="/apache-sis/bin:${JAVA_HOME}/bin:${PATH}" \ + SIS_DATA="/apache-sis/data" \ + SIS_OPTS="--encoding UTF-8" # run as "fuseki" (explicit UID so "run as non-root" policies can be enforced) USER 1000 diff --git a/yarn.lock b/yarn.lock index 3c9cc70..27b76f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@babel/code-frame@^7.0.0": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa" - integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: "@babel/highlight" "^7.23.4" chalk "^2.4.2" @@ -25,9 +25,9 @@ js-tokens "^4.0.0" "@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e" - integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg== + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" + integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== dependencies: regenerator-runtime "^0.14.0" @@ -551,7 +551,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.1: gopd "^1.0.1" has-property-descriptors "^1.0.0" -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -1254,12 +1254,12 @@ object-keys@^1.1.1: integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" + call-bind "^1.0.5" + define-properties "^1.2.1" has-symbols "^1.0.3" object-keys "^1.1.1"