From 98dfd43650396fcfabf59546664a8cc13e45025c Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Sun, 4 Aug 2024 06:47:17 +0200 Subject: [PATCH] merge from release-1.4.5 --- .docker/dist.tar.gz | Bin 9948 -> 9967 bytes .docker/docker-compose.yml | 7 +++++-- .docs/examples/theater.md | 27 +++++++++++++++++++++++++++ .docs/images/logos/uhh.png | Bin 0 -> 21307 bytes .docs/installation.md | 14 ++++++++------ .gitlab-ci.yml | 1 + docker-compose.yml | 3 +++ mkdocs.yml | 1 + 8 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 .docs/examples/theater.md create mode 100644 .docs/images/logos/uhh.png diff --git a/.docker/dist.tar.gz b/.docker/dist.tar.gz index 41421af414e1f200cced2348ab00977bde12c8b1..411c92f64cd600841b98f1375c32b920895df2e0 100644 GIT binary patch delta 9956 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 BlEnZ3 literal 9948 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 E03}10>;M1& diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml index ce5680133f..67204a64ca 100644 --- a/.docker/docker-compose.yml +++ b/.docker/docker-compose.yml @@ -275,6 +275,9 @@ services: container_name: dbrepo-ui hostname: ui image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.4.5 + environment: + NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" + NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files" depends_on: dbrepo-search-service: condition: service_started @@ -397,8 +400,8 @@ services: - "-s3-endpoint=${STORAGE_ENDPOINT:-http://storage-service:9000}" - "-s3-bucket=dbrepo" environment: - AWS_ACCESS_KEY_ID: "${STORAGE_USERNAME:-seaweedfsadmin}" - AWS_SECRET_ACCESS_KEY: "${STORAGE_PASSWORD:-seaweedfsadmin}" + AWS_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}" + AWS_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}" AWS_REGION: "${STORAGE_REGION_NAME:-default}" depends_on: dbrepo-storage-service: diff --git a/.docs/examples/theater.md b/.docs/examples/theater.md new file mode 100644 index 0000000000..2ea453cfc9 --- /dev/null +++ b/.docs/examples/theater.md @@ -0,0 +1,27 @@ +--- +author: Martin Weise +--- + +## tl;dr + +[:fontawesome-solid-database: Dataset](https://dbrepo1.ec.tuwien.ac.at/pid/52){ .md-button .md-button--primary target="_blank" } + +## Description + +This section will be expanded soon. + +## Solution + +We host a mirror from the [public data](https://www.stadttheater.uni-hamburg.de/) provided by UHH. + +## DBRepo Features + +- [x] System versioning +- [x] Subset exploration +- [x] External data access for analysis + +## Acknowledgement + +This work was part of a cooperation with the [University of Hamburg](https://www.uni-hamburg.de/en.html). + +<img src="../../images/logos/uhh.png" width=100 /> \ No newline at end of file diff --git a/.docs/images/logos/uhh.png b/.docs/images/logos/uhh.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3553771316f67d6912835b3b3d9763e35b114d GIT binary patch literal 21307 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%0D<)2T9x_>*^v70C5 zhs`TKhNp7p*ZQrSB7OQ}5PL@d{}<VOCe^e5uH6?_zcy%P$&|TL%xhW?ckkc+ZBFrT z$7kAy%68Qk6uhhOYO`SqGw`UJ{Qk>@$~#I7VsX!}+_$!9*z-&3@7A!rrYoPRGOXq; zVu*ON=DWm(RTZDVhGi^v*WdlaXodghJq$c^?l+ya>VB>>FNooQQ^K3vFWVRG;^F7- zZa0ov^oHwz*Y@V%)CSgH5!*{XZh9=H8*%0R&Z)%=XFkU5+q<CrOMwoHPFX<Q!QEX~ z#Sc0BSFnC4%*d_ZVNv&$^SVssk3i=Sf9-F0&i8v6<Yo7V{ml$Uu@8IxeLB7V4YNAa z`4v^1>|WX|YifixL<uG=WS6|Xp;vD0UzUn_=Vi9Odhu9XH{uR|*$%NsZiNP4-xz&n zvOG{#tHRD7p}M`T;i@1*SjpX)zpuKjJb1uRp6S{m*Y3346-Rsy{!OskG3kwU1Ml)F z-dC+Eel!RC`}(zN_3=ZETn86MzP~FSdaE>c#-`AC{&kP-6zaqm#JjUZJUAq4UH|V- zp+wQnnCYTSVc*y6vA3zOs9b#UHmh5?tlSc|yq7aw79VS9J=E;9{;4QmP20v|=T`Yy z_W5-s7t@Y6{p?l~{n+HmqF69h`G8f{Rl|SI{I(`_2?+~~Z9cr~S6$wft~^&(M)h^w z_U#w1GtbqQd%JpSlwv^F=B3+jR&UTq-g#$+P#nt!xmORx__iK@&Zp~_VOI4!v89`# zdun3C)NWgyu=WFoH&ya?Gm1&PoX^!b{ZsmfYs(h4Pvy2<v+&+Rzmmq!2L(6IfAjWj zZ%_NB`8jXbZjRCW+@LB|+7-qUQOx!{R@ShY&qn&yUvZNXhHqg!5w7o7SBM2|jF5S5 z!8hBkVcm131m5$}CFXVQd>7c??&s6jl9igJ?#Dgz&c=38hA<n}!z+t9BKnydeE2FK zzP%{>HR$gJfemu+=FOaMAbe=y1wDh(NWH3vfcg)sxcD26U*K$(jhpz-qUvVeL2X`s z-I+~q`F7PwyeW^dn=c=(Wx9KZwb0UguM3aMnmaP+*ySfZ-2LpDnqmTD!=LYec7Dz- z{9SSN>cOp1?_w+FCox1Eo$jEXo=|)6_q(jEQ9WfW5v%)bUYW?GINF=HH2;~+y4TI9 z%&md-z;-c)ZL8m0^>bX$@#G)V=CdjZj@4HW94?Ybm|J|#@?-D4qe-2NVmJP1Fr>-8 zjIVmRG;C*xz44U)^OyV2KgXbb{o4l6?$HRwgr{$wUnq8yF6UYrtaI=%)6H2g8W&CH zjEitg`Ymgr+QXooClhckMxyh>w;S<{7QQ_U+#-Lp6aLxqB)s8CRpwv4{${<b$%*I- zt%qMm?+kgkyk(Ezkp|Y(daf<`?9IDn-M+UPT$<B5x8mNMhre|mu4R9+S9i~`7qgCb z_ooCOa^;@(gS$<9UE2<RhP~kq6aRC}-Nx<K;AT;KbaCf=Cb{cP*>?}?t<sqm*82VR z-x-s2pM`2&RX%XY`LJBe2Vt?QoG*28g3DT@KVCZRwogz#LX1)D$o;04#hQxuUWX^R ztKHrgT#&CR@+Rv^;@4}xmu<+tSNyH)!a+&FwVlH1N$PLd4i_=p2oc{IBscBHl6zXm z8cYu`bRU&3yOGE+@7`Vxmx_xFOkr{i+~>8M9GUYMA1tt*)^D@s-#trv*8Ha;7tY@O z(OrH0n_i~b?3CyF&vN88JlYbqRnUjC_#5|u=hi2<uZJ!)KL3Q__0b)+3JrboXIYQy zb_X9)cUX3H!E@_CxfSQxU&YlvI@H+8?(BXmh@)b|E{9uh?-U-cQTN=#YyJ1j<w}0< zpKf}eHVABJd(L~jq4bNO`}1At;uo5K$ntp2UD&==I;C#Kfmhse``>Qt_7>bwurjUU z-l6Xed3s#SdtWc;b9K6Qpv?IIlkKDTAKo?n-*{H8`G;lLt;1Xls|6||vahe}y}n_Q zrXtg|!sF}umYo(mQ*q}(n$qv-jgti`B6c!tnBlh|E?DUR6TdB+PRDJQ+7F*TSiH4w z$dzTXspF|_s*LcvXsak6BmRBs&CTiC_rAzV_Szcsb=A|Vf*Y#O6OSGX*1UR=^)A<u zI>sYvE)A{eQ=FOWC7I7m7mp6x(sq>Z`k~Xj30lu<_}04|7j$`}aPdE5!baxT|Cvtx zm1HaU8)m)j__D6<Hu3xF(~cf>XN%ZY9{MD)_4w&`PWKi}`Me<UhU;8g<LVF3?pp@5 z^E*kc+xhn3Y0-qJ3k@~PTig%U^&6kL!LZm=$D@8`tU^P&uk(RY*^c{iOk&1qhYmkt z)HYOY*(A@JY@;SWk2!9=nO|B1tDM*s-CZ2T(l3fjmuTB0%kJ5={(<F91KT&xpDeY} z%i{HZI=3{Sp*8%>ZdZPNzZ>kio0L9nD6rxwjOS%;Dzs5;`4am>yLwOU4c%#e?9vk& zSBLg2YdLAEW2VY;ZNmj;tvcN&%(5E{=FS$f>rby2zm@yR`P|`GIn@#0-pOp{mRYl> z*zx$88_!!Crt<ei|I>Q%Q|rbL-9NRpMgmI9S~ew2?S3k;!HK{7Vr=c1SMTOUva-Cs z-!$)b!`0wD@+D1Q_g+3{-L0b?bvS8Pt!Qbtw@T{zODebQStE*{^VoB4o+R%qIj704 z-94GT;pw+$s@W0C=axm;sInZG<-{P?aB+cb+|qBKh5alXS#+kcH}uRAdSsQEpMU?$ zi?*zc&9grg338k{+;o2PjhW$<-#6FHU0^?#E4StEoBSCiED4E6uP;bA@a6M^#G~Es zE<_yHmy5G1{C8oIXK_~XBTYpqUI}|G`ST_J+;*PH`?0jnScF-uuP1f;r}DE^@#TAO zy?UAb)wiu{uE@EM^;J(cDKB<)usK&MBk^N@Gf(w`Me1%1tb6Kt{}fD=I=|np{qezh zQA^GE8dkGb%5#Vrcvqyn>*9FYZ}%%>YC9|M%Mh=npQaS;G+KJ|jjYr3u!zG|V)?o2 zDyDwpRdao>5p(#^<A#sb)x4{JT-@h&-(^Nxt@4L8TKp~zS66K0*523iy!5g3#SXC@ zcVmCXe2jark@pkt$5P?fUHox7^&$@|Su3$dI2S*Am}|G+{R2zv)t#m~bB_76t-PYb zk#km^Nk?MoetD@!8vAwxlx8rjkvn&|%W+Ed;VPN@AFOhd8}GaPanxat=$~@>six!X zkmUzn?4C4B=vGf(wf*ZguJ1!GC`(TfI~Uor_`euKtNRAMyLazSPK>fJl)0G7?=5Vj zvvhg1)-(-%?)#_K@+=RDKXh7lk)~q9r$`Ncwh8RNMfD16G%G3tob&~+FWh%AN3Yvo zN8r}{TDOL+IWN0Tzx#1RcJl&V{?lI{^c=68^m5;eZ>PlW`rCXw@@;lrp4SP+u=JfF z)@D=w2YXM~>%F!ij?HrM?S<A=v-jSp-w^+gi@_|vu)(za-5t((!B)xz3U8h({xh7? zyEgIQnf6$xNyTz4E8jdhp|{{p<jx07-Q~t|HVJFv_U>98`u=FC%APY1RNvf@xL@ZT zVG;F$W$xSUEn8h3{=AN03^;JVYO_sNv*hn{YZLcQJ<qI{EL^cUaAD9o`RY$6*S|kf z{mf>0Q@G{A>7Tqarc_*%eex@GXUNgplg$rrdHQiubn5fS$G>iMiE2kYezc3>#8*)> zQSE8>80MYrDG<5GeE)p&M83U^=iC-o25h}GM?`nmVr$;7XWhfR_p0h_&_4QhZtC`~ z-mHgbw=C$-PS|pXyEKs@N;fpTwfmiXY3%mP#oDz8Z41xEeen_8kg)0&r$brcjS2hP zGL!5}&iLKlw%ftq!uIyFiw#pRtWWXMcpIUVpc}cRMC(XwJNIe^x$g~*{*M@5Yb)KC z*idv%c0wQb9czX6{-+l%_x`BA?fQm)>^-kyr^i)gKCgT}_j+gWA%+ci?jI28-Jd!; z{_rF5y9XEN=$sS|cFI`He!$v>=PlEdN)apP$yf6;JXs?61*?|inD(81l-L=3XtJNx z%FXLdm&<)wt;BOeweI5Ir8VUbOB(atIU?3K)XK~6Gd+ILC&u3U#f<pFhu#-IKQn(m zKf~+tAGWrtJmPn`-}$fK_v6vW@YvE&^(&h%7iw`Hm}Q<HmtOxrLAydT<PPg6ef}rq z7sI|a)R<q*+Umz4tIB^%VTZ^!X#?$q<?TiXPFbGk=jZp2*je<{V$NCvo0FC=rrLA9 zwdKyacT7|Nk^2VL&fL{W4O8=(!yY6$9>2>j`{uLX!QWDGoV{)AhiZ;!Z^-49Nw{g> zy7JuJinl@yH!B-27$%%;-qCvS%E35(+2Vj@cV6f!vPbC1iC8ekJ3eo|{_C~Fhx*nJ zQxAN2lU}$hQ2XkxiUYg;d^&Aiz%N?8nf3Fxs-2|<CNYvy5A`_a^Vo>TTrZGoJ{NIx zt?-Xm7BLd{*}DGN)!gg!Vv&`JTxr73#jtvZ-gRAuX&YYfeSUYlDcW{UyyM~fTqbr? z&$F@x@!fsc($0E$t)wwm1^aE?i@XLGx3MuijbZq)<6YW+!BclwO)kE^b%Nn^U{%DM z`a_2oeUYEu&%j+_-|<%dj$Lq#V9bYhMZVkTv-~+_*Id7wkW%hkyPx6S$sH0KK7D(e zaOASXz4Hqkty#a{T^qK#d%7;y#YNWJ)Sv8UZ%z-->sZ$E!k0;2#^7Ds2g@Jt+~mY= z_^?DAd}NlF{lYUp+u=ae&LYu!HZAV2AN88fZ@*X<wP7ve^$jvI8!q&{KW6qi_scCI zfsUu`ngaV@oO}O6{B=ep>w5(jod;iqUi`>T$mg*0f4GJ<<#$QG?T)y$wyIm|ryXB? zrs&(<i>VTV369I{?`+k!(0F{-d$#TNSv#h*JeOyjmOlM`a`rOI-y3TRVx^@IwB+)J zJxO%5n_*V<o#pMr+B<sFE}pJCw9(soLI1s0ZwH0j@(Bv}-iqzrUwoJA_AKVVwUSfr z$}n9?zxbGG?xQn|zm{zmb37wtqocMw+)<%cGsc_mzR<4N3hw~B9p=T{56;vooELBW zr+;X63Dbc?9CL!5f5`5;+vxYN^1QbEF>RKHhj%S@ePnD&&Hr&B;=+Uju{mw`<Jn*C zXHxhPvvkTH8<Q%Bjp~ZLcS^KOcC-fjZjZ2IUcaX4)Ea#zh9;l*vbjMe)tgF>2p&&5 zUL)}2mr~rZPDZPn&lfDRZ$DQwZ|?Tj0q?d4)G@c%JO4b-u%K!V2gj`AO#Sl82a+28 zzi;00^hK(pB+H`e#5}oJCC<;^?e>KIiFWwk*TM05Mb|yvfa~{L_WWyEoVYZk_j^8L zf^I_*2TOjl-?>K%jQtzg4q8aGo(^}jDR|A)@JZF-@pDB7o8H%~2?g>@k2~{rPP8?c zt1Ii`!+CO#*t(w;Q;RRI_~_?g(04qLJz+wA^N$R{U6c1V9GpFU_s(zc_5Lv|3w-SD zx3V#p*Jxkw%PX3e6TZ*hp%z@UikZp&*yb79=UTqZ|GcdwyZ5V?ZF~OtMLS{+@GqNn zR7>Jt$+mS@WB&++>q}geZl1x<Gk5P(mkZ4QDmH(8uD|=urgLd)JMWpiOaG<1<@U<M zhueLbcK=X3FMVnM-8I{_TIwoxx*k~cMe?>m9v|!62aA3_PTXH5!tN(=Wcufy1;&|9 z>jf0v8BLp3exG~OUmmOPHh=ia8pYQn9sjT8bN>kMx;KpLpPbs@XK;0s{J~sngB9~Q z%cPikqSJQ0)!b)#C46N>!MonCvL`-WbvkIxa_aukll@!vMSRTiu9(N*z%fa?`D<+2 z>em7r7^JT~@^1BT%b2g<e6Nn<=i}Rx7Sx%yY`VvL`Sg!Rp&!nPKPqyx$as8I#DCFt zwyMrNCI8SlF8PXfa!*_KT-hbMH0Gj0(Edg4sds8VpPd^XTWWrE{`AH_xs&S`=hwbC z#$Rgt=fh#m^G(w)fB(zJF-?hIb$f(6x5MV*v$IUEyzqJHIkn$bW4p^YmiT=<C2u?* zu+|AOytbVdlfLKP6gdf1anKQB^Y~QxkGfBtKWXly`Tmptn)obHo#uOib9sw&7wd1W z&Od5j7e6`k=|#z!)2q8L*DfzPJa23E^|HDr%JMH;GUuP07gF=c;?3mm_p0-+EPu4+ aKWo{+q*hzA&W8*P3=E#GelF{r5}E+Jnaa=r literal 0 HcmV?d00001 diff --git a/.docs/installation.md b/.docs/installation.md index 0404133900..9c864ead46 100644 --- a/.docs/installation.md +++ b/.docs/installation.md @@ -47,10 +47,6 @@ curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-service Call the helper script to regenerate the client secret of the `dbrepo-client` and set it as value of the `AUTH_SERVICE_CLIENT_SECRET` variable in the `.env` file. -```bash -curl -sSL "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.5/.scripts/reg-client-secret.sh" | bash -``` - Update the rest of the default secrets in the `.env` file to secure passwords. You can use `openssl` for that, e.g. `openssl rand -hex 16`. Set `auth_ldap.dn_lookup_bind.password` in `dist/rabbitmq.conf` to the value of `SYSTEM_PASSWORD`. @@ -69,7 +65,7 @@ Log into the Auth Service with the default credentials `admin` and the value of :material-numeric-3-circle-outline:. <figure markdown> -{ .img-border } +{ .img-border } <figcaption>Figure 1: Select the Identity Service provider.</figcaption> </figure> @@ -78,9 +74,15 @@ but this is optional. Change the Bind credentials to the desired password :mater the variable `IDENTITY_SERVICE_ADMIN_PASSWORD` in `.env`. <figure markdown> -{ .img-border } +{ .img-border } <figcaption>Figure 2: Update the Identity Service admin user credentials.</figcaption> </figure> + +Update the client secret of the `dbrepo-client`: + +```bash +curl -sSL "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.5/.scripts/reg-client-secret.sh" | bash +``` Also, update the JWT key according to the [Keycloak documentation](https://www.keycloak.org/docs/24.0.1/server_admin/index.html#rotating-keys). To secure your diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8322e26eb1..0bf1bc9255 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -387,6 +387,7 @@ release-helm: - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build" - "helm plugin install https://github.com/sigstore/helm-sigstore" script: + - "helm push ./build/dbrepo-${CHART_VERSION}.tgz oci://${CI_REGISTRY2_URL}/helm" - "helm sigstore upload ./build/dbrepo-${CHART_VERSION}.tgz" release-docs: diff --git a/docker-compose.yml b/docker-compose.yml index 3ffd0e04a3..6408cec904 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -310,6 +310,9 @@ services: APP_VERSION: ${APP_VERSION:-latest} COMMIT: ${CI_COMMIT_SHA:-} network: host + environment: + NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" + NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files" depends_on: dbrepo-search-service: condition: service_started diff --git a/mkdocs.yml b/mkdocs.yml index 9bb4588f27..0ba1317c69 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,6 +51,7 @@ nav: - Survey Data: examples/survey.md - Lute Data: examples/lute-data.md - Music-ML Data: examples/music.md + - Theater Data: examples/theater.md - Transportation Data: examples/transportation.md - XPS Data: examples/xps-data.md - publications.md -- GitLab