Skip to content
Snippets Groups Projects
Commit 5ce4cf94 authored by Martin Weise's avatar Martin Weise
Browse files

Merge branch 'master' into 'release-1.4.4'

Master

See merge request !288
parents c60a2885 94ab6205
No related branches found
No related tags found
4 merge requests!296Dev,!293Dev,!289Dev,!288Master
Showing
with 405 additions and 479 deletions
No preview for this file type
No preview for this file type
...@@ -63,8 +63,11 @@ export default { ...@@ -63,8 +63,11 @@ export default {
identifierService.findOne(this.identifier.id, accept) identifierService.findOne(this.identifier.id, accept)
.then((citation) => { .then((citation) => {
this.citation = citation this.citation = citation
this.loading = false
}) })
.finally(() => { .error(({code, message}) => {
const toast = useToastInstance()
toast.error(this.$t(`${code}: ${message}`))
this.loading = false this.loading = false
}) })
} }
......
...@@ -35,6 +35,9 @@ ...@@ -35,6 +35,9 @@
"pages": { "pages": {
"identifier": { "identifier": {
"title": "Identifier", "title": "Identifier",
"export": {
"text": "Metadata Export"
},
"pid": { "pid": {
"title": "Persistent Identifier" "title": "Persistent Identifier"
}, },
...@@ -1209,10 +1212,6 @@ ...@@ -1209,10 +1212,6 @@
"created": "Successfully created table", "created": "Successfully created table",
"semantics": "Successfully assigned semantic instance" "semantics": "Successfully assigned semantic instance"
}, },
"schema": {
"tables": "Successfully refreshed database tables metadata",
"views": "Successfully refreshed database views metadata"
},
"schema": { "schema": {
"tables": "Successfully refreshed database tables metadata.", "tables": "Successfully refreshed database tables metadata.",
"views": "Successfully refreshed database views metadata." "views": "Successfully refreshed database views metadata."
......
...@@ -14,13 +14,11 @@ services: ...@@ -14,13 +14,11 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-metadata-db container_name: dbrepo-metadata-db
hostname: metadata-db hostname: metadata-db
image: dbrepo-metadata-db:latest image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6
build:
context: ./dbrepo-metadata-db
network: host
volumes: volumes:
- metadata-db-data:/bitnami/mariadb - metadata-db-data:/bitnami/mariadb
- ./dbrepo-metadata-db/setup-data.sql:/docker-entrypoint-initdb.d/setup-schema_local.sql - ./dbrepo-metadata-db/setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql
- ./dbrepo-metadata-db/setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql
ports: ports:
- "3306:3306" - "3306:3306"
environment: environment:
...@@ -38,7 +36,7 @@ services: ...@@ -38,7 +36,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-data-db container_name: dbrepo-data-db
hostname: data-db hostname: data-db
image: docker.io/bitnami/mariadb-galera:11.2.2-debian-11-r0 image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6
volumes: volumes:
- data-db-data:/bitnami/mariadb - data-db-data:/bitnami/mariadb
- "${SHARED_VOLUME:-/tmp}:/tmp" - "${SHARED_VOLUME:-/tmp}:/tmp"
...@@ -46,7 +44,6 @@ services: ...@@ -46,7 +44,6 @@ services:
- "3307:3306" - "3307:3306"
environment: environment:
MARIADB_ROOT_PASSWORD: "${USER_DB_PASSWORD:-dbrepo}" MARIADB_ROOT_PASSWORD: "${USER_DB_PASSWORD:-dbrepo}"
MARIADB_GALERA_MARIABACKUP_PASSWORD: "${USER_DB_BACKUP_PASSWORD:-dbrepo}"
healthcheck: healthcheck:
test: mysqladmin ping --user="${USER_DB_USERNAME:-root}" --password="${USER_DB_PASSWORD:-dbrepo}" --silent test: mysqladmin ping --user="${USER_DB_USERNAME:-root}" --password="${USER_DB_PASSWORD:-dbrepo}" --silent
interval: 10s interval: 10s
...@@ -59,7 +56,7 @@ services: ...@@ -59,7 +56,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-auth-db container_name: dbrepo-auth-db
hostname: auth-db hostname: auth-db
image: docker.io/bitnami/mariadb:11.2.2-debian-11-r0 image: docker.io/bitnami/mariadb:11.1.3-debian-11-r6
volumes: volumes:
- auth-db-data:/bitnami/mariadb - auth-db-data:/bitnami/mariadb
ports: ports:
...@@ -331,7 +328,7 @@ services: ...@@ -331,7 +328,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-gateway-service container_name: dbrepo-gateway-service
hostname: gateway-service hostname: gateway-service
image: docker.io/nginx:1.25-alpine-slim image: docker.io/nginx:1.27.0-alpine3.19-slim
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
......
dependencies: dependencies:
- name: opensearch - name: opensearch
repository: https://opensearch-project.github.io/helm-charts/ repository: https://charts.bitnami.com/bitnami
version: 2.15.0 version: 1.2.2
- name: keycloak - name: keycloak
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
version: 17.3.3 version: 17.3.3
- name: mariadb-galera - name: mariadb
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
version: 11.0.1 version: 14.1.4
- name: mariadb-galera - name: mariadb
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
version: 11.0.1 version: 14.1.4
- name: rabbitmq - name: rabbitmq
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
version: 14.0.0 version: 14.0.0
...@@ -20,5 +20,5 @@ dependencies: ...@@ -20,5 +20,5 @@ dependencies:
- name: tusd - name: tusd
repository: https://charts.sagikazarmark.dev repository: https://charts.sagikazarmark.dev
version: 0.1.2 version: 0.1.2
digest: sha256:f724e33944ae5284b9417a3424a4af9cd67eb8bea0baa0ebeddc76f4c0c9c63a digest: sha256:867a4a60bbccfaeb880d000eeb634db20554ef91523aa3b1331c53bdf48e8db4
generated: "2024-05-17T21:25:35.919266246+02:00" generated: "2024-06-14T15:12:25.44560113+02:00"
...@@ -10,28 +10,28 @@ keywords: ...@@ -10,28 +10,28 @@ keywords:
- dbrepo - dbrepo
maintainers: maintainers:
- name: Martin Weise - name: Martin Weise
email: martin.weise@tuwien.ac.at email: martin.weise@tuwien.ac.a
home: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/ home: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/
icon: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/public/favicon.png icon: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/public/favicon.png
dependencies: dependencies:
- name: opensearch - name: opensearch
alias: searchdb alias: searchdb
version: 2.15.0 version: 1.2.2
repository: https://opensearch-project.github.io/helm-charts/ repository: https://charts.bitnami.com/bitnami
condition: searchdb.enabled condition: searchdb.enabled
- name: keycloak - name: keycloak
alias: authservice alias: authservice
version: 17.3.3 version: 17.3.3
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
condition: authservice.enabled condition: authservice.enabled
- name: mariadb-galera - name: mariadb
alias: datadb alias: datadb
version: 11.0.1 version: 14.1.4
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
condition: datadb.enabled condition: datadb.enabled
- name: mariadb-galera - name: mariadb
alias: metadatadb alias: metadatadb
version: 11.0.1 version: 14.1.4
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
condition: metadatadb.enabled condition: metadatadb.enabled
- name: rabbitmq - name: rabbitmq
......
This diff is collapsed.
File added
File deleted
File added
File deleted
#!/bin/bash
# https://stackoverflow.com/a/53175209/2634294
# THIS SCRIPT REQUIRES xxd TO BE INSTALLED:
# DEBIAN: apt install xxd
# MACOS: brew install coreutils
function encode_password()
{
SALT=$(od -A n -t x -N 4 /dev/urandom)
PASS=$SALT$(echo -n $1 | xxd -ps | tr -d '\n' | tr -d ' ')
PASS=$(echo -n $PASS | xxd -r -p | sha256sum | head -c 128)
PASS=$(echo -n $SALT$PASS | xxd -r -p | base64 | tr -d '\n')
echo $PASS
}
encode_password $1
\ No newline at end of file
...@@ -34,7 +34,7 @@ stringData: ...@@ -34,7 +34,7 @@ stringData:
{ {
"configure": ".*", "configure": ".*",
"read": ".*", "read": ".*",
"user": "broker", "user": "{{ .Values.brokerservice.auth.username }}",
"vhost": "dbrepo", "vhost": "dbrepo",
"write": ".*" "write": ".*"
} }
...@@ -60,8 +60,8 @@ stringData: ...@@ -60,8 +60,8 @@ stringData:
{ {
"hashing_algorithm": "rabbit_password_hashing_sha256", "hashing_algorithm": "rabbit_password_hashing_sha256",
"limits": {}, "limits": {},
"name": "broker", "name": "{{ .Values.brokerservice.auth.username }}",
"password_hash": "Sek6WxpX2L6UhxlwRkD0cnYAH5GbtTcCFq1yY/SCc1mAa0gB", "password_hash": "{{ .Values.brokerservice.auth.passwordHash }}",
"tags": [ "tags": [
"administrator" "administrator"
] ]
......
...@@ -12,7 +12,7 @@ data: ...@@ -12,7 +12,7 @@ data:
02-setup-data.sql: | 02-setup-data.sql: |
BEGIN; BEGIN;
INSERT INTO `mdb_containers` (name, internal_name, image_id, host, port, sidecar_host, sidecar_port, privileged_username, privileged_password) INSERT INTO `mdb_containers` (name, internal_name, image_id, host, port, sidecar_host, sidecar_port, privileged_username, privileged_password)
VALUES ('MariaDB Galera 11.1.3', 'mariadb_11_1_3', 1, 'data-db', 3306, 'data-db', 80, 'root', 'dbrepo'); VALUES ('MariaDB 11.1.3', 'mariadb_11_1_3', 1, 'data-db', 3306, 'data-db', 80, 'root', 'dbrepo');
COMMIT; COMMIT;
01-setup-schema.sql: | 01-setup-schema.sql: |
BEGIN; BEGIN;
......
...@@ -15,7 +15,7 @@ stringData: ...@@ -15,7 +15,7 @@ stringData:
AUTH_SERVICE_CLIENT: "{{ .Values.authservice.client.id }}" AUTH_SERVICE_CLIENT: "{{ .Values.authservice.client.id }}"
AUTH_SERVICE_CLIENT_SECRET: "{{ .Values.authservice.client.secret }}" AUTH_SERVICE_CLIENT_SECRET: "{{ .Values.authservice.client.secret }}"
AUTH_SERVICE_ENDPOINT: "{{ .Values.authservice.endpoint }}" AUTH_SERVICE_ENDPOINT: "{{ .Values.authservice.endpoint }}"
BASE_URL: "{{ .Values.hostname }}" BASE_URL: "{{ .Values.gateway }}"
BROKER_EXCHANGE_NAME: "{{ .Values.brokerservice.exchangeName }}" BROKER_EXCHANGE_NAME: "{{ .Values.brokerservice.exchangeName }}"
BROKER_HOST: "{{ .Values.brokerservice.host }}" BROKER_HOST: "{{ .Values.brokerservice.host }}"
BROKER_QUEUE_NAME: "{{ .Values.brokerservice.queueName }}" BROKER_QUEUE_NAME: "{{ .Values.brokerservice.queueName }}"
...@@ -33,11 +33,11 @@ stringData: ...@@ -33,11 +33,11 @@ stringData:
GRANULARITY: "{{ .Values.metadataservice.granularity }}" GRANULARITY: "{{ .Values.metadataservice.granularity }}"
JWT_PUBKEY: "{{ .Values.authservice.jwt.pubkey }}" JWT_PUBKEY: "{{ .Values.authservice.jwt.pubkey }}"
LOG_LEVEL: "{{ ternary "trace" "info" .Values.metadataservice.image.debug }}" LOG_LEVEL: "{{ ternary "trace" "info" .Values.metadataservice.image.debug }}"
METADATA_DB: "{{ .Values.metadatadb.db.name }}" METADATA_DB: "{{ .Values.metadatadb.auth.database }}"
METADATA_HOST: "{{ .Values.metadatadb.host }}" METADATA_HOST: "{{ .Values.metadatadb.host }}"
METADATA_JDBC_EXTRA_ARGS: "{{ .Values.metadatadb.jdbcExtraArgs }}" METADATA_JDBC_EXTRA_ARGS: "{{ .Values.metadatadb.jdbcExtraArgs }}"
METADATA_USERNAME: "{{ .Values.metadatadb.rootUser.user }}" METADATA_USERNAME: "{{ .Values.metadatadb.auth.root }}"
METADATA_PASSWORD: "{{ .Values.metadatadb.rootUser.password }}" METADATA_PASSWORD: "{{ .Values.metadatadb.auth.rootPassword }}"
PID_BASE: "{{ $pidBase }}" PID_BASE: "{{ $pidBase }}"
REPOSITORY_NAME: "{{ .Values.metadataservice.repositoryName }}" REPOSITORY_NAME: "{{ .Values.metadataservice.repositoryName }}"
SEARCH_SERVICE_ENDPOINT: "{{ .Values.searchservice.endpoint }}" SEARCH_SERVICE_ENDPOINT: "{{ .Values.searchservice.endpoint }}"
......
This diff is collapsed.
#!/bin/bash #!/bin/bash
# preset # preset
VERSION="latest" VERSION="1.4.4"
MIN_CPU=8 MIN_CPU=8
MIN_RAM=8 MIN_RAM=8
MIN_MAP_COUNT=262144 MIN_MAP_COUNT=262144
...@@ -59,7 +59,8 @@ fi ...@@ -59,7 +59,8 @@ fi
echo "[🚀] Gathering environment ..." echo "[🚀] Gathering environment ..."
mkdir -p ./dist mkdir -p ./dist
curl -sSL -o ./docker-compose.yml "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/.docker/docker-compose.yml" curl -sSL -o ./docker-compose.yml "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/.docker/docker-compose.yml"
curl -sSL -o ./dist/2_setup-data.sql "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-metadata-db/2_setup-data.sql" curl -sSL -o ./dist/1_setup-schema.sql "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-metadata-db/setup-schema.sql"
curl -sSL -o ./dist/2_setup-data.sql "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-metadata-db/setup-data.sql"
curl -sSL -o ./dist/rabbitmq.conf "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/rabbitmq.conf" curl -sSL -o ./dist/rabbitmq.conf "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/rabbitmq.conf"
curl -sSL -o ./dist/enabled_plugins "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/enabled_plugins" curl -sSL -o ./dist/enabled_plugins "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/enabled_plugins"
curl -sSL -o ./dist/cert.pem "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/cert.pem" curl -sSL -o ./dist/cert.pem "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-${VERSION}/dbrepo-broker-service/cert.pem"
......
...@@ -1543,8 +1543,7 @@ class RestClient: ...@@ -1543,8 +1543,7 @@ class RestClient:
raise ResponseCodeError(f'Failed to delete database access: response code: {response.status_code} is not ' raise ResponseCodeError(f'Failed to delete database access: response code: {response.status_code} is not '
f'201 (CREATED): {response.text}') f'201 (CREATED): {response.text}')
def create_subset(self, database_id: int, query: str, page: int = 0, size: int = 10, def create_subset(self, database_id: int, query: str, page: int = 0, size: int = 10) -> Result:
timestamp: datetime.datetime = datetime.datetime.now()) -> Result:
""" """
Executes a SQL query in a database where the current user has at least read access with given database id. The Executes a SQL query in a database where the current user has at least read access with given database id. The
result set can be paginated with setting page and size (both). Historic data can be queried by setting result set can be paginated with setting page and size (both). Historic data can be queried by setting
...@@ -1554,7 +1553,6 @@ class RestClient: ...@@ -1554,7 +1553,6 @@ class RestClient:
:param query: The query statement. :param query: The query statement.
:param page: The result pagination number. Optional. Default: 0. :param page: The result pagination number. Optional. Default: 0.
:param size: The result pagination size. Optional. Default: 10. :param size: The result pagination size. Optional. Default: 10.
:param timestamp: The query execution time. Optional. Default: now.
:returns: The result set, if successful. :returns: The result set, if successful.
...@@ -1569,8 +1567,8 @@ class RestClient: ...@@ -1569,8 +1567,8 @@ class RestClient:
url = f'/api/database/{database_id}/subset' url = f'/api/database/{database_id}/subset'
if page is not None and size is not None: if page is not None and size is not None:
url += f'?page={page}&size={size}' url += f'?page={page}&size={size}'
response = self._wrapper(method="post", url=url, force_auth=True, response = self._wrapper(method="post", url=url, force_auth=True, headers={"Accept": "application/json"},
payload=ExecuteQuery(statement=query, timestamp=timestamp)) payload=ExecuteQuery(statement=query))
if response.status_code == 201: if response.status_code == 201:
body = response.json() body = response.json()
return Result.model_validate(body) return Result.model_validate(body)
......
...@@ -720,7 +720,6 @@ class Unit(BaseModel): ...@@ -720,7 +720,6 @@ class Unit(BaseModel):
class ExecuteQuery(BaseModel): class ExecuteQuery(BaseModel):
statement: str statement: str
timestamp: Timestamp
class TitleType(str, Enum): class TitleType(str, Enum):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment