diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 88eb3dcbc16a7cea54a474d5809eaed1c39851e0..1d672ee7776b5541b5c30359bb3ca9e5bea6964c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -301,6 +301,26 @@ scan-ui: reports: container_scanning: ./.trivy/trivy-ui-report.json +scan-log-service: + stage: scan-docker + needs: + - build-docker + only: + refs: + - dev + - master + allow_failure: true + script: + - make scan-log-service + cache: + paths: + - .trivycache/ + artifacts: + when: always + expire_in: 1 days + reports: + container_scanning: ./.trivy/trivy-log-service-report.json + release-latest: stage: release-docker needs: @@ -313,6 +333,7 @@ release-latest: - scan-data-db - scan-search-db - scan-ui + - scan-log-service only: refs: - dev diff --git a/Makefile b/Makefile index 9477d1fb72351f8bacd3881efeda6edf859f3b05..d334607fa25308f1ad4dbf9cd82557c4cbbf33fa 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ build-analyse-service: build-docker: docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service docker build -t dbrepo-search-sync-agent:build --target build dbrepo-search-sync-agent + docker build ./dbrepo-log-service -t dbrepo-log-service docker compose build --parallel build-frontend: @@ -31,7 +32,7 @@ build-frontend: build-clients: bash ./.gitlab/swagger/generate.sh -tag: tag-analyse-service tag-authentication-service tag-metadata-db tag-ui tag-broker-service tag-metadata-service tag-search-sync-agent +tag: tag-analyse-service tag-authentication-service tag-metadata-db tag-ui tag-broker-service tag-metadata-service tag-search-sync-agent tag-log-service tag-analyse-service: docker tag dbrepo-analyse-service:latest "dbrepo/analyse-service:${TAG}" @@ -65,7 +66,11 @@ tag-search-db: docker tag dbrepo-search-db:latest "dbrepo/search-db:${TAG}" docker tag dbrepo-search-db:latest "${AZURE_REPO}/dbrepo/search-db:${TAG}" -release: build-docker tag release-analyse-service release-authentication-service release-metadata-db release-ui release-broker-service release-metadata-service release-search-sync-agent +tag-log-service: + docker tag dbrepo-log-service:latest "dbrepo/log-service:${TAG}" + docker tag dbrepo-log-service:latest "${AZURE_REPO}/dbrepo/log-service:${TAG}" + +release: build-docker tag release-analyse-service release-authentication-service release-metadata-db release-ui release-broker-service release-metadata-service release-search-sync-agent release-log-service release-analyse-service: tag-analyse-service docker push "dbrepo/analyse-service:${TAG}" @@ -91,10 +96,18 @@ release-broker-service: tag-broker-service docker push "dbrepo/broker-service:${TAG}" docker push "${AZURE_REPO}/dbrepo/broker-service:${TAG}" +release-search-db: tag-search-db + docker push "dbrepo/search-db:${TAG}" + docker push "${AZURE_REPO}/dbrepo/search-db:${TAG}" + release-metadata-service: tag-metadata-service docker push "dbrepo/metadata-service:${TAG}" docker push "${AZURE_REPO}/dbrepo/metadata-service:${TAG}" +release-log-service: tag-log-service + docker push "dbrepo/log-service:${TAG}" + docker push "${AZURE_REPO}/dbrepo/log-service:${TAG}" + test-backend: test-metadata-service test-analyse-service test-search-sync-agent test-search-sync-agent: build-search-sync-agent @@ -106,7 +119,7 @@ test-metadata-service: build-metadata-service teardown test-analyse-service: build-analyse-service bash ./dbrepo-analyse-service/test.sh -scan: scan-analyse-service scan-authentication-service scan-broker-service scan-gateway-service scan-metadata-db scan-metadata-service scan-search-db scan-ui scan-search-sync-agent scan-data-db +scan: scan-analyse-service scan-authentication-service scan-broker-service scan-gateway-service scan-metadata-db scan-metadata-service scan-search-db scan-ui scan-search-sync-agent scan-data-db scan-log-service scan-analyse-service: trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json dbrepo-analyse-service:latest @@ -160,6 +173,11 @@ scan-ui: trivy image --insecure --exit-code 0 dbrepo-ui:latest trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-ui:latest +scan-log-service: + trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-log-service-report.json dbrepo-log-service:latest + trivy image --insecure --exit-code 0 dbrepo-log-service:latest + trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-log-service:latest + coverage-frontend: build-frontend yarn --cwd ./dbrepo-ui run coverage || true diff --git a/dbrepo-gateway-service/dbrepo.conf b/dbrepo-gateway-service/dbrepo.conf index 68abcdeb0fbaaf2ebeadca382e60c2aad6b96056..febc598168359b86944d59d8a577e744b91ca768 100644 --- a/dbrepo-gateway-service/dbrepo.conf +++ b/dbrepo-gateway-service/dbrepo.conf @@ -30,10 +30,23 @@ upstream upload { server upload-service:1080; } +upstream search-db-dashboard { + server search-db-dashboard:5601; +} + server { listen 80 default_server; server_name _; + location /admin/dashboard { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://search-db-dashboard; + proxy_read_timeout 90; + } + location /admin/broker { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; diff --git a/dbrepo-log-service/Dockerfile b/dbrepo-log-service/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c5bdb326eb8c2c6b8219da1f1c9169c2cab05aab --- /dev/null +++ b/dbrepo-log-service/Dockerfile @@ -0,0 +1,13 @@ +FROM fluentd:v1.16-1 + +USER root + +RUN gem install fluent-plugin-opensearch +RUN fluent-gem install fluent-plugin-rewrite-tag-filter fluent-plugin-multi-format-parser + +USER fluent + +COPY ./fluent.conf /fluentd/etc/fluent.conf + +EXPOSE 24224/tcp +EXPOSE 24224/udp \ No newline at end of file diff --git a/dbrepo-log-service/README.md b/dbrepo-log-service/README.md new file mode 100644 index 0000000000000000000000000000000000000000..23a63f37127a23dcdcde78fae11686a0053e3f06 --- /dev/null +++ b/dbrepo-log-service/README.md @@ -0,0 +1,5 @@ +# Log Service + +## Sink + +`24224/tcp` and `24224/udp` \ No newline at end of file diff --git a/dbrepo-log-service/dashboard/README.md b/dbrepo-log-service/dashboard/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a829276bedb0220817b1a4ee512be1b7438b23b2 --- /dev/null +++ b/dbrepo-log-service/dashboard/README.md @@ -0,0 +1,5 @@ +# Log Dashboard + +## Dashboard + +Visit [http://localhost:5601/admin/dasboard](http://localhost:5601/admin/dasboard) \ No newline at end of file diff --git a/dbrepo-log-service/dashboard/opensearch_dashboards.yml b/dbrepo-log-service/dashboard/opensearch_dashboards.yml new file mode 100644 index 0000000000000000000000000000000000000000..618147ea32adfd22e0fe2ca86319c57b3d2fd600 --- /dev/null +++ b/dbrepo-log-service/dashboard/opensearch_dashboards.yml @@ -0,0 +1,7 @@ +server.basePath: "/admin/dashboard" +server.rewriteBasePath: true +server.name: log-dashboard +server.host: "0.0.0.0" +opensearch.hosts: http://search-db:9200 +opensearch.username: admin +opensearch.password: admin diff --git a/dbrepo-log-service/fluent.conf b/dbrepo-log-service/fluent.conf new file mode 100644 index 0000000000000000000000000000000000000000..4c2e0411e5d7bb8de55f52349e52f6f837dfd24b --- /dev/null +++ b/dbrepo-log-service/fluent.conf @@ -0,0 +1,28 @@ +<source> + @type forward + port 24224 + bind 0.0.0.0 +</source> + +<match *.**> + @type copy + + <store> + @type opensearch + host search-db + port 9200 + user admin + password admin + index_name dbrepo-logs + logstash_format true + logstash_prefix fluentd + logstash_dateformat %Y%m%d + include_tag_key true + tag_key @log_name + flush_interval 1s + </store> + + <store> + @type stdout + </store> +</match> diff --git a/dbrepo-search-db/Dockerfile b/dbrepo-search-db/Dockerfile index c89670d3a09d14b58642fdf628a224ca2b7a5265..4c67c63dfb405f5b359fd89d6c315e33ec0ac98f 100644 --- a/dbrepo-search-db/Dockerfile +++ b/dbrepo-search-db/Dockerfile @@ -4,16 +4,33 @@ USER root RUN yum install -y jq -USER opensearch - -WORKDIR /app - COPY ./limits.conf /etc/security/limits.conf -COPY ./indices/*.json . +WORKDIR /app COPY ./create-indices.sh ./create-indices.sh COPY ./docker-entrypoint.sh ./docker-entrypoint.sh -COPY ./healthcheck.sh ./healthcheck.sh -ENTRYPOINT [ "bash", "./docker-entrypoint.sh" ] \ No newline at end of file +WORKDIR /usr/share/opensearch + +RUN chmod 0700 ./config +COPY --chown=opensearch:opensearch ./opensearch.yml ./config/opensearch.yml +COPY --chown=opensearch:opensearch ./config.yml ./config/opensearch-security/config.yml +COPY --chown=opensearch:opensearch ./internal_users.yml ./config/opensearch-security/internal_users.yml +RUN chmod 0600 ./config/opensearch-security/internal_users.yml + +COPY --chown=opensearch:opensearch ./pem/admin.pem ./config/admin.pem +COPY --chown=opensearch:opensearch ./pem/admin-key.pem ./config/admin-key.pem +RUN chmod 0600 ./config/admin*.pem +COPY --chown=opensearch:opensearch ./pem/node1.pem ./config/node1.pem +COPY --chown=opensearch:opensearch ./pem/node1-key.pem ./config/node1-key.pem +RUN chmod 0600 ./config/node1*.pem +COPY --chown=opensearch:opensearch ./pem/root-ca.pem ./config/root-ca.pem +COPY --chown=opensearch:opensearch ./pem/root-ca-key.pem ./config/root-ca-key.pem +RUN chmod 0600 ./config/root-ca*.pem + +USER opensearch + +ENV DISABLE_INSTALL_DEMO_CONFIG=true + +ENTRYPOINT [ "bash", "/app/docker-entrypoint.sh" ] \ No newline at end of file diff --git a/dbrepo-search-db/README.md b/dbrepo-search-db/README.md index 541ebd85974b41a2072a20127cd55d6de2f2a491..c80ca169e98b28d6c97a09c14b4c1f4996ed48c2 100644 --- a/dbrepo-search-db/README.md +++ b/dbrepo-search-db/README.md @@ -1,10 +1,6 @@ # Search Database -## How to run +## REST -Increase memory for Docker to at least 4GB: - -```console -sudo sysctl -w vm.max_map_count=262144 -``` \ No newline at end of file +View all indices [http://localhost:9200/_cat/indices](http://localhost:9200/_cat/indices) \ No newline at end of file diff --git a/dbrepo-search-db/config.yml b/dbrepo-search-db/config.yml new file mode 100644 index 0000000000000000000000000000000000000000..44c8e845cf181fbf577d05ea4bcf5cda398a34d3 --- /dev/null +++ b/dbrepo-search-db/config.yml @@ -0,0 +1,57 @@ +--- + +_meta: + type: "config" + config_version: 2 + +config: + dynamic: + http: + # Either enables or disables anonymous authentication. When true, HTTP authenticators try to find user credentials in + # the HTTP request. If credentials are found, the user is authenticated. If none are found, the user is authenticated + # as an “anonymous” user. This user then has the username “anonymous” and one role named “anonymous_backendrole”. + # When you enable anonymous authentication, all defined HTTP authenticators are non-challenging. Also see The + # challenge setting. + anonymous_auth_enabled: true + xff: + enabled: false + authc: + basic_internal_auth_domain: + description: "Authenticate via HTTP Basic against internal users database" + http_enabled: true + transport_enabled: true + order: 0 + http_authenticator: + type: basic + challenge: true + authentication_backend: + type: intern + jwt_auth_domain: + description: "Authenticate via Json Web Token" + # Enables or disables authentication on the REST layer. Default is true (enabled). + http_enabled: true + # Enables or disables authentication on the transport layer. Default is true (enabled). + transport_enabled: true + # Determines the order in which an authentication domain is queried with an authentication request when multiple + # backends are configured in combination. Once authentication succeeds, any remaining domains do not need to be + # queried. Its value is an integer. + order: 1 + http_authenticator: + # https://opensearch.org/docs/latest/security/authentication-backends/openid-connect/#configure-openid-connect-integration + type: openid + challenge: false + config: + # The HTTP header that stores the token. Typically the Authorization header with the + # Bearer schema: Authorization: Bearer <token>. Optional. Default is Authorization. + jwt_header: Authorization + # The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is + # used. Most IdP providers use the preferred_username claim. Optional. + subject_key: client_id + # The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated + # list of roles. Required only if you want to use roles in the JWT. + roles_key: roles + jwks_uri: https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/protocol/openid-connect/certs + authentication_backend: + # No further authentication against any backend system is performed. Use noop if the HTTP authenticator has + # already authenticated the user completely, as in the case of JWT or client certificate authentication. + type: noop diff --git a/dbrepo-search-db/generate-pki.sh b/dbrepo-search-db/generate-pki.sh new file mode 100644 index 0000000000000000000000000000000000000000..6aff5a819eda145fbdc88995b713b90fbe23af00 --- /dev/null +++ b/dbrepo-search-db/generate-pki.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Generate the private key of the root CA +openssl genrsa -out ./pem/root-ca-key.pem 4096 +# Generate the self-signed root CA certificate +openssl req -x509 -sha256 -new -nodes -key ./pem/root-ca-key.pem -days 3650 -out ./pem/root-ca.pem -subj "/C=AT/O=Technische Universität Wien/CN=test.dbrepo.tuwien.ac.at" + +# Create the certificate key +openssl genrsa -out ./pem/admin-key.pem 4096 +# Create the signing (csr) +openssl req -new -sha256 -key ./pem/admin-key.pem -subj "/C=AT/O=Technische Universität Wien/CN=test.dbrepo.tuwien.ac.at" -out ./pem/admin.csr +# Generate the certificate using the csr and key along with the CA Root key +openssl x509 -req -in ./pem/admin.csr -CA ./pem/root-ca.pem -CAkey ./pem/root-ca-key.pem -CAcreateserial -out ./pem/admin.pem -days 365 -sha256 + +# Create the certificate key +openssl genrsa -out ./pem/node1-key.pem 4096 +# Create the signing (csr) +openssl req -new -sha256 -key ./pem/node1-key.pem -subj "/C=AT/O=Technische Universität Wien/CN=test.dbrepo.tuwien.ac.at" -out ./pem/node1.csr +# Generate the certificate using the csr and key along with the CA Root key +openssl x509 -req -in ./pem/node1.csr -CA ./pem/root-ca.pem -CAkey ./pem/root-ca-key.pem -CAcreateserial -out ./pem/node1.pem -days 365 -sha256 \ No newline at end of file diff --git a/dbrepo-search-db/healthcheck.sh b/dbrepo-search-db/healthcheck.sh deleted file mode 100644 index 6f35d6cc293f7981e85cb8ba23f99026e340d82f..0000000000000000000000000000000000000000 --- a/dbrepo-search-db/healthcheck.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -INDICES=$(curl -sSL http://localhost:9200/_cat/indices | awk '{ if ($6) { print $3 } }') -for index in "user" "view" "database" "identifier" "concept" "column" "table" "unit"; do - if [ ! $(echo $INDICES | grep $index) ]; then - echo "[healtcheck.sh] Index $index does not exist" - exit 1 - fi -done \ No newline at end of file diff --git a/dbrepo-search-db/internal_users.yml b/dbrepo-search-db/internal_users.yml new file mode 100644 index 0000000000000000000000000000000000000000..db93ae09edbe45261b686b2ce384625df024d4aa --- /dev/null +++ b/dbrepo-search-db/internal_users.yml @@ -0,0 +1,14 @@ +--- +# This is the internal user database +# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh + +_meta: + type: "internalusers" + config_version: 2 + +admin: + hash: "$2y$12$d1Gx2n13.EJMLPIB6jQwDeE4p4E6SPvUUH6aKICV1vYOuJIY5Xebq" # admin + reserved: true + backend_roles: + - "admin" + description: "Default admin user" \ No newline at end of file diff --git a/dbrepo-search-db/opensearch.yml b/dbrepo-search-db/opensearch.yml new file mode 100644 index 0000000000000000000000000000000000000000..f0333feb0ff7906be6c08a70b3f333df14427053 --- /dev/null +++ b/dbrepo-search-db/opensearch.yml @@ -0,0 +1,23 @@ +--- +cluster.name: search-db + +# Bind to all interfaces because we don't know what IP address Docker will assign to us. +network.host: 0.0.0.0 + +# Setting network.host to a non-loopback address enables the annoying bootstrap checks. "Single-node" mode disables them again. +discovery.type: single-node + +plugins.security.ssl.transport.pemcert_filepath: /usr/share/opensearch/config/node1.pem +plugins.security.ssl.transport.pemkey_filepath: /usr/share/opensearch/config/node1-key.pem +plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/share/opensearch/config/root-ca.pem +plugins.security.ssl.http.pemcert_filepath: /usr/share/opensearch/config/node1.pem +plugins.security.ssl.http.pemkey_filepath: /usr/share/opensearch/config/node1-key.pem +plugins.security.ssl.http.pemtrustedcas_filepath: r/usr/share/opensearch/config/root-ca.pem +plugins.security.allow_default_init_securityindex: true +plugins.security.audit.type: internal_opensearch +plugins.security.enable_snapshot_restore_privilege: true +plugins.security.check_snapshot_restore_write_privileges: true +plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"] +cluster.routing.allocation.disk.threshold_enabled: false +opendistro_security.audit.config.disabled_rest_categories: NONE +opendistro_security.audit.config.disabled_transport_categories: NONE diff --git a/dbrepo-search-db/pem/admin-key.pem b/dbrepo-search-db/pem/admin-key.pem new file mode 100644 index 0000000000000000000000000000000000000000..8315244358bf43d093295b290326e5510be22e2c --- /dev/null +++ b/dbrepo-search-db/pem/admin-key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/dbrepo-search-db/pem/admin.csr b/dbrepo-search-db/pem/admin.csr new file mode 100644 index 0000000000000000000000000000000000000000..90ea981b44b79649a8c8ded9f814441dda0ad38c --- /dev/null +++ b/dbrepo-search-db/pem/admin.csr @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIEnjCCAoYCAQAwWTELMAkGA1UEBhMCQVQxJzAlBgNVBAoMHlRlY2huaXNjaGUg +VW5pdmVyc2l0w4PCpHQgV2llbjEhMB8GA1UEAwwYdGVzdC5kYnJlcG8udHV3aWVu +LmFjLmF0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAulg+zSSPHujM +ckFPkrgJDvlRMLNbWf5R7z6Yr0mGMir5IXs8ELP3GOTTPJNAtCqZVkeuLAuiv1rs +RtMO5tXRiGcgkJrPjP1/F70d4NCx1F7AWMyMuDimF5Ke4jp+lQN+iZtzBAfb/QR2 +toYec0/LpJGtFAnlzdFo/GL8Al0I00S8blG3uiCfn9no5C35TWEFBL5yQNptQL3q +jcxhL/ahacMdOuqq4WXyRPbQjyqKccALlOIvT62OXzutLAkamr6/97qiONkY6D+O +FUpXgS97moWQh9X1pFitcc1zsAXH1Ctvul/8wcIaOnSGo1T+E2nSSlWGHDYmCBrj +bormgfcm/0CncU3BvWvM/FgTCMatOj40fmayezAz+1/haKHLg4cJsLH0US7AZsln +qpDJOKvf6vhiQ74hhlYVvJiIyjGuogxFWO/vCv7j2DezpVvryWuzVL6yha+fl4um +9Rzhzo74a2z/Qs3C9tktaO29hE64KTg7cbrQzKboihazxB/BsfKV1ANkYXe6SG+d +F/He5VLNpJmOiRnSI7+vGcDInJkKsQcurg95IZRn9PiodP06tWDjGKgkN7MsApPW +9e8rpGwUgoR4EaCrstk7h8kohi/d9XhPXCraNgCRhCIxjt4jPCx14tTuaYn2QwqY +0RPa29UyBlSj3mHtVfcViHjssqVzZXUCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IC +AQCXqmcRcAZC5dVSFtHulZJ8I26lxhXZZBBAjuMrFR2waFYsESGh70TAncXuIhNC +8eG56HQplky7EDgAVssps9RZ+EevpdmUNANdFgA02fsDwl8Nc6WVMOFu786Bf7bd +rnEF1oCFQN/sgle/Dp+gXw2nzTsvq0iuV3JoGJs6F7eoy6YDG7ipKizbKXR75/Ym +cahY8GDU128JTYXMSqyY3DA8mr52WEWPugGCCvOOfoANnc26EqK6Wi/g/rV4zgnP +ewbNw1C6zOlTyZE64aMkxF5ufoBF967kpEKNQvuCB4bIH/RLtXbN9YRjNpNyLWpm +q5JerlHvn+8sLACXUqoGVROaxOkTLVZ6BEyRG1cUO8VR8sHilUSiUrOk0SvgdytC +mekoKMkojAUA+sYDP8AyAHQAx37SPlwMdvPYpr6bpdLWbamy6b9Lv4D0YW3Fapac +PY8K7EEgsZ3t2usSYjp5JDqKlW+wyHpsgMQvnB+DEDyObjX3rJEO2zx0wkwvhkbN +hsW/Xs7uR+F6wPxH+4LOSgaKLnyidcLBzn4rBuwfUBzfNhO7mKN6OQRWOn17Qt3C +tHd/U6c1Oo4iFnH878zM2C6lBmZOJX9O/e9kFoe+fLOu+t+ujLNnHmY+4srBNLD3 +o9knVuzkz6kirDqzrOwCBbAc6hAyJyLJ3UTjY2TyDZ5u5g== +-----END CERTIFICATE REQUEST----- diff --git a/dbrepo-search-db/pem/admin.pem b/dbrepo-search-db/pem/admin.pem new file mode 100644 index 0000000000000000000000000000000000000000..5a953916364f1add5a0af107e20697779b7b2def --- /dev/null +++ b/dbrepo-search-db/pem/admin.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFOTCCAyECFChEG9Tfkni/pHf2PVR/jkSuImSYMA0GCSqGSIb3DQEBCwUAMFkx +CzAJBgNVBAYTAkFUMScwJQYDVQQKDB5UZWNobmlzY2hlIFVuaXZlcnNpdMODwqR0 +IFdpZW4xITAfBgNVBAMMGHRlc3QuZGJyZXBvLnR1d2llbi5hYy5hdDAeFw0yMzA5 +MjYxMTA5MjRaFw0yNDA5MjUxMTA5MjRaMFkxCzAJBgNVBAYTAkFUMScwJQYDVQQK +DB5UZWNobmlzY2hlIFVuaXZlcnNpdMODwqR0IFdpZW4xITAfBgNVBAMMGHRlc3Qu +ZGJyZXBvLnR1d2llbi5hYy5hdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpYPs0kjx7ozHJBT5K4CQ75UTCzW1n+Ue8+mK9JhjIq+SF7PBCz9xjk0zyT +QLQqmVZHriwLor9a7EbTDubV0YhnIJCaz4z9fxe9HeDQsdRewFjMjLg4pheSnuI6 +fpUDfombcwQH2/0EdraGHnNPy6SRrRQJ5c3RaPxi/AJdCNNEvG5Rt7ogn5/Z6OQt ++U1hBQS+ckDabUC96o3MYS/2oWnDHTrqquFl8kT20I8qinHAC5TiL0+tjl87rSwJ +Gpq+v/e6ojjZGOg/jhVKV4Eve5qFkIfV9aRYrXHNc7AFx9Qrb7pf/MHCGjp0hqNU +/hNp0kpVhhw2Jgga426K5oH3Jv9Ap3FNwb1rzPxYEwjGrTo+NH5msnswM/tf4Wih +y4OHCbCx9FEuwGbJZ6qQyTir3+r4YkO+IYZWFbyYiMoxrqIMRVjv7wr+49g3s6Vb +68lrs1S+soWvn5eLpvUc4c6O+Gts/0LNwvbZLWjtvYROuCk4O3G60Mym6IoWs8Qf +wbHyldQDZGF3ukhvnRfx3uVSzaSZjokZ0iO/rxnAyJyZCrEHLq4PeSGUZ/T4qHT9 +OrVg4xioJDezLAKT1vXvK6RsFIKEeBGgq7LZO4fJKIYv3fV4T1wq2jYAkYQiMY7e +IzwsdeLU7mmJ9kMKmNET2tvVMgZUo95h7VX3FYh47LKlc2V1AgMBAAEwDQYJKoZI +hvcNAQELBQADggIBAJ2spSG1fPRr6WeRVvJCdGLfoN+/ROaN0tF+tNzcSW3SSQy/ +lJ6iALTaAd8Jfa5Y+KB3vrwXXLOZWmUJTpWiIYcBeZym0ZruQmIj07Z0sO3JZZMF +RNKUAyTmt2AA8qPXkKgmcUOylZY1BbJybKf7iAz3dAfNRkad5TreUhMfFVlUD9DZ +p6KkZ/e1u/HgrUgQMmgcBwRZX66DWMrq9OFh2umODqYkmV6nIH5cVrqWkjS8CBmp +tSe7s4+UG7gvAgDqgePL38bdM8yzR8v7E7UWLuCb4TjZwXdswuOieLgfE0d1l6IW +XmWysf5PzaXdVWgqryR9KU4nU1JPexEm2uSa//lHNYYvTt4t7Sr4Fkmem9tuzp13 +MRSCYlZYEwRxqSH1T1e0oSheiqRaPvxTd6eumjprfFLhiLQB3B+2+HULT9vLp/i+ +mE37hZMZAITKlGqsjgGk3VF51TlJXyTKeKpgKdpleKwbulLVKPj/cos+Lw6LlIvu +hKVmCzUOx/G9ZbWZbH3SzGKWeTykc+IxmGnANFsbrVocSHnTdS6kZGi6pKFpSaoS +9CV8nItjcQyFbArqpHK5EEyTUzgFF8dHDE/29HJmZOzzjyMzrPvDCx5d+PqsBc8k +JlWD5hNaAymNFnAdKAyEcXtYZ4ARTWhpMRd/kTMxsMvC2tQPaiuePaZu5D+F +-----END CERTIFICATE----- diff --git a/dbrepo-search-db/pem/node1-key.pem b/dbrepo-search-db/pem/node1-key.pem new file mode 100644 index 0000000000000000000000000000000000000000..33e9ad7bb148d9b5222b42dbf88cefc27ff2dd1f --- /dev/null +++ b/dbrepo-search-db/pem/node1-key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/dbrepo-search-db/pem/node1.csr b/dbrepo-search-db/pem/node1.csr new file mode 100644 index 0000000000000000000000000000000000000000..44ba9b3d4571f26032395e523765043285fa92ce --- /dev/null +++ b/dbrepo-search-db/pem/node1.csr @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIEnjCCAoYCAQAwWTELMAkGA1UEBhMCQVQxJzAlBgNVBAoMHlRlY2huaXNjaGUg +VW5pdmVyc2l0w4PCpHQgV2llbjEhMB8GA1UEAwwYdGVzdC5kYnJlcG8udHV3aWVu +LmFjLmF0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlo1nI4G1xaD1 +qHaXNvB+R9aH9B55H1qTLSsPMViFKCx5LwhkC0I4iP8p8GSw4cPYOCSFvIhy/qmM +QejNxp5xUZx1WsblJulsCP8H37p7BtawiZI7/MV+MfnEoDUyD5xThnr4yYanBN5v +P0sW5zn5LjBfgIBChtak6rG2ANCBLqA/gGmhRI12AEoyhFAjW4HdLHFn1/n9gVey +U88yovT6T2gdT5s8vgaTvzm5owca/ngFkXvUGDro8ae/ek72afxogP+nrE72TRxD +bTxIt4vxmqN1GC2XlMpb3GEJGhelNstNI8Blp5bc1gMGDcXXwWR/kekApGbw7X/y +Lp1zxoD/9qddjpBJ6g/cf3O+nH+ftf3ryBE1D4xalVbmTRLrRhlncbbddBkI0MQf +KDYTchs0VO4IFboyvwOhp7rHkR1NQei3RJA5CPWc/v3w7XJwiC9Ll1nX4zd9HnxS +bNap8Uq+2XAEBTVjzIPjuSSZwumXeU/KUZmbf5/P11vRy3camBaRWRMHp9zUR/X+ +fDCMtci2C7ZtbNmDKD9ByUEN0Glc97wcNfC+0AZrB6CiUqhp35K2yG26CNfV51wg +NcTkvSqbWswaleOU//0PoPTgKgM3DJ5k3/XpuVu3aiAH7da1Ewdgj3ZihSuVWbS/ +4jpQxn40SwVgjQAZSnEUg5ZOboroDi0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IC +AQBp0YyMbdiLyv5i7NBm2kGik4NJ4dXiFp4VO7AVnauo35S4QZsMU6fs3rvK0/9a +46ER6uSilEx94I2I+v7ALmvayyF1tNitdXmadgbC1OVGfk+ZCEIZ39mC5G4M3lZ/ +qNFTabe3fyccwH7Nwx2BkmVBW/wWepyuox57qP11EiMG8PJpdXxxkKkd90Q5TFum +MfdJ+eqw28h1lNPS7FtqFlC4aeAPSrth2qcZhoCmE0WNP49AdXz1TYUJlbworWe8 +n7jpPwM8cAgiqp4rr3Lr4zc02/mrKBRn1Io1jaknb/5hMc4wrlzKPTYpLzoOavD0 +ANQbl2EIyzkee90+cKsu5gs80hvXTJZqpk9PdWEze6e97Pe/BF+/CrYFlbwaxn0p +aP96qsXvymnG3+S08h9TawEnC4xVmo/TC9VCT72ZXJgKcUKTz+lA+b68luf/CVIi +N6D4wO+bhTWlZrIMAjuJAAnWzeN27GxpRJEcVDf4BrLCTKOOJPh6kPNSjSHEwmX/ +SS3spK6G/j+IlJxHJL/L0jxA2mxZnbVxWxBz9Sk2bT7HO85x3by/e+kUTgAY2Eue +MXCvhZ4at3ong9/6NqQBwaNBUaQ9wuDRPLWND7XuCvCjqT0mBGvg7yyBGHVaEGIC +jJtCCf8SY2+MdXH+4ISP6M/SYaMynLHPcxp+7CjRqJK5Pw== +-----END CERTIFICATE REQUEST----- diff --git a/dbrepo-search-db/pem/node1.pem b/dbrepo-search-db/pem/node1.pem new file mode 100644 index 0000000000000000000000000000000000000000..ad4cc59d17f944d617aa770812b2d5cdbc055d39 --- /dev/null +++ b/dbrepo-search-db/pem/node1.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFOTCCAyECFChEG9Tfkni/pHf2PVR/jkSuImSZMA0GCSqGSIb3DQEBCwUAMFkx +CzAJBgNVBAYTAkFUMScwJQYDVQQKDB5UZWNobmlzY2hlIFVuaXZlcnNpdMODwqR0 +IFdpZW4xITAfBgNVBAMMGHRlc3QuZGJyZXBvLnR1d2llbi5hYy5hdDAeFw0yMzA5 +MjYxMTA5MjRaFw0yNDA5MjUxMTA5MjRaMFkxCzAJBgNVBAYTAkFUMScwJQYDVQQK +DB5UZWNobmlzY2hlIFVuaXZlcnNpdMODwqR0IFdpZW4xITAfBgNVBAMMGHRlc3Qu +ZGJyZXBvLnR1d2llbi5hYy5hdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAJaNZyOBtcWg9ah2lzbwfkfWh/QeeR9aky0rDzFYhSgseS8IZAtCOIj/KfBk +sOHD2DgkhbyIcv6pjEHozcaecVGcdVrG5SbpbAj/B9+6ewbWsImSO/zFfjH5xKA1 +Mg+cU4Z6+MmGpwTebz9LFuc5+S4wX4CAQobWpOqxtgDQgS6gP4BpoUSNdgBKMoRQ +I1uB3SxxZ9f5/YFXslPPMqL0+k9oHU+bPL4Gk785uaMHGv54BZF71Bg66PGnv3pO +9mn8aID/p6xO9k0cQ208SLeL8ZqjdRgtl5TKW9xhCRoXpTbLTSPAZaeW3NYDBg3F +18Fkf5HpAKRm8O1/8i6dc8aA//anXY6QSeoP3H9zvpx/n7X968gRNQ+MWpVW5k0S +60YZZ3G23XQZCNDEHyg2E3IbNFTuCBW6Mr8Doae6x5EdTUHot0SQOQj1nP798O1y +cIgvS5dZ1+M3fR58UmzWqfFKvtlwBAU1Y8yD47kkmcLpl3lPylGZm3+fz9db0ct3 +GpgWkVkTB6fc1Ef1/nwwjLXItgu2bWzZgyg/QclBDdBpXPe8HDXwvtAGawegolKo +ad+StshtugjX1edcIDXE5L0qm1rMGpXjlP/9D6D04CoDNwyeZN/16blbt2ogB+3W +tRMHYI92YoUrlVm0v+I6UMZ+NEsFYI0AGUpxFIOWTm6K6A4tAgMBAAEwDQYJKoZI +hvcNAQELBQADggIBAKiZJcKWSYnTV1JasY/U4FjOpcR8E77vRh/jM3pz3Tq2PDtk +Lx7NwNvmdFZBW/Avg5RkqkG//8Vje8iU4d1IvJONHWZnYM/CMjPWDA9AXPbiK0YP +QCuLXppTJ7PG37TVmVL3uBpwrTKWuyDHPkUYVBuunLC1ehWGbhKYKWeOe26y+C18 +rnj86SeoG4o2XbiLAGAwIw3T0vivHENp2G9MnUpgUa2nxlHnncaq7ZYPlzQLpucP +PzvdEORifUVYStjpTBqPgxdSoBRIKtZbWlnG48fzIOHNrpZS5wh2fnKSuQ/KfRq5 +rRO9fNAgT7Kq8ad79MrVyXBbMZhU0gjiiRLAq6Md5On2wndTrUhzVVDFreNOofJD +QIWpMElo8zRqBgsr3N2HE7vOB7XjsUjN11rBwAlvjTB3rJKCu8kCLWUDHzVGvdaN +CWpGUoUrtlkUcxbgilQNywRx2xdHCdQViN96WRfkE93Dhf06JSmpttnr6CkOd4eJ +dCcijqEOtHAPmjk8NBVnQjA5e0GrwuTtZ/Y1YurKPtRRbA9emTcor6ImlVn6bXwa +knZzq9z13MzY1no7TtZQKfuXWPY+tgTdsF3VKqhbpQWPNjmzTG5BHeUYh8L/T+NW +GmS/XJUWkbuC2CxwVBSfIrnp/kxPMtVaW5NGISxoZvfJOFfiU8Zt8clUZBs5 +-----END CERTIFICATE----- diff --git a/dbrepo-search-db/pem/root-ca-key.pem b/dbrepo-search-db/pem/root-ca-key.pem new file mode 100644 index 0000000000000000000000000000000000000000..e09c0919d59982b870458b5a5d44509d31df280f --- /dev/null +++ b/dbrepo-search-db/pem/root-ca-key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/dbrepo-search-db/pem/root-ca.pem b/dbrepo-search-db/pem/root-ca.pem new file mode 100644 index 0000000000000000000000000000000000000000..dc9536b8e63d42f4c1fd4713f8d1febea82f1f01 --- /dev/null +++ b/dbrepo-search-db/pem/root-ca.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFkzCCA3ugAwIBAgIUOfbA5pppESAMwKjKjQ5dv7AyqLEwDQYJKoZIhvcNAQEL +BQAwWTELMAkGA1UEBhMCQVQxJzAlBgNVBAoMHlRlY2huaXNjaGUgVW5pdmVyc2l0 +w4PCpHQgV2llbjEhMB8GA1UEAwwYdGVzdC5kYnJlcG8udHV3aWVuLmFjLmF0MB4X +DTIzMDkyNjExMDkyM1oXDTMzMDkyMzExMDkyM1owWTELMAkGA1UEBhMCQVQxJzAl +BgNVBAoMHlRlY2huaXNjaGUgVW5pdmVyc2l0w4PCpHQgV2llbjEhMB8GA1UEAwwY +dGVzdC5kYnJlcG8udHV3aWVuLmFjLmF0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAvdhcv2roF53m0WsM2PktVHyQar83BhyfoyhioXj66nOVRXMZJJcF +9sw6TGUuRQCUNclfCZj0ZJoLb4iNCX0y8Y93V6IYHah8rLVT8U62oeXQXE5e8+Q/ +Bj05d2qdM7zK3lq8v5LbnoEvjo2g5WsZIn+GxftgFUhXyJOWmLhfeeHBbnFJCQTp +nn61/WiG4r+9KaGYSrq+8wG11BDiZG3BBYmHno3731wptu1etgIHJUlgvJJg8KNC +WMgeitJCA/az85hqQ1z78vRExKPg7u5Ry19ddS1zsTrrnmV+uqSAYC1MEp1Ou/TD +sHIgicXKYEEK4+Y1n8bURhCJ5SSzzE10xws8twL6XfZcC/fODF7YXeLsKmCdMCbp +oWrTfUWS1kQgOyebVbKqpjw6iz07sQsp/fz2kiW2yD2tFYbny3JhzDo9vlpTXwOE +LPOo+84141HEfHehsqRxe2VLlEnOEVu3Kd0c9Sa0o6LcPSdnqa1xH7PESpI3+EkK +q8y1B8wvIUo2GjoKscXd0LfKeFMfsUyCVITYldAgOv/21CMd3HoE+ue/T238CWot ++/MEkXf/Z6kIv3KdBfnc3+fKzVJLYR0swV9AXoRc9h/7GJTrqhza3KW3cFNBfwaQ +qx99Xvd9CX2kFEqHTRhN5TMnJsaujI3M2dXnd6bT3QnU+kV+GssUAPMCAwEAAaNT +MFEwHQYDVR0OBBYEFHRalunU9uLvP49ItGLJi9QLzNo5MB8GA1UdIwQYMBaAFHRa +lunU9uLvP49ItGLJi9QLzNo5MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggIBAJErWbSivfbkFUWVuWkZX6BJv+Xqr4mp7AZz4vXyNQnVT8TqXtiI+Xek +w9BVRVUUaTCymducJrQKT9LJBpwLSzB6z4l+o+6XVnK/Z67Fj8WtvoZdaBWwpePR +4f6xxR19sdUOD4W8YTsahpZXq/yi1qchNFda2CNmI9MoVN0ujy+NBw61OL6GjNdP +xjcjtHkifm1e1tBNWNGCcScplLbbJScd83rB4Qwe26x0kpHJmpSQkN0U8GuLlAVP +pQOVQt+GDPg03j+1KTcOqDUjWaVVgaIUVdCfq2K6ToMI68HtVVpXy8VlYtYi5gEl +jEZqDuC1uMCIf3rl+Jscrg4NLRXninEdCi+qqtyiHuRRuJxYsUP1x62wG/kbvY+V +72HD3hZVwMYAfJ1GN0W2HvpuRpd/QkQL5tqRuELa6/WSCBqpVT7zLCGqtKkMHzKt +hsPFlrQJTMdkdbDEbZ/5dkE29sPIA2TD2d7wOWLmunuyXycPAgPGGc55IHRDd/4W +yk6toxxnSXvDuGup5jFio3XI7A14toLo6algdQ9WOJLoBGNYGyQpT+1Zgv/a1MaC +QpjeOEW8pCpOxrMWusph4pMmV+Trxc+tCmLnMSR6nq0ILoTT4cggwS/ztN/7o9yp +VGafIWCdXQP7T1H0ESOtMaQ7TRbRPtLq2NoTh12DQg7oV7kfYjrx +-----END CERTIFICATE----- diff --git a/dbrepo-search-db/pem/root-ca.srl b/dbrepo-search-db/pem/root-ca.srl new file mode 100644 index 0000000000000000000000000000000000000000..8a970fd4d45a5be230352dbe4a8cbe48779eb82a --- /dev/null +++ b/dbrepo-search-db/pem/root-ca.srl @@ -0,0 +1 @@ +28441BD4DF9278BFA477F63D547F8E44AE226499 diff --git a/dbrepo-search-sync-agent/Dockerfile b/dbrepo-search-sync-agent/Dockerfile index f243236618dc0d13e8016b35c9eda7982bc4bb0c..0c9db041bdfea2074a730f68ffaec5dcb4ca6428 100644 --- a/dbrepo-search-sync-agent/Dockerfile +++ b/dbrepo-search-sync-agent/Dockerfile @@ -28,8 +28,8 @@ ENV METADATA_HOST=metadata-db ENV METADATA_JDBC_EXTRA_ARGS="" ENV METADATA_PASSWORD=dbrepo ENV METADATA_USERNAME=root -ENV SEARCH_USERNAME=fda -ENV SEARCH_PASSWORD=fda +ENV SEARCH_USERNAME=admin +ENV SEARCH_PASSWORD=admin ENV LOG_LEVEL=debug WORKDIR /app diff --git a/dbrepo-ui/Dockerfile b/dbrepo-ui/Dockerfile index 066d69cb53013b5a7de4d685545cfd0d2538d18b..be7719b76c8793ea47819f71fd3d48764a9cf73a 100644 --- a/dbrepo-ui/Dockerfile +++ b/dbrepo-ui/Dockerfile @@ -43,6 +43,7 @@ ENV BROKER_USERNAME="fda" ENV BROKER_PASSWORD="fda" ENV BROKER_LOGIN_URL="/admin/broker/" ENV KEYCLOAK_LOGIN_URL="/api/auth/" +ENV OPENSEARCH_LOGIN_URL="/admin/dashboard/" ENV SHARED_FILESYSTEM="/tmp" ENV LOGO="/logo.png" ENV SEARCH_USERNAME="admin" diff --git a/dbrepo-ui/config.js b/dbrepo-ui/config.js index 29847aaebe790ef5cdcc825951b8496496931eeb..998950b9bce6c7ff83ec4a20f0d2c902347249f0 100644 --- a/dbrepo-ui/config.js +++ b/dbrepo-ui/config.js @@ -6,6 +6,7 @@ config.brokerUsername = process.env.BROKER_USERNAME config.brokerPassword = process.env.BROKER_PASSWORD config.brokerLoginUrl = process.env.BROKER_LOGIN_URL config.keycloakLoginUrl = process.env.KEYCLOAK_LOGIN_URL +config.openSearchUrl = process.env.OPENSEARCH_LOGIN_URL config.sharedFilesystem = process.env.SHARED_FILESYSTEM config.version = process.env.VERSION config.logo = process.env.LOGO diff --git a/dbrepo-ui/nuxt.config.js b/dbrepo-ui/nuxt.config.js index 77b99c27885a48b161b433b11daa9be36dd5a97a..4d0f2aed2d116befb7bae6e91a80a26015bc5268 100644 --- a/dbrepo-ui/nuxt.config.js +++ b/dbrepo-ui/nuxt.config.js @@ -1,6 +1,6 @@ import path from 'path' import colors from 'vuetify/es5/util/colors' -import { icon, clientSecret, title, logo, version, defaultPublisher, doiUrl, clientId, uploadPath, brokerUsername, brokerPassword, searchUsername, searchPassword, brokerLoginUrl, keycloakLoginUrl } from './config' +import { icon, clientSecret, title, logo, version, defaultPublisher, doiUrl, clientId, uploadPath, brokerUsername, brokerPassword, searchUsername, searchPassword, brokerLoginUrl, keycloakLoginUrl, openSearchUrl } from './config' const proxy = {} @@ -108,6 +108,7 @@ export default { brokerPassword, brokerLoginUrl, keycloakLoginUrl, + openSearchUrl, searchUsername, searchPassword, doiUrl, diff --git a/dbrepo-ui/pages/login.vue b/dbrepo-ui/pages/login.vue index fe6ce6651a514c5a2c904b6e8e623eeb64ae873d..e03804d65cdb3b09cc8d4139da7e906f0981b364 100644 --- a/dbrepo-ui/pages/login.vue +++ b/dbrepo-ui/pages/login.vue @@ -52,6 +52,9 @@ </v-btn> </v-card-actions> <v-card-subtitle class="text-right"> + <a v-if="openSearchUrl" class="mr-1" :href="openSearchUrl" target="_blank"> + OpenSearch Admin <sup><v-icon color="primary" x-small>mdi-open-in-new</v-icon></sup> + </a> <a v-if="rabbitMqUrl" class="mr-1" :href="rabbitMqUrl" target="_blank"> RabbitMQ Admin <sup><v-icon color="primary" x-small>mdi-open-in-new</v-icon></sup> </a> @@ -93,6 +96,9 @@ export default { }, rabbitMqUrl () { return this.$config.brokerLoginUrl + }, + openSearchUrl () { + return this.$config.openSearchUrl } }, mounted () { diff --git a/docker-compose.yml b/docker-compose.yml index 4cbbac46746c4affcd1c5664ae558887e3d0d50f..3bee756840367e429f5a0e9aa9c76efd4f9e4a54 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,16 @@ # MODIFIED: 2023-06-01 # MAINTAINER: Martin Weise <martin.weise@tuwien.ac.at> +# Log to the (commented) log service by changing the logging driver to fluentd, e.g.name: +# +# my-service: +# ... +# logging: fluentd +# driver: fluentd +# options: +# host: localhost: 24224 +# tag: my-service + version: "3.6" volumes: @@ -34,7 +44,7 @@ services: container_name: dbrepo-metadata-db hostname: metadata-db build: ./dbrepo-metadata-db - image: dbrepo-metadata-db:latest + image: dbrepo-metadata-db networks: core: volumes: @@ -248,15 +258,13 @@ services: - "2020:2020" - "9200:9200" healthcheck: - test: bash ./healthcheck.sh + test: curl -sSL localhost:9200/_plugins/_security/health | jq .status | grep UP interval: 10s timeout: 5s retries: 12 environment: - discovery.type: "single-node" ES_JAVA_OPTS: "-Xms4g -Xmx4g" logger.level: "WARN" - plugins.security.disabled: "true" deploy: resources: limits: @@ -280,6 +288,7 @@ services: BROKER_PASSWORD: "${BROKER_PASSWORD:-fda}" BROKER_LOGIN_URL: "${BROKER_LOGIN_URL:-/admin/broker/}" KEYCLOAK_LOGIN_URL: "${KEYCLOAK_LOGIN_URL:-/api/auth/admin/}" + OPENSEARCH_LOGIN_URL: "${OPENSEARCH_LOGIN_URL:-/admin/dashboard/}" SHARED_FILESYSTEM: "${SHARED_FILESYSTEM:-/tmp}" LOGO: "${LOGO:-/logo.png}" SEARCH_USERNAME: "${SEARCH_USERNAME:-admin}" @@ -326,6 +335,22 @@ services: logging: driver: json-file + dbrepo-search-db-dashboard: + restart: "no" + container_name: dbrepo-search-db-dashboard + hostname: search-db-dashboard + image: opensearchproject/opensearch-dashboards:2.8.0 + networks: + core: + public: + volumes: + - ./dbrepo-log-service/dashboard/opensearch_dashboards.yml:/usr/share/opensearch-dashboards/config/opensearch_dashboards.yml + ports: + - "5601:5601" + depends_on: + dbrepo-search-db: + condition: service_healthy + dbrepo-search-sync-agent: restart: "no" container_name: dbrepo-search-sync-agent @@ -340,8 +365,8 @@ services: METADATA_JDBC_EXTRA_ARGS: ${METADATA_JDBC_EXTRA_ARGS:-} METADATA_PASSWORD: ${METADATA_PASSWORD:-dbrepo} METADATA_USERNAME: ${METADATA_USERNAME:-root} - SEARCH_USERNAME: ${SEARCH_USERNAME:-fda} - SEARCH_PASSWORD: ${SEARCH_PASSWORD:-fda} + SEARCH_USERNAME: ${SEARCH_USERNAME:-admin} + SEARCH_PASSWORD: ${SEARCH_PASSWORD:-admin} LOG_LEVEL: ${LOG_LEVEL:-debug} healthcheck: test: wget -qO- localhost:9050/actuator/health/readiness | grep -q "UP" || exit 1