diff --git a/docker/activemq/5/debian11/5.18/Dockerfile b/docker/activemq/5/debian12/5.18/Dockerfile similarity index 95% rename from docker/activemq/5/debian11/5.18/Dockerfile rename to docker/activemq/5/debian12/5.18/Dockerfile index b832e6f9fc..1634fa8a34 100644 --- a/docker/activemq/5/debian11/5.18/Dockerfile +++ b/docker/activemq/5/debian12/5.18/Dockerfile @@ -1,12 +1,12 @@ -FROM marketplace.gcr.io/google/c2d-debian11 as ospo +FROM marketplace.gcr.io/google/debian12 as ospo # Download Licenses and restricted source-code COPY components.csv /components.csv COPY source_code.txt /source_code.txt -RUN apt update && apt -y install ca-certificates +RUN apt update && apt -y install ca-certificates curl RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \ && curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \ @@ -17,7 +17,7 @@ RUN mkdir -p /usr/src/licenses \ && /download-licenses.sh /components.csv /usr/src/licenses \ && /download-ref-repos.sh /source_code.txt /usr/src -FROM marketplace.gcr.io/google/c2d-debian11 +FROM marketplace.gcr.io/google/debian12 COPY --from=ospo /usr/src /usr/src diff --git a/docker/activemq/5/debian11/5.18/components.csv b/docker/activemq/5/debian12/5.18/components.csv similarity index 100% rename from docker/activemq/5/debian11/5.18/components.csv rename to docker/activemq/5/debian12/5.18/components.csv diff --git a/docker/activemq/5/debian11/5.18/docker-entrypoint.sh b/docker/activemq/5/debian12/5.18/docker-entrypoint.sh similarity index 100% rename from docker/activemq/5/debian11/5.18/docker-entrypoint.sh rename to docker/activemq/5/debian12/5.18/docker-entrypoint.sh diff --git a/docker/activemq/5/debian11/5.18/source_code.txt b/docker/activemq/5/debian12/5.18/source_code.txt similarity index 100% rename from docker/activemq/5/debian11/5.18/source_code.txt rename to docker/activemq/5/debian12/5.18/source_code.txt diff --git a/docker/activemq/6/debian11/6.1/Dockerfile b/docker/activemq/6/debian12/6.1/Dockerfile similarity index 95% rename from docker/activemq/6/debian11/6.1/Dockerfile rename to docker/activemq/6/debian12/6.1/Dockerfile index 1beb9564df..282d27da67 100644 --- a/docker/activemq/6/debian11/6.1/Dockerfile +++ b/docker/activemq/6/debian12/6.1/Dockerfile @@ -1,12 +1,12 @@ -FROM marketplace.gcr.io/google/c2d-debian11 as ospo +FROM marketplace.gcr.io/google/debian12 as ospo # Download Licenses and restricted source-code COPY components.csv /components.csv COPY source_code.txt /source_code.txt -RUN apt update && apt -y install ca-certificates +RUN apt update && apt -y install ca-certificates curl RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \ && curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \ @@ -17,7 +17,7 @@ RUN mkdir -p /usr/src/licenses \ && /download-licenses.sh /components.csv /usr/src/licenses \ && /download-ref-repos.sh /source_code.txt /usr/src -FROM marketplace.gcr.io/google/c2d-debian11 +FROM marketplace.gcr.io/google/debian12 COPY --from=ospo /usr/src /usr/src diff --git a/docker/activemq/6/debian11/6.1/components.csv b/docker/activemq/6/debian12/6.1/components.csv similarity index 100% rename from docker/activemq/6/debian11/6.1/components.csv rename to docker/activemq/6/debian12/6.1/components.csv diff --git a/docker/activemq/6/debian11/6.1/docker-entrypoint.sh b/docker/activemq/6/debian12/6.1/docker-entrypoint.sh similarity index 100% rename from docker/activemq/6/debian11/6.1/docker-entrypoint.sh rename to docker/activemq/6/debian12/6.1/docker-entrypoint.sh diff --git a/docker/activemq/6/debian11/6.1/source_code.txt b/docker/activemq/6/debian12/6.1/source_code.txt similarity index 100% rename from docker/activemq/6/debian11/6.1/source_code.txt rename to docker/activemq/6/debian12/6.1/source_code.txt diff --git a/docker/activemq/templates/Dockerfile.template b/docker/activemq/templates/Dockerfile.template index f027fc2f8d..2c5f70da59 100644 --- a/docker/activemq/templates/Dockerfile.template +++ b/docker/activemq/templates/Dockerfile.template @@ -7,7 +7,7 @@ FROM {{ .From }} as ospo COPY components.csv /components.csv COPY source_code.txt /source_code.txt -RUN apt update && apt -y install ca-certificates +RUN apt update && apt -y install ca-certificates curl RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \ && curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \ diff --git a/docker/activemq/versions.yaml b/docker/activemq/versions.yaml index 4b0a6275d3..97eb07ae66 100644 --- a/docker/activemq/versions.yaml +++ b/docker/activemq/versions.yaml @@ -16,33 +16,33 @@ cloudbuild: enable_parallel: false versions: -- dir: 6/debian11/6.1 - from: marketplace.gcr.io/google/c2d-debian11 +- dir: 6/debian12/6.1 + from: marketplace.gcr.io/google/debian12 packages: activemq: version: 6.1.3 major: '6' repo: activemq6 tags: - - 6.1.3-debian11 - - 6.1-debian11 - - 6-debian11 + - 6.1.3-debian12 + - 6.1-debian12 + - 6-debian12 - 6.1.3 - '6.1' - '6' - latest -- dir: 5/debian11/5.18 - from: marketplace.gcr.io/google/c2d-debian11 +- dir: 5/debian12/5.18 + from: marketplace.gcr.io/google/debian12 packages: activemq: version: 5.18.5 major: '5' repo: activemq5 tags: - - 5.18.5-debian11 - - 5.18-debian11 - - 5-debian11 + - 5.18.5-debian12 + - 5.18-debian12 + - 5-debian12 - 5.18.5 - '5.18' - '5' diff --git a/docker/cert-manager/1/debian11/1.13/Dockerfile b/docker/cert-manager/1/debian11/1.13/Dockerfile deleted file mode 100644 index 8166dbbb9d..0000000000 --- a/docker/cert-manager/1/debian11/1.13/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM marketplace.gcr.io/google/c2d-debian11 as build - -ENV APP_VERSION=1.13.3 - -RUN apt-get update \ - && apt-get install make jq docker.io ca-certificates -y --no-install-recommends - -WORKDIR /src/cert-manager/ - -RUN git clone --branch v${APP_VERSION} \ - https://github.com/cert-manager/cert-manager.git /src/cert-manager/ - -#build binaries -RUN make vendor-go \ - && make server-binaries \ - && make cmctl-linux - -# Result Image -FROM marketplace.gcr.io/google/c2d-debian11 - -WORKDIR /app - -ENV C2D_RELEASE=1.13.3 -ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt - -# Non root -RUN useradd -r -u 1000 cert-manager - -# License and Notices -COPY --from=build /src/cert-manager/LICENSE /usr/share/cert-manager/LICENSE -COPY --from=build /src/cert-manager/LICENSES /usr/share/cert-manager/NOTICES - -# App files -COPY --from=build /src/cert-manager/_bin/server/controller-linux-amd64 /app/controller -COPY --from=build /src/cert-manager/_bin/server/cainjector-linux-amd64 /app/cainjector -COPY --from=build /src/cert-manager/_bin/server/webhook-linux-amd64 /app/webhook -COPY --from=build /src/cert-manager/_bin/server/acmesolver-linux-amd64 /app/acmeresolver -COPY --from=build /src/cert-manager/_bin/cmctl/cmctl-linux-amd64 /app/cmctl -COPY --from=build /src/cert-manager/ /usr/src/cert-manager - -# Download Licenses -COPY components.csv /components.csv -COPY download-licenses.sh /download-licenses.sh -RUN mkdir -p /usr/src && \ - /download-licenses.sh /components.csv /usr/src/licenses - -USER cert-manager diff --git a/docker/cert-manager/1/debian11/1.13/components.csv b/docker/cert-manager/1/debian11/1.13/components.csv deleted file mode 100644 index 77f72f875a..0000000000 --- a/docker/cert-manager/1/debian11/1.13/components.csv +++ /dev/null @@ -1,131 +0,0 @@ -vendor_cloud.google.com_go;https://github.com/cert-manager/cert-manager/blob/master/LICENSE -github.com_aws_aws-sdk-go;https://pkg.go.dev/cloud.google.com/go?tab=licenses#LICENSE -github.com_Azure_azure-sdk-for-go;https://github.com/aws/aws-sdk-go/blob/master/LICENSE.txt -github.com_Azure_go-autorest;https://github.com/Azure/azure-sdk-for-go/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_Azure_go-autorest;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_beorn7_perks;https://github.com/Azure/go-autorest/blob/master/LICENSE -github.com_blang_semver;https://github.com/beorn7/perks/blob/master/LICENSE -github.com_cloudflare_cloudflare-go;https://github.com/blang/semver/blob/master/LICENSE -github.com_coreos_go-systemd;https://github.com/cloudflare/cloudflare-go/blob/master/LICENSE -github.com_coreos_pkg;https://github.com/coreos/go-systemd/blob/master/LICENSE -github.com_cpu_goacmedns;https://github.com/coreos/pkg/blob/master/LICENSE -github.com_davecgh_go-spew;https://github.com/cpu/goacmedns/blob/master/LICENSE -github.com_dgrijalva_jwt-go;https://github.com/davecgh/go-spew/blob/master/LICENSE -github.com_digitalocean_godo;https://github.com/dgrijalva/jwt-go/blob/master/LICENSE -github.com_emicklei_go-restful;https://github.com/digitalocean/godo/blob/master/LICENSE.txt -github.com_evanphx_json-patch;https://github.com/emicklei/go-restful/blob/master/LICENSE -github.com_fatih_color;https://github.com/evanphx/json-patch/blob/master/LICENSE -github.com_go-logr_logr;https://github.com/fatih/color/blob/master/LICENSE.md -github.com_go-openapi_jsonpointer;https://github.com/go-logr/logr/blob/master/LICENSE -github.com_go-openapi_jsonreference;https://github.com/go-openapi/jsonpointer/blob/master/LICENSE -github.com_go-openapi_spec;https://github.com/go-openapi/jsonreference/blob/master/LICENSE -github.com_go-openapi_swag;https://github.com/go-openapi/spec/blob/master/LICENSE -github.com_gobuffalo_flect;https://github.com/go-openapi/swag/blob/master/LICENSE -github.com_gogo_protobuf;https://github.com/gobuffalo/flect/blob/master/LICENSE -github.com_golang_groupcache;https://github.com/gogo/protobuf/blob/master/LICENSE -github.com_golang_protobuf;https://github.com/golang/groupcache/blob/master/LICENSE -github.com_golang_snappy;https://github.com/golang/protobuf/blob/master/LICENSE -github.com_google_go-cmp;https://github.com/golang/snappy/blob/master/LICENSE -github.com_google_go-github;https://github.com/google/go-cmp/blob/master/LICENSE -github.com_google_go-querystring;https://github.com/google/go-github/blob/master/LICENSE -github.com_google_gofuzz;https://github.com/google/go-querystring/blob/master/LICENSE -github.com_google_uuid;https://github.com/google/gofuzz/blob/master/LICENSE -github.com_googleapis_gax-go;https://github.com/google/uuid/blob/master/LICENSE -github.com_googleapis_gnostic;https://github.com/googleapis/gax-go/blob/master/LICENSE -github.com_gophercloud_gophercloud;https://github.com/googleapis/gnostic/blob/master/LICENSE -github.com_gorilla_context;https://github.com/gophercloud/gophercloud/blob/master/LICENSE -github.com_gorilla_mux;https://github.com/gorilla/context/blob/master/LICENSE -github.com_grpc-ecosystem_go-grpc-prometheus;https://github.com/gorilla/mux/blob/master/LICENSE -github.com_hashicorp_errwrap;https://github.com/grpc-ecosystem/go-grpc-prometheus/blob/master/LICENSE -github.com_hashicorp_go-cleanhttp;https://github.com/hashicorp/errwrap/blob/master/LICENSE -github.com_hashicorp_go-multierror;https://github.com/hashicorp/go-cleanhttp/blob/master/LICENSE -github.com_hashicorp_go-retryablehttp;https://github.com/hashicorp/go-multierror/blob/master/LICENSE -github.com_hashicorp_go-rootcerts;https://github.com/hashicorp/go-retryablehttp/blob/master/LICENSE -github.com_hashicorp_go-sockaddr;https://github.com/hashicorp/go-rootcerts/blob/master/LICENSE -github.com_hashicorp_golang-lru;https://github.com/hashicorp/go-sockaddr/blob/master/LICENSE -github.com_hashicorp_hcl;https://github.com/hashicorp/golang-lru/blob/master/LICENSE -github.com_hashicorp_vault;https://github.com/hashicorp/hcl/blob/master/LICENSE -github.com_hashicorp_vault;https://github.com/hashicorp/vault/blob/master/LICENSE -github.com_hpcloud_tail;https://github.com/hashicorp/vault/blob/master/LICENSE -github.com_imdario_mergo;https://github.com/hpcloud/tail/blob/master/LICENSE.txt -github.com_inconshreveable_mousetrap;https://github.com/imdario/mergo/blob/master/LICENSE -github.com_jmespath_go-jmespath;https://github.com/inconshreveable/mousetrap/blob/master/LICENSE -github.com_json-iterator_go;https://github.com/jmespath/go-jmespath/blob/master/LICENSE -github.com_kr_pretty;https://github.com/json-iterator/go/blob/master/LICENSE -github.com_kr_text;https://github.com/kr/pretty/blob/main/License -github.com_mailru_easyjson;https://github.com/kr/text/blob/main/License -github.com_mattbaird_jsonpatch;https://github.com/mailru/easyjson/blob/master/LICENSE -github.com_mattn_go-colorable;https://github.com/mattbaird/jsonpatch/blob/master/LICENSE -github.com_mattn_go-isatty;https://github.com/mattn/go-colorable/blob/master/LICENSE -github.com_matttproud_golang_protobuf_extensions;https://github.com/mattn/go-isatty/blob/master/LICENSE -github.com_miekg_dns;https://github.com/matttproud/golang_protobuf_extensions/blob/master/LICENSE -github.com_mitchellh_go-homedir;https://github.com/miekg/dns/blob/master/LICENSE -github.com_mitchellh_mapstructure;https://github.com/mitchellh/go-homedir/blob/master/LICENSE -github.com_modern-go_concurrent;https://github.com/mitchellh/mapstructure/blob/master/LICENSE -github.com_modern-go_reflect2;https://github.com/modern-go/concurrent/blob/master/LICENSE -github.com_munnerz_crd-schema-fuzz;https://github.com/modern-go/reflect2/blob/master/LICENSE -github.com_munnerz_goautoneg;https://github.com/munnerz/crd-schema-fuzz/blob/master/LICENSE -github.com_NYTimes_gziphandler;https://github.com/munnerz/goautoneg/blob/master/LICENSE -github.com_onsi_ginkgo;https://github.com/nytimes/gziphandler/blob/master/LICENSE -github.com_onsi_gomega;https://github.com/onsi/ginkgo/blob/master/LICENSE -github.com_pierrec_lz4;https://github.com/onsi/gomega/blob/master/LICENSE -github.com_pkg_errors;https://github.com/pierrec/lz4/blob/master/LICENSE -github.com_pmezard_go-difflib;https://github.com/pkg/errors/blob/master/LICENSE -github.com_prometheus_client_golang;https://github.com/pmezard/go-difflib/blob/master/LICENSE -github.com_prometheus_client_model;https://github.com/prometheus/client_golang/blob/master/LICENSE -github.com_prometheus_common;https://github.com/prometheus/client_model/blob/master/LICENSE -github.com_prometheus_procfs;https://github.com/prometheus/common/blob/master/LICENSE -github.com_PuerkitoBio_purell;https://github.com/prometheus/procfs/blob/master/LICENSE -github.com_PuerkitoBio_urlesc;https://github.com/PuerkitoBio/purell/blob/master/LICENSE -github.com_ryanuber_go-glob;https://github.com/PuerkitoBio/urlesc/blob/master/LICENSE -github.com_spf13_cobra;https://github.com/ryanuber/go-glob/blob/master/LICENSE -github.com_spf13_pflag;https://github.com/spf13/cobra/blob/master/LICENSE.txt -github.com_stretchr_testify;https://github.com/spf13/pflag/blob/master/LICENSE -github.com_Venafi_vcert;https://github.com/stretchr/testify/blob/master/LICENSE -vendor_go.etcd.io_etcd;https://github.com/Venafi/vcert/blob/master/LICENSE -vendor_go.opencensus.io;https://github.com/etcd-io/etcd/blob/master/LICENSE -vendor_go.uber.org_atomic;https://github.com/census-instrumentation/opencensus-go/blob/master/LICENSE -vendor_go.uber.org_multierr;https://pkg.go.dev/go.uber.org/atomic?tab=licenses#LICENSE.txt -vendor_go.uber.org_zap;https://pkg.go.dev/go.uber.org/multierr?tab=licenses#LICENSE.txt -vendor_golang.org_x_crypto;https://pkg.go.dev/go.uber.org/zap?tab=licenses#LICENSE.txt -vendor_golang.org_x_net;https://pkg.go.dev/golang.org/x/crypto?tab=licenses#LICENSE -vendor_golang.org_x_oauth2;https://pkg.go.dev/golang.org/x/net?tab=licenses#LICENSE -vendor_golang.org_x_sys;https://pkg.go.dev/golang.org/x/oauth2?tab=licenses#LICENSE -vendor_golang.org_x_text;https://pkg.go.dev/golang.org/x/sys?tab=licenses#LICENSE -vendor_golang.org_x_time;https://pkg.go.dev/golang.org/x/text?tab=licenses#LICENSE -vendor_golang.org_x_tools;https://pkg.go.dev/golang.org/x/time?tab=licenses#LICENSE -vendor_golang.org_x_xerrors;https://pkg.go.dev/golang.org/x/tools?tab=licenses#LICENSE -vendor_gomodules.xyz_jsonpatch_v2;https://pkg.go.dev/golang.org/x/xerrors?tab=licenses#LICENSE -vendor_google.golang.org_api;https://pkg.go.dev/gomodules.xyz/jsonpatch/v2?tab=licenses#LICENSE -vendor_google.golang.org_appengine;https://pkg.go.dev/google.golang.org/api?tab=licenses#LICENSE -vendor_google.golang.org_genproto;https://pkg.go.dev/google.golang.org/appengine?tab=licenses#LICENSE -vendor_google.golang.org_grpc;https://pkg.go.dev/google.golang.org/genproto?tab=licenses#LICENSE -vendor_gopkg.in_fsnotify.v1;https://pkg.go.dev/google.golang.org/grpc?tab=licenses#LICENSE -vendor_gopkg.in_inf.v0;https://pkg.go.dev/gopkg.in/fsnotify.v1?tab=licenses#LICENSE -vendor_gopkg.in_ini.v1;https://pkg.go.dev/gopkg.in/inf.v0?tab=licenses#LICENSE -vendor_gopkg.in_natefinch_lumberjack.v2;https://pkg.go.dev/gopkg.in/ini.v1?tab=licenses#LICENSE -vendor_gopkg.in_square_go-jose.v2;https://pkg.go.dev/gopkg.in/natefinch/lumberjack.v2?tab=licenses#LICENSE -vendor_gopkg.in_tomb.v1;https://pkg.go.dev/gopkg.in/square/go-jose.v2?tab=licenses#LICENSE -vendor_gopkg.in_yaml.v2;https://pkg.go.dev/gopkg.in/tomb.v1?tab=licenses#LICENSE -vendor_gopkg.in_yaml.v3;https://pkg.go.dev/gopkg.in/yaml.v2?tab=licenses#LICENSE -vendor_k8s.io_api;https://github.com/go-yaml/yaml/blob/v3/LICENSE -vendor_k8s.io_apiextensions-apiserver;https://pkg.go.dev/k8s.io/api?tab=licenses#LICENSE -vendor_k8s.io_apimachinery;https://pkg.go.dev/k8s.io/apiextensions-apiserver?tab=licenses#LICENSE -vendor_k8s.io_apiserver;https://pkg.go.dev/k8s.io/apimachinery?tab=licenses#LICENSE -vendor_k8s.io_client-go;https://pkg.go.dev/k8s.io/apiserver?tab=licenses#LICENSE -vendor_k8s.io_code-generator;https://pkg.go.dev/k8s.io/client-go?tab=licenses#LICENSE -vendor_k8s.io_component-base;https://pkg.go.dev/k8s.io/code-generator?tab=licenses#LICENSE -vendor_k8s.io_gengo;https://pkg.go.dev/k8s.io/component-base?tab=licenses#LICENSE -vendor_k8s.io_klog;https://pkg.go.dev/k8s.io/gengo?tab=licenses#LICENSE -vendor_k8s.io_kube-aggregator;https://pkg.go.dev/k8s.io/klog?tab=licenses#LICENSE -vendor_k8s.io_kube-openapi;https://pkg.go.dev/k8s.io/kube-aggregator?tab=licenses#LICENSE -vendor_sigs.k8s.io_controller-runtime;https://pkg.go.dev/k8s.io/kube-openapi?tab=licenses#LICENSE -vendor_sigs.k8s.io_controller-tools;https://pkg.go.dev/sigs.k8s.io/controller-runtime?tab=licenses#LICENSE -vendor_sigs.k8s.io_structured-merge-diff;https://pkg.go.dev/sigs.k8s.io/controller-tools?tab=licenses#LICENSE -vendor_sigs.k8s.io_testing_frameworks;https://pkg.go.dev/sigs.k8s.io/structured-merge-diff?tab=licenses#LICENSE -vendor_sigs.k8s.io_yaml;https://pkg.go.dev/sigs.k8s.io/testing_frameworks?tab=licenses#LICENSE diff --git a/docker/cert-manager/1/debian11/1.13/download-licenses.sh b/docker/cert-manager/1/debian11/1.13/download-licenses.sh deleted file mode 100755 index 7424b25af0..0000000000 --- a/docker/cert-manager/1/debian11/1.13/download-licenses.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash - -declare -r components_file="$1" -declare -r target_folder="$2" - -function get_domain() { - echo "$1" | awk -F[/:] '{print $4}' -} - -# Converts a web github page to the raw url and download it: -# https://github.com/qos-ch/slf4j/blob/master/log4j-over-slf4j/LICENSE.txt -# https://raw.githubusercontent.com/java-native-access/jna/master/LICENSE -function download_github() { - local -r license_page="$1" - local -r output_file="$2" - - local -r org_repo_branch="$(echo "${license_page}" | awk -F / '{ print $4"/"$5"/"$7}')" - local -r github_raw_domain="https://raw.githubusercontent.com" - local -r file="$(echo "${license_page}" | awk -F / '{ print $NF }')" - local -r license_download_url="${github_raw_domain}/${org_repo_branch}/${file}" - - curl -sL -o "${output_file}" "${license_download_url}" - # echo >&2 "File downloaded: ${license_download_url}" -} - -# Converts a web github page to the raw url and download it: -# https://gitlab.ow2.org/asm/asm/-/blob/master/LICENSE.txt -# https://gitlab.ow2.org/asm/asm/-/raw/master/LICENSE.txt -function download_gitlab() { - local -r license_page="$1" - local -r output_file="$2" - - local -r license_download_url="$(echo "${license_page}" | sed 's/blob/raw/g')" - curl -sL -o "${output_file}" "${license_download_url}" - echo >&2 "File downloaded: ${license_download_url}" -} - -# Download a pkg.go.dev package license -function download_pkg_go() { - local -r license_page="$1" - local -r output_file="$2" - - which pup > /dev/null - if [[ "$?" -ne 0 ]]; then - echo >&2 "Installing pup..." - apt update && apt -y install pup - fi - - local -r temp_file="$(mktemp)" - - # Download the file - curl -sL -o "${temp_file}" "${license_page}" - - # Parse the received html - cat "${temp_file}" \ - | pup --pre '#lic-0 > pre' \ - | sed 's/
//g' \
-    | sed 's/<\/pre>//g' > "${output_file}"
-  echo >&2 "File downloaded: ${output_file}"
-}
-
-# Download an html file
-function download_html() {
-  local -r license_page="$1"
-  local -r output_file="$2"
-
-  curl -sL -o "${output_file}" "${license_page}"
-  echo >&2 "File downloaded: ${output_file}"
-}
-
-# Create target folder
-mkdir -p "${target_folder}"
-
-# Iterate over components
-while IFS=";" read -r component license
-do
-  declare target_license_file="${target_folder}/${component}.LICENSE"
-  declare domain="$(get_domain "${license}")"
-
-  if [[ "${domain}" == "github.com" ]]; then
-    continue
-    download_github "${license}" "${target_license_file}"
-  elif [[ "${domain}" =~ gitlab ]]; then
-    continue
-    download_gitlab "${license}" "${target_license_file}"
-  elif [[ "${domain}" == "pkg.go.dev" ]]; then
-    download_pkg_go "${license}" "${target_license_file}"
-  else
-    echo >&2 "Invalid source: ${domain}. Downloading whole HTML file..."
-    download_html "${license}" "${target_license_file}"
-  fi
-
-  # break
-done < <(cat "${components_file}")
-
-echo >&2 "Finished."
diff --git a/docker/cert-manager/1/debian11/1.11/Dockerfile b/docker/cert-manager/1/debian12/1.15/Dockerfile
similarity index 67%
rename from docker/cert-manager/1/debian11/1.11/Dockerfile
rename to docker/cert-manager/1/debian12/1.15/Dockerfile
index 578fadbefc..f0438ac3b3 100644
--- a/docker/cert-manager/1/debian11/1.11/Dockerfile
+++ b/docker/cert-manager/1/debian12/1.15/Dockerfile
@@ -1,9 +1,16 @@
-FROM  marketplace.gcr.io/google/c2d-debian11 as build
+FROM  marketplace.gcr.io/google/debian12 as build
 
-ENV APP_VERSION=1.11.5
+ENV APP_VERSION=1.15.3
 
 RUN apt-get update \
-    && apt-get install make jq docker.io ca-certificates -y --no-install-recommends
+    && apt-get install \
+        git \
+        curl \
+        rsync \
+        make \
+        jq \
+        docker.io \
+        ca-certificates -y --no-install-recommends
 
 WORKDIR /src/cert-manager/
 
@@ -12,15 +19,20 @@ RUN git clone --branch v${APP_VERSION} \
 
 #build binaries
 RUN make vendor-go \
- && make server-binaries \
- && make cmctl-linux
+ && make server-binaries
+
+RUN /src/cert-manager/_bin/tools/go install github.com/cert-manager/cmctl/v2@latest
 
 # Result Image
-FROM marketplace.gcr.io/google/c2d-debian11
+FROM marketplace.gcr.io/google/debian12
+
+RUN apt-get update \
+    && apt-get install \
+        curl -y --no-install-recommends
 
 WORKDIR /app
 
-ENV C2D_RELEASE=1.11.5
+ENV C2D_RELEASE=1.15.3
 ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
 
 # Non root
@@ -35,7 +47,7 @@ COPY --from=build /src/cert-manager/_bin/server/controller-linux-amd64 /app/cont
 COPY --from=build /src/cert-manager/_bin/server/cainjector-linux-amd64 /app/cainjector
 COPY --from=build /src/cert-manager/_bin/server/webhook-linux-amd64 /app/webhook
 COPY --from=build /src/cert-manager/_bin/server/acmesolver-linux-amd64 /app/acmeresolver
-COPY --from=build /src/cert-manager/_bin/cmctl/cmctl-linux-amd64 /app/cmctl
+COPY --from=build /root/go/bin/cmctl /app/cmctl
 COPY --from=build /src/cert-manager/ /usr/src/cert-manager
 
 # Download Licenses
diff --git a/docker/cert-manager/1/debian11/1.11/components.csv b/docker/cert-manager/1/debian12/1.15/components.csv
similarity index 100%
rename from docker/cert-manager/1/debian11/1.11/components.csv
rename to docker/cert-manager/1/debian12/1.15/components.csv
diff --git a/docker/cert-manager/1/debian11/1.11/download-licenses.sh b/docker/cert-manager/1/debian12/1.15/download-licenses.sh
similarity index 100%
rename from docker/cert-manager/1/debian11/1.11/download-licenses.sh
rename to docker/cert-manager/1/debian12/1.15/download-licenses.sh
diff --git a/docker/cert-manager/templates/cert-manager1/Dockerfile.template b/docker/cert-manager/templates/cert-manager1/Dockerfile.template
index 964a2aae3c..950b478ad6 100644
--- a/docker/cert-manager/templates/cert-manager1/Dockerfile.template
+++ b/docker/cert-manager/templates/cert-manager1/Dockerfile.template
@@ -5,7 +5,14 @@ FROM  {{ .From }} as build
 ENV APP_VERSION={{ $cert_manager.Version }}
 
 RUN apt-get update \
-    && apt-get install make jq docker.io ca-certificates -y --no-install-recommends
+    && apt-get install \
+        git \
+        curl \
+        rsync \
+        make \
+        jq \
+        docker.io \
+        ca-certificates -y --no-install-recommends
 
 WORKDIR /src/cert-manager/
 
@@ -14,12 +21,17 @@ RUN git clone --branch v${APP_VERSION} \
 
 #build binaries
 RUN make vendor-go \
- && make server-binaries \
- && make cmctl-linux
+ && make server-binaries
+
+RUN /src/cert-manager/_bin/tools/go install github.com/cert-manager/cmctl/v2@latest
 
 # Result Image
 FROM {{ .From }}
 
+RUN apt-get update \
+    && apt-get install \
+        curl -y --no-install-recommends
+
 WORKDIR /app
 
 ENV C2D_RELEASE={{ $cert_manager.Version }}
@@ -37,7 +49,7 @@ COPY --from=build /src/cert-manager/_bin/server/controller-linux-amd64 /app/cont
 COPY --from=build /src/cert-manager/_bin/server/cainjector-linux-amd64 /app/cainjector
 COPY --from=build /src/cert-manager/_bin/server/webhook-linux-amd64 /app/webhook
 COPY --from=build /src/cert-manager/_bin/server/acmesolver-linux-amd64 /app/acmeresolver
-COPY --from=build /src/cert-manager/_bin/cmctl/cmctl-linux-amd64 /app/cmctl
+COPY --from=build /root/go/bin/cmctl /app/cmctl
 COPY --from=build /src/cert-manager/ /usr/src/cert-manager
 
 # Download Licenses
diff --git a/docker/cert-manager/versions.yaml b/docker/cert-manager/versions.yaml
index 2d7ab8f19d..843ef5b2be 100644
--- a/docker/cert-manager/versions.yaml
+++ b/docker/cert-manager/versions.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2024 Google LLC
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,30 +17,18 @@ cloudbuild:
   enable_parallel: false
   machineType: E2_HIGHCPU_32
 versions:
-- dir: 1/debian11/1.13
-  from: marketplace.gcr.io/google/c2d-debian11
+- dir: 1/debian12/1.15
+  from: marketplace.gcr.io/google/debian12
   packages:
     cert-manager:
-      version: 1.13.3
+      version: 1.15.3
   repo: cert-manager1
   tags:
-  - 1.13.3-debian11
-  - 1.13-debian11
-  - 1-debian11
-  - 1.13.3
-  - '1.13'
+  - 1.15.3-debian12
+  - 1.15-debian12
+  - 1-debian12
+  - 1.15.3
+  - '1.15'
   - '1'
   - latest
   templateSubDir: cert-manager1
-- dir: 1/debian11/1.11
-  from: marketplace.gcr.io/google/c2d-debian11
-  packages:
-    cert-manager:
-      version: 1.11.5
-  repo: cert-manager1
-  tags:
-  - 1.11.5-debian11
-  - 1.11-debian11
-  - 1.11.5
-  - '1.11'
-  templateSubDir: cert-manager1
diff --git a/docker/gitea/1/debian11/1.19/Dockerfile b/docker/gitea/1/debian12/1.19/Dockerfile
similarity index 92%
rename from docker/gitea/1/debian11/1.19/Dockerfile
rename to docker/gitea/1/debian12/1.19/Dockerfile
index ceed33f06b..bf79dc68b6 100644
--- a/docker/gitea/1/debian11/1.19/Dockerfile
+++ b/docker/gitea/1/debian12/1.19/Dockerfile
@@ -1,10 +1,10 @@
-FROM marketplace.gcr.io/google/c2d-debian11 as ospo
+FROM marketplace.gcr.io/google/debian12 as ospo
 
 # Download Licenses and restricted source-code
 COPY components.csv /components.csv
 COPY source_code.txt /source_code.txt
 
-RUN apt update && apt -y install ca-certificates
+RUN apt update && apt -y install ca-certificates curl
 
 RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
 		&& curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
@@ -16,7 +16,7 @@ RUN mkdir -p /usr/src/licenses \
 		&& /download-ref-repos.sh /source_code.txt /usr/src
 
 #Build stage
-FROM golang:1.20-alpine3.17 AS build-env
+FROM golang:1.23-bookworm AS build-env
 
 ARG GOPROXY
 ENV GOPROXY ${GOPROXY:-direct}
@@ -27,8 +27,8 @@ ENV TAGS "bindata timetzdata $TAGS"
 ARG CGO_EXTRA_CFLAGS
 
 # Build deps
-RUN apk --no-cache add \
-    build-base \
+RUN apt-get update && apt-get install -y \
+    build-essential \
     git \
     nodejs \
     npm \
@@ -46,7 +46,7 @@ RUN make clean-all build
 # Begin env-to-ini build
 RUN go build contrib/environment-to-ini/environment-to-ini.go
 
-FROM marketplace.gcr.io/google/c2d-debian11
+FROM marketplace.gcr.io/google/debian12
 
 COPY --from=ospo /usr/src /usr/src
 
@@ -60,8 +60,7 @@ RUN apt-get update && \
     openssh-server \
     s6 \
     sqlite3 \
-    gnupg \
-    musl-dev
+    gnupg
 
 RUN ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1 \
     &&  ssh-keygen -A \
diff --git a/docker/gitea/1/debian11/1.19/components.csv b/docker/gitea/1/debian12/1.19/components.csv
similarity index 100%
rename from docker/gitea/1/debian11/1.19/components.csv
rename to docker/gitea/1/debian12/1.19/components.csv
diff --git a/docker/gitea/1/debian11/1.19/source_code.txt b/docker/gitea/1/debian12/1.19/source_code.txt
similarity index 100%
rename from docker/gitea/1/debian11/1.19/source_code.txt
rename to docker/gitea/1/debian12/1.19/source_code.txt
diff --git a/docker/gitea/1/debian11/1.21/Dockerfile b/docker/gitea/1/debian12/1.22/Dockerfile
similarity index 90%
rename from docker/gitea/1/debian11/1.21/Dockerfile
rename to docker/gitea/1/debian12/1.22/Dockerfile
index 84f7b99877..1a044f6a0a 100644
--- a/docker/gitea/1/debian11/1.21/Dockerfile
+++ b/docker/gitea/1/debian12/1.22/Dockerfile
@@ -1,10 +1,10 @@
-FROM marketplace.gcr.io/google/c2d-debian11 as ospo
+FROM marketplace.gcr.io/google/debian12 as ospo
 
 # Download Licenses and restricted source-code
 COPY components.csv /components.csv
 COPY source_code.txt /source_code.txt
 
-RUN apt update && apt -y install ca-certificates
+RUN apt update && apt -y install ca-certificates curl
 
 RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
 		&& curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
@@ -16,19 +16,19 @@ RUN mkdir -p /usr/src/licenses \
 		&& /download-ref-repos.sh /source_code.txt /usr/src
 
 #Build stage
-FROM golang:1.21-alpine3.18 AS build-env
+FROM golang:1.23-bookworm AS build-env
 
 ARG GOPROXY
 ENV GOPROXY ${GOPROXY:-direct}
 
-ARG GITEA_VERSION=release/v1.21
+ARG GITEA_VERSION=release/v1.22
 ARG TAGS="sqlite sqlite_unlock_notify"
 ENV TAGS "bindata timetzdata $TAGS"
 ARG CGO_EXTRA_CFLAGS
 
 # Build deps
-RUN apk --no-cache add \
-    build-base \
+RUN apt-get update && apt-get install -y \
+    build-essential \
     git \
     nodejs \
     npm \
@@ -46,7 +46,7 @@ RUN make clean-all build
 # Begin env-to-ini build
 RUN go build contrib/environment-to-ini/environment-to-ini.go
 
-FROM marketplace.gcr.io/google/c2d-debian11
+FROM marketplace.gcr.io/google/debian12
 
 COPY --from=ospo /usr/src /usr/src
 
@@ -60,8 +60,7 @@ RUN apt-get update && \
     openssh-server \
     s6 \
     sqlite3 \
-    gnupg \
-    musl-dev
+    gnupg
 
 RUN ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1 \
     &&  ssh-keygen -A \
@@ -98,7 +97,7 @@ RUN addgroup \
 
 ENV USER git
 ENV GITEA_CUSTOM /data/gitea
-ENV C2D_RELEASE 1.21.9
+ENV C2D_RELEASE 1.22.9
 
 VOLUME ["/data"]
 
diff --git a/docker/gitea/1/debian11/1.21/components.csv b/docker/gitea/1/debian12/1.22/components.csv
similarity index 100%
rename from docker/gitea/1/debian11/1.21/components.csv
rename to docker/gitea/1/debian12/1.22/components.csv
diff --git a/docker/gitea/1/debian11/1.21/source_code.txt b/docker/gitea/1/debian12/1.22/source_code.txt
similarity index 100%
rename from docker/gitea/1/debian11/1.21/source_code.txt
rename to docker/gitea/1/debian12/1.22/source_code.txt
diff --git a/docker/gitea/templates/Dockerfile.template b/docker/gitea/templates/Dockerfile.template
index 847ede19d8..a35c05b66b 100644
--- a/docker/gitea/templates/Dockerfile.template
+++ b/docker/gitea/templates/Dockerfile.template
@@ -1,6 +1,5 @@
 {{- $gitea := index .Packages "gitea" -}}
 {{- $golang := index .Packages "golang" -}}
-{{- $distroMajor := index .TemplateArgs "alpineVersion" -}}
 
 FROM {{ .From }} as ospo
 
@@ -8,7 +7,7 @@ FROM {{ .From }} as ospo
 COPY components.csv /components.csv
 COPY source_code.txt /source_code.txt
 
-RUN apt update && apt -y install ca-certificates
+RUN apt update && apt -y install ca-certificates curl
 
 RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
 		&& curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
@@ -20,7 +19,7 @@ RUN mkdir -p /usr/src/licenses \
 		&& /download-ref-repos.sh /source_code.txt /usr/src
 
 #Build stage
-FROM golang:{{ $golang.Version }}-alpine{{ $distroMajor }} AS build-env
+FROM golang:{{ $golang.Version }}-bookworm AS build-env
 
 ARG GOPROXY
 ENV GOPROXY ${GOPROXY:-direct}
@@ -31,8 +30,8 @@ ENV TAGS "bindata timetzdata $TAGS"
 ARG CGO_EXTRA_CFLAGS
 
 # Build deps
-RUN apk --no-cache add \
-    build-base \
+RUN apt-get update && apt-get install -y \
+    build-essential \
     git \
     nodejs \
     npm \
@@ -64,8 +63,7 @@ RUN apt-get update && \
     openssh-server \
     s6 \
     sqlite3 \
-    gnupg \
-    musl-dev
+    gnupg
 
 RUN ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1 \
     &&  ssh-keygen -A \
diff --git a/docker/gitea/versions.yaml b/docker/gitea/versions.yaml
index d993d2c3cf..f724acbb9f 100644
--- a/docker/gitea/versions.yaml
+++ b/docker/gitea/versions.yaml
@@ -22,36 +22,32 @@ cloudbuild:
   enable_parallel: false
   machineType: 'E2_HIGHCPU_32'
 versions:
-- dir: 1/debian11/1.21
-  from: marketplace.gcr.io/google/c2d-debian11
+- dir: 1/debian12/1.22
+  from: marketplace.gcr.io/google/debian12
   packages:
     gitea:
-      version: '1.21'
+      version: '1.22'
     golang:
-      version: '1.21'
-  templateArgs:
-    alpineVersion: '3.18'
+      version: '1.23'
   repo: gitea1
   tags:
-  - 1.21.7-debian11
-  - 1.21-debian11
-  - 1-debian11
-  - '1.21.7'
-  - '1.21'
+  - 1.22.1-debian12
+  - 1.22-debian12
+  - 1-debian12
+  - '1.22.1'
+  - '1.22'
   - '1'
   - latest
-- dir: 1/debian11/1.19
-  from: marketplace.gcr.io/google/c2d-debian11
+- dir: 1/debian12/1.19
+  from: marketplace.gcr.io/google/debian12
   packages:
     gitea:
       version: '1.19'
     golang:
-      version: '1.20'
-  templateArgs:
-    alpineVersion: '3.17'
+      version: '1.23'
   repo: gitea1
   tags:
-  - 1.19.9-debian11
-  - 1.19-debian11
+  - 1.19.9-debian12
+  - 1.19-debian12
   - '1.19.9'
   - '1.19'
diff --git a/docker/solr/9/debian12/9.6/Dockerfile b/docker/solr/9/debian12/9.6/Dockerfile
new file mode 100644
index 0000000000..4cf3a56e59
--- /dev/null
+++ b/docker/solr/9/debian12/9.6/Dockerfile
@@ -0,0 +1,129 @@
+FROM marketplace.gcr.io/google/debian12 as ospo
+
+# Download Licenses and restricted source-code
+COPY components.csv /components.csv
+COPY source_code.txt /source_code.txt
+
+RUN apt update && apt -y install ca-certificates curl
+
+RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
+		&& curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
+		&& chmod +x /download-licenses.sh \
+		&& chmod +x /download-ref-repos.sh
+
+RUN mkdir -p /usr/src/licenses \
+		&& /download-licenses.sh /components.csv /usr/src/licenses \
+		&& /download-ref-repos.sh /source_code.txt /usr/src
+
+FROM marketplace.gcr.io/google/debian12
+
+COPY --from=ospo /usr/src /usr/src
+
+ARG SOLR_VERSION=9.6.1
+ARG SOLR_KEYS=50E3EE1C91C7E0CB4DFB007B369424FC98F3F6EC
+
+ENV C2D_RELEASE=9.6.1
+
+RUN set -ex; \
+  apt-get update; \
+  apt-get -y install default-jdk acl dirmngr gpg lsof procps wget curl netcat-traditional tini; \
+  rm -rf /var/lib/apt/lists/*; \
+  cd /usr/local/bin; wget -nv https://github.com/apangin/jattach/releases/download/v1.5/jattach; chmod 755 jattach; \
+  echo >jattach.sha512 "d8eedbb3e192a8596c08efedff99b9acf1075331e1747107c07cdb1718db2abe259ef168109e46bd4cf80d47d43028ff469f95e6ddcbdda4d7ffa73a20e852f9  jattach"; \
+  sha512sum -c jattach.sha512; rm jattach.sha512
+
+ENV SOLR_USER="solr" \
+    SOLR_UID="8983" \
+    SOLR_GROUP="solr" \
+    SOLR_GID="8983" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?action=download&filename=/solr/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz" \
+    SOLR_DIST_URL="https://www.apache.org/dist/solr/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/solr/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz" \
+    PATH="/opt/solr/bin:/opt/solr/docker/scripts:/opt/solr/prometheus-exporter/bin:$PATH" \
+    SOLR_INCLUDE=/etc/default/solr.in.sh \
+    SOLR_HOME=/var/solr/data \
+    SOLR_PID_DIR=/var/solr \
+    SOLR_LOGS_DIR=/var/solr/logs \
+    LOG4J_PROPS=/var/solr/log4j2.xml \
+    SOLR_SERVER_DIR=/opt/solr/server \
+    SOLR_JETTY_HOST="0.0.0.0"
+
+# Workaround for CVE-2021-44228
+# https://www.docker.com/blog/apache-log4j-2-cve-2021-44228/
+ENV JAVA_OPTS="-Dlog4j.formatMsgNoLookups=true"
+
+RUN set -ex; \
+  groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
+  useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
+
+RUN set -ex; \
+  export GNUPGHOME="/tmp/gnupg_home"; \
+  mkdir -p "$GNUPGHOME"; \
+  chmod 700 "$GNUPGHOME"; \
+  echo "disable-ipv6" >> "$GNUPGHOME/dirmngr.conf"; \
+  found='' && \
+	for server in \
+		pool.sks-keyservers.net \
+		na.pool.sks-keyservers.net \
+		eu.pool.sks-keyservers.net \
+		oc.pool.sks-keyservers.net \
+		ha.pool.sks-keyservers.net \
+		hkp://p80.pool.sks-keyservers.net:80 \
+		hkp://keyserver.ubuntu.com:80 \
+		pgp.mit.edu \
+	; do \
+		gpg --no-tty --keyserver $server --recv-keys $SOLR_KEYS \
+			&& found=yes && break; \
+	done; \
+	test -n "$found" \
+  && exit 0
+
+RUN set -ex; \
+  export GNUPGHOME="/tmp/gnupg_home"; \
+  MAX_REDIRECTS=1; \
+  for url in $SOLR_DOWNLOAD_URL $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget --header="Content-Type: application/x-gzip" -t 10 --max-redirect $MAX_REDIRECTS --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+    (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
+  gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
+  tar -C /opt --extract --preserve-permissions --file "/opt/solr-$SOLR_VERSION.tgz"; \
+  (cd /opt; ln -s "solr-$SOLR_VERSION" solr); \
+  rm "/opt/solr-$SOLR_VERSION.tgz"*; \
+  rm -Rf /opt/solr/docs/ /opt/solr/docker/Dockerfile; \
+  mkdir -p /opt/solr/server/solr/lib /docker-entrypoint-initdb.d; \
+  chown -R $SOLR_USER:$SOLR_GROUP "/opt/solr-$SOLR_VERSION"; \
+  find "/opt/solr-$SOLR_VERSION" -type d -print0 | xargs -0 chmod 0755; \
+  find "/opt/solr-$SOLR_VERSION" -type f -print0 | xargs -0 chmod 0644; \
+  chmod -R 0755 "/opt/solr-$SOLR_VERSION/bin" "/opt/solr-$SOLR_VERSION/docker/scripts" "/opt/solr-$SOLR_VERSION/prometheus-exporter/bin/solr-exporter" /opt/solr-$SOLR_VERSION/server/scripts/cloud-scripts; \
+  cp /opt/solr/bin/solr.in.sh /etc/default/solr.in.sh; \
+  mv /opt/solr/bin/solr.in.sh /opt/solr/bin/solr.in.sh.orig; \
+  mv /opt/solr/bin/solr.in.cmd /opt/solr/bin/solr.in.cmd.orig; \
+  chown $SOLR_USER:$SOLR_GROUP /etc/default/solr.in.sh; \
+  chmod 0664 /etc/default/solr.in.sh; \
+  mkdir -p /var/solr/data /var/solr/logs; \
+  (cd /opt/solr/server/solr; cp solr.xml zoo.cfg /var/solr/data/); \
+  cp /opt/solr/server/resources/log4j2.xml /var/solr/log4j2.xml; \
+  find /var/solr -type d -print0 | xargs -0 chmod 0770; \
+  find /var/solr -type f -print0 | xargs -0 chmod 0660; \
+  chown -R "$SOLR_USER:$SOLR_GROUP" /opt/solr-$SOLR_VERSION /docker-entrypoint-initdb.d; \
+  chown -R "$SOLR_USER:$SOLR_GROUP" /var/solr; \
+  ln -s /opt/solr/modules /opt/solr/contrib; \
+  ln -s /opt/solr/prometheus-exporter /opt/solr/modules/prometheus-exporter; \
+  { command -v gpgconf; gpgconf --kill all || :; }; \
+  rm -r "$GNUPGHOME"
+
+VOLUME /var/solr
+EXPOSE 8983
+WORKDIR /opt/solr
+USER $SOLR_USER
+
+RUN ls -lh /opt/solr/docker/scripts
+RUN echo $PATH && which docker-entrypoint.sh
+
+ENTRYPOINT ["docker-entrypoint.sh"]
+CMD ["solr-foreground"]
diff --git a/docker/solr/9/debian12/9.6/components.csv b/docker/solr/9/debian12/9.6/components.csv
new file mode 100644
index 0000000000..36df7b7a5a
--- /dev/null
+++ b/docker/solr/9/debian12/9.6/components.csv
@@ -0,0 +1,520 @@
+SparseBitSet;https://github.com/brettwooldridge/SparseBitSet
+animal-sniffer-annotations;https://raw.githubusercontent.com/mojohaus/animal-sniffer/master/LICENSE
+annotations;https://github.com/JetBrains/intellij-community
+annotations;https://github.com/JetBrains/intellij-community
+annotations;https://github.com/aws/aws-sdk-java-v2
+annotations;https://android.git.kernel.org/
+annotations;https://android.git.kernel.org/
+antlr4-runtime;https://github.com/antlr/antlr4/tree/master
+aopalliance-repackaged;https://github.com/eclipse-ee4j/glassfish-hk2
+apache-client;https://github.com/aws/aws-sdk-java-v2
+apache-mime4j-core;https://git-wip-us.apache.org/repos/asf/james-mime4j.git
+apache-mime4j-dom;https://git-wip-us.apache.org/repos/asf/james-mime4j.git
+api-common;https://raw.githubusercontent.com/googleapis/java-storage/main/LICENSE
+apiguardian-api;https://raw.githubusercontent.com/apiguardian-team/apiguardian/main/LICENSE
+argparse4j;https://github.com/argparse4j/argparse4j
+arns;https://github.com/aws/aws-sdk-java-v2
+asm;https://gitlab.ow2.org/asm/asm/-/raw/master/LICENSE.txt?ref_type=heads
+asm-analysis;https://gitlab.ow2.org/asm/asm/-/raw/master/LICENSE.txt?ref_type=heads
+asm-commons;https://gitlab.ow2.org/asm/asm/-/raw/master/LICENSE.txt?ref_type=heads
+asm-tree;https://gitlab.ow2.org/asm/asm/-/raw/master/LICENSE.txt?ref_type=heads
+auth;https://github.com/aws/aws-sdk-java-v2
+auto-value-annotations;http://github.com/google/auto
+avatica-core;https://raw.githubusercontent.com/apache/calcite-avatica/master/LICENSE
+avatica-metrics;https://raw.githubusercontent.com/apache/calcite-avatica/master/LICENSE
+avro;http://svn.apache.org/viewvc/avro/trunk
+aws-core;https://github.com/aws/aws-sdk-java-v2
+aws-query-protocol;https://github.com/aws/aws-sdk-java-v2
+aws-xml-protocol;https://github.com/aws/aws-sdk-java-v2
+bcmail-jdk15on;https://raw.githubusercontent.com/bcgit/bc-java/main/LICENSE.html
+bcpkix-jdk15on;https://raw.githubusercontent.com/bcgit/bc-java/main/LICENSE.html
+bcprov-jdk15on;https://raw.githubusercontent.com/bcgit/bc-java/main/LICENSE.html
+bcutil-jdk15on;https://raw.githubusercontent.com/bcgit/bc-java/main/LICENSE.html
+boilerpipe;https://raw.githubusercontent.com/kohlschutter/boilerpipe/master/LICENSE
+bzip2;http://jbzip2.googlecode.com/svn/trunk/
+c3p0;https://raw.githubusercontent.com/swaldman/c3p0/0.10.x/LICENSE
+caffeine;https://raw.githubusercontent.com/ben-manes/caffeine/master/LICENSE
+calcite-core;https://raw.githubusercontent.com/apache/calcite/master/LICENSE
+calcite-linq4j;https://raw.githubusercontent.com/apache/calcite/master/LICENSE
+carrot2-core;https://raw.githubusercontent.com/carrot2/carrot2/master/carrot2.LICENSE
+cdm;https://github.com/Unidata/netcdf-java/blob/maint-5.x/LICENSE
+checker-qual;https://raw.githubusercontent.com/typetools/checker-framework/master/LICENSE.txt
+commons-beanutils;http://svn.apache.org/viewvc/commons/proper/beanutils/tags/BEANUTILS_1_9_3_RC3
+commons-cli;http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/
+commons-cli;https://gitbox.apache.org/repos/asf?p=commons-cli.git
+commons-codec;https://github.com/apache/commons-codec
+commons-codec;https://github.com/apache/commons-codec
+commons-collections;http://svn.apache.org/viewvc/commons/proper/collections/trunk
+commons-collections;http://svn.apache.org/viewvc/commons/proper/collections/trunk
+commons-collections4;https://git-wip-us.apache.org/repos/asf?p=commons-collections.git
+commons-compiler;https://raw.githubusercontent.com/janino-compiler/janino/master/LICENSE
+commons-compress;https://gitbox.apache.org/repos/asf?p=commons-compress.git
+commons-compress;https://gitbox.apache.org/repos/asf?p=commons-compress.git
+commons-configuration2;https://gitbox.apache.org/repos/asf?p=commons-configuration.git
+commons-configuration2;https://gitbox.apache.org/repos/asf?p=commons-configuration.git
+commons-csv;https://gitbox.apache.org/repos/asf?p=commons-csv.git
+commons-exec;http://svn.apache.org/viewvc/commons/proper/exec/trunk
+commons-io;https://gitbox.apache.org/repos/asf?p=commons-io.git
+commons-io;https://gitbox.apache.org/repos/asf?p=commons-io.git
+commons-lang3;https://gitbox.apache.org/repos/asf?p=commons-lang.git
+commons-lang3;https://gitbox.apache.org/repos/asf?p=commons-lang.git
+commons-math3;http://svn.apache.org/viewvc/commons/proper/math/trunk
+commons-math3;https://git-wip-us.apache.org/repos/asf?p=commons-math.git
+commons-net;https://gitbox.apache.org/repos/asf/commons-net
+commons-text;https://gitbox.apache.org/repos/asf?p=commons-text.git
+commons-text;https://gitbox.apache.org/repos/asf?p=commons-text.git
+conscrypt-openjdk-uber;https://raw.githubusercontent.com/google/conscrypt/master/LICENSE
+crt-core;https://github.com/aws/aws-sdk-java-v2
+curator-client;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curator-client;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curator-framework;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curator-framework;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curator-recipes;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curator-recipes;https://raw.githubusercontent.com/apache/curator/master/LICENSE
+curvesapi;https://raw.githubusercontent.com/virtuald/curvesapi/master/license.txt
+dd-plist;https://github.com/3breadt/dd-plist/tree/master
+dec;https://raw.githubusercontent.com/google/brotli/master/LICENSE
+disruptor;https://raw.githubusercontent.com/LMAX-Exchange/disruptor/master/LICENCE.txt
+dnsjava;https://raw.githubusercontent.com/dnsjava/dnsjava/master/LICENSE
+ehcache-core;http://svn.terracotta.org/svn/ehcache/trunk
+endpoints-spi;https://github.com/aws/aws-sdk-java-v2
+error_prone_annotations;https://github.com/google/error-prone
+error_prone_annotations;https://github.com/google/error-prone
+error_prone_annotations;https://github.com/google/error-prone
+eventstream;https://raw.githubusercontent.com/awslabs/aws-eventstream-java/master/LICENSE
+failureaccess;https://raw.githubusercontent.com/google/guava/master/LICENSE
+failureaccess;https://raw.githubusercontent.com/google/guava/master/LICENSE
+failureaccess;https://raw.githubusercontent.com/google/guava/master/LICENSE
+failureaccess;https://raw.githubusercontent.com/google/guava/master/LICENSE
+fontbox;http://svn.apache.org/viewvc/maven/pom/tags/2.0.26/pdfbox-parent
+gapic-google-cloud-storage-v2;https://raw.githubusercontent.com/googleapis/java-storage/master/LICENSE
+gax;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+gax-grpc;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+gax-httpjson;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+geoapi;https://raw.githubusercontent.com/opengeospatial/geoapi/master/LICENSE
+google-api-client;https://raw.githubusercontent.com/googleapis/google-api-java-client/master/LICENSE
+google-api-services-storage;http://svn.sonatype.org/spice/tags/oss-parent-7
+google-api-services-storage-v1-rev20230907;http://svn.sonatype.org/spice/tags/oss-parent-7
+google-auth-library-credentials;https://raw.githubusercontent.com/googleapis/google-auth-library-java/master/LICENSE
+google-auth-library-oauth2-http;https://raw.githubusercontent.com/googleapis/google-auth-library-java/master/LICENSE
+google-cloud-core;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+google-cloud-core-grpc;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+google-cloud-core-http;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+google-cloud-storage;https://raw.githubusercontent.com/googleapis/java-storage/master/LICENSE
+google-http-client;https://raw.githubusercontent.com/googleapis/google-http-java-client/master/LICENSE
+google-http-client-apache-v2;https://raw.githubusercontent.com/googleapis/google-http-java-client/master/LICENSE
+google-http-client-appengine;https://raw.githubusercontent.com/googleapis/google-http-java-client/master/LICENSE
+google-http-client-gson;https://raw.githubusercontent.com/googleapis/google-http-java-client/master/LICENSE
+google-http-client-jackson2;https://raw.githubusercontent.com/googleapis/google-http-java-client/master/LICENSE
+google-oauth-client;https://raw.githubusercontent.com/googleapis/google-oauth-java-client/master/LICENSE
+grib;https://raw.githubusercontent.com/Unidata/netcdf-java/maint-5.x/LICENSE
+grpc-alts;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-api;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-api;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-auth;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-context;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-core;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-core;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-google-cloud-storage-v2;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-googleapis;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-grpclb;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-netty;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-netty-shaded;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-protobuf;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-protobuf-lite;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-rls;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-services;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-stub;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-util;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+grpc-xds;https://raw.githubusercontent.com/grpc/grpc-java/master/LICENSE
+gson;https://raw.githubusercontent.com/google/gson/master/LICENSE
+gson;https://raw.githubusercontent.com/google/gson/master/LICENSE
+gson;https://raw.githubusercontent.com/google/gson/master/LICENSE
+gson;https://raw.githubusercontent.com/google/gson/master/LICENSE
+gson;https://raw.githubusercontent.com/google/gson/master/LICENSE
+guava;https://raw.githubusercontent.com/google/guava/master/LICENSE
+guava;https://raw.githubusercontent.com/google/guava/master/LICENSE
+guava;https://raw.githubusercontent.com/google/guava/master/LICENSE
+hadoop-annotations;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-annotations;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-auth;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-auth;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-client;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-client-api;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-client-runtime;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-common;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-common;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-hdfs-client;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-mapreduce-client-common;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-mapreduce-client-core;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-mapreduce-client-jobclient;https://raw.githubusercontent.com/apache/hadoop/d1daf26b853d66a283951dbaba5f606184ed36bc/LICENSE.txt
+hadoop-shaded-guava;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hadoop-shaded-guava;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hadoop-shaded-protobuf_3_7;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hadoop-yarn-api;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hadoop-yarn-client;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hadoop-yarn-common;https://raw.githubusercontent.com/apache/hadoop-thirdparty/trunk/LICENSE.txt
+hk2-api;https://github.com/eclipse-ee4j/glassfish-hk2
+hk2-locator;https://github.com/eclipse-ee4j/glassfish-hk2
+hk2-utils;https://github.com/eclipse-ee4j/glassfish-hk2
+hppc;https://raw.githubusercontent.com/carrotsearch/hppc/master/LICENSE.txt
+http-client-spi;https://github.com/aws/aws-sdk-java-v2
+http2-client;https://github.com/jetty/jetty.project
+http2-common;https://github.com/jetty/jetty.project
+http2-hpack;https://github.com/jetty/jetty.project
+http2-http-client-transport;https://github.com/jetty/jetty.project
+http2-server;https://github.com/jetty/jetty.project
+httpclient;https://raw.githubusercontent.com/apache/httpcomponents-client/master/LICENSE.txt
+httpclient;https://raw.githubusercontent.com/apache/httpcomponents-client/master/LICENSE.txt
+httpclient5;https://raw.githubusercontent.com/apache/httpcomponents-client/master/LICENSE.txt
+httpcore;http://hc.apache.org/httpcomponents-core-ga
+httpcore;http://hc.apache.org/httpcomponents-core-ga
+httpcore5;https://raw.githubusercontent.com/apache/httpcomponents-client/master/LICENSE.txt
+httpcore5-h2;https://raw.githubusercontent.com/apache/httpcomponents-client/master/LICENSE.txt
+httpmime;http://hc.apache.org/httpcomponents-client-ga
+httpservices;https://raw.githubusercontent.com/Unidata/netcdf-java/maint-5.x/LICENSE
+icu4j;https://raw.githubusercontent.com/unicode-org/icu/master/LICENSE
+isoparser;https://github.com/tballison/mp4parser
+isorelax;https://raw.githubusercontent.com/phax/ph-isorelax/master/LICENSE.txt
+istack-commons-runtime;https://raw.githubusercontent.com/eclipse-ee4j/jaxb-istack-commons/master/LICENSE.md
+j2objc-annotations;http://svn.sonatype.org/spice/tags/oss-parent-7
+j2objc-annotations;http://svn.sonatype.org/spice/tags/oss-parent-7
+j2objc-annotations;http://svn.sonatype.org/spice/trunk/oss/oss-parent-9
+jackcess;http://svn.code.sf.net/p/jackcess/code/jackcess/tags/jackcess-4.0.2
+jackcess-encrypt;http://svn.code.sf.net/p/jackcessencrypt/code/tags/jackcess-encrypt-4.0.1
+jackson-annotations;http://github.com/FasterXML/jackson-annotations
+jackson-annotations;https://raw.githubusercontent.com/FasterXML/jackson-annotations/master/LICENSE
+jackson-core;http://github.com/FasterXML/jackson-core
+jackson-core;https://raw.githubusercontent.com/FasterXML/jackson-core/master/LICENSE
+jackson-databind;http://github.com/FasterXML/jackson-databind
+jackson-databind;https://raw.githubusercontent.com/FasterXML/jackson-databind/master/LICENSE
+jackson-dataformat-cbor;https://raw.githubusercontent.com/FasterXML/jackson-dataformats-binary/master/LICENSE
+jackson-dataformat-smile;https://raw.githubusercontent.com/FasterXML/jackson-dataformats-binary/master/LICENSE
+jackson-jaxrs-base;http://github.com/FasterXML/jackson-jaxrs-providers
+jackson-jaxrs-json-provider;http://github.com/FasterXML/jackson-jaxrs-providers
+jackson-jq;https://github.com/juven/git-demo.git
+jackson-module-jakarta-xmlbind-annotations;https://raw.githubusercontent.com/FasterXML/jackson-modules-base/master/LICENSE
+jackson-module-jaxb-annotations;http://github.com/FasterXML/jackson-modules-base
+jaeger-core;https://raw.githubusercontent.com/jaegertracing/jaeger-client-java/master/LICENSE
+jaeger-thrift;https://raw.githubusercontent.com/jaegertracing/jaeger-client-java/master/LICENSE
+jai-imageio-core;https://raw.githubusercontent.com/jai-imageio/jai-imageio-core/master/LICENSE.txt
+jakarta.activation;https://raw.githubusercontent.com/jakartaee/jaf-api/master/LICENSE.md
+jakarta.activation-api;https://raw.githubusercontent.com/jakartaee/jaf-api/master/LICENSE.md
+jakarta.activation-api;https://raw.githubusercontent.com/jakartaee/jaf-api/master/LICENSE.md
+jakarta.annotation-api;https://github.com/eclipse-ee4j/common-annotations-api
+jakarta.inject-api;https://github.com/eclipse-ee4j/injection-api
+jakarta.validation-api;https://github.com/eclipse-ee4j/beanvalidation-api
+jakarta.ws.rs-api;https://github.com/eclipse-ee4j/jaxrs-api
+jakarta.xml.bind-api;https://raw.githubusercontent.com/jakartaee/jaxb-api/master/LICENSE.md
+jakarta.xml.bind-api;https://raw.githubusercontent.com/jakartaee/jaxb-api/master/LICENSE.md
+janino;https://raw.githubusercontent.com/janino-compiler/janino/master/LICENSE
+java-atk-wrapper;https://raw.githubusercontent.com/GNOME/java-atk-wrapper/master/COPYING.LESSER
+java-libpst;http://github.com/rjohnsondev/java-libpst/tree/master
+javassist;https://raw.githubusercontent.com/jboss-javassist/javassist/master/License.html
+javax.servlet-api;https://raw.githubusercontent.com/javaee/glassfish/master/LICENSE
+jaxb-runtime;https://raw.githubusercontent.com/eclipse-ee4j/jaxb-ri/master/LICENSE.md
+jbig2-imageio;https://git-wip-us.apache.org/repos/asf?p=pdfbox-jbig2.git
+jcip-annotations;http://github.com/stephenc/jcip-annotations/tree/master/
+jcl-over-slf4j;https://github.com/qos-ch/slf4j
+jcommander;https://raw.githubusercontent.com/cbeust/jcommander/master/license.txt
+jctools-core;https://raw.githubusercontent.com/JCTools/JCTools/master/LICENSE
+jctools-core;https://raw.githubusercontent.com/JCTools/JCTools/master/LICENSE
+jdom2;https://raw.githubusercontent.com/hunterhacker/jdom/master/LICENSE.txt
+jempbox;http://svn.apache.org/viewvc/maven/pom/tags/1.8.16/pdfbox-parent
+jersey-client;https://github.com/sonatype/jvnet-parent
+jersey-client;https://github.com/eclipse-ee4j/jersey
+jersey-common;https://github.com/eclipse-ee4j/jersey
+jersey-container-jetty-http;https://github.com/eclipse-ee4j/jersey
+jersey-core;https://github.com/sonatype/jvnet-parent
+jersey-entity-filtering;https://github.com/eclipse-ee4j/jersey
+jersey-hk2;https://github.com/eclipse-ee4j/jersey
+jersey-media-json-jackson;https://github.com/eclipse-ee4j/jersey
+jersey-server;https://github.com/eclipse-ee4j/jersey
+jersey-servlet;https://github.com/sonatype/jvnet-parent
+jetty-alpn-client;https://github.com/jetty/jetty.project
+jetty-alpn-java-client;https://github.com/jetty/jetty.project
+jetty-alpn-java-server;https://github.com/jetty/jetty.project
+jetty-alpn-server;https://github.com/jetty/jetty.project
+jetty-client;https://github.com/jetty/jetty.project
+jetty-client;https://github.com/eclipse/jetty.project
+jetty-deploy;https://github.com/jetty/jetty.project
+jetty-http;https://github.com/jetty/jetty.project
+jetty-http;https://github.com/eclipse/jetty.project
+jetty-io;https://github.com/jetty/jetty.project
+jetty-io;https://github.com/eclipse/jetty.project
+jetty-jmx;https://github.com/jetty/jetty.project
+jetty-rewrite;https://github.com/jetty/jetty.project
+jetty-security;https://github.com/jetty/jetty.project
+jetty-server;https://github.com/jetty/jetty.project
+jetty-servlet;https://github.com/jetty/jetty.project
+jetty-servlets;https://github.com/jetty/jetty.project
+jetty-start;https://github.com/jetty/jetty.project
+jetty-util;https://github.com/jetty/jetty.project
+jetty-util;https://github.com/eclipse/jetty.project
+jetty-util-ajax;https://github.com/eclipse/jetty.project
+jetty-webapp;https://github.com/jetty/jetty.project
+jetty-webapp;https://github.com/eclipse/jetty.project
+jetty-xml;https://github.com/jetty/jetty.project
+jetty-xml;https://github.com/eclipse/jetty.project
+jhighlight;https://raw.githubusercontent.com/codelibs/jhighlight/master/LICENSE_LGPL.txt
+jline;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-builtins;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-reader;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-remote-ssh;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-remote-telnet;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-style;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-terminal;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-terminal-jansi;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jline-terminal-jna;https://raw.githubusercontent.com/jline/jline3/master/LICENSE.txt
+jmatio;https://raw.githubusercontent.com/gradusnikov/jmatio/master/LICENSE.txt
+jna;https://raw.githubusercontent.com/java-native-access/jna/master/LICENSE
+joda-time;https://github.com/JodaOrg/joda-time
+jose4j;https://bitbucket.org/b_c/jose4j
+jrt-fs;https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-jdk11/master/LICENSE
+json-path;https://raw.githubusercontent.com/json-path/JsonPath/master/LICENSE
+json-simple;http://json-simple.googlecode.com/svn/trunk/
+json-simple;http://json-simple.googlecode.com/svn/trunk/
+json-smart;https://github.com/netplex/json-smart-v1
+json-utils;https://github.com/aws/aws-sdk-java-v2
+jsonic;https://raw.githubusercontent.com/jsonicjs/jsonic/master/LICENSE
+jsr311-api;https://raw.githubusercontent.com/javaee/jsr311/master/LICENSE
+jts-core;https://github.com/locationtech/jts
+jts-io-common;https://github.com/locationtech/jts
+jul-to-slf4j;https://github.com/qos-ch/slf4j
+juniversalchardet;http://code.google.com/p/juniversalchardet/source/browse/
+junrar;https://raw.githubusercontent.com/junrar/junrar/master/LICENSE
+kerb-admin;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-client;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-common;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-core;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-core;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-crypto;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-crypto;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-identity;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-server;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-simplekdc;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-util;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerb-util;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-asn1;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-asn1;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-config;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-config;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-pkix;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-pkix;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-util;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-util;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kerby-xdr;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+kotlin-stdlib;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-common;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-common;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-jdk7;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-jdk7;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-jdk8;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+kotlin-stdlib-jdk8;https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt
+langdetect;http://code.google.com/p/language-detection/source/browse
+libthrift;https://raw.githubusercontent.com/apache/thrift/master/LICENSE
+listenablefuture;https://raw.githubusercontent.com/google/guava/master/LICENSE
+listenablefuture;https://raw.githubusercontent.com/google/guava/master/LICENSE
+listenablefuture;https://raw.githubusercontent.com/google/guava/master/LICENSE
+listenablefuture;https://raw.githubusercontent.com/google/guava/master/LICENSE
+log4j-1.2-api;https://github.com/apache/logging-log4j2
+log4j-api;https://github.com/apache/logging-log4j2
+log4j-core;https://github.com/apache/logging-log4j2
+log4j-jul;https://github.com/apache/logging-log4j2
+log4j-layout-template-json;https://github.com/apache/logging-log4j2
+log4j-slf4j2-impl;https://github.com/apache/logging-log4j2
+log4j-web;https://github.com/apache/logging-log4j2
+lucene-analysis-common;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-icu;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-kuromoji;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-morfologik;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-nori;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-opennlp;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-phonetic;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-smartcn;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-analysis-stempel;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-backward-codecs;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-classification;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-codecs;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-core;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-expressions;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-grouping;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-highlighter;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-join;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-memory;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-misc;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-queries;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-queryparser;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-sandbox;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-spatial-extras;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-spatial3d;https://gitbox.apache.org/repos/asf?p=lucene.git
+lucene-suggest;https://gitbox.apache.org/repos/asf?p=lucene.git
+mchange-commons-java;https://github.com/swaldman/mchange-commons-java
+metadata-extractor;https://raw.githubusercontent.com/tballison/metadata-extractor/master/LICENSE
+metrics-annotation;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-core;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-graphite;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-jetty10;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-jmx;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-jvm;https://raw.githubusercontent.com/dropwizard/metrics/master/LICENSE
+metrics-spi;https://github.com/aws/aws-sdk-java-v2
+morfologik-fsa;https://raw.githubusercontent.com/morfologik/morfologik-stemming/master/LICENSE.txt
+morfologik-polish;https://raw.githubusercontent.com/morfologik/morfologik-stemming/master/LICENSE.txt
+morfologik-stemming;https://raw.githubusercontent.com/morfologik/morfologik-stemming/master/LICENSE.txt
+morfologik-ukrainian-search;https://raw.githubusercontent.com/morfologik/morfologik-stemming/master/LICENSE.txt
+netcdf4;https://github.com/Unidata/netcdf-java/blob/maint-5.x/LICENSE
+netty-buffer;https://github.com/netty/netty
+netty-codec;https://github.com/netty/netty
+netty-codec-http;https://github.com/netty/netty
+netty-codec-http2;https://github.com/netty/netty
+netty-codec-socks;https://github.com/netty/netty
+netty-common;https://github.com/netty/netty
+netty-handler;https://github.com/netty/netty
+netty-handler-proxy;https://github.com/netty/netty
+netty-resolver;https://github.com/netty/netty
+netty-tcnative-boringssl-static;https://github.com/netty/netty-tcnative/netty-tcnative-boringssl-static
+netty-tcnative-classes;https://github.com/netty/netty-tcnative
+netty-transport;https://github.com/netty/netty
+netty-transport-classes-epoll;https://github.com/netty/netty
+netty-transport-native-epoll;https://github.com/netty/netty
+netty-transport-native-unix-common;https://github.com/netty/netty
+nimbus-jose-jwt;https://bitbucket.org/connect2id/nimbus-jose-jwt
+okhttp;https://github.com/square/okhttp
+okhttp;https://github.com/square/okhttp
+okio-jvm;https://github.com/square/okio/
+okio-jvm;https://github.com/square/okio/
+opencensus-api;https://raw.githubusercontent.com/census-instrumentation/opencensus-java/master/LICENSE
+opencensus-contrib-http-util;https://raw.githubusercontent.com/census-instrumentation/opencensus-java/master/LICENSE
+opencensus-proto;https://raw.githubusercontent.com/census-instrumentation/opencensus-java/master/LICENSE
+openjson;https://github.com/openjson/openjson
+opennlp-tools;https://raw.githubusercontent.com/apache/opennlp/master/LICENSE
+opennlp-tools;https://raw.githubusercontent.com/apache/opennlp/master/LICENSE
+opennlp-tools;https://raw.githubusercontent.com/apache/opennlp/master/LICENSE
+opentelemetry-api;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-api-events;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-context;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-exporter-common;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-exporter-otlp;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-exporter-otlp-common;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-exporter-sender-okhttp;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-extension-incubator;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-opentracing-shim;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-common;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-extension-autoconfigure;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-extension-autoconfigure-spi;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-logs;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-metrics;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentelemetry-sdk-trace;https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/main/LICENSE
+opentracing-api;https://raw.githubusercontent.com/opentracing/opentracing-java/master/LICENSE
+opentracing-noop;https://raw.githubusercontent.com/opentracing/opentracing-java/master/LICENSE
+opentracing-util;https://raw.githubusercontent.com/opentracing/opentracing-java/master/LICENSE
+osgi-resource-locator;https://github.com/eclipse-ee4j/glassfish-hk2-extra
+paranamer;https://raw.githubusercontent.com/paul-hammant/paranamer/master/LICENSE.txt
+parso;https://raw.githubusercontent.com/epam/parso/master/LICENSE
+pdfbox;http://svn.apache.org/viewvc/maven/pom/tags/2.0.26/pdfbox-parent
+pdfbox-tools;http://svn.apache.org/viewvc/maven/pom/tags/2.0.26/pdfbox-parent
+perfmark-api;https://raw.githubusercontent.com/perfmark/perfmark/master/LICENSE
+perfmark-api;https://raw.githubusercontent.com/perfmark/perfmark/master/LICENSE
+poi;https://raw.githubusercontent.com/apache/poi/trunk/poi/build.gradle
+poi-ooxml;https://raw.githubusercontent.com/apache/poi/trunk/poi/build.gradle
+poi-ooxml-lite;https://raw.githubusercontent.com/apache/poi/trunk/poi/build.gradle
+poi-scratchpad;https://raw.githubusercontent.com/apache/poi/trunk/poi/build.gradle
+post;https://github.com/apache/solr/blob/main/LICENSE.txt
+preflight;http://svn.apache.org/viewvc/maven/pom/tags/2.0.26/pdfbox-parent
+profiles;https://github.com/aws/aws-sdk-java-v2
+proj4j;https://github.com/locationtech/proj4j.git
+proto-google-cloud-storage-v2;https://raw.githubusercontent.com/googleapis/java-storage/master/LICENSE
+proto-google-common-protos;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+proto-google-iam-v1;https://raw.githubusercontent.com/googleapis/sdk-platform-java/master/LICENSE
+protobuf-java;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protobuf-java;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protobuf-java;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protobuf-java;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protobuf-java;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protobuf-java-util;https://raw.githubusercontent.com/protocolbuffers/protobuf/master/LICENSE
+protocol-core;https://github.com/aws/aws-sdk-java-v2
+re2j;https://raw.githubusercontent.com/google/re2j/master/LICENSE
+re2j;https://raw.githubusercontent.com/google/re2j/master/LICENSE
+re2j;https://raw.githubusercontent.com/google/re2j/master/LICENSE
+reactive-streams;https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/master/LICENSE
+regions;https://github.com/aws/aws-sdk-java-v2
+rome;https://raw.githubusercontent.com/rometools/rome/master/LICENSE
+rome-utils;https://raw.githubusercontent.com/rometools/rome/master/LICENSE
+rome-utils;https://raw.githubusercontent.com/rometools/rome/master/LICENSE
+s2-geometry-library-java;https://github.com/sgr-io/s2-geometry-library-java
+s3;https://github.com/aws/aws-sdk-java-v2
+sdk-core;https://github.com/aws/aws-sdk-java-v2
+semver4j;https://github.com/semver4j/semver4j
+sentiment-analysis-parser;https://raw.githubusercontent.com/USCDataScience/SentimentAnalysisParser/master/LICENSE
+servlet-api;https://raw.githubusercontent.com/jetty/jetty-servlet-api/jakarta-servlet-api/src/main/resources/META-INF/LICENSE.md
+simpleclient;https://github.com/prometheus/client_java.git
+simpleclient_common;https://github.com/prometheus/client_java.git
+simpleclient_httpserver;https://github.com/prometheus/client_java.git
+simplemagic;https://github.com/j256/simplemagic
+sis-feature;https://github.com/apache/sis/blob/main/LICENSE
+sis-metadata;https://github.com/apache/sis/blob/main/LICENSE
+sis-netcdf;https://github.com/apache/sis/blob/main/LICENSE
+sis-referencing;https://github.com/apache/sis/blob/main/LICENSE
+sis-storage;https://gitbox.apache.org/repos/asf?p=sis.git
+sis-utility;https://github.com/apache/sis/blob/main/LICENSE
+sizeof-agent;https://github.com/ehcache/sizeof/blob/master/LICENSE
+slf4j-api;https://github.com/qos-ch/slf4j
+snappy-java;https://raw.githubusercontent.com/xerial/snappy-java/master/LICENSE
+solr-analysis-extras;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-analytics;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-api;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-clustering;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-core;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-extraction;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-gcs-repository;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-hadoop-auth;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-hdfs;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-jaegertracer-configurator;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-jwt-auth;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-langid;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-ltr;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-opentelemetry;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-prometheus-exporter;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-s3-repository;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-scripting;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-solrj;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-solrj-streaming;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-solrj-zookeeper;https://gitbox.apache.org/repos/asf?p=solr.git
+solr-sql;https://gitbox.apache.org/repos/asf?p=solr.git
+spatial4j;https://github.com/locationtech/spatial4j
+start;https://github.com/apache/solr/blob/main/LICENSE.txt
+stax2-api;http://github.com/FasterXML/stax2-api
+stax2-api;http://github.com/FasterXML/stax2-api
+sts;https://github.com/aws/aws-sdk-java-v2
+swagger-annotations;https://raw.githubusercontent.com/swagger-api/swagger-core/master/LICENSE
+swagger-annotations-jakarta;https://github.com/swagger-api/swagger-core/blob/master/LICENSE
+t-digest;https://raw.githubusercontent.com/tdunning/t-digest/master/LICENSE
+tagsoup;https://github.com/smikhalevski/tag-soup/blob/master/LICENSE.txt
+third-party-jackson-core;https://github.com/FasterXML/jackson-core/blob/2.17/LICENSE
+threetenbp;https://github.com/ThreeTen/threetenbp
+tika-core;https://github.com/apache/tika
+tika-parsers;https://github.com/apache/tika
+token-provider;https://raw.githubusercontent.com/apache/directory-kerby/master/LICENSE
+txw2;https://github.com/eclipse-ee4j/jaxb-ri.git
+udunits;https://github.com/Unidata/thredds/
+unit-api;https://raw.githubusercontent.com/unitsofmeasurement/unit-api/master/LICENSE
+utils;https://github.com/aws/aws-sdk-java-v2
+vorbis-java-core;https://github.com/Gagravarr/VorbisJava
+vorbis-java-tika;https://github.com/Gagravarr/VorbisJava
+websocket-api;https://github.com/eclipse/jetty.project
+websocket-client;https://github.com/eclipse/jetty.project
+websocket-common;https://github.com/eclipse/jetty.project
+woodstox-core;https://raw.githubusercontent.com/FasterXML/woodstox/master/LICENSE
+woodstox-core;https://raw.githubusercontent.com/FasterXML/woodstox/master/LICENSE
+xercesImpl;https://github.com/codelibs/xerces/blob/master/LICENSE
+xmlbeans;https://svn.apache.org/repos/asf/xmlbeans/
+xmpbox;http://svn.apache.org/viewvc/maven/pom/tags/2.0.26/pdfbox-parent
+xmpcore;http://www.adobe.com/devnet/xmp.html
+xmpcore;http://www.adobe.com/devnet/xmp.html
+xmpcore-shaded;https://github.com/tballison/xmpcore-shaded
+xsdlib;http://java.net/projects/msv/sources/svn/show/tags/msv-2013.6.1
+xz;https://github.com/tukaani-project/xz/blob/master/COPYING
+zookeeper;https://gitbox.apache.org/repos/asf/zookeeper.git
+zookeeper-jute;https://gitbox.apache.org/repos/asf/zookeeper.git
diff --git a/docker/solr/9/debian12/9.6/source_code.txt b/docker/solr/9/debian12/9.6/source_code.txt
new file mode 100644
index 0000000000..139616dec5
--- /dev/null
+++ b/docker/solr/9/debian12/9.6/source_code.txt
@@ -0,0 +1,20 @@
+https://github.com/eclipse-ee4j/glassfish-hk2
+https://github.com/swaldman/c3p0
+https://github.com/typetools/checker-framework
+https://github.com/jetty/jetty.project
+https://github.com/eclipse-ee4j/common-annotations-api
+https://github.com/eclipse-ee4j/jaxrs-api
+https://github.com/GNOME/java-atk-wrapper
+https://github.com/jboss-javassist/javassist
+https://github.com/javaee/glassfish
+https://github.com/sonatype/jvnet-parent
+https://github.com/eclipse-ee4j/jersey
+https://github.com/eclipse/jetty.project
+https://github.com/codelibs/jhighlight
+https://github.com/AdoptOpenJDK/openjdk-jdk11
+https://github.com/javaee/jsr311
+https://github.com/locationtech/jts
+http://code.google.com/p/juniversalchardet
+https://github.com/swaldman/mchange-commons-java
+https://github.com/eclipse-ee4j/glassfish-hk2-extra
+https://github.com/jetty/jetty-servlet-api
diff --git a/docker/solr/templates/Dockerfile.template b/docker/solr/templates/Dockerfile.template
index edd70d7a93..f73b8fb56c 100644
--- a/docker/solr/templates/Dockerfile.template
+++ b/docker/solr/templates/Dockerfile.template
@@ -6,7 +6,7 @@ FROM {{ .From }} as ospo
 COPY components.csv /components.csv
 COPY source_code.txt /source_code.txt
 
-RUN apt update && apt -y install ca-certificates
+RUN apt update && apt -y install ca-certificates curl
 
 RUN curl -o /download-licenses.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-licenses.sh \
 		&& curl -o /download-ref-repos.sh -L https://raw.githubusercontent.com/GoogleCloudPlatform/click-to-deploy/master/scripts/download-ref-repos.sh \
@@ -28,7 +28,7 @@ ENV C2D_RELEASE={{ $solr.Version }}
 
 RUN set -ex; \
   apt-get update; \
-  apt-get -y install default-jdk acl dirmngr gpg lsof procps wget curl netcat tini; \
+  apt-get -y install default-jdk acl dirmngr gpg lsof procps wget curl netcat-traditional tini; \
   rm -rf /var/lib/apt/lists/*; \
   cd /usr/local/bin; wget -nv https://github.com/apangin/jattach/releases/download/v1.5/jattach; chmod 755 jattach; \
   echo >jattach.sha512 "d8eedbb3e192a8596c08efedff99b9acf1075331e1747107c07cdb1718db2abe259ef168109e46bd4cf80d47d43028ff469f95e6ddcbdda4d7ffa73a20e852f9  jattach"; \
diff --git a/docker/solr/versions.yaml b/docker/solr/versions.yaml
index 1e3ad74530..7893462478 100644
--- a/docker/solr/versions.yaml
+++ b/docker/solr/versions.yaml
@@ -16,18 +16,18 @@
 cloudbuild:
   enable_parallel: false
 versions:
-- dir: 9/debian11/9.5
-  from: marketplace.gcr.io/google/c2d-debian11
+- dir: 9/debian12/9.6
+  from: marketplace.gcr.io/google/debian12
   packages:
     solr:
-      gpg: E05FDF113D89E7FB4A2DF4B2684D544160392455
-      version: 9.5.0
+      gpg: 50E3EE1C91C7E0CB4DFB007B369424FC98F3F6EC
+      version: 9.6.1
   repo: solr9
   tags:
-  - 9.5.0-debian11
-  - 9.5-debian11
-  - 9-debian11
-  - '9.5.0'
-  - '9.5'
+  - 9.6.1-debian12
+  - 9.6-debian12
+  - 9-debian12
+  - '9.6.1'
+  - '9.6'
   - '9'
   - latest