From a67a06d69b7b2f76e0bb258bf5fc267a2782eb45 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Thu, 1 Jun 2023 22:44:42 +0200 Subject: [PATCH] Cleanup oauth env variables --- caprover_create_app.py | 5 ----- caprover_deploy.sh | 5 ++++- client/src/stores/user.ts | 10 +++++++++- env_secrets/caprover_dev.env | Bin 2064 -> 1661 bytes env_secrets/caprover_prod.env | Bin 1959 -> 1727 bytes env_secrets/caprover_stage.env | Bin 1827 -> 1848 bytes env_secrets/local_chrigu.env | Bin 2010 -> 2014 bytes env_secrets/prod-azure.json | Bin 5181 -> 4817 bytes server/config/settings/base.py | 6 +++--- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/caprover_create_app.py b/caprover_create_app.py index 40a62e0f..b8df100f 100644 --- a/caprover_create_app.py +++ b/caprover_create_app.py @@ -72,12 +72,7 @@ def main(app_name, image_name, environment_file): image_name=image_name, container_http_port=7555, environment_variables={ - # 'DJANGO_SETTINGS_MODULE': 'config.settings.base', "VITE_APP_ENVIRONMENT": env.str("VITE_APP_ENVIRONMENT", "dev-feature"), - "VITE_LOGOUT_REDIRECT": env.str( - "VITE_LOGOUT_REDIRECT", - "https://vbvdev.b2clogin.com/vbvdev.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://vbv-lernwelt.control.iterativ.ch", - ), "IT_DEFAULT_ADMIN_PASSWORD": env.str("fWwoQzreIS5uztLOyF8jJpS9M"), "POSTGRES_HOST": f"srv-captain--{app_name}-postgres", "POSTGRES_PORT": 5432, diff --git a/caprover_deploy.sh b/caprover_deploy.sh index 08714662..692efda2 100755 --- a/caprover_deploy.sh +++ b/caprover_deploy.sh @@ -27,12 +27,15 @@ APP_NAME=${1:-$(generate_default_app_name)} if [[ "$APP_NAME" == "myvbv" ]]; then VITE_LOGOUT_REDIRECT="https://edumgr.b2clogin.com/edumgr.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://myvbv.iterativ.ch/" + https://edumgr.b2clogin.com/edumgr.onmicrosoft.com/B2C_1_SignUpAndSignIn_v3/oauth2/v2.0/ VITE_SENTRY_ENV="production" elif [[ "$APP_NAME" == "myvbv-stage" ]]; then VITE_LOGOUT_REDIRECT="https://vbvtst.b2clogin.com/vbvtst.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://myvbv-stage.iterativ.ch/" + https://vbvtst.b2clogin.com/vbvtst.onmicrosoft.com/B2C_1_SignUpAndSignIn_v3/oauth2/v2.0/ VITE_SENTRY_ENV="stage" elif [[ "$APP_NAME" == "vbv-lernwelt" ]]; then - VITE_LOGOUT_REDIRECT="https://vbvdev.b2clogin.com/vbvdev.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://vbv-lernwelt.control.iterativ.ch" + VITE_OAUTH_API_BASE_URL= https://vbvdev.b2clogin.com/vbvdev.onmicrosoft.com/B2C_1_SignUpAndSignIn_v3/oauth2/v2.0/ + VITE_LOGOUT_REDIRECT=" https://vbvdev.b2clogin.com/vbvdev.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://vbv-lernwelt.control.iterativ.ch" VITE_SENTRY_ENV="development" elif [[ "$APP_NAME" == "prod-azure" ]]; then VITE_LOGOUT_REDIRECT="https://edumgr.b2clogin.com/edumgr.onmicrosoft.com/b2c_1_signupandsignin/oauth2/v2.0/logout/?post_logout_redirect_uri=https://my.vbv-afa.ch/" diff --git a/client/src/stores/user.ts b/client/src/stores/user.ts index e2403c9b..ba89c256 100644 --- a/client/src/stores/user.ts +++ b/client/src/stores/user.ts @@ -5,7 +5,15 @@ import { loadLocaleMessages, setI18nLanguage } from "@/i18n"; import dayjs from "dayjs"; import { defineStore } from "pinia"; -const logoutRedirectUrl = import.meta.env.VITE_LOGOUT_REDIRECT || "/"; +let logoutRedirectUrl = import.meta.env.VITE_LOGOUT_REDIRECT || "/"; + +// TODO: check if user logged in with SSO or login-local +if (import.meta.env.VITE_OAUTH_API_BASE_URL) { + logoutRedirectUrl = `${ + import.meta.env.VITE_OAUTH_API_BASE_URL + }logout/?post_logout_redirect_uri=${window.location.origin}`; +} + // typed state https://stackoverflow.com/questions/71012513/when-using-pinia-and-typescript-how-do-you-use-an-action-to-set-the-state export type AvailableLanguages = "de" | "fr" | "it"; diff --git a/env_secrets/caprover_dev.env b/env_secrets/caprover_dev.env index 411d93c8ee371cba65e335bcd703d38cda6797f6..41b28b09aefb9fce52509ca81f982bd31d36de0a 100644 GIT binary patch literal 1661 zcmV-@27>tjM@dveQdv+`0Nv(50sq1a(z^fnU=ZbwNy~HnG@Nxg=%0}dlq@B<=#iMv zEQOC}QuGU&d4TV&-{A7rjfP%jD+N70{6#=NxN7&>tCyyMIs4kF1S}iWP91J^b>Q#-dix12OWSQi+cIK$np};g!9;wh@~bPR{1~TKXaLGahsn zB#fUwkGwTprAS{TEnq2~&P@5Rj=Kz=F^AK_w~pP*xx?=O9eL1oAs`3W)z$WGM#XJk z0W-Q050>T+FO9WqqAR~ZqBFq_dBjOHcudRhgu$Nsa&O~=ljGN_G`4=cyz{#-0&0Db#A0|R zP@%-Jge6C{o(;>ixasXyAJ)&euZKpat6ii;wN3>>q1XJUEuKQLx9Q11!awY>+2Hb+ zBqTSVF*e@hZIKNw%9$%TcRS&rB&65Oh$Xo4Nu4wZ4!ZtLne_q!Kr-1a0?ipud`kN* z=C+W9(Elo@gwbg6Zs+t`nYIxGI*2QHlTA6$6FS4&zFc%&e#f7bTq7j7i7R9?w$sig zp-CI7+^G5<%}a-=c{gDewTC95(k%qXjpZ+flnwfDc!m(&pmgun-_efa_}BCAlDC50 z8Ga`}jBb5193nS{4b^P6O#(Cf!(Ym(VxazhWJ228l1rkhlrZu}EDV!g-GoFx&yl{5SX>d1jV z339d6T16;h!k{fw0j#QimSprf@{-6~(T6PUIQooCMkHnnj7I-$WqOx|^i_sLMAlyV zXYu13FkiJDZkQoGc-U2D?t_a5OM9A@rA<~ zw&DBS%)!GM5*MQyJ|BTl^@R54v|PSz$Vq$8ndD7SO4Q5wxZn5u`{v;PIca2kR(CE4 z0;)3$MBpI+jl2lLpZUBX>@<$v1UIuXaAYeGtBb8*7SnyOolc zz?q!eh7p=~p+Ej^2E}v(m@_=PcIknNjH6Mln(x3^%1i(jk?H{;#aO1-=c<-ga`zV<>R zbFd5e;Uis%T)3y%d>oFzM6qaDih5Sc_AzW%iaKPcHXT>*q19Hvx+*x}Cjx(f`gjBh zTqN!2=qs(N=s+8H{k)thHzBuTdMm+X8}|rd3Ny!+PFz@>PXS>y%l2RI;1ii?0F8J{ zzTbwgbt52qmF1#_GCWlzop}+MmmCYQk{cU;hF;8kn5pD4;-IFLgpK#v3+6 z>3M`0ZSV^6u^vUsr5QYJk+kJkl92JE6-(KlGLYMSLZl||U*yb43Q0c$qfguE%??%FWs#+ HF&=Jj_oh5N literal 2064 zcmV+r2=Dg*M@dveQdv+`0Q4-$h1%_F^F#$6aX~9ry|V049U=Op@qh3FKAzab=>;G- z;?{^$R0x3y754Gi++`ee`x%#qH$q{pkhxWg-{&y=5)Y-0uo~5wPA2}pph1le2Qy~5 zq(MEsydC2t7@H~K^?Xv{BqO`7NQMv3X#SR8xfV9MiqjEbZ=E=*#b3R zl(lF2c}Z2Qx>KENgJ812!9Lp}!pgD*Cm0%<8j0N6sxNLaUv~+EAbFD?rP91CQ2k>g zL{E*9J}?>{HTcD05^U3e-IX+R0F$60F6UI?Cu4-N_)8z7q!0=0c&ZR)>eSJBl*bw( zgHTr+BQaeaJKkp0xD6XU$$&+Y=rI%6Eq7XtO3PGnQiC|57{EB$!^cg3>%m#LkvAHx zThlQ%DhCvdlXX*(!XFh{5fhi}MFmFSdgTfo-!)D#i~m_98L9;Db$UvBxrEWcUxx*G zt{BB4c{C;(Y&YiR+-diB5?rs$MDz}5ASE=om9olWOMNB!mH3v*<#3F%6ZgBCI=!Il zu(-y(Bwg|YHTb?196QB;S`M;k&6#Kzf%g2RQ)(OdZ)iCn~a zfox=$?wrmC$H{oPRt4cj!3Lls7Mn(efcd=-)Sh`B&Z(fZmFz7o zStdwjFl`!0!v))-hl94Awj1H`&@ia^>A9NEqi`pSazjy>a9{?C)P^gVG4gFeaizG} zuo1VIV=3Ar2Lg>=upDlLHlX?ot=bHsjPDDu-j*nzj69FmQIw7c-8uH^WQB12J z6*WOI!ZtDU@AEqx;wvm1Fn()G9ggBUyuvdiBOvKv%o%eJpjV@Fi^e!3$x8=^&2Re7 zSU=a8b2`f|mv5-%&}h}Okx6mV)BEQbbAF$+UaC8%sX@2yL)+@t7fg8;wmS6gId5J; zRa?{kB1|o>bd7nEX(57$DXNTq<DU@4&i=S!Vx+fD8<3vc!m5wsQTih;5^g|rkj;egw(7p z0#=G&K}d{A@XT}{6G?v&)*3n4aQZ@<-`}-vR>YVPPG9^6?Qa=ec-RuT(g2C(rO)?* zmc-9*5u9b)FmRk4-{)ohPf$cBKZ5a~;jzNuoD761fYLBGREzlf@f9J@`=CJPxybA8 zcKb|Q1~l$!?q5N72v^Qk;SpR?ZEhS9E_+$|(am}1rc>Sj>c~)j9>h|(i391q{<_TC zfSfaPhLohAqVNZf>vAEwPC!~fWn%KSsc zmfKAxk~r#L4L3v|7)$g5yDy{tlIC=b@TdX&tw>)&u42$|xyk~G$?vH-nA`*IH&h0V zwSmsLWI#$2n8!6$6av0@qw`|brJx%QPZv3Sp21d4p@$8yuy6|LU=-m zhqN{aI&61{TegYBErlcf=wiFrr(#{h?g!cloV_$BnwW>dn9QpPQ}q!T5=_u)0RNIz zHA;0=Dod!oxj2E8@W z2TiTB74$B5z6{+$M}iX;-Js<}iqaj}E6c18WD2YM6iYwXZP_6l3E*n}T|!=73-b9s ztP)9;-8l+~zkQeSj!MCEoRupvsaRlUUloo@8xh1Nkg@Jo7pg6G)^Kjt9x#x`eKdxi zo^j^=KQli7SAZ+aR~;TtrO0sx>*`C|3G6cz;qSe~GC&M)`_R}m z`CR$6U{{S($w<4%$zKY!=*3E1*G9hvvrot%&PmQl@^{$@1p!#Fg)NRxBTWcvL&s@` uP}`RwIQdT;NYMNak{h^r6BvI+0lE&0n@Y#AkPKls=SRQQ;%2nj(GmKzbndDE diff --git a/env_secrets/caprover_prod.env b/env_secrets/caprover_prod.env index 2204b67b2f724d3115862f7533131b74a3c0ca20..39918c61483cf788ddd9e98c3a15768d7c2b3a1f 100644 GIT binary patch literal 1727 zcmV;w20-}$M@dveQdv+`0PPh335|Rj$u#f?95)dog0S+e5u|;78;ojt1Q4+eG)O&j z06>dCZ#8*8zkzGv=ZT@|Rsu3KUvqdXjpDU)aa6KrM64a`v1eRFs?i?KIFk z#QvhA=abu#07Z|6 zWduGIJYDMe(i&da0z=rfJe%7?3~`mG@0zfu8JCRD&kaM>=Hr5Vxn$1oIz9Ytu~qI# zgulbMQp72*etOQw)&%o{Q|y^$_0ay86JmJ5?U-m3(};%T0a(TiJkH*}!scFcz5OZE z!(WW8RCL#_qe8H8dQ#8Xo3`q3Fzcz)b(~#7PmMX%k02Y5L)zN2oV1e|dNvZYgSGBh zWa1pP_^`CC;Y$pl+UK#+7Evw1%$9zhD^mPOI-4LD^toq7=HvaxLW%{OpC|xqvQ1jf zn$#IQ>(_~*Fq(Cs7^HB-L6HvQ<-H+lXTsUAuS1%bLBE?2DhjU=7Z*&0i+F~C#X!N& zM%E}3ZuM7hXoR5}xfBVGmIN>v2J;Q`E)-V(Uh&rzagaoCf9NY9u|VPQco)OCFPwwC z87aVKvi@ zW{W74t<J_P@K;kiNmfc2)r~w$Vy8WVQ>+MD9y)?O?K*B`?SWGIn%{z8doljcB$U(mgiU zm7PR@?R5du2)@RKD$?Mz7+HEx=N`3`n^*1HpIb^o?va6tbS!mxvW*(t16QcCOho*D2 zQnlyocyro`u)#G&(^=?+TY?V563})58%yA7QHU3)L#!^aVH{XDCa3{}WN99zN=dK0 z$!vwFA+q+FJ<3Y?@0`STLfDehz%@#9E)3@?74(Ed#c{uu%=JtgfhMjMg5buU=ZK5l zSgbaAYiO(wQM-|KEIDZ+b>E*A!hdw9rC3csQSRA$6j{0U7N~gyWx@T{i4??x!a`?C z+VaVhdCa-k$7m|aDC7KD1~yw5bVZ_x1#)NVGrAu~TS`St-o$Zpj`NN2iC60~Jjckc zcMh4oKZr)lWokn9AFWJ{+f?8HwCfB-v(o4lZ<;*4u(DCPry59jyfon+ED1c4PZV_q zR@H5fHa{@}acC#-23>(gshDfG?kt`WHm_T)RpwjZo$1oQb{4vj9<#5XDGP-@ZbA)e zYIG2*>)djg1NyXEooLp@>WgxI80OeR#XO?(o*gpxI#DUNR8UL!60k-ez-}<*uikhm zNh^-m#eetJJgG|OlF0v!#Lmnk*Frnsr%jrKl5o5!2sEQPpS%-W?+p`_H8b8XC*Wuj zZ~IxMhgPO7ps>E~$a;ze9OI4xQ3*IPLU@E|1~(U&SZ5$saZ_`wMDkK_FZ9E-TmSD$ zQtPw!%0YL5mFwgYAda_u5Ds(y;8MnH|5L_T`O(y4O?h%l<+-xVRSiJi;hW*Gu4ZsF zS?h0AK&ElJ%QFBC;5cbLUE_<3j%WX++63wX~a7>(OyheFJWw-v}}rX zjI-*+?29l8ECGJK1PNr96E(CFg1BxpTuEGdbF5E06s z*qHd$CN<6WrGrgYA#V1tWeb$TZy!}{*Izk}GWIC3FB`^s;mhNUHR>M}?q*$=DM3?L zd;^VaTR@aHP~ae}3gvrzKD%!?J+_%cBst88_*HyNlz;yb@h9s)e`1f1?Z&&Z5YbD` zr+YciKtYleD=taBYWz*78XtStN#oC2Zbhhf8VQKcg|dethoBCn{S3 zh9Sgm-_YH^L~vrdO&mIxEA!$*WJMM0cHgZgvG@lgvuZaAui=q?D&KFC|Am?BiLx~( Vui+jHL|z?r zZdp_ui*gds90(q9%tdlb-irPq;6=0YJI^v!$P!f+c3m29 z%`WZN>9t9MrhhzY6P@}_e%ze{g*0Z-W>(r~d(IeQI2=EmtuWg}$e~~U2g>U~u%6;;FD~3kjwaOPsVC@J95ZNT$c3s!TFYX-8 zyheNwDD>37S^CC7O9*kd;Oi!5aVlU+3QiaVE7m;EvI&iHsemPqL5-$n=ZLN(1Sf=0 z1)-4H;9!>_ghMZ!R*2s-%k@$Zp9Ap7P&Lxw=R?7#d1YRvF8yq zjh+J*caXE?HTawJV2dZh{n4&Aua&kqX_CM2d{TKT6;BU9tTPdP#v*XqtMY(Gi0iKn zP;oH3GV2OuLj)3hH4+ecu`3#Z>kB(R#n03U@0Y@KX85>$m2`b5S_Pv8W_vWY2g_M% zx0-IjRblKrMd*Z2iu#et?`}H~36xX(+Z3tgNS@pnktFGB!18x6LEJ4Eit0WEK5l>@ zj*Ixx-DtbMw^tt<%LG;WMM^MUJkWh-T`|h7scCTJF$XK6|!jY`vZ|DFIB{K?S;sB-&x6V8yY=cH2T+L%fqZ`tI zauG$MeuyP|NfeY?i+N6^v`iM{ZVP>vAeo*irKK zfHA;h#g9k}Pk%-K3cYWv8?Bs>)0L*ER2@j@HB&JRIBzsr?{PaBrv+V>RJe)nCfmQ zr$b8Yu3`rbXY2zt!B9=$KzOcl+2w5~`p9cMy{wdl(Avcz8`J?8P(Xyp)Vg)$b7aF( z?(fHY1KExrt6x^n&_Ur%Q`7pyv`V0sU+eyn&P3i|Ghbl4{Jgm|;*1bxSOh?xEpFmN z4yl64oRU^d+N+xIyddw#CfC@kKGNCrcAB%B*OMYTtXlMAbMS~ElBmZ+46lGw-X9OAK-|TD#;wBpx^o_BXgApR{De4~f4f!j+oS~}Z z@2t57ENxE91;zdv3iCj7j4KZFUn`Ekc->B)ZET(MzKgml7ry_?=%7tBR%Y5|O0E{G z`*g0>d5&s^51^$M6K6Ki?*^!V)nbb6SOPe$Od*+NbkJ<`;Eo`%8af2&uf9o1MfTRJ z8Vt1Q4I`>O7BiNN$KnMunyJsGMH-@r9-incp8luAyZPVmWS%-F+c$m^d$FQN#Q$1kCX2oNmMN?S8@hCxAJgJ-hzN=-$HzU6cA`i2+A2kooo&tWN^1~2vLSJT0heQxuw zrA5@9PEX~~G~&+mt`1=vmIM@h%(3E1UPOP3NqpFsRl?bGZW2&gc*gDAn;dE$ZfebV zbOn^q1*UXa9CqAir+U_TqyLBnC7f6wz)ksZsQ1N7%ln(3d%?QNLZ}r}nGFgU+ffOC zCWW9TR6XtuVdZ=BeUhh4TlcF37)OiFw8Ia2!;JBb0naQZ4LHG-rbY)1%C{=hjWZcL zr>jM5-ChWB^m0gC#>e+l<^rD}O_f*oL%Msi524*cA3#_|zVgjG;)&IO(G|L&0W-_;kStJVyV?5c3|q zg+d*E4ZVHeG94U6xQkP3cO_p0u0&obBCq7zY-uLmLzG7pwlaBYf5R^DtvkBtWHTh~ z8HzUDNtnV2&3?t4D4Ffx7Q8E`W6;!{3h^1vCP0YxOLXC;-F@ZNItv$OTgZOQXTvq8 zXbb(fB}U({i`Cu{>TVgWLX>k@M!KdO0$0Jc{EFlIkOb3Mw+04vvICy4tLu6s^P$9TcHOiyLA8n diff --git a/env_secrets/caprover_stage.env b/env_secrets/caprover_stage.env index 1faec62fe90fcd69881c5c86399e82e2d4ed141f..1114798398590539060ab5422f4be4f36695e0f5 100644 GIT binary patch literal 1848 zcmV-82gmpTM@dveQdv+`0LX$!uj<9UPFV2YEt++2)oG^!!sXd$JKr{;g2r9Xh2zSM z3O8N7Moj)Jtmj3B=)$c0d@?L%wTy1=5*x||{4T@fwH0_55n~sdm8ZwO371YX@nZrV ztUUs4beL?ZPbZIxWqYMSX;{A+IUA+xGSmt=sD04b9{b1B=XuxAq`M5FaPU8I3y@vc zqZ2B>)Duhb1~uVDXFD|f&;=K;{6Q1M#6U(j^8LGg??zjzV$a9<$c^BR{LVIpZ+oDE zOtW_%-QIKnQ4?k8+PX)l|NJ68{BBL9R!&`>A3&*f0QP=k6VM(E$H_$WUPcDZx z%B}Uvf4QYMeZc>WY&EFc?KU#S6q$fRU5m~W4N6~lbnP5C&ZvOC2g_Zh#-GD=q#IIK zoaClTREa^zM}NPPc<%)wC@VXCqusLGicEkXOp-yQ&dKxTAdV_Cr5T$FjRuj@;g19B zn=J!#vp(pwj_B0{s-wxzlu5&SxY(ErMAinYC~4cpDiJIr8?H4X2g_g@qtDA(B17F? zV^qnh$)+cf6@syfNP|WPSuvdjGthuS8{(<8e>F{vhgNILB!2E{vYK_B{y(#Adm=*; z-oskMLs|sliUYy#-A>N0q|gyvK-lfSrwhX^N$QTldNu|%$S;sBIklOXcnGg4&yji* z))wY|`?yM5&wP;0nr&&GOW!4EYA0a$QY7Ak;%D8#jRH6)6!oFk5}e;7bm`SaM6Nk} z#C)`FuNaa|SkmHgL5-u_(zq?IIRg1a>pZuH%4Q(7LIr|QKW(v*LSiIaLg3nhJ&@}( z+cQXOcMH8I)>6cZ$D(N{N@aUX0`y@)N>Wv=?{3K|w)GDseB++oU3;&Ff*@jk^?0AQbZ`9-XGfpL`=zHs|?%^%b%z z<(5sL)h_jF?gn4El4ypF-(seKQ&{W;&95(zic&hwm{ZnC`QJH#^>Hx%fp)$)HcQ z2lqkfWJZOuRPs;pk$dzmTB)Q!Gw*6Ctd1^7`s}X~GmQoTzLlp0_G%lsdbtZv0@CUl zG_Jy6Fka`DEJuy423`ev(-ihxvh4zjP{@H5QP-GV8RzL>G&kyWb?PeRuc&}x!FN`a ziz0%KeC%46o(N_X=!3;jaX#$wH#?dNK99Mo>4<8B=(jH|A#|Do(Usg;({$<;+9Rbj zgdkc{+zEeFI1*9-^Gz?EFOl2j_iT8=7Pw-reikAkg#{=*H;OMt?Tf06gY+WnwR=U5uKK)yM2)cCI#}SO-R+mg z@FZiF)vV2Y0aHf8eCc(MT%ZoXAu?dC%3(vRS`B)SfH8)esp%ETcW%?Textp?}(Mx7BUPIo{c_6g~@2tix4e zp3peK9<%)qiTYaA$PJS@<8J^ z97QMhM8NQw3Dd&bu&YT_wJ%OmTPNEw=-RW3D{&+mW2`}=rGl@x6F+tvm$R>twLy2ZlbS z%5?d4$whSYJv=ZSbM|d@a}z`QZX~U*@OXiiuD(Fve)jZwd@}(d273) mq>9^ACAcWz!c)8=Gl48AWpJ}h1}H4K#P^`p{jb(rZ0ZvCF`60x literal 1827 zcmV+;2i*7oM@dveQdv+`06in6&ZECF3e5#iZ#%aA8!+Lge|n&-Nf7UdPD^2AkB5MX z^I#FLH8w#e=$tlL;9z+BBs=1bQNel*!cjfwN0Din zX=}prz2HfUyyK|1(FcZ^zGDDvze{+!UA|F$f+Ib4%8ld$N)GyW9>&%8m%G4DdXpwy ztE+*1{mt3bdZ^`Cq%QY>-HDp7Qkqs}ItQiK7r~{w#os(oc`n_KUZLO0e6J>^6+{%y z;Sn1gi^?fhO|3KopURHZiL2Zs0Vmirq|9))?+mL4b6(}+5b7+=~mXSwz7IbZzdl^1GMhFY| z612diOS71Y7#p+Y<@!2_|k||{tOBi(}zU(G79yw8eoAte#0q?Zlb)sLh z>MrhT)A&le82LEit1{x(h=T+=8C~S-F?o`oD8NkFtrto=%XjF6n7By;FWQd1!V?~W zDyFkm7UqEr?eN)FWllfaIOwm{Xn0jQeckiZDjOeF2kxONYsJNs6isGIM4GWQ3LIw( zdqJc-GwM68p6h+JyOOi}ONnVVkF!Pmd}liq9nO&J2=ck!pe42b^eJk|XAe;)E7oQs z`@|_=4)_uZx!r0%9vRZ={b#bP?zLnA;%+ncWi(Gu*g(>SLaoMsv3ERHN zXhjls1R|DRsR3?;@`DZX^*uS49n((lu+TH};@0+)$jWs~!T>5@OkHEL46bHmH}bP^ zU!jJO01Y0jjJ}?O`D0Qk2s!Q$ z&mGz~=L@6;V3qWrM=Q&}o(C^^zRWk1ZaZMk-USS&mHrFJ^K?n{zwJH)XNJ_{)gfJ% z@!7~IC(EehYwyz8$u3Mq)5m)`Pg)M7E=4zK#vP3GF{vcO+zLe0GH5r0uA>)ONa?Mq z+Ivv)uPK$@hYX@DKkE3y)zz6xoM?V(^v$Lvl#&w?eG)$Mtuj66tETBNUdWzdUDFF? za(4vV^1|Q|H8n6J!ps`?7bE?Q_d#0sB2@n3)#H=)mUT^Z_=^{r)9H>plAAm4!*s+{iDcL0Wp5omeUB{(^2hNJ~=D?VuQn{+v zKO=cz3MwYsT%7>1ZLWaI@mt;&vTWuDO-@hXIn!s6&5Vv~&;>!3tzXC3M_756|N89w zkh#uMy++k+0qF03v7!r)wj)6p7Og2foMO;Cbfqcm>lhlE{L((A9X?FX(dEQy6z?jI znF%ZARw2sQ;ma)@3uQVk`Z!qjM>;#IBFpxxK|#FfzTfV#P~U^rQ6R8djA9=N!_w`8 zse#Sv3}+8WCgBtnO*#l^1HJc?b1$n~;SB z55l|(0``AdaveMnj$o^)@i_`>JcTV;{us8&Sh`nI205Y!T)F}W)3G07mlj0Frg)>Y RrjBUu(G=S3It_I)rog5fdTRgx diff --git a/env_secrets/local_chrigu.env b/env_secrets/local_chrigu.env index 021af72563e71a117bdbf6457553d0f1eba97706..0810257da75d1e84969ab0a7b2c592bcb20a637c 100644 GIT binary patch literal 2014 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 diff --git a/env_secrets/prod-azure.json b/env_secrets/prod-azure.json index a150ae74f5a099a1c0716593d7cc0e19a7d1836a..00840c828ff8ce23c12277797387f785210277c4 100644 GIT binary patch literal 4817 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 literal 5181 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