From d1dba83e3093d0644d43cb3e30204a537b2f30d7 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Mon, 22 Sep 2025 14:17:02 +0200 Subject: [PATCH] Removed proxying from pip in Dockerfile, added K8S files --- Dockerfile | 4 +-- Dockerfile.bitproxy | 26 +++++++++++++++++ k8s/data-loader-pod.yaml | 18 ++++++++++++ k8s/db/db.sqlite3 | Bin 0 -> 647168 bytes k8s/deployment.yaml | 61 +++++++++++++++++++++++++++++++++++++++ k8s/ingress.yaml | 19 ++++++++++++ k8s/ingressdebug.yaml | 18 ++++++++++++ k8s/pvc.yaml | 12 ++++++++ 8 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 Dockerfile.bitproxy create mode 100644 k8s/data-loader-pod.yaml create mode 100644 k8s/db/db.sqlite3 create mode 100644 k8s/deployment.yaml create mode 100644 k8s/ingress.yaml create mode 100644 k8s/ingressdebug.yaml create mode 100644 k8s/pvc.yaml diff --git a/Dockerfile b/Dockerfile index 3828256..006e338 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,9 @@ RUN mkdir /app WORKDIR /app ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 -RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --proxy http://proxy-bvcol.admin.ch:8080 --upgrade pip +RUN pip install --upgrade pip COPY requirements.txt /app/ -RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --proxy http://proxy-bvcol.admin.ch:8080 --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt FROM python:3.13-slim RUN useradd -m -r appuser && \ diff --git a/Dockerfile.bitproxy b/Dockerfile.bitproxy new file mode 100644 index 0000000..3828256 --- /dev/null +++ b/Dockerfile.bitproxy @@ -0,0 +1,26 @@ +FROM python:3.13-slim AS baustelle +RUN mkdir /app +WORKDIR /app +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --proxy http://proxy-bvcol.admin.ch:8080 --upgrade pip +COPY requirements.txt /app/ +RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --proxy http://proxy-bvcol.admin.ch:8080 --no-cache-dir -r requirements.txt + +FROM python:3.13-slim +RUN useradd -m -r appuser && \ + mkdir /app && \ + chown -R appuser /app + +COPY --from=baustelle /usr/local/lib/python3.13/site-packages/ /usr/local/lib/python3.13/site-packages/ +COPY --from=baustelle /usr/local/bin/ /usr/local/bin/ +RUN rm /usr/bin/tar +RUN rm /usr/lib/x86_64-linux-gnu/libncur* +WORKDIR /app +COPY --chown=appuser:appuser . . +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +USER appuser +EXPOSE 8000 +CMD ["gunicorn","--bind","0.0.0.0:8000","--workers","3","VorgabenUI.wsgi:application"] + diff --git a/k8s/data-loader-pod.yaml b/k8s/data-loader-pod.yaml new file mode 100644 index 0000000..5484c75 --- /dev/null +++ b/k8s/data-loader-pod.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Pod +metadata: + name: data-loader + namespace: vorgabenui +spec: + restartPolicy: Never + containers: + - name: loader + image: alpine:3.20 + command: ["sh","-c","sleep 3600"] + volumeMounts: + - name: data + mountPath: /data + volumes: + - name: data + persistentVolumeClaim: + claimName: django-data-pvc diff --git a/k8s/db/db.sqlite3 b/k8s/db/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..850190b54757b8f628a15552d7ddf61be30df3b2 GIT binary patch literal 647168 zcmeF431Az?b+EC!AV3_uLmd=!QG_VV5-n2%NP>qPTc#*TqQpbuA&IhNcmXU95m=B5 zfE4MI@@>aQo4CzkCu#1xxsx__F2(u(G;xk5`O`Rc(l~dTG*=zBP2K))W*5K$ASKy# z9ou>k_1@b#-pqV6yTHs27Nds-k~zg2%V=pi=WVytSvbyerPph*a7Qf`%NyYT)$o5g z{J$UmTj77<#TAUDHTc**b7u`Cs3AY4$&Qmhl0T5&l3(hFOXtKGB!C2v01`j~NB{{S z0VIF~kN^@u0!ZMw5ZIrCTsuyH*uEEprw7EU1`*^M$Ddos7s>r3L|UX@NN<$JC71XG z@fPt)_cQJfxD)P1*W<3&xQ1M7oKHI6>&!aq9bbkl_(B3m00|%gB!C2v01|j!2z0Nh zv25Ag8&$&jcqo_2q{6c1^ZERtq?*hnc6y;&?SUO_zU@6dzK-^ej(W(rxh!Kf6+Kr6v}b#}-`C#J6IcmUXf6|# zvu5+Rb#!-hwy&tMG(a{bn@wg^ir}o7eBB)#-R=99*I4S0^vd~M0@AmIO z>h)UGLmTvaM_(Oy7%X`38Fh(knf%nbs{zQndb<3bdkHuhH=Ou-%neG(=hGf=6zK7F zcJ7hD(P+U@x7iWJb51Vc$M5(1x(MEy+?0|H(UWK~7hT<5-JSkjE^u+6 z;38md7Xy^a#FJ`B&8JG|ZE=M9ws&;}I=kAgbb^mUU;8@DK8kEIQ@KSO($&%K@9FGw zfQLd~!?|i2cS>4Lrp`L#pc?+pPM>dIEjTF*Ubt}RPD*3#d`3-Yce}5>XP>>svUzW> z86&$CX-YaXQ^Xshe3{e5@OE~zbp$&4Z8a7T)G3-ys_ZHRJfUZ_Io8i|BnRhaD3+4r zp-3W=j4a;Sfvz53S7&bxxB|+CtF}6Cd{%I=x#;377X;t- zjvnZkwpIa{LJoF8INKEjGPJ=Zq_c|$bek*DowcO)b{L_70LLzKayT1Fz#9d-_@6zS zzuOn+7Riidh4>K*`8m0Ud{X=hxtqL>>?1bmN79$2gmjlwD}F?3CKpTlr1y$H67POq z-r~>+5`qyGBg0{wbp_ecDj3kuEWGb13WssN#izt?d8rBFqO@&r0{slIy6Ly;N&t$Z? z99Aat+I&tqmE-R5)(JsVb|W5ETw<_#sLm_ua__Q5Q&xKaPVp<-GSEGt;gDCWxYFA7_mjs}CHt*Up55-y+S5$>nF2Qf|P)Msa(UVX|y0!qT7pZqd=XMH>4t7Wvfyg&4D=Kn$1fjj) z+E{8~ODdZnUA6amPG~KpPAB73{Be3ZN!4)KKqkN^@u z0!RP}AOR$R1dsp{Kmter3A~^LY<9k$u5UPO{JI>hsiacM@*2K{EzWph|CIupxl|=r zXXTsqutJDa;2WYz8K(N_w2kNMBblf|IDSiSVT(W(HefiREq3xCo&W!Ye2092e2}~i z4)KKqkN^@u0!RP}AOR$R1dsp{Kmter3A{iAYK3}^&iw5zVI5~o{cS5@KSAZ(zh=46 zYy=i2|5mrqz!hfy0`)|v|9qXW#Zf;07yr$&$$bMarKDR(MtTc5Mp}s^Jx%sVKM)_6 zJ}Vt0|3bb*9w(2GH@R;hcZz2)2*^@33u;)CZ&9U!zZ}M6jO`ECl^E>jq6I$#-4NUYHQ=hQfTS17L5(o#%-ktBY9za`GytNMo%d=mw+$U zHuu#lW&Ywy(4{z-Tp| zH)3epdh6y*Fm*3IkHTcvh}Qagj($aeenY@2S?fLQh<$xPSYfT-$PPtn75 zT{pVIuD!07+J0A^^C{RjRYZ^zFZUw1t0c$?#H$FyU@5p-;K zcpQA~k801}}OV|$CUSVsp)zti~=CPVbYTjM*mo>N5q-ut1+G;#Cy!98>zqdYYeYf=i>rK{_ z^`O;nT`oK&d|UXK@PIHQTrKnoTLBEdE+hi0tz0X=X(p-6hRiF`mRGK|a_#)4sFG6P zDZFJ-ck5C5a%OqdT^=jf!f&FFq%F&G=LRcx8Q;W;DXbxu78xyfc&*${zR4(Tkp#Ev z35+5aNpM?(mFwY~Xu*rb-n!n(b@3Zn@s(@lmRnfeHX4OjMc=GP8%0+|pI&F>0{li= za8=yG3M;pn_p)M*by&+yE3I5J=QT<*LT}UqjWUeD8dkEQTy^>D*!DSVz4)=2%90_UJl1Kb94RSWk4P650gZbNyE3z4&WWO>aC zkuz&x3~?JwEhxm~>#W>Hu7MTD7LRkw0TtI^6vBeCdXV9o1!=^}HF6EqAv>OCwO-HM zR4kKEv5KuX99BeT^hm>XMWo7Vy`C0Q5tC-**0JLBys)U8S_MO%TW1th44%}3jUtM{ zCt*lz;nq>-#jqp`Tg%)Q25*9O^;*MgAvCUs8cqwLF$QWa^;rl~n9EhnW!6~hkFw0G z43~w_h#qRVEQE%c%T?56AxMTRg`Zo)T$U~4U&A_Kjp4T}Dx^ml&dZ{%W}|ZrEuk#@ z1k19T6=Mwh!ZVeQvtCrQHIWAl%j_n z(ZdYqde~uBAX&V?9q<<7F1(GfvF@RT>p92aigGzuZ*)%Kj#BYf(->Uqdb#>yKUF0d z)e{&cm+nawJ&eG`@G`Dm@4c$*huA1ySzi1>He6R$7CNj4R~9wIc&scdV32j_3g*^) z6KsI7UtxGQ#~jdO4Cm&U{jAs()W12npVfRhD?-l&=ife-cDdod7`#^xHk=oO_pq8T zr=E*pLAZo>amx(1<@e%tGnC7U-pgbA^w?q{<*~ciP+q2&RUXyLqUu2VeHa_XRYYFKJQC`$BBqCVl*}Fr*Y>L+OZvAW&xS6}c z_07jFgl@xMA+%KwH5?W~x3lWFsmDT43mXb9=CXJdE}oH>Ho^xS&Sf~Sj^C!o8^u(| zU&64tXo1y{&8#)fvZA-LdOIr$+@gn86mv0ajnnLWGrMLvm`nCfdl5_HF#NHgO?r^w zj0H8Z_h-1@YP>&hWaMj^8~xhnWp%AJ{ODngdYIuz58J>hP)j}O0S)Z!$Ie`pyevR`XxQAO5Gb%f!)GCoud_Nf zvjJHMq0j&0$b<#{@P!1B01`j~NB{{S0VIF~kN^@u0!RP}JX-<_7jdFxVP~&nqbNEY zz2a1OG8%(lV@=3yfzFHk@MDJXx@e!KMEC9AI~$&fMUEtM$0G6IvF?G3l(9pt!THvK z_^DXG3csm1k(kTPs7iM3$WW|(IyRo$zklLDr_wz!J#l&Q=L+HXVB2;CI(GOvws&>F zPoH+m@XZ=IpO#fsPt(=n570FJ&K(`T?VUXxPy_n>KaTv)0)O~I0!RP}AOR$R1dsp{ zKmter2_OL^fCOGP1VmvY>;NdN4AA@kmb#Zs^jo!@^n7uy{g%VvCoxrqZU`IDo^hUX5Xw9(Nc2POyh zkI(K>N803pf%$%argQhP;gMsV`LVqtQ;BG@FLG#RAlp5AG}^m6c5sJ3ukDHT?%3Ox zOr~Wmv3o2R8R^}3>g1vDfk1w!Cm-tQOY~%qPRz_DThw&R%(1w>&$g$pg&S0mnup7CphwVo0+Tn-Y$ejV$jeL5O zz$ndhCVQr)=hc~HM(c_te3OB8-;AvG^t4A)X&-D}ehH4HbZ<7ZBRG`LBnKj6{(ZaJ z_Kb85#g81G?ubvd2fB~OMvly8re+4@qlXj2E#blPecc_5lFz48;u$41)2?-$YD@J5 z=CZSiSbJxWc2dbi!tIkw>NCbS(M0yVzLb7^U=#Je!Va{`O=tGp$Wd zO?7v5%qbnoQzw11vDuT+mm;NfPut{1&tx@|Ub@St(Vb+@#^cLaPpI(l~aySI1vdyM`6HDsTK>?8k3K2H9eq|b7x z$0#I#1dsp{Kmter2_OL^fCP{L5oPKmter2_OL^fCP{L55aJ+$^o;bh z^jqnlr5{V*m%bx?LwZd5KhkHVPf8z^{#tsM^cLwM=`W=}lkS#om2Q;gq^y*d;*u;~ zC5=nNQoqzET`qM=ercPuS!$HlNGl{!{IvKt;)lieNp^`7|0q5s{#yLG_(Smt@!R6p z#V?7EitiBrN_@TefOwyHr+Bk?y*MjQi<6=vhQtYRR2&rdioN1xVnA#ao5f9HgXj^L zi7wIVe#ZR=_pjYQbN|5oxceLKFS{Rgf6D!F0D~_ifCP{L5MmW~NmY~O4qe@@tJ`#SD^(jUx9I9-U7gm|0##niO*I0?d2eL$1}3kk zvhg}5uVr$c$vG-FoMLj8$r&c|R5s+8%rdDlIZfsIDJC;as!XP-T$f^UlF5@yCaGMT zU^32Rj7f#cRZ%7*Ooo}1sa$gnlOZOrX7U7;tB*5z6_dx9oS@Qkl*uDZ9%gc!%K9-T zN0}U9@(`6P4>CE-`93E1GP#GzAeGB@Gug-FE+%`ath6RwlPI*+Ql3QYN=C zc?pxvR64gZxrND#ncPgJ<02+EG1&EHwSW~~?YL6Qe8?_IiT z3p-ZWJ@FoHK~Abs<&>PyB|>p6lb;GrDOx(2%_cKy)?|m0(NK3sBoOIoQ_2%V88_e1 zVE44NEM3}*F2<-acYAA24yTmpNm-3&LUJ^nR70suyzoItj3j4TFGYRxKgNvQFR)hf##^WP;PEYVbv@) zk2Y;2xF7I~O67)YAEyJ@-+#;t#-f2_ZEU|_-s4DNxYI_g;W!E`bd> zn)JN=8coh6)6lf2oKvV(B-6aGe~sOf>E#xtOXHtag^8ul0e>tU4#e6b#R`QgGpskp zO8?OA;8Ex*dS*Qv&rROpp|fS91WNUz=$aS0SKB=iXw1a98pA3Ar?T7=P~@mTymal> zop&=TeV$JPj66{FSx>EJ!O_c|Zav?+mo+}*?~psgo$YO*yqcU|x;bl&=8O;Z9~uvO z&)qqNR-L7^XVXv^>1Cdvl1^A0QJ$J34zYAHRtDm%bSuuQ-g-8mUvPG= zDi<;U>XXahdLs02r#GEfbxXKl_=kLvXnR{A>?@6&sunC?di+$SEm1j3G3VX3>PyJ! zqmtdz+soZ@8T%AdxJe^J-PEu(aokY{+T%^z?AI zbd`|lWtHgb;HpAhi{PtD^qe5-UY_^HR-KFIF~Um}&J*aM)#i~e<1Fk#mYq%|b4mzK z&D4yp(b-QuwcSR^^m`KR31^Yuu`ylF1w6d*s1qVAyav>C30IUdT8;?v|&XD zP?^#U#&4d%nCC^!2YH)k+cs{3Rmx~(R+-K#YDB3x6v`@55xG^B)5@igvw2~HvwK=w zxzjT9Y0TEr$+#xdX;Zc;fG_h~nBJ8#Jg1Q-PnnwE76_D0;AmY-a4KUVYbvS0#ISna zBJ#^%{(sm)#--1Re-O911y_snHplNAkJQ%LpRiwK`>E|<%@=B}=MEeH?3PK(jqnd& zXCbiA-NR0e({_Cn=43T0Ytd{dnwiX}VG;~~b5q&HgSVECo+VPzF;w2`OP&&NahXvx zSJ2%YgHx5BvP!6EhWtg- z6nfEuy~FMa1YnkJTyLs#E|zao<&~y78@xs+sl(Q8C5bCRLUb4&9BdQ$`jIBo62fxzO2pW z8E#&Rbb02Gzx-HS==9q?&CT5DE#~)sqfO;$-Q`5fBN(oO}KCu$N@6B zdP&vX#zo%T{XUx~*tk@yOLH@S(RAK?Nvqw{*vQ?siM6#DQ8XOoEi8u9#x44>_-t#| zQ*t&7BOE@N6jrAFZQW%bY*KPIM_163s`=9kEEofuWHyw|!>3?6D{S(HGnrIzJr-hV zXvG_3*{Ic5?jRv6;w&j4iISF+sZu4|0v%B_Acig+)3@8o`mvMXBz*W@ z^n)1`8cS->_On#1xqZ9Mvv=cJ`&XZ@=pD@LjSI_K?4FGqxrKD8hgl5kN@guvq>ov| zbL!-?w7{!(Li55!7r~m)wz4&$()1=|z7ar|RoY@5U7bpYzF1gFS7%h)yck=GUDAtb z!K9R$wzQ&HSPUB7WcSQ%<4%*(T2LuVRRNJqRH2Oz`Cty!-W8Bb%Rr@EwML~ESx7D= zI#1W<-4YmGg~~NGpWfVLr!%HoxYB?q70pIP>CnE&&?v<|r}0sV`Rr3)OI2BTWVTd&2H_eh|#LkY{Bl?gT&%_{%Iv2^}2*u`YD z>4nwF=7p^r?4A(ZVK`(SDaEwaXLCn5qI4_a%BnS-qiW_3qu0fV;b-Y8R^(`E#{K`# z(`R{fg9MNO5_G0O$WN;?BXUAps!@6LEwksDoMR!Un4D#DhRHmWIVQ7AYD`X3xoV0^PlidAg`}BGQR$py z@+6Z^yo$+VOinO)l*uDZ9%gc! z$uTBJnH*vA5S7k@Ob#WDAp*Qn_*) zvoB$?nM%i2W^ZBgVkS3JS$h$)H!-`3*&CVkGTF%F1|}PrT+ie>Cf72#hDzsZW_y^u ziphE=S2DSR$>mHgW3rA(!lcBc$fTP|7n4pV9Zc3TX=l>LWDS#6D%}E;yj9>FEA{#R z0~Ye1F+^K1n`CK1kjR^Zz%KhsbNltH`~u0&okt zk<61knS$AVjL76TIYLHYzQ2$3kt;|K>3})^C1f-4l67PiSw`H%PI&1V>EB@X|1Z+d zr5{P(mmY`t|JS51NnemYD?JP=03VXxC%sd8i}VIq1$eb|pLCaWt8^30=x3y9DJ8|F zFwE(XN~6+{)GzIpc1k;>faH_5Nf%2SrS+0WS}uuFEvyp!m-z4Ezly&We*xsYp>VNySMjl2jz9 zh*J@xLZKo`MTCkl6*3jqP!XcyYAQ}pah!^)s5nN&1QkcAI6}o?D#oc8qhgeb5h@N* zagd5(Du$>Sq+)=I161s%qMwR=RP3c<4;4Wwc2m(u#V#s(skoAgom5;w#pP7If{M$i z*g-`P72Q;HQPD|7fQk+(+No%x!cT>didHJNQ_(`jrBrOA;u0#Fsn|-z7Ah{LVlx#N zQL%}NCMq^k;iaOHiVajWP_dqhbyTdSVht6msqj#-ii&zFR#LHoise)+qoR%qLWM+y zNQIjU7Zpw_98}a&VW+}IMGX~JDg-KcL2x)kY1p#KeLW8||L?$j|6%e*au-qI-hGg4 zC!+KR>7S&}h~JUkEZr zwKV#(Ia!U$S~ROEF-23X&;|&`jK}#_~B%wqmQ{X^RW11XSR(c_NT`_tl zqs8U0;%S7?jm1zUsiu@<4!o`301?}Y5k~Tqtj2T7soe4gi1id>a|tCauU}u5Bd(;V zpKKVanT#Y>t%KOcVva}xJSnM6ynZc&Hx$DQ&04z#g0~cdqnXKk8Zf}$+|>HjWd#{k zo6KwTv}!9n5WA+Bb4t;&8Ff9OSw;)+Dza>>w^}x~XLC@^*^HJ`N>&lBXC)+o>Q^OM zy8Q_P0r3Mx%wrV*9Hx_GDxD zR@6e+nqrvVDQoQzxTP3a*2gPsR!hUWtdh+pGiuh*>uRi)&6^?_HV%NVk~P_GtJP9p zFXwZKd{)s!0ggQMD6VDlQ_Fcc+(-|h=yZ~KUB+20o(4IZhB2RsvvaHldaRcG1HBsE zLHVpNq$P6g#G_4kVfDO2_OL^fCP{L525hQ}+jt@b3vkx(4ZD+aT!Z{>E5C8KGL_2A(FaBl0g{?sOFX}s1tir3JpV#- zaeQNME~h2K`J6)U{}WP6=l`{^1K?}qv*aW2oc~vo1(G6H!Eg6vz=&n>q8e-$`8;=JiKH%$wEsnA; z2hi{TTk8IVO~Rs)01`j~NB{{S0VIF~kN^@u0!RP}Ac6mN0(Ab*ktZ$ihc6_61dsp{ zKmter2_OL^fCP{L51^)jvk}|8wLg z7Wlwcq3 zB(EiNbKc=t41V}eYpfAAw~S=sisl{7q>`EW$^;&(uw~tTS@rJABotN7E80Qr%)>E7 zTO$bD*6jgb^WG!M9QCiNMpQj7Z1Dus$<&;8AN>AbTv2=Txr}xZC$zToMzth(>)r0% zCFg0L$^!N0|J`XJ|4i;A-yx5Z50f`nHxNUR01`j~NB{{S0VIF~kN^@u0!RP}Ac5zF zz-l4DEw+SUqrcy0UNWemKk-+#L||PZY~w1{1_YX_Y*Bz;DYQDO)&uDMe>=I^LViQO zM;;@OkPni3;1FL(00|%gB!C2v01`j~NB{{S0VIF~kihdxpw=#U#A6v%QJZYSy35Cu zNJ33c>M9Fg)%W(Qv5Xc~w7d%U_MJ7tI&pL^n^V$?WED1v2Nf*~nNukxO9WxFIIP8G zHJO!j$&6YDTLZ*?njQ8dz_FrA9AxQLXB9Q7yMwma$%7X1Tk?JK74j+aA@X)O#1|4k z0!RP}AOR$R1dsp{Kmter2_OL^@B$HV2p*2D3)o%4I?h-Zuu$gp6O%EUu5{XT}Go+YZQZzR||7W9tw?ivVs zo6eH5$-A{F8Ex_=)to}VM=~@#<{cUz81Nn(=^yMJneZM6PI!CA$AiL6Yd9H)+@+i&!9Br|;80(1bkUNH5}UodX}S?s!~UWEvHsqHfe9lpxEo5DVk=Q0 zTEvX3L7CcCzt7ivu7dPzv=miND^2Gpr+Hz`Wp+MGq zD&$`xqWSd2d+eU}cJ5|Ku=vm_cDLOV405+jSB&C9 zM~9}gyb_}WsSuJao-3uej-|$RAyX;oa~j}9H|Fct|H^QE!7i1jr~B-l-d^sO^it%j z-kFLNjF|RwQa2JJb9iqI?r!eeW%C^IpZhJK2-F{m%r7q_u^v0vbQ-Hzwx}1$|d8I@DSNJV5gnJtgZ zCgUo+m1v5~BHs=ybS~hb(h;c+qQ8FM=C}ei!Kc{c6jMhB?1PPM$(lgSxqz_AXNXMle z(kk(3@k#MxkOW^y00|%gB!C2v01`j~NB{{SfeVAcf^(V6QokVH=-{|o%dR8+qr38S z#X7EJ6?iDynTKKe>K&A`SyfKJtsU=tUh^K26LizI7w(Y2d|0I`65i6UuO)K1sqBu{ z*4f$F?J*^qQci7`qv@o&J(6fuQpwgxq}AWk)7|P1baaM_qBW}U{3Ufx%a&G=Ri%G) zxV1mn=WXlq`TTIuGFtqtx6#2-URXh#mU>a-=xexbyT5*wjh7lEr=^7jIvm4o-rdIi zD7Hy_rN`DJIxSs=XutQcqRDD*HlyWI@Y`{8(Qo+*o7e5M1Vp_K2enKzKMA+9lzdK; z;kMVAx90eoOI%J%pHXt*xpOVyxt85ZOwOlrEeExvI-i_!IBh)N>~vas7fnl-ISNT# zZb<5NlnNeFlxRyX({ez~%oY;y){ASMmdgxh1B#qwMa?8raKp5a$X*Mc8thI>tI-5T zjrEjqqn)>Ju{kZ58*ZS^a06FqNvcr&sa&GqN3epQjWte--$-~&(K0P#T3#=dwvW_7 zk_}d;Wt)-Ya8k?Vfl@Zf=JcWj@!JHaC1}L&f$jRNCId<`n}Y$ARkSd$ii25WgT!0- z0xXAPFO0Bg7I@DqUa-6d)TE;F%WPiGX<5^(_t9v73mqV1EqabfBA=UI4K1`-1oAk2 z{@)Kl;R^{M0VIF~kN^@u0!RP}AOR$R1dsp{cu5hc73w*<*@U+X^$u#R6k0e~bb$T4 z^qc?iL;+RF3H1KIm29<;Z^HNfC&0iL5}JtIC}�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
    *fe}1D%haT}(GYCav!Hj^;5@U=f85e{y z5bEAS5S}*p;$X1d#X0JC=$}aGfour3@dWr(Qn@9Lm^sjKi6zdMmf-`4C2Noum1-xZ zph3=Y=*By!4r@%KpGIb8l>MSm)liC?KU!RQh#-vR>3!Jap*;h6AICN&TKf>Srke^4 z_|cSd7lh%Jy0s>5X7g*!1r(tZt_3r)g{$~40t=^eZyDV>ps9${ro1BIVU%vb1@*lm zjKAuY7j=HU&u@H+R3n|=>C#k}QG=mNm=tM+F+?e*Q>;ev$CYNY!#fxe;qS82Lgtec z4j2t=KzYB$;brEGd2*~NU0U#xA67I+&T~m1n9Y-|wX3}JG+lkpaJceJp}M8|e@G9Q#L-Ks9iLvIFkgIVFUY7XDRKM#8m;Boyai|IE$@a5ck(p zpE`(49Ro00Nj2mAfO{dV(1{eYn+YxI-G{jK%60AUyC2zjdiTKJ`dHYX z0Z+heHbt#tH4`Cvk1Xg$uHq*g#%@B$*Gj_f|#t4S3wb<%-i;XaZFV%T_2x}=dQ-Hr4zFKhD1v-eo|Gj z0#$7s^d$yFjf;pRlRM<7S~i*-6D%nxm7*Xf^BQi5%yLZ)*Y1oh3+ZwMj*?D!0&IyZ)e0R9MGCL=fJ`?Xk86yv04od-0 z%PV+NfCT&tl^M`pu;-lF86yRXz;6ka2|Z9^La|Ak)o-<-+DD+=mm8o=b2M{GwdcoH{zHNX|7d*Wz^Jh=(^gmC)iB zfy~3$IJUvfJGbq@k70x6`;$2~;iRW5aj^>pObjP@mOst;c^myVr7;NA%uiC}GF7fg zCMf>DcgN=jhF;ybWAOU!-`@SPUB9&Rj~~-V+dtb7h!9x+`bG`a=m4t2Cd!PuL0R@j zw+XsC2A&F;;F(K)JsLrR8LH}Vo?OAMN|%*Egz1tpyLbd;rZbbp#_EJmHoqA4jqq-w zt7HfjmZIh3sKIUSIjG)>E)c<6v?v=qR$)K9+UgF1JfS-XPPD+|q%t;^_QUvj;2w$ZaghBo z`a+v_LU!efwR+{3bgaF%HlD?^ESm^98ye~g+5(z{iN+)r1$zV*9GgBhW@-J1`5-FU za?b>v&Er*t-DtM09f=8ARYxK@7%w};Oy!H=l5t*X>Ov-YYIPFDywR|aGGc_;aT&Rh zkyHk`0h(Q1wH(3=W=)n-PLoY!VZyNAY)U)g&U@cm@&K+mLt@UTDp5n1VplP45zMqU)oG&oDs`!_MAT;4l@N(KaqgQZ6x zkXv|=2*pVNBKgo?h6b%^vQwCWRY-fGg~(?EUTsLIud|G7CjMOcdViRGeaFTqarT&M zdjT_5ssKQ9HPTR|Sf%M8GG)iwShi>}M4u4Do3a*y?YFk%F=JM4!9wm&YvKP50em)j zvhsBSZsWO)k=+BoG6Uk?40+c^%*H{zos=k3|K+;3oLLEgMAH>47aNL9nnuqav>;zs znbF!44VO>=(`&{gQ^HMV0;wu~7G~*0l4gy#YI;hH+z23`GdfTTljueFoj+u1Ia4j; zTI3`Ll$D`+PC>5hN;F8vQiOXme1fBiwYEIgrn%9)JVD3y0BJ($H&B7C&Q#=Q4Wfd# zMg71nKu1sotJ9{^Gg#bi`>CjyO$IM0TP*+xR_fKXXw+Il#p08ZN3aveC6;9q@C|(= z$@f{a8*!zx`hCytE}g;;X-8e&gKu+-?Z?;mdpVnsq_k6~Jp?A!TbsoHYV7wWE@7(- zkvq$sosbZ5$?Y%7r(^1_dHUU16^gcAFAHO8V zLhgs`5wk?FT#0`~1XI7OZdfVQ}6v?R>p5JRi`4-`O1pWu}Z^8hk87T+WhL!A*3q z(BXbYBWhPQRor4xO#@5pk9`@!h?k3SqdyL~LzYkp!+4MYM}}C4Qpt>mWXXbl?1kAz zDHfh!0!8A$(Uk9>wut0|0NEtORuE8G=8+Vxl5b3A#XqrQbkFsrlEpdJ z?GjgEk!56y0^bP@086Qo)5C&~F--FYqBlcibF!p20f0YDHt^b-^@`Nn4^_m0T6qjkr*u6Nv+gKB=nwA$b94kTNjRB0s230Dn|U+G+6Pw7W@U z$gFYs;$4#(h^I=){p{U`-mC zf8)sXIk@TSPVC?+`+ra6^uWG<{=^^b{X4t=&)vVX>;K*PFZf{l=L19FTc6rEwtL{$ z4#7b!&g0sG7#>%QFE($>SCt~FVqVhA;7tmy!8~Ow27AeTje5dv2a}P?chLYb=9vh# z1C!-kVee>kC_)fVrsjzQhcS~8SMYVkR(MO{vY?ZA!kdDdnHr-kf=0+NjI=IO;|4q! z#8L#COQ0qG(`1pb%snm@iFF~z`mT0S*qBX@wJj}cH967Y!ePaK-YB%3BMmiP%OMpxZ4G#OlD$^iuMeb%ZI<_7q?nl`C?dfY* zN5k+Yvjx>6+G|z|xFBNHvG|4HIiF0x zWj!-UZsTzixF=?W(556xsD~Cx2yliSeio|kiwIYnl6R%KiV}q_4s4kpRBaPim3f?Z z@3kZ_W6ZHgDQ#8OZ!mOq?CAu}dm$hvcDM-{Okq+#V$H5PGPlZYh`2c4aBKu+NfdY3 zQ*czU$XxY~aSK3Tv3!&qoKGY?Jh^d{gomdfQ44J+S}=EYKtRUAgbdD89Ik#_buyhC zh*>P|491mGvv|oIuohr(Z?A2vZ<3_++X;?0)*9{Lyzu!M-+{+*)EDYzcfa>Nd3QMQ z}q*zC9e-i6@|g4>XRhqCvJu!qKME8#)CqnieO(%j^S7d^_3I zX42!o{axYNA~8R0$!KEyG8w={C-H$d8qw#A-WWY8KXZ z>STjL#VCWFMe<5^skQ9MEHA}59`7h^*KmnBXK{LYVq|4b7_mOQaRkT2r*KSUPDr+I z$>-uuGc%syMNI|$Kh8JrhM445x|4bXKsl$KCx=8nE*HOz^(co~^i2xFSJnvl&1gWB zol<{^3K9W`Lb6djU)(s1D`E(=Jrh&@15+>~HsL1b3O2kfRWYKh*d!_lCo3qCcsY-5 z9KtetnE|&PheLs`lkqPUk|L$>SsW=Nb+J^SO03AUAuUsk`c@RlITLc`e8}|eb_WB* zl2y@^WkCrZ5(QEegA+`D1|Fj6^(Uy63CUbGCUIz|ZS&4Ib<+LI75bNUESv>9?>UQQ z)8VQ%2D%LMwYJy^4nZZh%*%NEiMne^K)Z;EjFB;lZIzl08G@Ep6X^*u;q^>h*8SYx zd3@s_-s!hFH*hSI(E(D?y(38ReZ;)PdF9|4CxB$*lMgR&_FF@zfpiM49hgYo*8@dr zO+2*V;S@D{%9g@-gj21#L;_5py~OvJGlD9QfNRAaBKMq{)qSvs%d4|i!UHu>z@Tx% zKEs-Ey&7VSt<9NCG7Q;j-$F#lFH1!bep^g|WDt;#V`ofQP*BAB9*%GoP}9DmklC~f zGZjGP%F*2>1FDq@Ch$c17Kc=63AfX zICju#Lf=6)nED$PvdtNOY*UkFatk~yQa89i5xCxcdZWI3;JY=z zWoXoxm19TdknB^UDPC`c07A^98EU7UkH@xmmN+5LsTf>RdDHq_&|0U%K89|{7OsGl znxqmTD{u;V+mV-Ke4-PxjzCBWl|ZIS^7pofvI;y!(i1vDo*V)(2rSe1(A@ET^$VCy z>k)E}hkopGWdRanx}ZCp5$Egoy}q#zaRM1~5MnCAgiw*d``%KMUtA1J1cPI`2d9=* z%Lu(qsz~>g^)Du%EQKIZKu|e#VyK7V(6Vlm?OO6^M9~tONlD&^j-JfuNr`b`Vgr=3 zbxk8;xDctEQ0tyh3{`Zz+OJlTaC1DPd7+f_au!D4evo0+WOX}Rq%oAdHCO20Kg$KR zcnOtsnA#i^D=5@~TEw1IkQJN&u``sVk#I6`w2*W3a7csgIA5qF)h*R*2W?Gl=<1be z5s2*nCkK9e;K`2;y}9rI-uLZ&%Y&cXyT11eyZ>z0|M&Rs?fl<&T;j`r7eDt8ZJa_= zxgHpu9K>0+)mTQy<`EWfo6FH%Bf7~JH ztWew=!DUy=GC>9ld~T7$KuZ?Hka7$us&2`lqkY0~_$=mcQquryMthR{O)2|%j;r2* zWP@xo^}*v7ECXd8Y+4aEZT!^6IPT6*acGH|CI~8*?2_D9G`w2w)*{={`ubvrAxd|B zYT|13=ij_OdHQX2UaMYSX||^pRQx%N^4Pt))*kCzT5fB!VFCfgjDbDLdqJ|^EFIn6 z`yFs!3m9J2)A^hRl%fTSUlOj8woF&W3F|J4Vh;0IuId_RF-<94BtB7Ic2ALZPO z$!0Hx`-DTa9;^?gn+aH8K1%LP_9590p@PsFNojS-Cm75xi8eK@gbDH(%I!*8m1(qK zhLX});?|*S_^*k1sm9K{!MpLM`Y&2LN=d6r%UuhT`5@9&twuMAVWJvge-3T#p{Oml z7w-;-w!8+6GcoH6ZzyZFzLFX|G(sy9EFqi1@Qu4Fg108C5Gt(|nk8uztqQ^7(YL4w zkavu^_lp~2n0p;Cvv579>QLT`%hoz3vg|737YEGhG!oQpyU9h6C0L<;Kw+tj+Z1D( zuC!Di%!$O|leErMJsbQAfo+4tmU}QyZtu$*zeuEJH+z_n5}D_>7D*=3FSBTF)SQK{ zg`!zjbL9e4;3i(TjO3H^Qd)J~El@#_XjdWmm1#JAD|byQijxUQv-Qe^S7N+Lc`L8N z`Qiu`B2FVUAyCsW()r5jJA6~#k65H(R-`LJ;?R>*70isNYe_4-2`H?b+$@g5C6cOM(@DB+5KUUCG5}FdR`|7{ z>K*zGgCuU$USKCyf3>RO-FW|Rv`!LCS%JA_`@n$er2$m?uxd-Jj+}%QbEyZVV&C1>Ps2r2Ni8^a4mBuL%qikuVW3WpZf zt~!R~;7DjfGyzUdk-S{aD_^Xbhxuutoq~@t2xZbq+LkfjV$Jo6U**S1M(@nn#us)C zC{JV}h0Zp#)IIK!sjmpy4MrJ`ZD3`1PW~>I501(tEPXReY8WoFv~X zBQXVcc6p{#Uq&K!BoXT~%S#7lV&X@Q78ts`eCfc^`k})Ith#8%7-Z+b>uby1M*OFS ztD(y|*U)EcDA=zxXS(%;?$Y9D^ppYuypNB$ib+&NhG9^0A57P&A z%`*qY0ZTf9|1jYS*?eh2%hsx15E}zxU?^W%PE@gFv%+L|_K}Yz0YKR-lJ}6k@NReR z8pMI20G!lVE3XSjB8@^-^R`eU&5oNy()v)EEf1!%s3Q=6C0?1D3>Nas70}Gx$RW3? zS8qZ)Vt24Fk1Cn9TY0VDpZQZ8CwC2e8eAW@_7Cj-q+{Cr#`8Ej$M`0+f%bgn0KrJq znVu~sx>ZGW+PZIRmYKg7h8Lg0L4{S2-vHr1*6HvZooQjG2GGNO%WjLxJR_;10 zrIw7O!h7Z*%gAwQvPcrHusTc0lk7#+a z!g#odU)wm2t5G**oaX65an04uxJXwMSwjq#6zW<`_VReNDGwK+@uw+3}FbWx-X3HVCcRspqnZVcNsE`I zhw(eHb&B-v%EuMvQJV?)o6lFTo~1dbCS#Qfl7{G|JRh(GEmwk5wppv=cM?jeu8osx zqJsco+?hc04H%`{|9b}h)xeW44jtY7)hGUso%J2RJMgat|A&7UCjXCR&iltVehI&V zT1}k6V@=@;+|MFK!E@w>HpjxzkiIAfR~~VI)tSDY9>@rZgTLB9VUw<%vB-b)yHl~8 zl2bKGB;y!G`XBv6hPF5*nsvnLzGK93r1CAyZ_ZJEcgwLB`%h7&Bp}7IO<~5v<1<8G zL*V*8xkaE^>&Vo3>T>1SWit{RFJF~;z9^}i>mjt(L_k=#fkOX4;ZPD<_ilZ<)vcQk zqCT^5K&jdX=wZ<69uNx!4-e226}3u%()NML^VcGa`t0F@C<}I7LifPcgNKeBd-cY# zx>W{^8q||8tXFqFqsDNSg(C-shccDHW&@QijZQS*))I z7zdeXU^L4RZQEVUeU660LmGY1UYf@e#Paj#D1UOCxl6OSb;Y*I+PI_!R$<8$*SsP> zC||^1N{uhf!|eo6JIB>UmN(5+r3Vi_U%ysAMBdPMbOi7I!p7Her+Cy1$hVRI3$Oa#TMThl{Bz96SX^?ve2ZLuXYW?2}w*>RCZwnHgM(LW}e9fi(> zp>Kkb45#(EOsWNvT&21OU!Nd}py4!wP(fap|9PT(ag7))HP@j92hWO1l8ECs=!(6! zMVoSDLnX;8BN6E=Brq1lRXlaWCq2-2f(e94)|sHSh5Pm{LE6H}91~1k!`1J>obr$% zQ`|<-YT985GSOSN-KKXN+H`wD{sxy=*sba1*5YOcGrx+wQ*u~WyGqz&RD*E8{B?NZ zM$0J4W-?-7U5og=mPysYP))jxY_{$_lt;)6xsB57IVT}YfV`c$0W}djy;W4mQiGKU z-F1qtO3QQ~M+nM85lUaJh%=5IeeJ=gZ~RX=1~68Wo7R#Ax+Mz-l%_!n?HRa`QwTuh z9#=i?xHa~+36m<{HcIJie2wOMFF`3PudzkLnuABuGOK98lssPvYlYS^NQyxwPZMWm z^u;xp)_*J1&SLEbvXkVhzRi>vs4sqR0TnTcp9Edzqs`U-aj} z%B$kb#3^T_QxJmISFb9O2i?@eMvQ2DhZ9knnhjg5z~=_LED_GSYKg(dIOtRoIGq|W z&ce6;qD~TV!WS)iB1?3Rn;X&CmLoPbbpe)RuG;Fg3sYW4RqQ)Sc@b8LJCwvbk=Mvfz0`ih zA)k1&^4<}st*8pd+d%+79faU(DKxL6JZ;0(#GFl@sUx733i%2yHHFMdPs@%NH=Nm* z-n7yip^rfg>ArY_dEc@uNC~JlDOn`cBPVp+nA7{QdG ztwpCYjk#b+hC!*BCGUBA7^1q9d9c8=b7>UfkX~MFL>i;x@~H!O>2;<~=t#s?`cN-F z3^({GRfkaFfq|_B?Io_r5{*FjrNlLjZ=9_BszK)L#w%z~6+xy59k@1>`@6f#%Zr53 zgwUsOw-MCv>*Y>U0632xsz9{9oU-~UouWT7`5kCci3d|1t%L47rTKfVI`0q>w z2VF1<)4hqHaM|Pw@gNRV2#Yt7za=CrNk7t21q*=KED?EdXuUxug zZWk^k@T9?Dl&i!LZC4G3g==CPPWVx0N}ecrz9i0Bv#?m_Qfe_EpK?|z#1cfY3`X{y zIRFU+ZU{v8Kf7@nE9(n@C=YpW5lpucKz;Z`NRo^6fR2r|!y%dUqYiA1t}O)yp+TUL z2T>G36W!>EeG)QHiA;(48t{duGMoS8oBt90x=i4-|Kywhp^;*qTZrCj0eA2~JVIfu z^#01iU8?EiJ(IZslH9`N@Wg&@ruzTeJDb&}q9_XYDpgaBzJNk-BuMfA&LXYSL7~JJ zp|fbxq}Zg|P$(S;RWkDb9h^CLD)=ald#TyM&{n}vZ#?@a-%k4Yk`n{XqR{qqEuK(p9mw%TQxU|4| zx4^r%(>-?e1N^MjV>Ic54=p*;;giVHSU_WFB$DL8H3fN?TZ~Gx=aSe_Z?uKuvvN$K z6fgUrmQU)^wvQ;&SOsuwpcQ!Em-1egu8Fe59s2%C#FBLc297qm`_kH?Dny80m4uSZ zqVzhu`f-c%%X38eTg_6ehU>(cGQ1 z4=K}EWyVy4r!Z1UwfYMDUR2EGrsbdX$Hj-mT*s}VI6d!c=|Vr>``UB}AX~;!JU3ks z;E(Fe-9wZSpbaj$K}HmCS}B(&>L(?l_4yiED*~LPtY;u$mM5)(yJ31gE2udypeVSt zrMS{Tj^HsfkTs9+GCfB~teU2ARg7anYIWW;zk3!KSX`hhix3HCdY7oA@;x(QP(G(F zM<6#b#6*YIE9CllPimIS&Tt3N3dOpn^ex2d7i}7go6Gm972rumJ(2@einQdd?VSPB zqDaFo#TWA#d(#14oBsIPdd4)AoLHnxNNhK9Zb-FP`Z3E?Uahg$YCyDfTGEWkf(HUq zC5gZ914Lz7Q=i3EcYBA<>6wGoS|?&~*$l?kjXw~NVBQ1AZ^xg|JRlO=V`hO}=XwCK zB2M6PLV(ZGO$Ud{;iZFJBWT$kF{?OwlC(B)hOuvtL^&$DRd&klhpcVD*v9W4ojw=G z8=<~8l)M?Jm&C|}&gPS7cI$PGYv4@mfmI;k#_?$=+_=rs5L|^2r+T1P@ma<`eK_4E z&8mv|wMhJtdlC9SyHh0Mzj$wF4UWc<+0$H;%o!z&)<(xYlRS{nTB`r(^h$Oyz;T%~8413(sv`=<=gQwj&@?(k#usLy~M=B)*RJS?%uS>6g#<+xOr9BZK zF)nMCJ@64klwyW-U~?@#$vjI-#oY_-`TpbOD1Yg3+@9L6G`D>aePzHPC@^$gQRC4u4vkbl!U&f52zp8Y_{F;CxSdH literal 0 HcmV?d00001 diff --git a/k8s/deployment.yaml b/k8s/deployment.yaml new file mode 100644 index 0000000..93978d6 --- /dev/null +++ b/k8s/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: django + namespace: vorgabenui +spec: + replicas: 1 + selector: + matchLabels: + app: django + template: + metadata: + labels: + app: django + spec: + securityContext: + fsGroup: 999 + fsGroupChangePolicy: "OnRootMismatch" + containers: + - name: web + image: docker.io/adebaumann/vorgabenui_minimal:latest + imagePullPolicy: Always + ports: + - containerPort: 8000 + volumeMounts: + - name: data + mountPath: /app/data + readinessProbe: + httpGet: + path: / + port: 8000 + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 6 + livenessProbe: + httpGet: + path: / + port: 8000 + initialDelaySeconds: 20 + periodSeconds: 20 + timeoutSeconds: 2 + failureThreshold: 3 + volumes: + - name: data + persistentVolumeClaim: + claimName: django-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: django + namespace: vorgabenui +spec: + type: ClusterIP + selector: + app: django + ports: + - port: 8000 + targetPort: 8000 + diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..299fea5 --- /dev/null +++ b/k8s/ingress.yaml @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: django + namespace: vorgabenui + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + rules: + - host: vorgabenui.local + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: django + port: + number: 8000 diff --git a/k8s/ingressdebug.yaml b/k8s/ingressdebug.yaml new file mode 100644 index 0000000..9426958 --- /dev/null +++ b/k8s/ingressdebug.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: django + namespace: vorgabenui +spec: + ingressClassName: nginx + rules: + - host: vorgabenui.local + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: django + port: + number: 8000 diff --git a/k8s/pvc.yaml b/k8s/pvc.yaml new file mode 100644 index 0000000..64cd70f --- /dev/null +++ b/k8s/pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: django-data-pvc + namespace: vorgabenui +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi +