From 04cafef108291541e675c7de7b7c37dfb718fa4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Wed, 29 Apr 2026 14:57:44 +0200 Subject: [PATCH 1/7] Exchange logo in docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previously used logo had a low resolution and didn't work well in dark mode and the navigation header. With this change we are replacing it with the standard IronCore logo which is also inline with other projects such as the metal-operator. Signed-off-by: Felix Kästner --- docs/.vitepress/config.mts | 4 ++-- docs/assets/network-operator-logo.png | Bin 878225 -> 0 bytes docs/index.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 docs/assets/network-operator-logo.png diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 9f159b373..74a5ccb1d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -11,7 +11,7 @@ export default withMermaid({ 'link', { rel: 'icon', - href: 'https://raw.githubusercontent.com/ironcore-dev/network-operator/refs/heads/main/docs/assets/network-operator-logo.png', + href: 'https://raw.githubusercontent.com/ironcore-dev/ironcore/refs/heads/main/docs/assets/logo_borderless.svg', }, ], ], @@ -57,7 +57,7 @@ export default withMermaid({ }, logo: { - src: 'https://raw.githubusercontent.com/ironcore-dev/network-operator/refs/heads/main/docs/assets/network-operator-logo.png', + src: 'https://raw.githubusercontent.com/ironcore-dev/ironcore/refs/heads/main/docs/assets/logo_borderless.svg', width: 24, height: 24, }, diff --git a/docs/assets/network-operator-logo.png b/docs/assets/network-operator-logo.png deleted file mode 100644 index d964c7fc6190c9d14e2f1f80e9a3fb8a30a72826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878225 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

oL?wed-y!os$g7U3C-2xygGBgi?LU^lS)A9jX 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%0DO;vyh^;3;9X-@I5VyG2X#VSm# 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

aF%(lbporh4?aq}~A^^F*Jv9}8y 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

ePFOIrEHhjy{$rKl( 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Ⓢ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 Date: Wed, 29 Apr 2026 15:18:49 +0200 Subject: [PATCH 2/7] Replace EVPN topology PNG images with SVG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SVGs are resolution-independent, render natively in browsers, and avoid Git LFS complications for the docs build. Signed-off-by: Felix Kästner --- docs/assets/evpn-vxlan-topology-dark.png | Bin 851693 -> 0 bytes docs/assets/evpn-vxlan-topology-dark.svg | 4 ++++ docs/assets/evpn-vxlan-topology.png | Bin 864092 -> 0 bytes docs/assets/evpn-vxlan-topology.svg | 4 ++++ docs/tutorials/evpn-vxlan-fabric.md | 4 ++-- 5 files changed, 10 insertions(+), 2 deletions(-) delete mode 100644 docs/assets/evpn-vxlan-topology-dark.png create mode 100644 docs/assets/evpn-vxlan-topology-dark.svg delete mode 100644 docs/assets/evpn-vxlan-topology.png create mode 100644 docs/assets/evpn-vxlan-topology.svg diff --git a/docs/assets/evpn-vxlan-topology-dark.png b/docs/assets/evpn-vxlan-topology-dark.png deleted file mode 100644 index 255a7dd3be4ae81cae13e128e64c491756be503d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851693 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

P2uHX#(GGULm6P@ShQ!R@v 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

O+;UD#e!a$k7n%e47L+|LA4Z!ep_w-0o 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

xmf^w!%<$(p(*~$SfO7om-1VD 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

A8wcCFEqO11 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 z�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%0AD2@y(pd9ptTp@ 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

;c)`|12G{XE+8J}-}{k_TPNty{oNri&*xtI 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%0DZw-u*ww)EmRpeIZ@Qa?->%dTNpcrR)O<- zMscl*YF(#$1@v!x{eM@16tVp|0s7_dTimn$q4g;6Aj9^%^VmwdU$Hl!-12trEvS-q zF$jTV03|b#7U`ZIpJnzHxbs?8si}Q|otfpD--RmmidMAOFdwR$Fwd#sb?wfg?ZDi=sKWU8N{*>e&SJoLTTB zFsFt?J*+c3sHExAGb-vaQTy!WQI#G*8h@Pd51B!-)Ernk`qJrh-c&kI+EtMi78VjR zXlD&{Xh6}_85p1OR=T+$a}_Fy&TKl%#+`~r2@146CUBk)rC;*M%@dKXm2=r`rB*ih zG)#XTN&a>Vv6OxO^0mw_qyWAD{JsNzz^$7%u!@b1-DO=8c+;^sH&;fPD-|ve=b@q4 z?Hbn)=Igz;?6|bF^aV>1Nv~U8Ueu5k{j`CN;E<)|U4*8%*MyMstHeIBFH*E8Ds2?R^PWL0b_hlu8g8iG;kn#REo$z)F5*`8P zyV$L#qCnd5oRE8A@?yj2sz71pEu8?$i2lBJf9-s}X}A$<=EjXV?-6arGk zG6$?mYinIsUf>WZ1R_3VyQIB0YO%Y29H6@ts;h)`v zR==1NUpF(=*!NBD(UV(~#vJW1>w?3Yg&8?)E_}rd8sbP+_pObXAp7;sJqG%Q&l~T( zSp>~F*>>|Aa?Yu@vZBQg3>q-DO3Q|rSm)xD)ULA-#!4*ob!#Fk^uVr#BYF&7`pzH}WN9#&N#tN5jm-wu?;J^p%D|3u~Qa^?^+LhzxdRN7ZHiOd}J_sOa; zjInHD7Y7g=y~V+t z_DkL@=l?>rZlHtSem>fobO_lU)Bt^~AsfRn>z1chPrC|gob<5To~ps3c&p@8(*N&5 z-Dd_uKoaRhd$s(>s>&tt2TCl=)w1)(nK`HwSsh0285689n1tKo2f~?sMzD;_NZ>ZN z?}4O-56lh+O|D*q%|}~BSJ`lxcjJqlt6mI3III_BIb)?yH-$m^GspcGDI@lTpIY9C z95zo}20c_61A184>a5F58@pgU6Hkj1r+7_iq01{m?|MKQ?6&DSVgpZb^yK`SF-UR3 z@WYkDNCy3gvrMxadkY>31%=bIwr8u3&MrF76GStJ8hyyiuc-+tpq`jlEV$7Lrw_k1 zbNg2z2Mawy4ydf>Xy>syk(4snK3{lybmWSfsIN za^oBzFv62b3JKiSa(*o$Qbx&fPw~7tOvXy!KR<6<hIleL6NXT4vk0K8Ik8$eIcMmrlBh74tT7XYrW#$DndGxPsvxMAMJN| zxYn-oB_A%d;%ek9tls`J&kVbLy#$m%rrN$~rX)ogq@uQEMAUF19!+cl!be~dNLXi3 zwA@qR&}I&ZGDNYl&3%pivY}HB>AhXEGF7Nk!k0@R?@{wKV`w8gqF%VMt}xVKvNT<6 zMYDHqN6#xV>NU}lz~xSH(e?{Au7`x|QGKG13rp+6ZUqn>%$L4oY!VRIj8j$?RlXdrNoY2X z54K#9U~_>ey+C1v3Qqs2OKb$sH^3nGf}AWFV)dS>penyKh6_@a~o zE@nf`Loo+rhp?99Nheb}Wv)k2di( z*WG+kdxk*yQRH+rOVZ%eHhdXwqtNS;cd>FCVLtIu_1?czF%vA+f+gZO8;{Wzq+q$; z8<+q_TkOhJqs!WSd#<=jKgPe;1+yejG9n_oeqnpiDN{+j(o(6&KRYc!^I0*$V z_~f=7Wn;e-fq&Q^Yr52ulMNFCSVvQS4C$qgmXs`!^I2PU^0 zL(erciOZYgQ2`(X zhm+{2v&2M?0G%6rOQ(k$hn*?gK&^lVQe;x%RX&{7A2^%HR_N>e zp=Zu@L7FpOxN}(uP&f>Kv=FL?erH}Dc1lWJ9#hACqTEMWp}h;wYIB$tS6q3wo#P!bMoegQ zvCUkOCxLB@kcNMqybRGXP}w^=3oc==(0o)Sj0S$fdDJisxy4cBf9h;2vB)Od6AWw zeE(j`YYM<$bfFSBp!j1c>)#2}M!JxY#Hrgv#0xUwqTd=!c4$O(pm!`P`|fzn-i=ly z9k!{&0_yJqAOq3EVU1eg(%GAdYHVLgj>G`-h`nC9DBT;)H9^ID)d0VEO`qmnEiRa! z2x}IFpaK1#XapbA@z=k^$i2SNMY7TKt|b`nmj-llmsYw&Y%~Td?;O99|;K zc_|bup(sn9KMSL65*ag8ILZ8CIRljMy1OAOv7hsw6Z@X;wij5Yd02=u5TEV$OW}J+ zhg6o7H04w_G$cy%hYuSSj+j*G6-jGW_0IxE>$W)WoyQWc)3q-Rk3_Ljrkd9$O4gcy z`uXe7<6q-@nSUot0hxXBTB3ye$=$oG($6UPVEqm=^&V08I((@$YAeNb5sE?I%zCcN zd3tcCv~%joCvTSBfzNT zMV?r<@6{wfW{-;VR?T@(9*t0(I(6vY#n#1a!1P?N%h@BiMgh^gn9O;PI1Bbt3N(~D z+_Y@ms!{9Px~Vf8-wifoM1 ztUI4GyFSj(7d78{> zCP4oJR3OyO^29FWQ>S)*E`D_>4ykczx;!j-skjYc_nUq>cA^5ru=_)L@KJ&$*O=8Lc)sY4Q-%8EXle3Lyvx1 z(my6gsY_@Z8KyO~d>C7KY{(WLl|u+B4^*A@B2!>VXV#q+ zA;{v{4P@;sN(B;~Nm7S9(UthDM_VYNRn!*%ukTkr1J~~mdM9Kg#LTk6quCvPi{f09Gc|1ARH;xB$gHspm5Vxy~la!2e7*HgW*+N z&p%3i*NHg_u%9U(-TCmxEc!D`8}lH{eH*jJVO&dtfpT?qb>?G+UPa6VAq@JYg!Cx7 z?d;H{z;US~zhG0`wFIKD{ptJIf!X}iE<+#UzG<$(O#)2LPu4o%y91#_+fSQ_=O5fY z<e|{m!NF*7 zkFEtI4e$?w9COLb-@U`$9+0Iud~2tUSkh4w9K86NrOjOYtkhUSwsuJk?{6T?rS}gr zha{z}RtOq6s?F(NQ5HP=#|yCQDgTAU?;r?qc0 zX4w(#bt|uFdjdf zPKS97pRF$(mC|QuvbGziY@@h6=0=ey=aJNYTMjt|0D}CeR$LsB7Bexngf^7|(tE#$ z{|x0V(6(RJDC%}sKK*O2CE-L6EU{Ph1J0jB_tj@~!k_b@TgQX3**Sz$n_;$ih^65N z>ZdH9JW(;yRf^#=A4vZbJ$}89y>``@Mc$bBm1z7AUc6UF2fT#DfFO`r5A%O-)5#zV zT4*(jYc&ZGIa!RQe$)K;yS9@W`}|S0kk#{QrtkPai2z$m-UzuO$TUJGi}T$)RiWi0 z)OFB51RFK#M-gUe8ZnS#^=Enns^<@f&>YFcfUTd4km3Y-2M4O8of5lx)%%b@w5h>& z_)9&5V!;m8bC_58d1-=CrJd`}Uc#xqMxUh)F~82e_$WWbIhz)r9PiMf)rrTNatP3X zt7_Yx57MV5bOd#|Kzim6q-Xa=5?@4qiy+w=-b?zf%HQkW4VMCEs>Ffo*6V7$1cze4 z!0m^^vWBfM5R9>U{Pt6;BqcSu$fM*JPXtX6`OknQ8+U4pnR@fDE&G7!R$>>NYhsOd zcJ2jvI406M$P8#@>B6PpW60LyqTRjDjI_12@nBBk+=RU=hld_MjWgm8S0e|}6-tIS z4h4%)R$O}4joc4yYp3nk4#$if_S}WBW?Re6egNED@bg4YKAs8%%pHYENM5PO5w8%4 zOAQPX3XhBd^EBThVpt&!s6Y2KoFB}7?6CopaN+~&Q($Uo%!nBaLiZY{YnM~rub;~9 z_@&GgEzL?!LA+DVa6z|PTyiL{O`!TJsZepvPZsmXaZjk~_D&0HxRphxv!Wi+RWLm* ztrcu=>G(PM9Ka4|+wPm>_(lbj@50Nzra{FivYw2eN%hz+m_tk+e9SL`7$Mo%3p81X zzsOM1_YhheQf%zFRjI98YE1ayJpA9NPtfPQbYF$YdPS8%H$r5Hwc|4K7Rt#ctVpxV z`Cw^U>90y5xrijkf0j^wy$8ht0(xh5B=QeNl}qWbXbyq6YAf5@+b2Hix>#fq%>Dqy5$Oi7(v9qzxk8~`v3L~jxqN(A7rnSZxym+#y?w(9?ve9(9&T8(B z0!(QE4mC?8v|#QBIA`kyhi8hQa)G|*G}=>u$9n%Ysewy$sbCsRF1@hvxdR&sCXg`vVziRXN3=In_&4()z#psagtbZw)rE40){Uk$N&grm# zm9RK?#CcZAHgl;Q=se;%s0uhb*1Y}b=A)a@e{1T&wH|;@oK3`v+SDa(e+LKw;7rSl z^-Ts8f=L7wgFd-=UXNqmU3*G3r|SMajeHHCz^ps^&fKq1;GZb|Py-cXm!zhr&y(;4 z3j_7y;`HzoaAGokQ;86}{MiBcyx8A*!(=4sOsk8EvPKsUalZLKb%kxq$R|#mpVwmt zN{W`Aw0Z3`V%M&D}R9{_T-b>qj29DrqUpp8r_mq8oIb;gRI zOxaJ~t#~vv`s0#~do!}KPR^H3cD4BC#DMd0JGuMBHZ&~qF>2zTLehE~@D7G?Ci*31 zwk;c*i<2yqiwHN)BZanghQ~&jzIpUD{doODTCBd*=wsvp-3aeXA*%=hcZATl9zJrE zQ#DW=hAyM10zt9Oy-7+CWLUrjFYimQ!4qy;2B-xKw03%{sAwzv{~2>1+)C!N>(aJ$ zDN$Cm<*p+Jq(@8dC9ck_P!jM2&r8pMwEyC%AORH0SZV65KOB*Y^4G`^h;fn=7i5+b z8a+BZ+~Ie*pH30W0oawO_u~>0oaZ;;UiotZC})1~Jsi;? zBw3>fm$?M!(;5@0>LYCp=oM~`={gl51N8FyZLvEBo@+Uhbc8|^LUlG?KmkJ|M_`my z53=v%6#A|Q!$!fDpv%bflJSjMx2=6WT*&@p_eSk>AadULuVIqlLytsZCgs%+bUp#oAOL{6-@QX%D70p@9^?ne0XaR8K{k;R_(m)~u!+75 z!le){x9A~wstgiRf2YdUXU{>SJVj9mOcdY~@@pfr4A7m7mg9M*0j*0OUC&eGz?P>k zc*~2d5UzX1L?MH$KTl$*P!r57$Qb8RSMP{!3yheA~qLtG2QrZlk4SaG|V#q>K~h9To{P>!v>$3U>bWIJtNI z70n<=`_nO|Ws^>9%C0_Z-zp;lq*$W&=R-O0QoOcn6sH!gx$%rlP4}w^8KG$}2KUC} z3rh%GH{Z5B@pW6d>6cu>%{9zhV8(*VXKcp@L!Ah=<6@QZiVYj|zB$F?T=74wzt<8Uvn+5jfE~mm zWOIgjtjv0x_IktiyE9*%BU(eRc81sPd*1qY^-A}eB$Iel-2MGqj~TJd=%6uj`OM7B zNwPGb0s_}ngm(kBffArbtI;z$Xje|COaD& z4tIlI8+vU6r~eJp>`c`-2UgHkO-{~CjE>$5Z4C zl5YF16&Scvza4Pt9n$bx9+{}q20HozB#+mj;Sdh0nFgf&Uc0JE4DO2Z^1{Z#ygcq6 zvu>CI^3wz5DDy+aX)B*Ra!LZh7z2(xz$fngTN_qG=ZXdsV+RU1JuFcy8L{BL132!> z))Ot$1{l$5&bI4(Y$`ohpX~8qH6BgaPOPunczEvuCzXhJ1Nj?O450wK`i{+%#&wlE zUlV&jjDN;mY9DAUV)!OdP*9M$F@>Mz^&vGGjnq&r7JXXd=x0- z$Hw<7O?;nAp-E>I*^m{x2iy^B6)-zo(L)s?9aP`@+#I3+OK^&LlpOmGVIH@T$*!}o z{g}#{j^JIm3=(Eze>u8yoTs=Hr}ph5J%3d{j1Q%I;dQjBHU&hWxQFTPrH;l663-8X z1A}j`+ibYy4LQ_C5*>Jah~YCL&}dZ6ORltVsUQ zU2F(CfK8Vi&d|Ap%i0-!tY!G38RObQqbm30;0(>jJ~FR6Em?@R6W(;v<1huZj0P`$ zVUM|67o2d{u7)p|1)@b9+ZHg~2I*^hn)r>07UhJFib)j`(yP$uwk05-ZigZ%722NF zxfZ!yo}aw-RzT#00&D3y8)hpHH0$!`tXnTAR7_1xeLc=hy=#KuwPmcd#Xo=(lNkjQ znDHY}6Z?hUnh&EgV2N-B{hXm%<=WmQ%U)0U&sSGYCeG*p3oiAF$ul z-hy=kj^RA+NzIkr%r@D!UT{2^c|=`dZFv`w69v;N3Zup1LmWG=_fDGyVXTY2bdeELtaGJCcy8vhNFi~WYV*GceIg|vK_HX z&(E$Ox?=g+rgn1WThV7&=|${-s7lxwffW*9I^DE*I!{_DOE;kErs5VW;s#LNqoehi z#>*L?Ob&_2dHnhI;dA+?yd((5g}Gl&fRYXiVY6;jc^7Hdk`ryneyob9ng~#7sa-64 ztAgCzUbEX?-Gs@@Ue|T`Y$Gb45}9dq!go7$K24*|YCAAVXv+~RtpIf@JjS?Rx!?Qk zzc3cahU-7Mh}HxH{c4e7m(}(|xk|6y1=Oya-9mS-D`NDFhC*!`$VH%J-=m+ii!e7T z6+4yQh*0ZYLF3*YtJQ&JIN<|R|F93m%df{h}TqY%{fP3lkhRZgZ zD@}Yn5slLRQ`#C4Ed*l&lLug`z-NLgJW&vHSXqx(N7 zC%AC;dh1~PJ4XJ$^8aYCvvZLLNobC09GIhSlS{+FVJDyqo|o#X_Y?5$A9KGACWsc) z-$g8~j}(TpC$Q4mIsfClZRwR~LOK1NAFsyVW}!uK;i3lNw$A;MZcH3=OVlBK)$8@4 zx3O@6awN!pU{Lz?)A98UfZ~krMDBhS3S==P`xpkt%f`>4hk_p837RSnYD4Q>OWPe2 zD$Im6N@nzzjs?w2e7aENGByYLu_pBz2^o<|HfFtWr=eFSA7ITa{W-QQN77pkm*RyC@>H!D9Q8fPSd1gd? zef>DV3RoGSgMDrh%h6y^)&Qsr&Qbs4^%2lTryw_}k1&&8ye{vTIgd}3{A$+1dRh90 z&mjt^4_pUHva^PG{Mu|^}<_7pkg^ANPeh(=f$&#DttT)(IAyiw98 zba<@hC}6E4z*0~?8Vl!%=mcOhFPhy^VGiX&akZOdynsONZ^#-Mr60UwEq=_@S9!TL zdkKD8a@VI%6Zz>8EA(@9x$|{P$X9=~+vvOM!Yr(;SsP;|q^GimEMp@h)8ix4L(zPs z|NFkaf#M3`wu7~%?aJjyiPB}K7OX=3-&4i@Ps$?*psgWigR5a!AejAIs+B%vVzRnxA?Wwo_} z5-`BgOG&uYR(J-Bz68ismdS?3IPD2J zAXqId4d0_tGkS4(@P#jMtg8zY?3vTcD@%>?=%H=g zchKLY1qJ0^eC>qie^(eo^5cU#$sZ^$_tA` zCA`yyipEC6Ywku7t84Uk0S`EA!NmG_|xOi(@^zHPh#Gj2jxK(GC~RT^uLP8MO#-3f1`1rlWm zi&$?PF}8Gsvz4L}(9nieNCR|AR2u=t6zb>2t&Rhjq=zE7YH@9<8hYwHM)hs~)Bw}! zTA1R>(KQsrN;bB(Hsq7<{_k+}3U)$ei5!TP$r@d)(4+Us%ZgzrX=BiROoSDD-uNoG z(dG`L7=IErg3;i$CVOnBmJ1bj;$~e>M>bd50-gTj2Y98p;@l{7o>ZaeO2}(QuWaV5 zBV8sU>{H1IUuMg`&sODZ>MPaet?PkCm@cya!~;*BL>aIqrUSaZKU5H4*=iuQy#xtQL41Cog2`g9VHB^#Yus z^)LY-Xtpx+m;1Ry#8V40d9za~A#yq#T`R2e;A7}R(O_;RKnio}9bI#Y!)}FKOYOj6 zKZhRqXrIK7c@$e4wQo&S(Jyf$YlHS)_X9;Uwd zg7rF#Gwz|#)J68+3im0Nf~k*lrs&_>>HUpcWSwv#T?3$bEnkx*AiWMSy45aEyUh}- ze`*NFby z5fKAUhC=av){D|^ai17(99X59vv>3*gB#s|GC0}M&TRT)%SaV6V)Wioi-MtaM6W-e z6}2tT1KdCikNC|>ho%c{-*zfDoC%(V>#jHhSCqNQyk$lFpqz-KbvFIw0AR_Xqa*qs zLHU2)ynhCCrr_^dWHNez;%&?0OK1JAi-Hjm5dk}paggGsF0Icop`G2vM}SrBgwhms z!olVTK5B3QRv{*)c6p<$kK;jEyBFn?TZ*1xM~BB%t}d>X;nH1<3%RNti=GWL*<%!n zdPQxDF*)xlA(DBeYs?Mp6gZf3LINar$#F2IMg2ac^VK-fz_m?H2NHhT2Eqi&{31W_ z{tLRguAysbKw|a}mI+D$pex5PkDG{?m|8lOh+0_m>U@7f?CPWsD@0CLSNHtd$0~N8 z^b13MW7-U#=MMqiSg_rwFu+%USlV|oSA(kGtP5aldnAfNjEs@ZjFgELnL%8O|5gBj zrA0U>@`kpmFvIZ~C*q-4)3_PeqB{4Nl~v6UIiQXD2*}K9QD<>)iSmIy{ODfxrlqBv zeYt}EvUf&aTf99$=9KWzv-FhObCtH_y|DtjgoCrQ?MtAnJMVKFf+GEob_vp6#{Qmn_8%mM2AUTOB;|Do(H!=hZZ=x!cBzWNwLH6*UkiFZ`I-u=&)~#@X2hbSM2!O}EFYKva?~ zN%#0@AYM^?lU&@ybT+_g2A>~Qe@XKnzfx($^Wgo58GI)xZLcGULD|a6YS?(6agFA@vw9FouMQkC2|)_Jm2;J`-skt7|QGU`Zq z$zf~OdGXGJHDqcP;K*awkD;Oj8dpR;?DOC-?7&B8daq$Xw1xYJu8HVf*Ymz~@hIUX0+Wcu@cqN@8HQK5 zsrGHU>MH?@<++E)mxurB=wYCao}cW?Kcxc{0jQ%VmM<3-2_=*y$-9o+L7^6W+uyL8 zt|5+QF+GliNcaQ^9jPZw(j)|m?Ck9kuT9V#P*b%G3yedZC_9s^h;RL2Knx&kq2o4E z{Vr3lJC@B0H^?7TMU~HDeH~Hfc3#)K{wywzPCfCRl#)$ne`q^2j|5nC6pgP%jJ;b= zf9922P}3Pvi*1!rk`8QDRPu2%sXp@`{qQ;gvMR9{-XSva1Am_Np<#}-6mRjTEhbrB zd>;$5sCa~H{f2->J@Y2qYsC#9pQn-(;nu5rd;66YfbC*fqR$8*Ax~Y_Koc#j-Hd0Sa;pcXq1VwpBH3kI+44K2ZuQ<*7VKY|wczvbulp-B(p|T9h-a zgQYZi6a@F!&=#&gyF4bA+Xh9G`bJk9760IizZc~7v>2;DX5 z?je-QSGrpch^{1a)OE%=ozM!6I4|N9j9dPTArR{1%;DNIm@OQb0|2Dd`onhgP%#um z0>q`yNP0c-kYB_DC{I^_JGSX}y_0hDVdur(B*t3=Lj`#zZV_eQ4&C+h4YUvVF&QUzVQC)TTn3*c=>{Q zNy$#jPBy!VO1YWhkG0ZXjACY9qOUUT;XTqi?8aXV{(8z5PIMEKIAXx)^!8L69uCeo zV1uSY_aOxGeQ;b(UT!V#kvNk1o5&zuyvN0t<7E>=@xWI^gQALG6&^c(qg20Rdeg3e z4?7fs93Qo56bZc{6nL5(ar=edL-yC%g@u4WzuSFHAE-qqW<;o^&ku$Nht>%;wB&#@ zjUMG=MxQ6&N+gv>7HGE@+vjaMXbWqfS+;)NAkhZWb}R0~B|*^p6HLF<{WCQE<+)AC zv~DQw3^n?`d{4?)mprxHYKp(55Kzir#AREKSM_yIf;w1NS%}oFHxwTx8dqZ0DK5U? z|4n4{ugC-Oz`>!R^?=s&=TbS44)!n`&UoR}r%`-0#-LR zELPT5%zF1Q^dIXY^SCgaDWD>8>K&-8CS-1I{*otV@Xge==#mTXB_KW%r$`!}=jU74 zy{I@gz0un(S5CPdiTK3@xQS#Amlag~^XEjPh!j0*+bxJcPOO3Gd#q5c&@H*A(^Ls4 zrl5KzBE~eZcI%i1@$B3X4t0C}(a%Cwm(!v;zup zm?`P+N28dqT8L2`U{B%t65UOsuT{^s+3~MNuEO*E%hIXc5seKVp&qdrh?ER0f z>w4c^hN>ry(>{1NS}HWqC0)+kFGF6w$T_8HeSL9WH5-JDi}vH6ddxFM43LP{9lrMt zV-HmGSG;TJGhtm^L>l|g%XiqIDh+USoktdM>E4t?hLQ2TeG^7KmV)L22%Rb_GS)aQ zNpGNJ7O|$yf!;G^AA99NzAK)6y`y`!AS_-Au=8Kmz2rAjGGs(xX< z{K+}>6(i)Y=b+|M<6LTg7a?=iFo^Rnh*!j1ix-N0IsUG<8aW<|dtW$Ceawv4GB{*1 z#FendW3P-rWRmV}fGRUhcOO<_HA+z__G#%Q7Ih$tc-LA6Yk!UHhHSBf1cj={c*<*a zX0DrtfApQGT26=ewuA#xZp0f74L9!SVbF=U|Jg=%e_3QnF=>}0;-Nx>VliOL5oH1c zopWV8JTBUYHq|QtJCy+g<6JLxg1{(xSPd)=R^vR%TwNJ$@+R&ZF2TJM!U_TcH)*{s zM_&CBqezSR{aJs8J2rhLS?T$8zU;GD^|OU!_BiBsJ=4iSTO2sr$YAyloO4g?6o;g!#CdFVEO+_oyG?6Y>%wTB6O>Rq zxm`@Og4cD+=F^8;Vpd1TlH)1q{?{4u>wC5eg3d4S1yZ77nKaOZ{Z_ok^+|0$Nr<`= zQm4}Z^D0x3nQPy4M$+1WX;v!rS5bKMeWMPPHVkE@|8kT{JX254;`M8v5QEW4r0Ote zjw3ZHBZLtKtj6Mr=*5StsRn~4l9Ce~%k4GSWYS!} z)K?s&?Dh(1FJWW+69=NRuP-ew+10)}xJ-9(gA^;jc0#_~7T@U=xYT%K+V8c%dwH>W zNqjVo>CxU#Prc1Fw%GrLLs6*g8-`otZhhl0)PPag5P%B+ahOE z{uxtBZWkJ!El5l|Ps*gLwxuAuW+=+{66P%Tef z&vTN__hP+|(RdtKOXg$JGdm-(e3+6X$<OQq##ouFPWhV+~NtgV% zSnA?u5&Pn?&8&n zJU@U0yfu1kh!`BC3gck%C-M53yR`*hKf7{5yf`M&;QzVsZppmkMZRavpU=IHGs+R9 zuJvx+Pj{^UbfoykfPiP=;ysk5oG}(4^|P%b7Yo%YRCY!hMxl!_fZ7pD&f*)6Sn%-J zYa0Xoh@iQOfE%e_6U}K;Zzh->BbX=V_Dt$YgK*14`( zx9~n%y~5pTq*NhZpH$&m?X7ewJ6n79k292f0S3KKg&>sbvK55OPg!y)iI6r~2IA8v zhH})5vk&z{Asq&ApP}kIUJ|rq5em?yqmbP9TW^Oa1UN^!fwnbEA%Q!l)&o67TfD#~c{9aI}&NGpno1jmVy} zUL>aU*fXe>EbZ8Cn*JlV{0n9Jw|cOin^wE$w|t<@5JmktzUNM$Fkgt0+bd#Gje7Ht`V+J|9Z2}i> zL)c&5U(hF;ZaFy_&u3jU?*#{ies6VU+4MG=kl&nmkiQScPZBx^$#6*|j$r|kb0CH!?=_=Qdl9C{~=es^a_WmFGvb*;=rM2y9G3rxw? z`wvOiT+q4GAgM+1gyLFIq`~D@Gp5fg_}rrWj2*y{>mne?NTm{TKFrA2ZsF1UU0OXW zC~OVF|kv}{ES@{L5@W$0E%RpF@_b4ZLjcXLlHI|e4Ao>aw4avpD z&Q;x(ez1wB>OnJ%*W&-zFq|al~;uYf%J9vtbN9-IP0$~P3o@-x#KV!VU? zBt^c?I_+e+~wWREut|1(JLoSI=Q6D}=uW$~MWJ^d9>1|4XguGebV*Yftlcf2z zkaItcRH`E0JRzT@)0Q7v&kC+aF&oe_cV`sbkxoSh)zERVBBUBnRwzF}RY0U7D($~g zS0*~uOZKK*EkAuuj#RVQ8ZOgGt^UP|?CHDj#(Q(l(N)N?;b9hy4@+O3NAB2(<1yA# zhr2xbRSM{EV~td-=aTGTxhvMV8B>QKp=*S&ZY7$;(qFnqs);b%A1x!T1avL2k?F71 zU72w9!j_hF8L3Pb(quZ9MQU3GceAdjh9g>5BsQ?eBs}SF=ogZRWkGmE?>1eHfM{ha zP?fFiD?H{Qv-%dI!8kVl6f5Yu&}VA~%D~&__+TDWkmfqoHy?TJahL=xGAt022&nwu zQ4zerSEu+oX#=PC!uo-90p}PpSAV*JeO-xSSh(86J6)rnnEFAEFNF=amj=Vb)(C`< zA-c=qhNLJDiAHdU)=GY^!@Bt41rD5gt{FOZKhh+o&L$7*@oGT9bZxEL+*sK`-@!q; z&1A#v|L#wvV}u1FG)vn`U#;#*oEYGCGdl(7EuZRhRRCaXh2iG=2=MOZl zllqv%C;^1`&2+kiWfapmZS*NS!cIB@(m{Nx<$nG!Z2q$3rRaOezMZdw-P&Q>(Tm4O z3?5!OWLO7OEGC`>_*WE%(W|DSu(wFDbm23mZu>Jg;6`x$>9dO`vWhQD3<2k#@gBzE z`)EF$3?c_RiE#2Nh92{KdC%ex5=9a>pmrusZFaM^4RNAfPSDv5@G6`}ppYo?*h<>=X8xGoJ6jA$` zs@7uOPKl3R+<;_-f&aaCbWn|4gdCaHwK((A!9In%=OYx<0;kB{GrxWbc@juLZ>w=z z5Rum_arUVUrz#N~Gfet})szF4wNN2&1}h^mtUcon>_oI5+9 zWNK!Ej{>`);nFtgq4j21iI^pAVrwq<4$f@gQ2I`kn?NU+(|dL|`NFJ(!$I-jS3IY( zRzc_=j_77*0FpMZQT1vY!zC2yGtFgc16e9k42);5Sy*x}MQER|C?|%6^;6a10q*Jq zPpqwYJ9IhddgmV{_WQ;zN-#E92!3AhN1T6h?W(rx@qBey^j!ZvsnB*{g!)?b*!B6e zZvs!mm-b2hXOkb$?mh#=!Oz5QdwqRtYirS8b$(DM$c^^(Jq2xQ_&M<73;s;3gemqy zZ;_HxUQXqivb=hwSHFEqS<#qaHlK*>^B0r){%2Dzn|zWvt8c*oES(L5?g>X+H?R1l z1Otz52|1hVzTNPvAfEN>(>1{g6=@38pM+B|CLQCPz64@j(K<)i|G=sK4oibW$P061v3sfs1b6T~f`*|0q*Iks$R0pxyDk zEo7L6Hbgc)8c_36T!WZyrx_=7u?g8B`rbLfq#qXEQxFz+cusA{4TlCi6}O_IrYZQG zRGKM<`OvAPNI=2bmhX@>IEb)CY^2>BCd`Nm9Dd>AeAIyfh8=@2rxT zVDH7|bd?Hg_-T00L?xsnh3Eg(P1XXF1m0JUIp8cSckU7%$bm7B?)g}eu2&+Tzt}#Z zS(b};z5GlIx~6JO9~dPI>vg6)Gmex?mMJyX+vEF0U0s)#N0-PRZ`_X}FWk!t5;>s-3sb84(*2!S_2k!8ddPtfDnH-J^u;bSoNZ(UpD zQGX@uKYpVhLzM)eta8emqb=;+I*%Q3=H?#`eBeyJ1ckg9>@==FLB9yitW~3wg6QRg!EPHXXlIUn^GC=zl$t1yU1*> zrE;8FJnBi5p>%skCf`mJH2y60>l4?TrB1s>Llbk$}KA;SpqX-l;HK^Zeb}D288i^|-p7+*xf0H)l`-3Hc_TFDCKc`lna>S!b~? zyT!-M4-*I<*65$%$(T_v?@}H5Dh`N^n49+-YCh0ZTI|zI#i&+=4zKdPfd<)y#^W94GvDJZ+Sm8S7@)Fm#2h7Po}J>`m7FnH6afp{1O*O8atIfK z$1Cagh3Wp%jb%4q;{rRIe=pYYw8aTYxbcpKxzwF(b7DT7yP>o5vm(Jp0HG6!)mpC_ z&03b_cZ$=HGuvT0dU}LnWwRqCnH_}e5jrR_hW%bn7vG=ke2BJcRWm}cB|Kr#l*`}Hq-q|-N!^feix-h$kZ!KhvDnrChY z$vjU?6e`Iz%;Y{0#V`6&^+cfXnfnG1pib8U=hcZ0jl-!;n8RQx8H@f*aVfgG(Q@MC z%2L0BVx8?R^&F@6pgR>gIfmu40<^i7kt@49U%hVXV?OJdCx;D-)bHn81=e0VX|fpj z$zQ(E*7v$+-*aX==k2e~Iy(g{iZ9nRTEA8Qx!@w2-ny#^y0Z|EFq1viQj2HsV_|6y zw{RGlSn1u~Vaz;(7l@$q<%l%NR(nQv-RK-8lx|-`NfdaNob>Exc|Y*Sv0H*wJWQAknVY zCNRgX=pbI6oL4hUjZR8WpO3yX33(EE$gc}mDC5Nadx6!j7g4J#P0;1K`Yw!L@1WN8 z7(FdIMJQWE9C8h(JLil)ACgs6ELXB87aQ?Z;%hu_yoOnYS~%;?Ak;CW%t6!(NWG25 zpwtT)SSEC!RAd2OLUERx6;U}r4X_9B@tLuFR_UlC2#->W2QZuX-eQSscwX`o+h9NYN z>}<*RQ!d@)kZdu++e0;mMF;H~Gd&IycFL{a9xrF-?FyU^2pso$R^xtmWn5 zlOv>8sq0yFS%HcE#R`t}to6?|HMn_=w1o}sp=TTyQ<>aX5Q-&fRcXAGJmwuojp?rK z;^CN)T%ebEvj}1DEgD;&0WyCB8Ox0ObW~LMr*tWaL5~U0_uv?@r){k?Bxmr>u1>X@ zGF!W|YrdU}Ktj{K3&55U!f0qIBmhNq6_` za7=EgH5sOL*0r6!jvT{C=6g$|`CY$Iq5S;KfS{n(3#W{z zJ3~hBjXQvb#H@09vB=plRd_yw*I*3~R3vKgVrHot`nwFN9(9j1SmyJ3em1n0iWRLo0 z54#5)t|UrG+joSeh&dIk0@wbb(9lqCV+zC#iEs;ha*pZPy;EN>@?JScL+caeBn+9l z9e{>yd`CT}z(3Ub8>5#uff*rV-Co$l@Mv`3*qAv1F}F?jT0CLs)6$?^rKB&z@e1aS z%Fcnr9@qshWt7{eEt=tw;?1|Zv7&*D=uFIX`+<`u%*v(M4 zeBd@fG*Fjr@CBizsH$jQZf3vl25-UBj%V41K~Zim$%Ss~=BeAV5XF@`H%@Z1mqDy9FZ0+|!FVdZs+KS| zK|93W68^SICgkF(H~oM|V9e8hznw-^t6TTGmP&QtiUikF1wo5`<$?3Qsdu|`QpcvSkoqAjz zdhiTN8a(_fVMIe@BD#LPVl1fUZLPzm))<)oH>cK+WfSSmzFS&abFD1&_+nMlAH(*U;0W-5C8na%;BOX zXz@nUiqR@?|M6NG^%S%&%C0ulrqLCS>wX4%rkEdk7&n1Eth)aG3_t`mz`VyeJR!hH z%_x~0+R5d2v9Wo<5RIP^xUNHJX=-VD>-v09SE=K&@LoBKl)(9dYJ4a4KWR+V6AY-` zUMt`^^cZawCmf3V=Q8uf9M4{h%7LD&?SZ14$G{D?Cdj0J^IP^ys7Nb0j7YfYE7-VQ zDU>Yw5?_|DOG&oaHWKnGWUDdygpj&$QvnmNli^yi-`%#}zVG)|9W3j#=I|Cs_8SvM z9raS$=7%*NXx5umKZTipzGxJji#({r;=hKw?Bv&(^4em1m%^7`aq$2QRye-u0>}Jm zz}6Zp>cUaRoR<3p_Gd@RU`&3#z|p{k1q-^TUQtoG{+NLH)A>7Q zM#PJ1YI!i&PQ=OpQtN61e-}&y{kZ7ard%W;7mx+LWB9@BSQiY>EBvzz}({Qt9?Et+1(XhhEE)PUo)vHJ_H zH&RMU$!8d?2PjB(AM|vi;S)zIK=~fz3Lr%c_az~cJ00kBB6D@66iypiHJhpR=G2Ug z>e)49G=2(KKgw6Pa9|`HoyIglSB}7;AKC^!WIe#DQ}Gg_;v;E!lWpGN{zEvF;Bu?Q z<6{B;+x$NEaRT1&V>tI#o*tJspK4!`d|06{WtA0T#=Kg%fyNIQn<5sE;^d6Qxq>Bv zDa9@Cz|=J5!CsPs^~6uZ4Rc}QXEp;lBW{cj1<{YL2>~}=D`|GA{fqX_o=!$u>g*to z;MAA#cv_ChqxadS$%h5<>RGr;I*=wwYnI2B%JSWFBF$0 zdxwYS$* zYF`NI6jdL~i0O*k)$iFwGSaJ)H{fGBF z1Titgy&2-wvBfLa)FhKRU@;O+?8>_cXZ(Wt`pFFTA{k&6w6ao?^*!O_UMBbBERQzn zdy|0!taC>9JSz?kuBE1W789M#HYj6;%+DDtM&aNE^9iyKh-FFA_N{d$xPu0{giDB?SeEN8S;6vd73HYZnpY-LBH;nOmeM zxj@Qv?oi5~g#7?j>ilcz7pL%5BOiLiA=3^|^!SWOT`$frElOJK`@0E66kU#N>(!e3Y2ohecISj<`^_?GP6xkpG4}yf@F^cBP4a}qxQ`xm7 z$sq(|KXQt`kO>GBYG|rk5FP-BLEF4tV^>}q?82w}b)Qd+WBdX;H?>@CgoY=xTXX9f zb8_-jSnB=;pyd)F-B%TvwurHV<%|(@121E zxe!n4(B#~Yp4D+h6a70UJ+XeJb7)?unL#j$EZq-*ZE-6oKeL-G9-Op<_Gi#uP!C*JullP4;@j@`q z+=lK$;l@0ex!roIaw-bY@HlxI^Y&ndh1$7Ys~UkHBoM33EuWY2l@0EUTh(;5w52kd z9vQj8k30iHZjm6IbTW1aHxU`QM5GhRe3~w8ACeySg`FQe+fN0=ES+}Q*n;aK381LGq-;B+pT#2*VQ)B#(<*qvpbD6 z9Pu<%G&CBxTc`N~Cw;-p_M4Ll_g}?#Zy{PmQJ$6}Vq)T?=hwW5Y*^B?tmaEb9rH1t zL7cz=yHRO55u1KB3VSgEG9s7YaIknOEO6;@?#7CLd)caE)8^#r`Gfsk$C3VN+bXC_ zu2gJb9D%NQc?N309}|-}VpP#^f+!pZEKP$ZU$ve3?2rWU)A?cMV%^R_5uuwHCo3tk zeC$yjS}U-U8FKMXn|CD$2fN~7z(P)VUW}bNO12sWV8iz(Ze))F+k2ochJNxMCB)wJ z;gK_(|9&t9pPZu^xyq29-;VyRP5jCZjDp zCMilge){cVcJJ$*U6szS@S{bV{U0h04p!!1Rht8|zFZQi;jJQ04#vX498)D#<9>6I zSA*=30E+9_h(%$rIV~D<0?-h?#84*#U_;eTN+*I+Y1jiYdE8jaM2>wdQ z&Z#Y9fVm%Z+#JQ|;(UMmriz6U*Je}tadkC0i<^Dq@beFzjUk1_$Lk7(*aBL1So;PB z25_k~al^&|mdIU+{V8>0O?L?ruJMThW@cVy-T|(G^U3c4Q_kwKEN8jo!oq+p*T{KmZy+)Ur)pZ#y(Ly z$TfAc;qWZiTzk~xsQQTck%*Z7*3(Cx>cB@d@=H$mH0F7;*b{u6pp*+|9lDhnT8 z@s`oIkH4p<@atMY`EO3wv~!!K6C~34&bY5=1jL|D+nRV}wZVxLI$hDVhztm@YYlaH z1DvXzPft!@BG)c-g*-N8H*ju{JA`z1_H-~rV1_MroDL6}roJz6<-{VkFt-p0iHnkt z2v5+YBUw+{=?wx|Vq|FOt&F{?m>C3#RIMg&5znE+&2{U1+y1;=O0au^Z$guX_PdGs zA%=<2YibGAIhc(_`D;ppDhNh3o8`4U%;;_|tjg`$wRNC5%`Zh)3nB^cHY$FI zgBv;5e*Z&klAio(Zcxm=}D=k+*xa$U=5KCpDI!Kkw5cyvd5h#?am86Kzkq&cd3(~ds)T-|l0_ie1Rl7xFS z%ROY8vx$yQk-BBZ_d=0<6Pnq+xlH_A!~#`2oHhg#X8~?*EO93DJT2HDyV0<=z`1cl zP+MMyiWMuLUL$h4j4OC0`o4gYeK~9F4K=URQ&;`RPI;f{#%9?y!Y$X5*?Xwy=?`i& zH`cNR+B&#ye(>@e9d&(hoXi|~+!`Ec_kxN(J1j|aH}klb%HkTSMUJ=$Q^cS!*+AfH zzOtyu`HslxQLJM@Eh9)=*dc$DI31C6PAuE$yns6c+;;`FhZD7m_cOIK)jP5GDhSrmkd_T;5gIAT%P1Ccdy|rmAL-*V zBSzsI4s0={x8Tbi4a=cAOq|TDth`LT+{`+o+>cv%9{3+2wez(FRvDx_dctRa7Q)em zS9f&j;pSjv5u-1|#ZcMvoFD1p6zD80?}()Q&Ipa)wR?Q!nQJ5Wb7k-P*xCDbXKHgN zRYAo)ikFq6wNIaUK}nNk%l(8P z4jARzUTq5%-1#M6PpYE0mH0w3g97nGixYT1@6`$!_N7!T*RmdGi}7<%3dpv?DjGb> z&bExa=huXiKT^l>W%ag6#n^)F+=_t$I6-8tMr`JRh_g8n1-~_D2(3Wx{K%Spbv-Up zLm~V`$=_8@+WkZLdE0)L#;B-?fupS;d+{1(2WDSJz*i>UIm*eTgktye%V@daXa7D2 zpwhZUc+C^(OOHr`X<}r;YHQc7AGf);fgWQ0Y+2gFSwTn2P5@Ju{8jFuAfNar3ZYdo(p9mpVP$dvio4G43v80^CRquJoY%q9-`VTt1euPQL}Kab_aouj=%MAPWgJAyVe-@}^sLF16zBG1#)^9GDmsM|yx@&T zfo@j%m9S1RF({XY4GXoCv{~nNE^9_c52uZUjV_#+pkgh78M17{mB4)8$>uCp`?yoN zM3J(8TR$s5KX4q7Mw(ZQYt9m1`#z1E4=VLDwo%gLsf&y>pT}b@#z+RnAn~&xO7uiK zPD*l2u;xv2WMAi+WxJ)`Q+DT!`1i!c3!p5#UNsi^f2a0npZB%8t~tr3m(L#KD0R)) zNk2dOD^zTxU;^`# z(TEbDys+~fOBfp%&=2+Oq^rJS+_dYTvpNfmwFI7VTqPQNVwUlVm7QHp@w=?0UaU-R zRh3Eu5cS-g{o0znLKs|RXlYsSbdim>m~=rwSDbAqlh~zy2PWd~qOjP*s9jBdGTm@d zH2#X#taie!adV}zA-M^vzZ?G8H#I>1!w|ju-YK zo8|~J;T``%?QOQP#zw&=mc&KPEr-5dk7+_p`)@dYA}-BB7D6!WCg__V9cy5daM?)Q z^7dSAbN4NEBPZUN`FZi-Z;Yr7h`n6r=jXTerEjT&m54(57FNMQCsUZ8rJmcfO#*Jc zS#VoICPs`|cL7M251fFr3ud36pU8nGxFnUx zC)Hbf>b^FydFzy2GlOrWJJ@;oCfob386i%eteP~9SmB?@12eRfU6MJ@D)yhP;I6FB zp}Lh5ee!oM-y&B%{vbxg^O*A(D)GZTC6OqK^B<}?v-3yGX!msYOmWvcLce~^WYRu!KVP7M;MDDGf0*Rb{5%YPNuJYl=y&EU z@@`RlBkNsj_0FdV%-V;d7 zg?ZP#f7jfNWS+p}-c(q%_id*?}Q#@&6@p1Kf9OXteXk81}OY08zGXr=YB#l0WRq%FoBM+?wcjBb4X z8=?5mOVJXV9EN%)PI6oLw5pO;z0x#Frq=@;Pz0t=W58w2fGkMx;l^ zM8$taHgvtSWTB>Ho}L6g!jf?5blE&~x$9?)wV>)Em%qKg+CVT?L=7?&5q(18h|rLy z!elh+&b1dAZbs4$$4ABo@89tax-%jb@84|}n!qU@)lp>F zXKT)mTM^O3+{`sHGE&Q^iud0?S5#XlU1lrcw==3U^ z%_iJBsWZzc9B@T`e#+k;_4f;tz;!uvbu|N-f~qVNQ%g&!PqAOYB!sWT*X;}f)*jwR znJ$U6o_F2yX-f42G;t7Pu)MrWt{A*{;V%0^%e}f*HO#sJI4?7F5)ctdI#TS2YoCO9 z0IkIff=Hlm-nR?5akUxE$*H9TZj`q>BLVVEB0n$l_{6Zl_xvE`WVj3!PQ-2r{h?9< z4#}>9E*!P@?V42PZrzQ9m#;|siqT-YVy|B5A3joSFX7D{EUvNk;odzYGls{Aj>%;8|JXSf5mgX+T5IB3WrK-%y3-#m~%@Nd@w`3kMAW<2fYumzL% z0=IBf^4fLJ7D8sGIeORb`yPFE>zKyzZ%5&^T>k*OI`&sDcSp^AESryN&pw>#@5I!O zc-ifqw`5@Ny7`0=Bu&zd8J%r<-Nd|@LZzyRE&@WY|2&dE?^~lQwkR8f+RLrtv*A2t zdqD&-TU5u@&|k6f@v1cykD4$H!+~S9Pn1r9bK9_3#h_9m7?KfPZE&^;TBZW^N(R?v zbdG?mjfm#v<_V&8BKi*7H?Ba*eyV8kuzziR)qHb>JHALavU%CM8wV5vJSa=RV2fx1 zwt)8Of(;{rlK>ymHa~iV08c)~dh`5hDWQ@J-79X@5jo2{=4(}lJ;k7ha+y-^n-*23 z*$mgmspyK*h0kxlC3^^5vvQ)oA_y8tVZ(!ZpA^4|378V>mZ@{##fH7a}g$$;UUEil!dz7s7A z&wE6pLcN*hAc9_}YNF;!D|-_5deoe@}I?;K$e z75({)6+J-%&sfbIT)mub=t@ax>3|K;Wf)4w9|>H{3furI4Eaopm>;HT!tA*&0Nmcn z{km0~StT3LDeJs)$_>b{Znsx;DC>e&m|~;i;*@zA zAjdw8u1`501ybBw{o4)UT{m0mieF#W14{{Vh^m@gXrvRF29F{~KhRB^?STf~`;OHk zPeGk;l*8Prc--m~v@LIcyGep4ckfq7T(TMY{`>8%D|fOA-t4?_gVp9LA6>y9U1vCd zf0~V8)(%MLUL-w^Q^=X2$Wn*Jm#z66vK?=%8gW z^Y!YVcSk2fkVY2{2G!XwZH$7f^yqUDG{i1z#VS!^1Q-5gSFTXl(FDze4m$2=aJ})RPi>VslyUpgoAll89Yrs=+@}U3 zB`*C%=_{Zp!Tt9TyJ|UYq)0d1b@$po+yH{G0w1 za_4Nf7gGbMIg2G@6u$4un2(L6re3HV$<_7KL1L8UY7JhyTC(`kqmz!)HHUcWn6wt9 z-|>S+&}B#X|Do;@Bq5?@ro^S&M~o9`7aXk={PNd@ z`SoW{in6ZD-B!;D@=k9dpGP8NTJ9_(jg#!oz>~_KLpoi2!&Lx6o#J-wJOLwa!u_ln zDtx4qTF8JE!jip zV~C|ax$Sd`=JP8jxi#eFv7aj#i+kt*MxfJ_MEPt3B_t*fr|tLKvdkzr!hAj)P4Mhz zV)*APFVp@|FIBw-C(n@l&P0rZK=;O!xR!qZXP~>)_2x@Dh4!l!DcxI(@hjh?*9XI{wvr$c%=-A{0D66nwj`5xZo|{p0s?T`T@3B0rS+B62n${9?QV2M-TYS?%81?Zl0Xo){pBrth3wh z+|sM(wlCSzOYwZLzOih&zOk_$ombJK*H==)iv)lp%!Ap7cF2QCu|^@<6KfomiDw2x2(?7IQ$n?;s$=z@}7g&UCWi>A}8$W z_WiaZt7AS6oA3ohD%L;u=YO~nbnKoAO;DxW7A0A&`tf!9c`8b$0uT?^Z+{iu-vvz& zql}tb4hbzB#hTHr9LwLhvP{bCZTxD#eR~r^fKCF++;+ldD3Bhu2DxnVE`VtnE--#` zY&d~QFiJhHh&WtkB^d9@q0+A5uJ;9O5r%E%4$>2w@?5m!InfK9M zZK=c9BmOW?$zE_}*JpcWb>RTErDNAB?`du(J*W3mn@Y&GKRf)t&&xo1zkI|Z^lvam z5X^QT4JXpvTc;SH$TnsCm{UWPfk^#zPM_{h#aes{V-}PeCV||@w``Oi`x+YvC!5u)^VsX%QQCnCX}*1hmxpimVVhuOm{6`#{^!oW zjMM5;SAT%Ep7#mYd_TMgT4DI`VQ##X%UazoqR^cUR#!K{eBq7ARTi;?tyid6%V(JF zPbW`rfc8DGqdw`@f14=ZgZz19R@teZX&l2Ls~@+;zQ$fi9QlhJV6~*M`HKtSiG%jY z+@ZbVO0FEQ`ARd}|5pUZ5v7Khma2-2i{~)&5un{Mx3-o!?T@O*S+(K1*q>+gKzaal z<7O~h)}86VexzLcT8c)LUg4T>Okvl5cmM&PE=I(Y>S{(^%+5R&5C}QD z%6OIC9XKP&`Cumh!+yicuEdSRg^k3?W|n+dw`HjdEv@-n5z$v285n36Yz!RPrpo{` z^W(i8;@j$veEFHcOmwo($s}WRdkXu%?TY^b&GHDWMvya~$A^M2Lt^N@WJ=8i&A+3W zsA6N~0pZg!ad|$A&RP0VuauIF2LmgzxBhpy%Ln03+#jI_cHIHiB_)g#gI!g*3H78| z16kwEAhw)4)99GNdnU0IGYRyEYe@am4TlC7h05+jFW+aQK(sfBu&c5-J0b*obE_*? z(vEryU>h}ED6aRBeviQAStDv$TU?ZC0zK#p1BnhN30AK@>ibX4z*G@K82oxf4((Z# zOC6;uU96&}$NzNDZ7DCyX*6h?q0SzcI_e;i1n4`o5AUqx$SdSuyNRKKT5Uq2c!-*^ zSOe{myIp|BqKSia@Y**dk11tOhbyXTD471eYG|B!@B~urI20T6M;4*~PZsI_nMJVv zl|{(NzsrR)rs!odd9!5C8gsYb@3z7IL~G0)F!eiY{qJozkYi}U z#s+RM4=Iag6SR4vdHM`(^bfW$&)mPI=1DSh!;PxF3%Ra zAGvjE{3n$iyjR^|TN`f3T4#knfv~^8pM~g+$iX{0I>ADDtp^-&back$YAs-}be;@M zdD?_ROSY58KbvJlxt{c;s2WuDf8@J)oUrLixeIg!QcDa@9pq6*0*BSTXoyYHP?N1M zy~^53YHFbjy71Xyq|J#`C`}`^W*u=bk3c=-SM-m%pQqRW16IyAfYIKbC>a*7b1bc+1cGTU$dzWK*$VqVoPBpZ*5CVosos&1l9@;uW$(S-gpe(JhU~pVQdXgCvK6xT z-ciJD%ih^LJA~i4MS0!t>ihlv{`fpT_xsNMI`=HO_U&#BDa#3_c^X5gYX> z%1cWVUR2!&iI?01(C7XxJKfEjwGK1!UJrT{$7hdx=r*3?f|VDV%b--k&`f6Ak-fs0X>FSX~;zX6V%Bu&c7M2Xb{?V95_2gT=f zrNX9Sz50wx8@t{_EHCf(GPYNH+il$=E|ib|bOZlIlM~&Ql)5d@_=NK@IDGiZw$!&( z)kE_>vVv{g!ra{I#>T~U$%1ayvStlsnViP4Y$y1IwY%V!#ei&uxpH`)(f8mEVH0X4 z{O7`;Zswc3H&fwKLpj=z!=v%KjV-dDRUtoFXF?I2gKKC$gi>>A-qV_k3Xb!;)NABs zCRoFsLnnC-y$8R}BF6UF5z0>Izd9bcy?Z&lobZ|JWL!jywd) zeG;r6__^-&xL)I({47@s+|uNd$+pKXYV?+0a&UZv)^v;W8ew6X3RSzH74g!3*1=Ae zdjxRSttLP&GK)mCwyM8Y~WG~}gA5jNUC1wM3@>=c9;6j9_Or~?0(c`2l;;jirOJp<<)b}3MW z8zVwN*l7?Rc9J(+or*MXaR%pDE`uWzHHvDMA7|jF3`FWE(Oj$f+CG0?mCRjk@3j;#qDAbV26lb318M^3Q^P z^3K<1osC;B36$9+)ducY2sug1ck=|UuMk50rbBu~N^+e`^|6v&;dh10UUe7&%HqbN z4S}iYO-)a~aq#f)go1WUjN+b@STUNx67+ua;K)KkQW7~cH)F?0Uwa=l*T0^6Z7q0Z zG33lX--*3y$AaHi8g;FFJ&_a-&n%rwZI^QXf+Zs0u$pz3{foJYi3zA*P-m6vT?I$R zuTs;}hAOhI?^n9Lj2Ry8^;9UeOi+GPyJX>z7TWMKT0{eMdQ^W1j;9D_{!nF7Fzxf`%fQ8)%Xyowp*$%}g*?K#fG)&M!UYx8a=FJaDsKdhl z(Zaj+*WvzqHr0*t|>ZW90pDahRmMLgISFjNN8rMD`nyMf}wdmnBUS|Mk#UL)5 zij>m@3-c236q%6SvIi&Co}}w28b^hNDdIeLCxoB%G=9+2;gE4`vv%= zn>)Rrs7N&;A|f5!5*;pn?g0hY)^S{LTrfoVIws*J3+tl9tCx{iJhxP4=97|9@CpE`ZJt$0(uZk;x7_wtnS7c* zv{HK(ip%#5VbK1^Grn#?eb$*bHZ84ex+fQFG~sk{LuLx6EDknK@Wk|V$g6{jxknD5 znUT}*<6YB8Wu5zD73MDUsyD~a1Q>}lTYwWiB;}86qrZ>|iCbG+iGAt$-eO-F^m+j= zv-r!4c8N&V2HLRaS?d>7Hyc_)hnUR7jPeE+h8r7I`X)MfH4H!x{UvYR}kV#vlQ^yO?NOpG^B(4 z0UoT=3ro&xI>S(iVqR;uHYbB}Bv?2VaEqypmv+y(ZJp+gk$Kt4b^GNQ-@|m64Cyfo zGewiSizA$8P%~>$no3D!#6rW6kb)G($Q%X^;w-saXyg`95ZP}}hP`?`Cl@P*EJ)z# z4Kg+bwszOdUY+Cfc_FsCW>xnzc6V#JsIgkFTX%?tqFb~4sFH)hB*hsxF)#G83m<&1 zO)1Uv0j>_!IN&w*O?IZ^(sK=aV10*TnP7$%zY+UKX7Z=Iq>H*0$jw z+|0-=oBDLGe$@#oA-~Un0!mEv)66w(*O{WVA9{PKA5j~dj?7%O{OOT?Yxg!r z|F7M9b-&}*puiKyVX~ly7T0sLPu}DKN%>Rfz9B}}6!L)wlH7_OU*RqKdO(O4T)oIq z={cvny#-D!xdGNqaduIDpw@ttU>zKvy;BpAU0z5=$Htab?9i~fG7X|8wVCi(85x(B zBo|FhC{tGHkapgEnlv@4GSyOYA{xJFaC=~~F(}PaXw3x81{uDCz=16@IGB(m2y+wb7SGT9gYoE4}O&k-?~k3YOJ0c zTIb*<8S5P zaM8gy-+nDmPMy@_)u4YjnDBLd?Y7nrRo<>pz8AsxA`(KIq>9YjJOaA|QhLHc89GS1`Uc{SnwUJysi17$Q{LPRm`_m@h8bvlm zhE}ROY*m_Q@K7S)2z(oZP(S&r#dL;P9+)_Th(z84!@dh%wE-lpv8&rc*q@vLLYk(Y zd4smC3_1}|uM)mZNVucuN~2!NoVri@%ta1E(BtfRFE6Klm4U1E#JYJZCZNG7)u5T; zrpXk2r1e9r!l+qJa7IPHv?U;0?-iQrCb^4w(}MyfpRg-5&CLzBW6Z#fFkCd0gW!3! zg#za^c!*xb?^9A!f2N|OT!)8d88vduBZ?AEio1Gzs@FVoZ1Bb{M_ue9e(lrklEv#5qiV$HqaoxGE!~ zmZI$1-1sZGXxu#A>5m=2ys~UF&PQ~1JqPCp&g<%n^LVs`GWi)xYQrw~^)as9)rY;- z$OFlQh}>sMXa%7e798rzvVAuC1zbkVm(hVY%>pX%H(HrriMpEOE%z>VtAaS>=e}sZ zG#^CfSM7{LzjrZv%`w*({TK0of6}^i7(85((SJ>$h3IyHx{$j5Yc=!=uUR!EMsB2T z7DoOq>G7l*4GHu@o|YmIs4^;)2F{|4hJwPR4M(2daQlPqXTFqA-ii2q`Z{yhT*OHv zs7X1M_}WHpA9Z)&m%zrR^roje*xv|UW$+8p7Drr1n^*YKiip|CZoGN-@oGA~fJ%_Bad6eZLmV>eYxt>t@I2en;w(>8)5`cO zOZEl3$*6#_mJl~s%7A~8iqi19&!;#&(6Vg2?dwv}VlR>P;B2A8`w@*aC@N%lWWUNvlYOJ8;Od{&rfT^AEE&-SI<+5|E>x*~cyws&_} z|F!YvaHrLIE>_!i|5R2{Rh7g)XUg;m!n%xd?gxh{mJQ~vy^-c&^OKK#Cx4Ae9}TlH z2miFIRx)T0vACiWfmfJs$ZD$hIK)`FMOL5j42p2gBYV}Yd7P@5NW;u=*Q`NQ)HNT} zRn*3y*VgiOlP1Q?4)zWXy0=2+KfJm>)&h7>B1d1J_(W^E^*nhherf#tdo7FnytirX z#K_ekC~}SVS!f}++mQ^E|DOYn*@_09d7W7prPgiYC&3j|dh>u8x+@SZd#7GJyB>+#{K)k&)$w^@%FB;kU0|5vPgN zf@_Zb;D;fu;Zbps?A(f^;2q!OcHUm>3&a=|bD%FsLkrvE zD8Wif%FxW*frU)Gani6rzCc9=n}bgVuCVy-XDJ#t#~d8b6%8y>Hnq}iI51jGlF>Bo ze7Y=oKv2~J&NQ@vLpgl|ooqVcc1fj-Cfgme@3Ibted{fciSUsnu6}bleC1-QkJz&Y zXoMD|KKXT;udQNiiv^LVE-jmZP$NdroXkH*aL}O)0^dg4-+Rf|l9J7Fhb!n#CVqd7 z!oP}CX1CaAU95KS1_dS(#AiHrQ*TKI_Q^uOK`|3;Vp1txq3mJu*SGifDsUTvwz+Hl z4|Hc%UG=;fFwsC;1wXV;2Y79h#)ae3J$CxVJg@Qb`|P}iZfBWBriWhY^0Q$7vP_IO zgW@6Z?<)${VeZJTCHB<%L_!^U!V4Ja7#ra3gqQcy*#Mt>oVDs@=D59@&gfOYRH!0f z+w2}j^0eK5c%0a~@S?q^!kw_LW>6j|#;N;;i7qSd(`tM zI6k42s?plNWQIw1OM0o&W~qF+d0>cV)u4lsN|L;jLQ)nYe8#PM6hPO(X!T&XqpvK} zKDACM9~bEHuljH|X6!$x@dulebh)?cVRW{#88iB)HVw=!TdsS*h!$`#HJfi+Jz$Gu z<&YR4OPw=g%OLVVP#5r@Zpz3D!xc^;*}b}>vgt7&XXRpU>=Iq*o0Od*x`t8KJeLg% z6B`wJTiQ4*R1WNXKE88>1Tu^I@M@%a>y%o=_9e5ofjh#}6QYbjBkoa*rVUY= ze~!^33Ph|O05ITJz%|kGJ?&m(Sd#gr`%ZtdtD#7ARp0wXsBu>4a+$REsl}-qJ8@ik zSI;QfZdaS!Effy9MkD1kb*7j*3>p%~R5}H(n-XItlq zE=4>-Wz7P80XGj)5X2_Qz|n!8+{UDrs>GK<8D2IpZrq-Kkn0a|l_vPnNH<{~Bgiiiesk8HTN~{7+d@M!T)$oA~Eq5(c3<&VA=(VzLuU zV5G#JrmrrzWT9;>!7SJ{*ug#JB25)YU5NYp4D9d6Y~b-8FY6C>qh;hKn1*`iQ>mOm zjrN5gl88IDd-qR>7PZ>3XKaqtFIc0xb@fDK;lvp1`$)X8tzA7m_5yc%d@?*`FtKZB zL;`5o(i;nvs58g;-dtRIaWJsbG2%{hiRD1Kss%afTRqv0EZ6RHIQ`E{z2_p@b+B=& zFn8jT44(yfcVl6^TH2iv;p;DIOR9A^4o4ro{8TKM&2|yF?{Vn!=uJi)P`^nIQk#F$ zc+js$Q+MV~?wHJpoGnf$zqmvtGHSu=XPv=rSAiEhW$_0u_BtqWbuOsFthp7{sl`06 zAX8A!_KqOR_m}-U`lJJd(~${b>#xVboiR*LCBw^}KazPTEi6vp6Z6Hc+_XvZHP7_F zSlClY#KmBq7oAb?{xd8V2$HSFobW;p^H}`H8WG{CZ9wNe2Puu9Mmw}Ealp1H<>xj9 z9@hf=&CZ-YJLLsm>KqK;|C~v&gwLD{apst~U%Sk(YuI7jn1~e!TEnQ!-C$L68uKlU zc5q}0iiUn^D?}{AiNUj{>pAH!Kvf=iZ17sO#b3Jn;}gHyXxkjprQD?}5faklgt$FMD!^Pi|mcr4Ne%XSUT=OlDV zxql1*Y#aUwwx3jg$GUF9anS943Bi<7KLR0VpM9EB2qI7|gXG6zk1UwZEL!Jpi-^l> zGH?>t*JTytDA-wqx;z}#oF;-8P=!y?&5;ZkBn_JL&k#_TpC7)`E{H2#eaCIjxEm#M zQn*tK?LUaSO$J9?jG2d>|0MnmasNN2n*gF083K6vuixn)I;Txne>$fzS`&;pk2E8H zAK|=Ce*g|jwp6ib-$B4|AB`v3lW$y6Pa({gKBYRo>)ee8L$}e!=!Ncf66krQrk(IT z!ufvkg(rXG3s0)c0UhL^3-kCFaevL=`|Gs#8hWJj3CLSlVzHsdYd#eDJQ#9UvKq$I16-8j8`pK$K7TbeiDZ(bk+?@SwdgKy4;?rIK4=(V_^o z7o@;$mdFv6-IyJJ$JgdxHGHFd;~II_+v9YGvp}# zJfYH??Ev75cDO))3Sl1_kdI6{xwV08Jst@2mzs&l)>|EycQt7qVweTMF#i7mx8TX; z?FwFBNKZHr=8(C7S*R8aYe_(`DYBP;02fuFbrMf+FL^n7*$JItUjhZM_Q=gjdi}P~ z0$?BJTugsYCV*(;fSs=D@oGohX)*XtTlKwWhSD~EF(fYqTyJk%P!)4CaV?2c35eM= zM9hG7Jq{sw6#ONG0K^O&0^(Q>^FEE>^ns*07~H)1H3M|;YLm0h6lORARl2P2BpYfEz8q*B*xV%ml@UPcWF1tFAQ$UsZPFk9QGP z6~_;3gHYb*dkEW5edUnreJGW~tI-zYkuVMhy|`I_?d51M%D3*Ao9=cgj<{_^mxoJ7 z!cUZZpVVMfF`(B^RcQb5Ir%L(XT%Oai2l;{VJL!LKfD0vW$urk8A#{K558lm_>KZs^(f9btAYfKP0hn{Xh6XvbmgG8EPG=VT z#(t`Mspg+JK~%i5HsR56P1R|pa}nJdWHyUIQz4)KY9-Hsyqnc~8vHXSo2UZ0yXy+n zYPPDb2@@*uqe{rknaUJsFu$Y_)_mMMwnG>vcCiUaK-3M?ArnakWuZ>H=c#`REdw70 zc-U6jnOEN;4r~ktHmoSWhX8M*;TJ#&=mqU4yTnL$_hPl9 z1owsF{~%v*yYW<=^PiVc`SPy>YTjvY`Whbr#a1xCMi(n1?_KVs)dM_i4wAhJkLGug zsI>5j7Qkxh!w$Cy{U1aOKxoO=9)ElUW10{R7co^?@}D{9AAevmcn&UN#+mf9rJm_| zLJsp>_fkdhkANuLkH51&%{|k_3IOcmmw!vVAX6KFO+|gQjmHh09{(d?v+lLp>M0UnGIw2&pncZUTkvon1%1NYyPi*>7&oH*R@Am-LYE zWVgZX@jABdcZ2~9Zvo#H9XI4Qf-Q4CbxgwnIG@R<1Y0&1(P)OGw+ZUCl%@1U`du$+W zjDv38^NNzY?R!H9_RGsSiCDIK^GV`fyrYDQL{!5Bv;*ZlDlylQ&LU%8=YMkQ^zjF` zIb7+&^nIRuq~mW6|0&!8sWBAGOq|C1*PnuaXz{7O8rF>Q@q4Mi=gzGysld#(!N(%O z)FeM1Tite!Q_-2(eL_x<*dmiENJLP4cYM0Eu@wb6D0q_5J^sGjI@Uoe$UnsqoDHT) z(++D2fDD@|7-!vefGIGmDI94M!FySSjR&7b3iHP#z78V|rA5?e&0ZxzL6=Dm%w}P> zcV-m}#e_@5syIj_*08bSzp9B&lU0sMCw2M93!PZrYWGXhg;DgXhDQr@G%I>b zFinaU4HXo~FXW%{_pGvzG!I=fr8Hc9+t$CYmCya}(bD#v;~dER^!V$fH+QQZakz!+ z2W}a}%{+~SCCU%(dR&QziNmN`GxeqNYPY$xB@%z2281_Tb>`U&A**Q zx$)!uTdwrxuDz2#E^l5K$;Q!zfJ6VY{` z-PLm6y*c&#H^U{vhqKks@PQ7e1crOT*7_Mb+=a88ijQgC*9F@js^Bi6`*3yt6b>V0 zEm-4u!9ZGYu`t~*L8!?v(eay{1fJ>-*gzzUos9LMB3S@l<9?Yfxg=y4?~|OA8|NUX z+$8I{wO|vYlWfa#Kb>fA>)3ZF=N5%L_Ha9~RDf;>m}h-F+Wa4X!Ebxvma4*Zw#s*8@On#!^$ptJR zi8E2Yx@!^wc^&Ed@L3k9lZ!)VN!8Z3X~DWBexsSM*~$!s=9;-sBbMOd-x!H&!GP2R zsu7#FZ)bUiDr$I#Q9M66)ZqwPHK+i~zR?u&L)0dj7pUXh0234WNx^nAx-z3uNuE$r z_Ev&N!ZkSBZ2KqR#3`JG<4x$!q&LikcK6gD#3uP1c(6*Zo-rxp!IW6QsN|wEsYBo5 zfm=®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 diff --git a/docs/assets/evpn-vxlan-topology-dark.svg b/docs/assets/evpn-vxlan-topology-dark.svg new file mode 100644 index 000000000..ae073591a --- /dev/null +++ b/docs/assets/evpn-vxlan-topology-dark.svg @@ -0,0 +1,4 @@ + + +lo0: 10.0.0.1/32lo1: 10.0.0.100/32lo0: 10.0.0.2/32lo1: 10.0.0.100/32lo0: 10.0.0.10/32lo1: 10.0.1.10/3210.1.0.10/32lo0: 10.0.0.11/32lo1: 10.0.1.11/3210.1.0.10/32lo0: 10.0.0.12/32lo1: 10.0.1.12/32192.168.10.1/24192.168.10.2/24 \ No newline at end of file diff --git a/docs/assets/evpn-vxlan-topology.png b/docs/assets/evpn-vxlan-topology.png deleted file mode 100644 index 4ec3c85c4ffbf94d4a251e6882cf542b71a499e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 864092 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%0A@zJkDfGsp$bH)4h-D~p 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⪚QP5*@*{_Shjv}& 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 z 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%0A|ee(=egW;19m{QqY?(5o6`Ar z!3DQn9!N!qljmvfkJ?OL83vg5n$KM%`&Z!&!X^@UyCg4O=*OD3a>|7{Z}BHKjuPnM zTRb9Lr#9qtC`9%Lh3g&GpeHP$`#L%!>k>+*CS+j z3fgl~p0?fDAM!wzsEo=;2mY9CkyF-grFw234UyLcEn+u!w%!!^N~BMe6d|X$gG~6S zX4qRFi>FTvYSN}${>{Si$*RWbup)i9`lrw9i|PRCnVyg{xmDAK4h0F_$OmCa# ziS%USvpM!vENWWERbgFna~mAsFvC#H+NkQ4P?ll$uEIL72n)uu)fjj=uJ4 z{@;7oT!IB(hM}?`Yi~CDncmj9rF}Kf!Zx`^J=0%XK_Iiyq}Xb?BjXJA(yYCzYQ%f@ zl|Fngc7lwE^~5j5=R+`%HBhWAtyz&@kGG?oG?-htG-+oK5KT`<TDZ#PACk0fXKwy?}mT~vD%hT_idZt_j1J++yhU@YkuWSOyyEym$H%X=Yc zPP7NN?wiKj8=J5##4iW>WJimrH!8)QHnWa)8IF|Lii~xGxhAuh$-e4t!z$9v1KKW? zH|>`)pU#TM@?upr*6zsktqP*kbc_h2AzKhNb*bj5N~_9cle9nD0w9}(v8AQlx3A%% zwQUcMp7hivpuD=)KiXB|SVEGSxP0FrxRKzW(L6&j>XgI2y47UG+|SmkAFlqJiXLy? zvJZiKom7plKdmhU(Ol=;lL{lGQVf(_c{wBohcurv2lkPZM3bNIJ)u2TIIkquz!3e& z>_BgxSIaP_JJRwa*J^Se-LYEtw$Q$nv5)zO;V$T@q;!mw3(GdgH21LepzPS8;F?oD z1hAqfv+>kh)~%u!Z~{mSGth22AV)^Vq^4gs6I`hLNTXdsN2iy^Y>6nqrYynQ*Th zv;ht&7q(Drd>^l<5TWA3IXMxWkPZ~LB7ET~1ZF=J^k{NqB#3e>>cu}D8m~*RF%Jz7 zcVc*I=auu2?4{&BYobUwc2__b8h=HNLomt3@RWTg3^{iWwIF)%aOcA%-tSSfAZ@x< z;J|`Dj&}-#O6(O$&Cas%fx$#rJ$v6kQeK=kOeI~^Y^O;Y-5sKlnl?nlJe`X{Q9P_7 z3wpxpd%3c=IZ&Uu-rwbOvwxmJ-@6XLr(>^@;t%hEH3_-q9hQ;*#*d&nh{h*+HvT;T zzWD@H}CxBdC)$Z+hNi$zQ^%F5rS%xGx6;1O~`p z52P5Ri;1Cgt?}JY!lXj;-3Ej5^^GvJPt+f?r*E3EUD0Yhr`~8FNcy)-B&JGN&@l=F z|DQ25uJFsN@4aKu)~AdTL$*GrIk*%jWW;17wB5h>;o!RGxaJ#gF3U#~@cu<{;|Pzd z7itTb;zA#o^>u;v`rZ(c$Aj<0NQ(1rJk`lNj&0n+BFfXdh6rZF`mtY=anNIF8kth#x*|@y9j(rIY*v~&PVLaj zXED$q+7c&jKqN?3vGL{8r%NoY$%(KWL$t7jb>YwCYGjJ6j2h=Il`yDDX}*Rmcb7Z1Q7#aZVH-lxIq zFyWG|iH1pU=Y{7Be18lKerq?mg9H+{nunKZ&q(TJme#E9ZW6E>F*}0x>JX7*ie2G) zkTwP*r>2z82=VbHs~KxECqQHKBs_!djimMdgs)A5o#aGgoA^>D*o8F-@3w=O|=3q{VbPcyp` z#tN4^gvHX5MPNQhf&JYb_GcmRDtwH&?7(Yx-mlGC?1O_*rC6$q=j}NSPHVJtvDgWx zqwO7kl$u#%%9zNfwm=EaYJ@W5rOt?&sw7|L`iTf=0+eyqi2O&#O_1$*$|9V*n~&ez z{9^#@B_9mMVXa+YQ95j)%RyQvTmI5KLqS1>W>$N(b*}nK&`JkSaZ0nlPZrbFaNi5B zUG979)Dc~FJCZ!AkXa$*cywJ8A{(0fhRzqKeLvSu={AWBF{b+Gw3d~)FJy{|%`YJF z$;Wu*oR{DoI174|fpIAZ+PMmsh^Do+?*u4>W)gQ@G(&n}j$UvWBpWHyxxBSe)HJ#akd<>#o$&YJbE;6?NP^2#lC3*33Pt1qf)!Rl!gnLA$J!^a#UH(2z_h{|xmIuEs1~?Gi!DX!u1{n^+Dhwon?2)A zV~!VRMvX>iQ_T{X(<>@fiCBV}Fu0GTm@p?5?NniUn-hs}|1}jQ^=J&_@f)ny8s5Jz zOmPmqXUO=}QSV#?%xXZ-2js_CH~_w740ix1gByc^A22{okGr!v8X^1a$!F@X<5w|^ z&p+{BvI)*n{o-^A%6p5Fn=s2BdA(gi*)%0QeE=Dl-RdV+*WcDga*vgjYTFdv0t_!x zTXKY}t663W>bH6A#1}_3Y7mLm)EKk%T z1*;XX*9iagz`Y1T)#@g@xu?%RBI7am4h$J`?BXCLAFswt-I}E) z`AO^~z?bAbKi5s1hxb2RcmOv1;u6N4Zi+sB9-Me?$+rZ0f)~vfgCuf<<5~U5LXG>A zzfQZW=i_LXGA=Ju_YbJ*w2FbvT_?C7-XhH)1s}vp$0(jk>%3$8P^9^IFUTl;Aot+} z*f@_AT%+F;EX{Glyx=H{f+!ue7fnXB4f$9i?US3q=<8RnkeJ-{4IjTA;lC=1kD(&T zr{?+gs&Lp1L3D12I|gG7DoF~8?2E4-OZX8sg5mn>r;cd)0FW!??+eGvL_+ZK(|5adJ3j!^qj;r_P zwm`#o1 z1|72@CK0btSwWyFYyLu!9;{xKpxdJ~YmVW*Xw)3S5(OXY?yRb) zD)YLvQD2N8YuYIHp8aPP^*}fTK>lX*_<(NpRjHwC{=0@b3J+o{pC&U&Fx=+wYv^;1 ztC^B__u=Yyhg^JOz#jC}K#yT=oBW+pQjRTH`T8svQ%{{3n_h)>$mwv|X-7V6NB+s> z{>RsK4yh)ZlsLmJEz$H|Kej?~1OtB-Uwy0>h46;$etSQUk5Y-iv2xcw+xlmbY^;tH z6rFvTdU0Tq+> z+fu8q5eGsPcUmj}V)ggvV9bPk4b)FL*aF_CPRbH`9dicp5Q#9nw^&{vH`H|*8!}~Z zy=Ge6vZ@JW z9UPAr(b5xC4jMf)!Z_*679`iJ(!-zJ&v`g+ZY@>E5OeJB4iTsoI9vH_N(S43r8CIg zy{Jz`T8$Yug|_v+2P9E6L{3B5uvtB}*#gwc<_e95ISSLUx`gIdR`fQm9F|}<-$iSX zk&-gULJg2W+a_L|3=hl#Y0z^r|PsZVy!3E`E2J*$7b# z2J=!sC|zU)tzJtebK+$OZAtT1cDAZ|WedsIi4K=clc`j4!cg@+xx$lu37 z)B{A$iA5#d2KUflXCpR1CAeM=S_CGRAM~T=T>1VMw_7f$gL&*S?Q^>nVwMZzedS7r z{;MoL-(2#nG8?GAvyZa_5(bs6&5cu`=QexkqkA>1=hwbBr~j4+KI2juUZGh9Z3@mP zO3DJm-+e*J)1XV$$g?_#a-}f`0LZq1U3Kh_KT<0yb>QgkpVr^^q2r1x-K-meSg($x z3Z`U(_6m5()p7D}cuJq-C!VJ|j}Lv*9D9s_?|n21I%R9w46@GJQbfr3Puzie%fzZj z3qRRCp0Qpqj5vPalopfjIH|vmMpynsbNWHML`i(=E_ZZ7ghWQrv)ZXDC`>GWaM;g_ z0<$xunNksCqq(N{zm{k~DF=d#p_rF%y+Uc-iFz)&;n>o@SBjuIrA5R%?wx-B&>Mcz z^yJiI4}(+C!Wj&?J@tL$^CtmZ`o%#5Yd>!-E-9h{gFDaw-^KFPwNoCV$+QNkfCNeb zBokAib0WSYQpx*rpgkpzN+7K6M}=MBvP(HAIn5w>OxrtzY3Q?0irlmr87@OMJA`Tn z4(@&kR#h3GaX(U(OHA0zAUr<=)=CNu zL}U&wo0=7i+#nZfDtn4mt;>dSwdVX?^|tv-IUI&A3aLFG8SVY~W8oAG>hsx?jkM~zJ@2LyldB9DII_iQIkLCXG_R_ld>1<3Tpxj$1FxBajyA zWVvZ+RuPwQ&ChPYp1139_lS~8Q~fVHl>6*bJ;Xe%!`r;yLyG1NLtuIA_EEjL5a{@22VPlbMZX&n9S+wy`@FXTFKk^%_h zJEk-3q*>0opb&R1%M?SO96j+LeJ%REsfEyhyHgoPcP^u^MsczvCjhfLl`72S%bLaR z+2!vIofRVFd`8o?YdK!g!iEM!a*UldKdo5z>US?CApJl>-0Hk8QNDnrsiNhJ?H&y; z_Bf_u$vWhJ-0&GBw~O#;^*b010fA828`uMc2Is%}0lLKR;Ot&JGHU(U+q}WluEmV+*;c^p*>XT36v5;U0hqnK_S<&H zXJ3nXVItpsyaF?P4U2M79*EO8FXrEhA6%C;AQ=^^%2=Cl`FW$NimajSxRxaujld&U zi&^3o-)d-P0ZC!;1)fPH(?a9^IB@B;)_FPoDUZB1ve<=)H*V)?u1WwmML#nr8>Eo+ zF12&{^)W8;#R43V!=3-3Wi0Mp1xOV!Qr(=D?X(>>bDz8-)pa>Zl+=XW<1#tNmstuU z0j`$QUQ{aD!!z_3e~5C$6w1-@q_^+~-!1L|l2eZ1dO!Leq7~HpR9AQL8sePS?`1Xb zorZ*lp3Z_L5?Q8sv2LhYlS~F+&3=v+&|c@ibHssVTf;b+_2Q$bKN(RL}v80=PXJ z7Kve>TekpxZB)o99rKoNfrvC^Zh`@1;wwS7g?!saXN_*P$J2U=U@2yeE_QRAR4q(G zIC5pNeZbs;q{Op%*hOd7J9%3c_Id73QS^bkngBe=3PbVUo#Q$ogL$)MvhjsC_T+xo z72j4~cNR`Y136)p%Tvfd72uCQd<2vI?l@=vjD|M&o`Y%ImS?niA1`0Tk(}zhaHAII z!OP%_8F)#3$$H9IGtnDS4m=$t&z7xj>7dL;r#WY7 z|MY1XZX*#pths=(e|-KZ2|=akr{YPzTsIna2jUrwj<;CLB6x%2SEBIAB4_unDN7UP zDWq0{t)dy1CR|Ye=5aW{aifCod}$>2ZPYoHT$D`i9zvrpAt{#j-4mZ%Sm_t|QsFy) zO)*U&_l_M{-_kJgrGVW1c;#&GSViR0i+V|p%;`+8M{#7YA;Oul)cZqa%4*`&^_J#j zFhFxq=9w1*X+g2*d!a1#{Tl%BG!v9f8n1>6!ADLqOeY`9JKXVr3@TU)+{%0^&?#~( z25`?_4FGeA6EicKq4wIj-j_loM_9cP#T}x2O;K!%ag6coyVsm{iFhMDj79Cf>e{L(2T;^#wfh8x$1hPb+GOdXCS)11VuM;0DD`U^Lo zK?05iDBQr2rU1N=9zAV}=F1VsUFBtv;?)l^dInZhteM!_vdU!VUCAnf@Lz&JA7X}$aSA2?&#eig9& z>M#}IvFXwuy#U83sOT29c#&0w1#gvk8-Hj#&-pYY}Lw=CZ&&57*a;h-&#b%b52;+L1hi!1#pLr%|$ zg>7s5B?e75ljoI8dT}0kU_&s-XAJNzq30J3?1=q;1Yhu8QeAnI3$=-Kb%SRp=JC?h zSgS7Do_qiPCsD7y=Q||hq%!k1!HDNgu=D?d(fjx_MOp(Qoqqm0-`G2HfRe!|L!SSm z%`MEx1VEeBnaIoIu`8Ob^N}z-Sr!HeQvhV57x2rlpiw9?GI9qf(=Tcr$1qMr)^-l} z_KpVh8HcOr=)$`pc@)3lO(kM(l5;5f7BKX54P|lD)jXnT1pxv}Zf?i&?ht7P$D4v5 zB9~~4xz5c%FNQ%sAU|R;QLT9a4%anjQGC(9qdQeH(Z-`%Gc_fFO~|&)>DX=)#%<5+ zzVFSkKs^rTLAJ76JJ=ny7g!hRyN91M;(0uS!Ex1VP7l&gg$C%QlDn78jn&jh@q)}G zsj)VS1_sK5-nstIkuTqKD@PZ@{Z(48=T-@{a@Bt_e+nOb=^*O-ubN!pbmk0B`)lI| z$jVT|!6jZiF#ro@xZSFtva%;|@CtYyYDPK)K8SN#FzMxo{6;El0w6uI-Sn=F8|?QD zBitm*nqBO&Dn5}3bC#nh8X%XMx|0tWh8$>8kG zb>YGT?qNhK{mtN>pI z^mY1_$kR`8=B0gPGdDvYZ+nS;4t{EOn$dMjMI85sdvJWsdl>1IHxx^3GWqyNu4l%Q zSC@{A!&YD;UhWIBum}H}AM$k&#C`_H+;008Ve9+`<1=@2(<{YJ(7+-I)Za)Y1h)a~ zUgZqE>Uf*UdpZS0;UMYkn1J%jPW)tBp#La<{*#QAO(fFN>b@76t8^CH60inZtuLo5 z7vJORmIy{^T}8jV#?^Ye1^ROeedt~}7QWdp-N*Y=_Z82_g*FviulA77umb?~FZw+x zKD7b#I*kA`7w%+J6~DY>`gEhvvG@y2LUNRHg6)R7Fy%V~3y#19>5`D#@}F_{G8$$# zqbbB4G6^Oym4W|>xuYzQm>G3~D=Q}@<#!-ge$X9cC(gN?Qx_Ykg0F6?3wyL%afaRW zYMkYSNG(8va38_{$Api|EjN%*5@=DjBkAArm z^4E1$HD@2LTo;?zlAn&C_N&T$dd)qVvf<~{$>U`NoGd(TRV?Ff`~Lm=7yvNWf5GRW4S&Soun{A6kPd)y zTHRT_Wcv#95;kV=6kXm_m5a;g7N>m9Xd9n}uCCthrrsC1(MHf8*l5E~mA`vwyv?rg zDbufWm;g9!62N1{0(dN*#=v^l&9?+bC@D&Xj5QlolfHd}qrF^H>vma=@g#XoP^^t# zO6r?c-$l=EM?=L#PY5`jz#<81l&gwxaJSlaVdW-oF>zN#p&DEB?J z?+5hTSltiZjd+u6Zn)D>?BARMOBi%djy7BUhA6(SV1+l#qS(`+sK*q>YRPFmdem%i zT~RC|dwNgIN2EefDV)-;Jxyfr2j~+8s(yd=_gqg6^8I(rEcr&>ejJRQ(#b4$WCTt1 zTubX@t2e-+6v#|Cr!{4BCTO1rD0%f@K8C*c0o^Bld!1gG1OqvzvbG50U+4Kw zKcD*`O?FEIc30>JQGNuDY>X&yJJHg~I%Sx_b?RJj5Wf3|?>2e8Pe30}^ky$3#_84G zjLrO)KaysDu<||`ABd2ige@EyEZ!mw1D&(hIb`pa=H?`PvZD&)BiTq3PY?%4=VbmONMfekWZ$?bFbM#D*^U>B>XyB6V90f)-BS5C6Bve*ul zuwtJn3LK7r1sGVHzi`v8(-u;TNa&0mz(m(cF#)R<3tp#a?lV`PLQa+z4Jy7$HrnS1EI4WXE*>QQY zMaMAC^E*oKJUXP^A%1vIKG{Ea$fUr01ofrPntMs@yS)ndpbfqSDq1YCp&)oK!2Nmf zIW1LHRS%sy&LF)s76s3|G|&ko7S965ix>dqPgcFOXN9W{vz$I4#x;t^b5_qLJ8dhlTDnZRWG%`|1AI{*rAl+}!!w=AL z3FAUbz~;CnkOvVq%hkN0YC9e989o^xaL^zaWm30jmh0@Z%z0P7W=ER8&V@(*nM#E)&9Jad+ zFwjZjOJli!z~fPxz{UrGN@n#F*#VH#3HpkcL2~LIgE96=lsdWEW!*5O~$_zthcg?9@ay-b*D&E8Q`!JuI>!I*W83Z}Z@`ZtZIOj&jL@Ri zrZvypJ&~EilazgO;m*6S|KJ+iqvztLPPk~t`-=5E8#UR2g4G$Ery1|;sVvh&e?9p7 z8zM+DG-|zMNcH;}RALs~-S+3-gyYaFY|WQk+8sZ*RGRd3A3vkb}Yinx6@a93w z$p?V7>wMC()SoTxzjkMpkY}q#|8Qrukd0mu#%jFssG9)vq^K4Ewb#n)$gO(N5$H7x z7Gtj7xCAlPw9wQvu%M+klns3u81EIqra>SQ1UeTqu4Y(JAqQI;sF zdO(;?zRNEnsNePr1#cmvV!6|?ZF>2M-MGahg)sDk3|c04#K~4&vD;{K{y{3M7cnt= z$ZU?xZb5eTW=DJbDn-XQNeg+G!rjd=~h6vfLDpNW=VSc zf~9TwW@}op(YAAF9d{bV_v`vfRhJqpi9CZQ$J{%=-{duF9O6djNk=WRcMJ3ry>C`N ziyu*#ebR9!{q}D|L?gTM>727ia5^Bx8xnI)^Mw|+zW=x|VibqdL*8ct1K9UOtD+&s zt&n+zq0rOA+f3^2oZ|l2jmb#tv^QRH+)4=z(N@@j{}=M_q0KXb*&9RJxoT#i(<8G|0XKebotI|HC`B!7A8Zu z4W-DT!{DQHzNh5DkD%N{MHlW-Hex>fCSKPPE|r9xT0?u@oQ6|qx4wb72#jO=CTU-P zEABz0^c~BRof;S8S*o+J%rn+;ItsF+m4RKsCm=+?BGQeHT1*AH!!B7Ml^d~(#l3KYr%5E$E^ zPIWBEQPgCfGbXf|_B?025;144pqO5ZT8x$Rn?^;TGF(@MQ373p z<~>u3tHPoZl=9J4emR??2&&W`s1*-oPIhf9VP@3va_p88+caA&mQymV7L51OUf-)* zj|Pl}hfhSrJbu-i}8+DoYL z!co~1de`q9^sf1kq6B$!vlB9_3Z1T1hdCMNz5#hZs8_G5v*QqzHZ1HZcm0O7)2y|Z z6WCSC6RRu7y<=ivvGh!@H!Z5&r`_kM-?aseen}~3PAYmdhu$>{y;w!*Y>?Jwo%Oq|ioAf3rWZC`!+6_**TKB+L`8h+;!wX4~_XR3gel6YtDr-}MqA^v)j!>bA} zBF>ZekGV%D4}BCicZOpFl{%QLSC-H=?Rhsws(}g9f-j@*fX(KE32foiNp`)BNg*he zb|cf{QJc*%7%O_ozTI|fQoMncMN>$r=K4gL!%Hb`Hj^>F@raZ8hynN#*u0zEcFdd> zb8Q0JN2Q~OrMphcy-v%wJeve=+G?(}I_+db{Y1;QV(Ezhw(g*p%qeYzhNexymS1~j zgPT^{=R9Xs7W^8Xql&g2e#M<&4-a!rPCDJxkBqQqx$w>SV$)Vwhj=;Hp3SprXSU0 zvR)-@63=s(Oab;Tz12RqA9*&Sw{ULa5jXpoKtr}0I&sU%jPZ$f4}kvZ2TH^ zbk~(Ym~bGK`!_G;ry!7+XuFh<_p&Ezw45^GMeG2bkyfzO5ex83%r_2scaA-}`A58+ zwxW9$P~X|sr<<&eedc!(F9B<o3MRFqmK*GJ)n%rgg*w>2@urA+dC@12z zIyzQgd|0k?@0d8gAxHWotuJvk}q|<=f^weS!6+J94qQs{Dlei;CW4R>v zrk~m4O+UyfH*bFyql+J;^T40X+)|&y=VZT z?=e95`?e~i*fOAzpR&eczC(Yz616jB&E@gk)Fi_8*o0prX>NFp#oXw#f9F`_4Hzb$)7L5t} zj%Qq0Rf$`-sZ={hMtWo|VN5zZuD0VFlisA^x+W*WN8&Q>Rqp-bY;-Tx= z1^aLH(}y|w4~GR1MUv{{Lc~*M*oPaxhXybCG*C;j9PYD?bVN8Ct+`pNymLQr2VeBU~CFeo$lusD-Z)1O%l9j~Nmda?vZ~wM2~WCjxk5x zRKx6zPMlF^2bkl`uB?-ZnD(}<2AF3bQ8b@z4nOs<<+VF@*Qe3AmA>qpdbGpoCdTfv zzLlkQGRKhbDAvg0A=_eTY}nX)YHGatL5&Pd34^fGD>|KmeRap9t#;vPzwA9c#7#Wka=6}mdKoFJr??Kcg zjt!{baSU>DtTgbCn@^T6PNp~6d-sR2XSX(%(>0;l;$SH#3}iin@Xn-`tNL$jfF`+p z=l20er<)j)?HU5;L>yZygZt$r%Jt=xoC4eZ*|SYBPUDua&B1{|?det{ZYf#9G&2JRQDROm zHMC+ozF(+G;pKVLcD3|@;CoN1o{#hy(a{<^$c6o3N!uwq{rfwz`FpROJ@1Zg>=Gqi zd?kCzJQE+_MZ|5l6<#SY;?sdJOo@Nftso;22Qm^G zE6Fkl(oumY9~}In7oZlkq(t3P7cvxanOa-i4d&umzj6NiuY2B>xRcg^lSkS=k+l@u z#fk)6ZJEo$in=&>}4z-au8G7Iizk1EOXKH3xU?xgqY5=p{trXthh?);h~tzhfnq&Ph1n9J`A}-4XG^Qm zJY#X6K-+s(AbN&ML1nYle9gw293eE}xF(U8@>-OU4B=|Xv2C>WUzwD|@}8cb+99w1 z7Mc9=sPV-kyX^H*`orh3q5m401cg*&xALCy=Dqy_x%(zoO85n=H~^w!mA=_KGlF}^ z`LusA?Jz#rF)JQ{0rPztk;R!%3e3Td~BtFT=XW+2YuTyYhS2L)5d|R<) ztVerYz%*rTmvt!Pz!lFSNdWPSh%SLI8jr&ZMtB|us=tS~D{h*IKh&AT=ox0w#a)U9 z%bO6yCX=L4cz8p)TvCppraTD47o~G!^=SwWO zqgwG+)1xj+hrhQX`j9<8O~T@5qUCYAkTb_M747(|c6P ze;C}PGJr4fejC3o_z6+5em?IHAuxCVaYLXMB{kr3V*V1nSJsYSrr~@peLS5?|Lx-= z`+uYb?*2zwKqQ-QJEoDQs5o7}G3!Qv&@;U3401GiwGd)Oob?8%UjA)orln+!s0~S# zm0|Yy(&KqB*>y0SBmVI*g1|MCfEeU*v4Q8W69e8@TSrQ#RlVkwzvV`oL#6g!O>PcP zDU@6o<(p(kl>Z3E^IsYW&)u|P{F&7F_3(-&G=HI3uh$pRRV+&+<-0H@Uu9m?o|OuV zaDLvs@5&#gF+;^+Eq>%YSbj=y%e8&sfa-X=Kbq!rFrI%_(eG+PJ^_tdif{EfNYt7N zN`Q41t-X!~GbaP1nda;)&u-!C?L5LwgtQXhGF)0lU_sxLw%;wBwnAjiM&1!lma5oJ zAO8>`^s=ESlk|C0BLlN#9C|Pu5e@H1Vg4un^CljgUKwD*^MfM?RHU-hRE(pSnD{uD( z+Wg}*F03L|JG#FR^Nfo*U8I3+OMb-}gp1-EvpB0IoQ{gX_aqWGY;3C++7t?S@g6t9 zu5zCv_!Z?WfV`Vh0D2K=e}?>y$Q-^6^H1IJ>+a6D48V1vry~P0f-bzqCdk*{(ddG} z%_w2lsJBzmNk{yzlJnpex#h+GOwDwa@D&?ty_b zE-$;gBRn1C0R17MClqIXqdlNF4;jb;V5=7}`iL}{_kgUnqx(kHcaF>j%0oFY;>EtJ zMYPP#OT+Zsfpp>+h}Q%-pHCDn3|&^ZZxJs`8qS|r5kBH&#XJ&y`ZFR0v|Xy#?){xn zI?pwJ`VV}DsQ&MhH(c(K6WnQpp(>yA{w>k_%ZHS(2NccCr=mm*#pB@FzJtIsXAl^a zEt)UU*b!wt&Vu7lBd-lN^6;E!v$?_6N`}Mi$lrp|^Do5t`m=U+svaURN81+o2+>oF zGrya45V~T)EjYtK2eG=YIGMlJ^wFCn%U>d%drM-Wl;zD*i^VxDMgH9izh9y8Z%^-v z0rw|rAN3ivnM z_cBK1N*j}nu`ey@Z}0kX(-2_Q1`jnj5QwKM1d<+cLslM?zn{{@6wUvA=!Slv*WrP9 z8N&>(3Ze}T6LwK9)qg-y%sz|~;Ksiz+#35+N`F&z64`LUC}z2E3*q52H^4QHl;)cu zdD!WLU%J2-m)jX%&&lIIU*8caqR0MaKw_9t0 zK!G-Y_+1t*V~Zk)1}4TgUBet@&$B+U_k8Z=0PH9GGfW~?0`9>Mq_AJfY%i|d2)F;G z_WQ30xE4$CtXAcfsCTJfZ1nOG>k%^ zIfE9sFezB3MFTtW`Klv((Yc#Lfz;xczkM(RCQ`9o?^_`&^CE%&Qas8iK=D-H!}CQD zi4b9M%Y{3GFAxmo^E*E@k2uAIzr6-X*Wvw^u45>Lr|XW+68LhH|CjRN1-!DIEk}u1 zF^szoxHcp;PXd8!pOC>r3}PW$Dc_Xc2NSQO>~-ynxCFluq9OQ6 z-sb(%*)cb8X2Ng@9%-v>%}|H3&uK(#HJkBT4);1!^h`r8KeO@E`tH4+9x za8Yqw_IjU={^8+BURqjECb-kzJWodRuL*0u$Q3xF8Z}-PL10wRzvjpph>)glBtM`X zilF8AGZxl6FH|jK+xC`O%~lA?jahWz<}YvWHxY~cpN^LbPoI)jg?4b?`oqN$k$+xb ztWh_Sb$d1ph3%f5^|LZ_|4J(%0Xcj&rO|zhz=fLYm3s2VM-Q$|h}Oe~@Nc5XU0!+eGX%jc zuP_;{`B<$rSw2oHcaxx$lXkR_^{-y}0o;U~a_1l+9+C~tLW7cM2p{QUPPW#tfvlDj z%Ujh3o7$I`y{dd}(f4O1u!jD-+p|7ul1G#MHC>&pJUxrR5nnG=loBwDCV^2Q!jB}- z;Yv3{SQ{~ka&V10wFL5}A<*v%!Q@OE({H(nF+XIh)TPTB0mg4>n}qlST!*9d*G7IS z!ryrXA8su&cRFAEX0<{7k`(9&0(An&tKV<_{ENqt(nJ2OSJ3inNj3 zDBt0*tBKQ5ZO4AI9n*pcbo%;QU0gT``-RXD0s@yBxCIF-&A~vRcLK7@#`|tk>=p5Q zLVt!=Ewu1VoO1>#X=~omIn0}aK~(P%J{EqUNFVq)^jK3}5q^aK5FGmcy$(jiL%)Sr z{2shxr3g)6;kuTFJLL1ToVE7UWxULj)T7b2J?Fy+5%%g(=+B@1E{_@@7P!~rq;TbT z8ly130rL33Ao|g74&c|o;Wu*?Ow-s9rT<*{r-ND{fGkv+|Muf>uovZjsGV{635|py zh@tp`DmdZEF4!sh`zs@{k)3+1?RDL)$q67e%~3kK`aczD#YLoIS*y3Wo9Ke?hyU=-6jeAY=uiE?XUWG&iT*VX`$03F~b{Ko|qsvhgBR&RGxU6ol zU(uC|HfCRL7E@J_GcNzqldLV;rK`%X|5`92X(I&BZq96#6+|$MmK4B@$PH>eLzH+$ zxMR$7*zs_)mP-f0E!L%T86U|dZ8Q?gpM!$HO8l?&c)rMSV225uJRlztX$OyEPj;HB z5LK)95BJ7k3pb)gJb&nC1zQ&z9#fTdT|o^jhMb;x^LN{%djY63?LIAiMBU7R3Cu_K z6(%}F3Ca8(jcd}p8+U1AD!BE-_OxC85l<<;_)m6m1Ker8lr4jpj#GwbAiAyapom9S z_?=xivQh|(F7#0RsOg2=|B+3H{zv|%jTu~?Xm&R?VpOvYq8fQ#do4+X%hNsY60tpe zQ(=Or9*TizlG+k}XcumvU7$h#VUa@MH?_Yr^!`sh;t$bx^0@p2fs3wCN!&4N=*?kn zFH(nPQ(B;}2>VlgOT;k8RhX;}eAHs4QXJA9A2*ryX#M4!|E3i|rvl*5+)-I!geO~) zf+OM#YCb_cBJ~f8lo$6W!!Unkm>9q?xscPy*Z;yW_uvdOXu60PLH)fV!W{XNVLbj| zm?u9OM)E%y=C467Uo%{t9bw}k$_T#X?+kPB2gBfl{OPyy3)KJL6Mp}aP00OwhDFoG zY;>8lhSL{v7ttI=j=(*brqi@$-XRhza(N+aE4Q@Ie{HY2rfUR9Iy2&&jM)Dc0@_$p z>J9H=A;=)JC#Xf-R$c6Pxaeuy0=j+*=%2#AwfsnoB2|LS4Rkon;Ci&HTV((}&)<#w zCfxq5jwrGtJh>|c$Y!&V=VwHdd;5F?D2+TT;O$q)-jklgx1;?b^b+Y`TV%Gbpw^B; zog+X0i$Tf;k7Zgd%SH5lJ>eE&t_IfwLF7Z8{4hv2YS;MY@P2tP2?9SH7|#(#5IdFp zOYGDPk2;4AjS*T?NhJJ$jIb0!-Xb`3E^!!NW2cUdW`|}&!Jcrf={A-OIzi~QuQDUy zja2NB|0dH!uBiQ+*Za37jq@QYK;Gw7k`5G(;-xBZq;;44MByqk7K-pV}7Q~(X#jYies-jB=u%_#&oBm=J2@|oX`}IU)=io0p z|Nr(f?C%AICX%-o`CG@le!dHW_B}mgPz41EzKMTH@PW2lP^ZxUqfXHUk3X9Y-CYo` zG!a=vzKrBUjsp{`uJFXiKe(mwC%0Vx4{kvTBabwgpGG9_`4?jU$JtkhRhe~f8-#>_ zbT@)D(jg!yO6Nhk5rjj7G>D3bl!An$h;$u54uUiS(j_G=-3`*;J}Qo&GuQ9^{u-_` zGtcwvz1LprzVEg6UciQ?;2*_LtSL~bC(8#U1D)v|p4vIgkbH?g#_ValKDsQz>lMO# z>&wCPNv4L*Go+>bKMnWnJEhCVwE(~A7>MX#hN}eMC^_{bFQ`Y>bkH{XnHWBfBG13G zZExM^kF-yS^I_j(Qz+w)?C|I4g| z+8xiuC*+@==G9HY1aw`=5QgJIaf_RXR8&Yl&6vQz8a9&)yZzfk*SU>r|D-v7w?ToJ2cT;6@%~95f1&w3_&G4lo%%!s0mW5_;8bBei?l4X zKFRfwlYcM7u%q(u*x^(b;}S3FlI1Tfzs_U(4Hi1P2F`)MkonqXR4PSrj9+q9A#lk5Wj zlaPip>=@FxoBS7~!TBHO^l@dYDTbuGwzrqr0R7V84BIK*#C?TRr8X_j`Pk(xoN1%j2?<9^8#4)%dK?f108J058* zOs>ZZVo&0I4y4z9WY~RX0VDlsI}QJ7J1&4g)w4{VOomZ&8iR1fEwy;6+KJjn9Av<8 zKtl8OE;Vg{qHj)OedzJ&iY^8O<4)qI4;&#ZL8bbuMDw8X8{&O7lQJhg5~n2MeMpNx zwSwb4Oa1B?61#GV;JBeU(;qvz6iI|Wd`NS)DfDL1e`qxS>zqm)dmfQIHff89aLL}v zUpa+J#|xN5HfWmfS#%xY4B%qYSHDtZCsq*+pfv@Y=E+m5xC=&}I?{)CY8Bm%Q8Dr< zjPn-vyWt4uA`AzYq$Ym<#cECQh71Y6( z+?ymgsf#0}C?9*BYc!|KMwNhx;LhYFvJ_H>&VvDfxc-ieaiRdsn4B0KJOzSMl*K{C zkloD_fccEiJt8K8<)#EXtc#>^4u58v=rt{rbNIuiJnEzmiZ!Ir;qC%;49Ts>COM6}W}S zOYJwv;$17lHG*H>z+6x~X5w;k2JfA%KIO+S0;OLkj(`$N_g|>h8J~2-PJy%^oE$23 zF#weIDn2KF9VNf;@=g|3o~?I2quHs*Rr)=j*?Doi%!9nw3S;O|NZ`0oMJZv-p)Amq&0`C1=`8()it1y$555M&A?{q73 z7eTj(xfU7}jmjC1b%Ng`B?v_zc`F!Kl7B+|drfBH|j;|TVmLS&ZC$tQE(1A9WctN6tUTfXr57u<>AIT5vd zrU+b;U7U!~^c63_*c`D%Lpc>sDo@`n57Zzi!DB_W8%~;rK`0`0K6W5G=~UCmd{kD; zJ$lH(TF7e7Cz{#b`iacjW6w~E z&lKUwX;yMRW?3;Ga44~5Q7VolH=d9mdXDsWJ?CaUj8V*PC;qQF%nQvg0T7UrcE>t7 zeZ)oJ=lAJ4r>u8Q2a(0hHMsW%q9)PYGr_2{bR4RpZ~lx_VQl>W!OMM0@V>P=mv?z} zL+kP*Dy6|`}33D}J5lRdS3PoQG3?%R0DQ@#z8ZC~h=RUQ#Xb8y(`Q*~J%YnV= zxnpl52cICOym0N2@K0XgQ%A_OEgGE==mE*U3I7kIF5ZIXapX&+4p*DN|O)QwzTXH@#TxS1pb$t1t?CT`GzJ~S5(vB;L8TD`bd1mZ*1H5iUIu57l zAe>U3@QXZfL^R!3Yx;o8zUB}9X~Xz8kxhy2TpPIMII@VG>O&&#*NZzbv;149WjgKS?Ld}sYCFXL*bdje zZ-?4iupKo2Wjk2N80>*ISxtsn_LhYC!_lOytDN8nHEN3lIaxq>MQ&j5;ZW{=V{WPI zmaxwCW5Dyn3#Whz1VLUg=Tn}27oUlMfASHBJdej=RcC+n{^O>DpM|pGNuZGHhX`tF z`XBT_3GZCnwWIxPwnST5ufVaJyj<-(Scyf)`)ll0I)4rv z6!Fl@XB~u`Pip>jp)mr_I5=@l-K%xddl%eryVv+}$&vTux)E0Zm+~!J=VUGuiB$Hr zS}BKqdr$)*!AVC={KHW{2aY=GzZ|u|^to<4HjG5uX+bIz6jTr-knR&6@v1RqJ;yoIH5;K>QK;?RuEk-uxO@pv$;JDJDZSuk!s_)Sa4Ax*2wyRh^C^fG z0*Yof=6(mdV9$ZH^bf`U>O%<^5mu6Y>z^?UoNf3nqt$O9FeKq6z-Eyq|ITL9(0mZL zNU?z%8e=3PoO(Zsa|=8M)GyDNVP7Ad{cjnO6RnCn={QH5LEzIPIr$?v@&WLrU{&W0 z%y66n-W{~aJ-i>M?|j?{fIJdYA-yzZGH&)Cc5K^<9PfSTcO;9s>V0kcQS76$fP_7W zukHMlXN-L~mwPy8se0Rv<)qnsd-@+gy2Uqvz1Vdt_>HW$6^vPXz?a?PMVe zSS6a5&$cHq`7bA(OiY7A8}`ddJJR)c7|2RYL7BMAzm$o$7FRm7m95lD$lhNTq?#bV zhyaM+SP#MJRzJ#paF4sU<1=aN6A8Mr=co{$!gbpGXpZd{-%47*NF5xiIIgAg*~KMh z9}Z2haJ^HVnDFnYl^1a<5QaB#{=yv#gO?6h9|ADGC9t(Q4{p-gL6WBZT_*t*zFMOeTEttGDk3dMG5b-{MmMxWZ$E3#7pGuv0fMY_l;U^(6(uI9zAA391r-t`v zL&2RJC){r~NYv!CDAK(b?2pnM8*AVET5t@yPuSq+$CcoSuD2(quUL-1VQU8tFciO# z#I;9c;0_$cl>hsO{IXg4x>Sj_f1K_jI&iwJNB--*VHY(n46NaWQc3?Rz5C56yuOQc zf8krz^28DAth43a*AARd!TM|vkFerb?}8o)TZ>5dPAw7GJiW)^`#4_NMkAQ`AtV1~ zhm%5bn*4X0^{)dqyY%hToodL@*7|W?>%>zmqzvkVi4K`e`Z;==#itE$Oq*`Z*e!T} zINY80e#s>NvmE>9V(=6{2xE)cM>g0wX)2?1=Y%8KFc+;3b`pw`I~rsX-3>gWS+5}e zE08y>snuQ!+4{gT22}*dOa28;NS+%=@IE|hmKe(?CB0X7OBpUFsfQL`FXlevG$J2% z`DFQ8v@XbY_3NMQIe9M*QY-zjtBw8cYBvIwOkO`ke1_!r>WjQSs{FneCK(99nfC93 zGk{zli3`BhE@OCHkBfQv2QjhULSLZ>H#J4{UeQjedU^6V;Eq|)-YE(JF4B>Htuu&k zq!E1~^^_6>@=!XZ{6~9V0~+f7OM`x$f`o#KI$h>IF@wj;`&p1!s{iUGH%xCtd++@b z|IXtRIzJXdJPeRjz8#FpwNt>M9(^A=$(xwGR%jx@B}(A-gi`jWLAI6wm^ZgicTgS= zeJ;@#k??r`_HokV*ucIoJ1-;Rg0TR}p0$=}GUyXj6}a5_c!Fv%eP`fZZ$r@q;4N zEmTEQ+M_&Ch08t8g1)+-a&q(j?J(9Ep8|}R0WlJovTa^t?{m_CfPi-G{9e6NVE`gR zyxu};taV?nAS#c7!m?IuXWUl%|L#WA#rxMDWrIDtfeV4lAze9n5G(@`UQkc^j0ctd z$X@WZ=ynxwHxUQ5a~a9fap04TlwzUBx$ECtDL8uu zOy3K3jj=HzThp?q-|qT+=~lllD~pH8a&RzZfDM%x&+gJHU3i!Gdq?PM<)BRc3$4Bt zaA_2{WCgCtSi#1t&K#a}D}9{F5H|hDwN;o z;nq(Gm)Ne{<DT=njNB-Q zC*8E{BMwtxRByLNcOfEH9UM{T@uQW)^yl@rZZRt^_uHBC1lQqdd*pz|eA&L$rjfc^ zvw{=_9L*oz^aH%2C$NLl1TNg*Y>nn+2@b05=pA;+-sq_+!oKY7%B+2vk>Gc615}-Y zGU}YqDg7QCCTI}ioWS43IiHeC z<{(z1tvKOfu{G`;P7P1<0IFXsuoe)x+_uhCp1iQj>p}o&P%Rv_owX(F* z{?b*Dq4jRC%zgW)Z8)y7UO8^IIyX6U8v@#KXt6cKK%Z-xkTH(kee(SASd&DQoy4cj z=MB~37m9K0(V`xV!%T7SUTEg536&nrXAp;RJBwaMGcmk9lz5IOx zy(5qn3sD63^4~V9`gsJ#u&|EoXhfVbCl>!|C!1 zPtPq_@|*G@ZzdjmO8?Y4!E8fWbd4`reA>wah0!h3;KJ`t(Ur>cbsNTVzHF}~nTRRp z=a#HlzTJEVGp&;5qCOty&mm2+K7dWyi|z^BKQ#|H55z^!S((K*`8Ni8lqmGyg6L0? zVjUP))zyf9|9_QSe8%VbZAF~j&!QgU-SJ+bLKmQX^6=M0{u(KmUJd$l0ivL9wj`ca zVK+qnM!W~gI$)sh6ecPFP?H3m?z5ODUqUD}`_={VInm~1gT8nC0hGQ;gjJzqd99%aL5(rve=JR`-jSE?hB8EYT>{xM*!BMQz`M>Op$jQ7#}SoPoj{SJDphBt*%8TH6g*lzkDg-%UX zF9sha%J-4^RHHj)?a`FQddpX#1l8tF^^^{%!d5wPPEPB0OTu|j`R0@!<#emP4gbJDMAY0eHhA-a=QTe zRzr38x@@_8?`notzHv($)E_qaW{0Hq#;K2HH9Py5EpolTK2P$5DT5CPB@(dv`ncT2 z#3WqmQlqOLU&q-PwQy&q(hLHZauNMAVpLc6L3fi}wd(|H6m(??*E?LrNC)QJ6Lo6K$qCS9_ULf8HdIVp?a)K^&^@ zq%+sg8OhbT*HfqK*BaVO-smin6}HouNcFe*VZ!oB#(}>ZfF`p?7WnwL62jkJwh+Kw zb#ip1kQX~2zz1!37(p12U0PbImvkxlj-KnyFNKzo@k@nw)h12qfkE5tHyaZEwsznD zd|n0?w_iJv;g5H|ohnc9BswAF~O0*-WyOqpwj!PD3sco=*9)`L;226ZYTcggXP(Ai+m=S>o)y@cul zGVB&Vd}-w-P+ZzTtBUSh9fzT4`Wq?A@7r2IiK zckYb?CA1i`GIRN^ibwu+rcfwAf=bQ1?IN|dxEiGufZtCG|&SC|! zeFuX%fsygq_q39ROV3A(;niUSf|ZCo)-I6Szu|Fjg0@W*Iw{0n6-QYfuVU5_&RIdeacpw z`Ioyr_!icLwLD*_?-UYPl%ZcH(qxq{Zu8ren$(ngv#r>U8Uk`q3(EQBABsx;1) zYBwX*mJ5L#hRDb8IdPBRkG7`;`2r=K!3Amu_kT_MrtXDAdiKN<>lq10o zrZAQCMD&kWf|-5|JJ)m-N)r4{Sm;CWTUkQGK9#hb3=7Uzm<-T(M5~MgAUpNmqJ5DS z&kebU;VW?o@8WYIg~x0ddj*d=eg^Dc4>mYN&fgWQS{J*xaQ5`(022yD9(J9kP^HH` z;^9b3_$p8pWmU0bK}7KNOOk|HK_kloTfM`uV+OufOqv+yv`@tRnbKXtxTpH?ckfDz zbJ5ek^FPC3BG%d-yH(xBaaW$W{-c-|{p-&8NHA-xBTUm-zV8AYqt57Rj58tKA zoNqv80WQ%s3pAgk@2HIe{xNCXsAA)gd>%&)XhLuwrMMN7hJIP$0Cse8??Lk%kX~fH^Nty zpnDTXDt0pmOUk`%w3?;scJES@9PAr|!@{2x6anM=V5hb@^tkfi+j%xN5}O9S`&a^_ zrYuT<^AkowBwXw?6yZYA1PYfhxNNeSePeJp_b|BBtLiF+G&yB3k$%1Cw=c3Mh{}aA zU|>WD$TT)zPLj{;e&rI6H-oK6X38qKm1VN#D!ogUQ5Ch1!BY3BoUxv^V>GH)cwy7! z79(Yd6rK5?^)~vWVe>JhV6%I-=jhr;8w@5E41rZNUeCZU^{`PDC=}x|2}25c+kLyi zwS^FF!hP|EM6|(Q0cSkzUSVey^@HOdSoc_`qd>krfOe4o?(-Yw_ZEtX{#qx z2Uym3vu^meG5`G20oUBhs!VC}ac(62d`W{3g2JgRNVgpIx}6eHaB+>GuY8P?^l!9^ZD~9Jzj(4 zW`-C``+$}G-3)s_6kx-0FNlAq|TqO-+ zhHR+yd&R`W;4OrxrzSNgv-(vVF0ZVtG+YSpkDUvY$J7?x{H(fbmf)$Lu-Gr3ED|=` zvkeDbQBeBGmHMx0-+cGzS8(~^x_r9W00y5GJ>Mtx$9AEX_2D0ONfJzC(ob&NoX=m# zf8A2&Qc)(`RaBxRT*#dA!mT)?4D5|2JEWx@`RVw*nS7D^GlPOiZ^#W_QylS z;s;rRdEcRAJW*Fq z6YObRa;A7z3mkjIxB!}7*(C5ddy(UL<57_bl|~wj0S8&+1j4;HAJ4okTA3DJhO9;( zNVVd$79B}!)Cd*hH1?tXv6LVXxahyeF_ev;yROpOsRWs{eo5a@$*j55UvO)8R?*uc zDr3!r@6gG~X|08Sgxs-MM{Qi?g=FH&Oy#JOqP$Z#Ghm5%Tncyku2Kd#v|T&M`qt@P z#`LLiulA}LhIUG@`{I{E{{ia{Z04NAnlGBZwXfLr_C=ZT4Eg%9k*R;?eUZvVmb<~% zyq}SoldrJg2Q$qHHUDF_Qni88=<-B?d7s7)55x)2WoKubWioG51QWewjZT1HR;I~G zeyvc@Sax)Is#s1cRVJ~}fA_otiE;lnq z^7(~1QF0LLu5c5=v$AvaOgU#5eJ`6iv@kTx_ajV?!~dzapR5Sb}FYQX^!FN;jDN4AQMa(b4GEjA4%$oe_@{A zkR!FbPw^8r&9yvu%H1HTPU8Oa&q2q^=VPE77=bT)>hOkJnMIz4T54B%U{Da6UT!3| zuSA!quyi;@@rUK|fswvGrmg@^$e~)(#8G@OZ1NWSZrWPz_F>b@?M02gPV0gzrlzJc zHa5AOU3PgpHbW)6_MpS?Ej5`mlt)#0OH1+am!uS_;!;bUxVIo%X6tIQkJ%guB;8M2 z5tBLsg>E(*=>0JYpKYYArJ;c|rmPGG{Spl&CRl-Jb*-Fl6i3->E#0`Zq0~E0<2HBL zKfZ6WzziQKyw_DMrmJ2b_()g%T!391D;)20;%xTz+F7&2DM*}cVR#0-Ln4TOdE6i_ z*4b#`x5@hF&$mcZxbU|bffA5pci(h|*PgBAl_Vo2#+0Af{+NcVYw^`QD^Jg|QgF5Y`w$E*0tiX2dhy;X-Rh<3`=*bXuiQwNqP--F zb0HABrhKa-KrH2RPj9-V<()kWb$8lLP!;^F{;@$=$A>m(KN8tz8 z397hMp)}q)Eug_Ttx9BkTBP_+cjSCLY9d}1OvsXNT}>^>3YNnEGB8jJn&|XjL{<4-h53=^qr+=mR3!f}Y#;kDlXI zB*^#K8zrz&?LNp~Z1QFyldqd7Vl8b@OrUAN8@PD!B3jXi*N5~EAKX=LHiOh9pJNp= z(Z{rqubVq4pcT-E&OOy(mA7J{3XIAR)S}i%RIiV^JnAqn&}3~OdQSs=)dG3QciN6& z#7JOXG0o5%9-j{Nrfe&_!(}6{Bf0h8_u-_;Xq|^hH_f)xb5j^+FL?DPYKR21Bx+1$ zGW*+D4VUf=8NI@uI_o2W&f4RY{~X1EWInC0n4R`UivtN=*>Z+Uix+5#O=MB(ONu%_ zAt7xncKTC*y2a{@m|9Y4I^L`_ZH{L~`J|H<`3DUIz4l$CqS}q}(tv4VAFxMSs@!at z9Za{NuQ0C1TK|}5E;a}{yDn#DWyLyW`Cic0+YHK_To--EV9eg-%hsPqDdM68?jZFr z>+}>Od}rb#tDevO;`WV!FToYu9Zyncu87IEU+s@5*Zj(K#UUabHfnj_u!$1_U$|k~ zGFT=jCDV`y^#fmm$Lk}-h*9l#Xgm$)As{AGv2bdc82wVyrggBjfn zqrVr}>@N`>(c0P?xTghVB87d>&gY_nqZ$O_UuRSWAY0E<(m3^8?q?zim&8pxL8I|2 z2f!6(DlWHWXp4dlbmg6$og|ssQIK0SL3Suq?!UzFIKu8?{g(wySTUA^P57JZZV*DsowUt@es1kingQeUcSX;^OkyH$N1((P>`#isbHd#iZX$VPtu#fhy5n-@QCow z<~Qs_9MhT5i>wCtw3+Z5U2@hCjSM{jNDs(69JB44U*COl5#>?s-GUMohbTd4LuQ@} ztB8ommoR89vyKQ&J(j(dWwfq5RsoRUH57>8`!hGGRLfVAk9H32l#dQaZ5Q6BvZ&x? z3Ye=o(fF22`PGsIqNqA0#|SbMU31^MjgaBEMUxE2TFl~I>%wB6HC~~kOB#}_sX1S) z6XNR2R)Y^bK;Km&vv{fi1z^CY2)>5SgthfyuIs7F4%c1Z($eqvTY`$s&gqbiA>Cue@dhOYDw&%arFERy|2ZFCXFmysU^vHY^12_gj8?LOlWQ#DH-(xAC8MbTM#K^0Dw z#OJ0|$czX0H)7SoLm&D-R7m9(YLc<&T3jxfXIHhfw3O;@3L@jLE3z3;AmCQ?y)3NY zNSQAPB=6J$(QfAmkl5%9{Pv+lky5_UZ0u9gm)3&TY$$tPGcJ68YRiTpy3ImCz3{Ef z%RyUno^qR&+f0dJjD?_#D&3`xIu%u4RsKni~a31N*Oagmd0GJ?R?v&$(|cmBrrKX(HV7QQZXG zC?0U5@wD%1pzK<9Q(r#eQ*7*uI$o=_L`lr%JtpSwiIE~2g^JsIZq>FrU7``1rOEV| z&ig3_?rd>{dI9by$(&m&Nsu#GTpiP*g`0n##ZL79AqM{Yj3}Oq6;xmYcbg)&qYelXk1yj&F?EP31YoU>&w0E zgae+|smcs3EMKXwHrV9o8H4GVvlB1|MuDbA7Fn5v@P)ksUpB}WkHb*|(B<=$h%?biZYs%ge{|EPX`c1U^$ZlEniuf2de`8e3sG63tu77|B3 z50;^5K~DwKBR1k`3Ar-(GHoQm=E!K?&ndsJ^}^Ko)5eY?MZju%Tnq4^QU(9h6=;J) zX}`(UUbQ>C$*d_Ew1OiF&VzQh3=VcT(Y^o_xQjxUXKqeY9YJ7Sw0p33=(89Z2Jy9| zn#ZKtb`0{9Nk!L=5Z1N!t5L7rH34WF>4}^Bu8=(!!o{)u>EdeXfz)Fpq#ecbhYbn) z^lmSeg{$ra$xc>Y8U4Y01Ss9gC4Mp=2QO78nyCWfI;Dwk@_@t+C)RS_X})x>ADy+( z>FU6EYmx3x8E$7Qp)Xfx%z_1CC7WWz-qRqVOG5mo_yNG79LIA@!0n3qhuC|W`QEfm zkLSMsiasE*hp0VGL{u$EaePv%8H4pwT?k~q(PuB;MY=f^SM;_zVyh_OF87XRgMi@HW5 za}pFG5U!xlO^`)^)zU-4M!U5|+dK13nA_Pl*L}yE6b#a{!}=+lys|}NM|!SoW;f(+ zPw4%VSur9;1!_Yqa`WF30mgr7GTKxw(l6fxZyu&J#s5Ebq zJ?=*?=dsl~*_XFYDd#!p-gp{~!F%`*=>IC|Yzm zsid`_4H22lgJ}15!^B)AJXY^iT zN!)0fg>obq>pq*G@Q5w@r6%>6=9i_)Tv@*I*`@X>NW~Zl;zj*Uf|J#x?uD7U7KbtO z3S~q|^N>z*d|1eruBrpwt?RY5wCY$y3BLes!^yv~QN}kY=K18uPc!Cs^3>t1sf`iA zI?UQAY5As#`nTBcx@whtx_Mo$JYA@; zBL-$XW-B0WQ$v~Zs;z185-oGi{Mmvlft4z{j1Jvn$no4Wn{}O`p)zH9Hn=yHWr7lw z-VbG>K%w_m>mS;C8*mPfT_b66qDtS=f}ry=%xzB(h?OO%r*`+Vs(+Ar8sY@EH=dze7GV+&k89r?cR^ZH3#xJhDpD6V^PK~`39 ze}|{zVSxVrn{aCaQ<1&*p#9$`&>@Xd^TLQf;5r%5E4C8F4qGr&0M=bGwePCIfybd? zS6n!MnjB3r0Y6H9w&Ra1I5lU&Ia$FQj%srnRAWXd(1X@YkpZJ_%^N<`#do~6N2))q z+?MJsh~`7$MrhSdxwCpaNk5ThIEbtz^ohHWfvNz^16E6p@(#;p$wBI?P5~0GHHz3PK zDC@6~%iXnYZmMYIVek2Q)-j{o!mx>!LSfC_LPFu=!>ZA~PcwZ6tfWoCtU_I-c?whR z>K)jpCkL_NOujqzy9ENwIyvF#*F46_MqrN4&Ss_Uwg?bFW>d-)b-=o2*?1iH)5NLyeUfo$-|#D9+%0Ix=$^%-^=4MZ8?8>c?)16kkP>3lsPT~nHT~-sH8jbB z9(riHP(5var`5Zm-Rx!ak`E=(psH%t`U>||z{iv8R4E&Xcr zWPBRkqTj9TjU4H@A02Fysk(FjKGmQ zo*o&8?Q&RnwV#{lHTO@1$h$QUpClRx;3QfxTP1ZEWMyXy(iL(JBl_7(`eEG@kV(sY zm|^J2z7x~-Dbiz$yP>+m(U^?S4j(@bIhd=UDMEgDzrT z+*F#$f8C7^lIBi#JJ9~Nv=j7*_%)=OAH_B`$Ly?X!MHu-oUjVci#_7=Ol4zZvnyfb zJ2I3lDVE|uBD?rRa#*b|zmHj4sHur%*3>M#*$i|xilz|04y;JD53s<;2#>#52HR~|oo_pZA~t>9TOF7lJBOE;0iVOQ#E z!?16_R@%_o8a~-6-lEt1%4NmE{nETON5dusX1bQC>dU72bOs}#Y>;C$+J&AFo`;Eklvnpb=j_g8EIWz5(D?-+S0-{a)Ui0E9hvsf!=<+#2|K|w(R;bxHj8XX;t z3pLpNCL!A2HIULRtpc{~PjDgtg+R-JHpk7Zy?aiw%+r&ixbg+JBF8IM4(EvOJg@WT z&sT%fuBLGUQoz9)fD*Z(AixUS|73+2?7+P~3^VrogJAe9AV)|%{RC0g8;A9?q{TCM zBb0E^=q={(3{vjX49B*LL)A4JP*+U+v-7(oe5Q%70^II`XxsnUKbU>)mD{3W8Aj+u05a(3wm|Q^D|`L?QEhA zPplfl3SL?vvh2%`tp*sSI^rz4_SS||^WE^ngVO2EWLX zjuWMD#!yy=?9cV4CDd4;p_TgZCg*-omBH&GlFWV39f|p16jh8fIgG63@}bYsy3KfE z^|i8PB#}!twAai8xS)c%rcJVJG;9* znefs5>J%leLhmKPk}XA`#h!cjn-Y!vxO<{EV96Y~&-E8Q>E>a{KXpyPIG5RIkdJ4AKJgd8)-3q}u z_|wsWn#zT9;1HVI#rgp3=HWFp4D>BDkeA#fEGXvbo?iN}%-12HvP;ZzC+B6wPKyl+ z%b@j5g-;!=IZHMEH)ut>yv)t>ylxH&H9E|pqN4gPdu@N1Dlab&jAZcI8yLZgcOG_a zuu~(1lT*&7v~f>)J}#29aR92uR&jU>17SATj!{0N_uAuc zUvs^}@|Jn!EkDON4_`g3ZY)B@@_iyfH(vivCFh!f3TPdRo(@Y@T8g~}l}=R21xc?O zWypxg6E;;8)-z<$sj%e6D-|Q9cH?FJdWz<#f3WB%>DScQg%61T3{E~fpx~8;HbrFw zW>lt-$(t90qxys`U84U{h*;JqweiqG?+-@?w$viHscqZ!$_{AS`3k#_@4sHZv3+Qi z29>@pqiQAJtrb6g(~S(i6j`yK41AyIVA%COdoM39&bc)ljfHu7ccrXEuUa>0p-uI} z{_2R&HxlQHmUj;hO_G}?_-^*CO=%YiV^IlaNmrnQ++LQ#`!6z(0dw{{;qfZZoeFv9 zHQMu&k|axarea!N+&1~*-nn4-zOz%scQ;*9Qc{8+QuTH`c9oJ3L#Ok+?e%PR7HsSg z$BQ9>SW{Q){jDy+V*@C6|5~!QfOH7z)gsO5hm!gW6`ru|gyMc^(v0v(H?+63vI+-X z&p@4{aDJ{nfHarTMWr;}bCCM)f-F<;E#tgCwLPQlsn|)=aEAMSF=d?gZSmJSw=0eg znu(-3&4|Tz8WcT*;@Ec*kv;FzIB#!IcF(@seFM(PnD(tzp;B!W>##F_7OXIA`kDNi zMUGh~g1;rYb2uU&)9Oh-Fpsu)nu(n`#|_x2|NI~Dnp)}OxqxdoKAIPxX^ZZDG)|-@ zQV^|Nxqn21u8q}p1^VhK<3lZMnh}0bHcty_xEQOTA(%z>yEbc#A+=o`dh9z><@|wH0S4KmB0xURw+$fnM-U*A>vqxRmkN2 zoSSxyyX@d+YV6xvcLmV3{pPn&S$6;Y2UMPVIO{GV2b2jmFApirjHN^0Che)Ce5hIC zncL)Z(|lu#h=SYY+t<22M*8a7Rw3sha*3LPp~-BMH)y|jl^RzJ8M3@$gSxix_C96@ zb#%n@x6}u1Bt0F zc4^X@#86h>Agw4jmoCQPg+7b^1eK{W|C$)}KH>Ahk*yJ(WBT)S6yq%}B z6(+A8uNpu6-fq0B|J}_$%0eGhLP6%O_44E8Kb3HWq)H>~OI#%zut_pp$D$c=;1aBaxbMhmYlZ%4$_t*pm@=aoFE^5^^*)(u-9CTT6^iS!Pj znP0o5Xijcp)BC-IaO7agnOl@6-?Eoo(IQ8!aOo*1e(VY(TaMgjt@NS3p?2m5rn2L? z0MEGC5SXd>#aA{XtJgdet0OYM^6mx2(!?${5FrI~IF~Tb`V=t3`9ybTl2FiN=2PYp z+*YjMd79x(d&?CgeLX#Vvtxp80>OJ7Azl+8l^Hr~_`cFVxV5Grh<|7s@Fx~OuRmfQ zaCp@GXG?OonFzvI8{mFHOhw$eMV?TK@8 z0_n-S+PWa(z0PD%da;h{WOz?vA`Q)fi+YaE71ama2AsrcEM(N<@fCB*9(=*mH==Ll zYlC^1#D_ah;KDJL`tnnA=>{CCzDxq~5tITJtQg9^QuQh|9j`n3|BLi7R(+xI_i^@h z+Sk-as@kF9Y`_VWyV@U(X1FXK?g*8EV*N%#XSMck_$)$&MBy1lAd8MMW_#NOQMV^{ zw9|%*alw=u^=A#T9Ka9r6F^>fhs~pkeY>9DX=4$ibf7LMC~4Z1M%wFJ{B*3x#`9L! zP&e;%W5iD#r(yC-(x>8_M6a9Ni?L#E8)+_pHv!NSEg%-^u5RYB59al_N;sqvj+dkY1->2-$N-DzJ9_ZJG<6tZ+b@EH~jK;jfqQO=!> zhZrGb^xNB0PH}N@s>Ah)kQBKfd4K8R+=_~p`Sl%h_WRLI8K1YU%XjXszo5ItgEw7u zE@pFcGhaQE!n^qElZ#}y2?q;ibfWC$5H(Yg*P72^$(3juwC_v_;A$?L`mL7tcI10{ zaY_FSICpWx`*0)w6uDkMMJ9BA`n2ON8QjE5^Y%>lA%8e1Kh|G#fu;WE7 zX8uZ=?1>Ont16R^6(>5whGKFvGw*fEgwm8z4RKuk?pSo{qO%tPlOpYhTWRkeu<+vg zqs*3f8KU2|zZ=$|qN-cS$J+{|${g>*o#|9ePldr=L}^Z+Q?D*jbR>+S4b9QJHLgSq zr0Yamf+>WX@upXP2qKXZ+qjT~5N7SIO@ORJ0kQ^KV0yl(vk!~*n#Duamq(x+DP>7# zDg^$AL-Cmf1tA{`&;Eg=n2daUF)!Vt4~iI`$x8OacO;cIs=BVJ@X;7hqWIe%$MZC3 zx%)$twcYxz20XJO_hrM=O%%Q8SuR$NnwqF4lxY+vJ)u}O>Y9RcY0rzAFjTWIl+r~> zozY^O1X)rdw`-mu`)!v6{noBIBx2n0febBSz^%TB$uatvSIw8X-Jd?R&Z1|$fqhdW z#eIEKZM;*vK=Mu6rHd$@Yhxj3koosvWo7tqOrT&lNnal@WdX-s=*v9g`GSHYZpYom zNDh4sQBnA4qD6l%&m_~d6|v7J9kIodk@Hitq4zk7cBhMc*ZnfU{n*CdqK z(qI27ul2~_<;Fw3&ln3nT(_#-I^U2=C3O&Ihjy6r5s?T}5=!+xee?0lh;7Zqh;(LU z#F4ggAjz73jmpos{E7FnH0ikGp7B}dtv!>k+cqB-;b$^c#OoQUgnPEIw8slxIk=Ji zz5EPuMCEw`qUw_>nKrO@>T`_VhH25jf_0>2=^K-bBknelB=6nX)B<$jR(KnzwG!KE zvGL-5IUFonpoD_rrw|zAD%ID!=@yp*VEhxc7+Zm6?}K^$qQKzb;5!+y)?y%*-bcwl z5^YPb=d*?u)9g{2qy4e+QQ(-NtPaherb0^?)rNB^0P_{w-IxXgm@)%r0QCy3qBA0w~wmV8~T#u5^43RIYsz{_=uCNnE43v^FT4R)T64bOS}!0*w<_gQn*41 z$bs+PeRJLQHf3R+XTcrjf>9G4|8y1#7EFlU1lp_38~$YN#;cx7$%3Wc z&{V9&&qwX6$}-I47f@zM(3WqrlE&~VnG|R)SQojQiWxT{q(-PQe0f zlVTNh-%Ab7`jtvSF54Vw$|3Ia{5zq7S|e`KKtABNFEOpg=}@L>G2Rn2?3c}u5xy}$ zp#+T{MI3y9O(vrBkx|#h6<_^siX)<>+#&T7>8()l^r~K#CY#waJz$L zY+A=t^@3V;l{s5kQhBN5hv{CCuopSSQ_=0dM0&)=Hse&}}``n2ivm*Y5!1($R&Tz5DMYThZBrqT;ziGH^S!MXL;)C#_faK zx!ChTbzop*MjnyC6G=l3h$%G5{ZRwaQ{@-(cD2vGaL){PyWDI+)LLwWa?uUZ#jX}N z?_g<1sG7C)f$Kd1wc z)uH;UJ%-?1^7Y#=ZOvy6YnXVggQ=KEatJDvpAUPi%coaV=&!hyiG*{G&t5;9^X{FR zp|{2+*Vb4?(`0DBBr^Vc5(*L$k_)%qT!*+;oHLb|@0KC$Rp2N8wzV}*3$ZmJsbAg0 z&MN6Q4!IU_DcW!!aftJ+!g(?_=8v0b>@*MvBtt!hjbt;Cy7Sws=qooqlICr(X4Tvu zc6t-zz1L>*(XB+mp2v)4^ZBEeyQ=qc<`9g&g^Z6L2xWaWcp1Ipi&UhPv$FKKYmSj9 zo5|lb1J@?Dq9|+%p_iLAWX;b>l0y>I3$elhVKKv1WfAq+(O|qNRaT`rm&F&2iN8PP zf_~<1nLTW4?~wYsL9q)_PDs3xIT=*GRD)mVZV_C6pjS=ruq>2qbss%*_1;ocVtD{u{`f zckjLSD$jb>TD?Zu>PFnNvzfvegR!ozyY;t>o7is7%lmZ|WPE?;|29;9#A_m4(&(C* z_hh?g;exmmr&k zz61@=9JAgJgY7r1GAjnM$rDWc?O^{QoALz(v?ljk1ha<%iOM~9`(k4^4!*!abQOrm zLVCR=1@OA;2d6np!sSg{qBblg^M9@SWKgUy-Rp7UNQxd?A;BTB!{{9Z;`b-k8BQ_g zPuvgde7kM(_!m{u8F!9Gh^s$GbiJAPk!NCzwgIQ!^H~iVvnq8q==&6~xaAm?s^796 z*iJ7^Qc8QbDm3$tYQISRan?^Jc2#RTpYh}0Lc~cpzarOP=ay>MI-m8V>-MdR$;$6ev0M$N^qC7yPy7x z3vjo^>%wn!8DNJ#tn35!`Sr&SuCa0Yph%nB`uKsZXXe{jOh6V5aBQwyuYLYgw)!aR zz3t6rh4YzjkK{pfjvbBkVvan*jO=2TANgR4?Q*#mo}B+U-tiA%rO4P`R^5)cqOCXn z)C083qU}mYZJACK7n=plGJmDf&@|SA3Uq&i$)-L;WT|0M=OS&)+d z;07ezZcKFrsQGV#8=hs;%V zAnj#DyheK+#{=tVzO}tDALAJ5?d8e&>Va?Ptbo1V>nap#Nu6<&8(y!@UOrOo={QM1 z3r5~&=>yz?BmfV{4REpiFGjomk05>;0#dk{=&#)6aP>80?UQKY7+iJWyQ{&ywsw#t2xGl-66N2aUkQjk>EF_~EhFW4YS;RQ zrMp$kt%t1r>dunFz;iQ974Qd;i@+N@ra;mG z#xl*h4H;8UUA%*8)Vj{2Vwd?0+y%-uDh-FC3MBSDF7T)s$goiu@QeyyD|0M7>|DJf zC(mzqW}dA62yH*0Dq(SI+@oAGAgEuJ=OQ2Tv16WL5x&X>`a}s@a4?(gU5@aS9g4^N z=syVot(U$BD!RPS-Iw%!Ho->l(5Hd|Lwm8)QL&6Rc~I4>!n6G3i_W&Tq?#&fKJYX1 zP7nQ#LV)Vc?E^D+f<21VD}$b}Y8a-umA}&#)G9G($Cs3K>`-bsLYt#*sy%&lb(9Ic zopixdAwNI=2c7uP3iFRZb3@5Cw7{QteW2U;C>CC0q@TT}t>GPeRaH-f`$IXiWef8$ zMSa9#bjM)mz)VRLk}<9Xk{FN=_#LOuEiNtDW3pg+PC8`TlcCbtclkpfPyCh}1BF_( z=RdW(LB;+PyE9^6(4iB>_Z(QCn`Fk8Zn;QZ8Sx&2HPMZ@dlHAfw)W*Qk6w+NxtiA) zUOb8%m_7>(7x;m8|>NDru5XmVw z-0@2Z0Lwg;r+Bkp^#$(kO|&jYxH9|U5VEfUHw!DzxiyCU>A)}6Z9^V^gyyZMk_ZSU z$ou@w_b7agrkmlx-rjyyvXz$e*#paUd{FG50UV*sDh?IUF7O6m2Pjod3W22-6z^y4 zKX+DEm+TJIS*5O_VYh{FqMBi1M8vVxt@)w~btop+pWX&f$2VSo_RoLdGgW342HgLt ze1z`53rPm{_e&P0B@($X-mDK;#q{#}^dA2DltI$uAaHWman(4p9Xc4y5EAT{bJ7Ny z<+lN)u@%1I$?IEa^BeivZZx9a3^NCq~bLwhQlik?{SsBDr#zIs^Rd*KYy1A z29PgxZ@8uXn*nOL#ndi-`?j-Zf8nPBr;qoXh7=nFM?hs#)@7B5D@sDzPNzceSobxZ zI~F1$CUynzsV|<7)bbk?h*PTqws7a*iwBRsoC0pOW`9OT!SRb9^9rkE%E_0FOIf&u zOkcGuudUYabU2Ih8fAHU=~r4Oe+nlNiEl(X+2@h&)18X$?(Ub~y-nwqk!8O6>$U5l z0?j-}g9qN%Fl)U_jxwb{PUK-K+ke(`0d6$)^*8FN^ahgw)h*xtfxaJN_F^Az2i^=o z^{dw5KHN@!V8rb?aq)|EQS?3xeAdx?%01@~xe1vZmwTCL&H;xqhw}N!cxZAM_t$1w znPbJ`jvaHc{5kWV>gr6BPA^G(V8FB86oVcd9fzi#|>@MB1DL{M)iRP%^2($yZ4P+grM&I(Dk7O3Tj zZ2robJgPGD?d_^VJhn5H)7#S%fA57^YOS;6XcO+)jb2;+rEWk=5Vde}mV^%%l5G zHr|!+%N`)uR7ySAl1*2dn?P?(J@g+I=tIyq*53K5@w8TD+|&uSN)Fi=}1XQ zy+5IBMWX^^ti`DH1Qd3O^w|&A`nr#d-p>qmT@8bPB)$HRqWgflY&9}(&|9j!(?I6Z znVXx}@wU#)6`he{u|0IJ_8M+^q^5n-RS{iyLIxUujZ$`JX0m+{a5$D4RuNmV>-Np zP3*)w&O37JE_B!?n;2qeB+qJ0FzZ^^Xg>U6;b~=+?`P%VAtVoqKMyqG60|OM?3Bn` zH1gOKLZNbMtmH}bzQ5tO@9Yfs2hCxGR&GO2jsDvk4Ew%uYY|i4I~`-Gk8DF!y-Ab* zZLnWkSpQ0i8!`63-A(h=`~t#uu8l8SE;WTmCA# zY|`h#gXPjw0Y{qv<3v5;yZb2Mwe`Et~QoyD)&_iwBN~sDZvZpGg5l*tk-(A{iHzWtV!Vn$oriZS+T*WE5@k}_v9qc6rjk6kchJ8(AVnU&@lbZf7*tOk{v9NcD~ zim@VnKE}A%v5r)I{q=29OSk`Qs8%Yu_s^I4x_w{<~nb1J3f*LgwF$nBobh$+MSw<~?O{ z9efY^8LzgqyiyFj2O{m(O6Jc%k9_w=ttEf>V$rhI8b~+x2;(QhA-B@PicJLK2t~B5 zA{2?|jRtRm)?n1pQ~2vT87M9u5aC;uV1Jw~r#buP-gC}*t#O3y!7ClwS}M)IXSe|L z79BdCx7qq^YildQ7Z$*r>4PK5Y;=9k*S`;gjmEFDf)Td>J6~9opCd8&pP?jp3YJJJ zzOwVWTx#IIk6ajiF#XHtkL6QGWF7|;7l7!99{|}sEEc`Eu@38GR$s<6_vMhT>}p1& z0e37460*&rc}q9>V#`XN=HG)_$$!Bw(*;?ug)h; zEY*?BK&6fbQbshdR9Z;LCuv{YWo-N9x}*KACXK&$XrO0gS(Sfk0f^`xBZ)0ydVt;L zd+7sQeVjsoLiiJntL8(xGnAF8_MHzu0`#6omsPFD4|-*N#+x+p_oG+`{r%Ub5VoP7 z0q=jSWaA3}-UmBP`umB!%{CfNo@$Z2J?W+Y0}JhU+fty)<=M6JlxK=QunVG0!>P7h zOsZ3Dq{OjpWr{P6=p6lA469SoE(vX&n$drLDqjCKkraRHHk^Xzon(Sg-x)@t+Y({> znz@JXq(7k2i_4$NrG)uiO{I)XUy3vJGDP;A4dP<(qio4y(Q)qL#@IoZEKs3*yu4la z*y2T@8bt_5>L>aI)jSUBcSZ7@uTb#Xybxy#1Lh_Qk{GqXKxwXotxU)+M{>-0-e_9{FeO2C@Ew>lkZlC!a;?K z3W$%2g0;xoviAlIYhLuPyv+Y;cCPka|o=y*-cM7Firl#uH#$Q1>D{YT7)J=gnP0svJ1tv`^< zzI9{)!A@+|zB+Hc^=r6M(q&L{i}xMx^On9truQJ)@kYpl(aU?`t+y4R2bgbf+U4I& zI_MHaIDDe24V}k%)k`wZp~{c+WE6mpHg{7&Jox&S?ufq*mVe@pTjQT4j~|K%`u5I( z?|f)t*fr2*pu&h>kDCoty2hwGHAir=0QIkoz8%PL-lsv|&@leUW#z}k7qUOS0YzX0 zxwr*TdMt8Y>*bAC(fP_*xw$99?|c*E)Von2kfGczEKry%aNA?Cf*R+)l;tk^^)1To z{u1-CM%aV;g~$U|;UC7&Jx#R9OxHC3SR7Keo#XI?MqQ>o*~HMcF=31!&PqV<`jcwL zj(%R&zNtnwFs2wYodlq->@Vicofy@&sy9>W`d0zxl_nZ0&sVEhIDaM2Vb)FBaY4fP zK%&#J`3#ODA@YBkH?X``e*XHl+#|8~b~$2QGWMuz7GqLs(8^=0NeAPg56V?8h}wK4MEun=jJe*@@kD zXJmSQz2}{w+P!nS91qShr(w!9ubp&D0upxNoS>DPdbQBZz%WJA_-jh* z!ocwpiLGr-TcTo7R#voZ8fdmHQdVAWqvJU8&-B5BZo9z;R|}UFsRP<_tO1X@=C`GG6; zS6LjTj9f_`b^y7d4n!gNI}P%&j6K&n~GSvltPlWwRcSXIg-dOp?&2_Oou-r6q1SdRGDq0fm>ats z?HyTGAFp*?zD$eptKM*aKVt&Z80h(eb8Y6diEI|d!xq-Zq_d}5^4{IO;`6a&%?0(y z6QuaJZ{C*t%}Jr71r% zJ8o&b_i5B;_q`7>@B-o?P@^5OKX{Lo2yDFa*74O{HDegev}DCBs4V9>1T^YmqBFc& z6|W3~9wXWO>hR?1h)bjLAO3iUpaNbFXy2dg-YLCm>|7^)W^#SYfB(+T3((H(QjdKZ zHiVyY5I8nwT3b-4L}>W)$UHlqTQQ;YPihwR(B0ouM3)?;&K=vpg)FJ*eYY}}I{$z= zvKFjRcqJ?U*p0&+RKfXjgYepmxzlCua&Fz$%+~hZ91m&!hFENt#YJ=@=EY;&2T#WG zyI)nNSo6J|m&wTv{~F$rbKpv%XH@QDk5+(OlnHk>&WAC>@rF?RiNO^6WGk|BQS-0@ zC?i!G$84}tlZ2t--L$)sQJpJ+v6tHJe{X4L#mpxdueb=oF zokY&48QOO!F)%xv_xbs!rMWp5Z=sxh^p)3?CP~x@P}%?i8at=ywn4Jyp?9&%DpqX4L{uXNzS^z3raR6`cVWI zQ)%^;Z||Z&b>3oaOT1vL`!Oxl4tsU#$J`elDUaofkV4jPAwSLtJCrp`KnH~?yWGG0 zR)hA(KJCAmkH7cr0nA6~pjR_exp_Qi`A)gt*ohsha89)W=6)(jPEOBhp=vrsE#MR8 z`E4hs=CS;|0<+6(pOIJ3`cb^gjhQ*+^VJl}>o;4>dCa#d^=AbGiDRRF{ugtfNcXO0 ze?=H+zS&VAE*)qq%oAc+hmiWUb04ZAambBwVU%@XahTt=i!Ve+SC3fASg=GXo-9eQ zU^skDLbP}G`*+o_!$^Gw+2}jZ>w4^y`0i`jS&AkPbmgD6`D~}~%-~a4P(f}KFeo7# zxluYrewZZV%9yBp6?w1NrGl+Ob_=!XZQEt%)FC6Dbw7nFykq8r7=HMBPkwavvxwPr zsPr`fc9zr84F<&4eA)MW=H(tv+Pw>8e2B>$OoZ~{PG+*KY`|v+{2NCBAEdRH$trvs z6M0m;nfqb+IUKiRZ$jXL&e&3D@-68?q_yodGljCHm73y@Yixg0#3W$+*^XL^z+;Oz z$tfu*BY@e94~B1sz@;pmxqNADvAm)5?k-w3@V85069QC(>(*Fxt@ju;E|OEh%VRPpf}g*GADa`eZ*xY8J9!lJ z>e6r$tTRa6>79+n;7EZa_A$~I60>}T^Jj$}xH*jIBg}8M^1X8$X-!V4#}YOI0e8@6 z@os^85*X!Vjh3gF%`MF?c_HyXP&Fxf$@?s^+-Url1=d!#Vpl!i^0=p|?Gm4QmPSn# zjLJP)6PRN8d;LF=d-Q2;Gn2U2G5jH<)+sCEYLDWqj$XO{_^mt$3N&NaD?e9hfkmdJ z6eCA5oTe$e@p;UUaikZF4aUYK471*<3U*7qciu4TbsE}sW0=KJ)$ zt*&B(Q|0`L+p+w4?p#6+dk;rZ7fgrI!z0g#?HXgE?o1z?Rfn?KJx@|sKnQX2fp0Eo zv{Y3NTKpAnpQSp3x;0NY(H1VDb3LIA(}J|Fl9Hw&ebMvtb2g0v#;DD7uD&dCsg2K* z%V-4mK~1&_FIbT+pEbIOX0G*;yMz|DZGuGNadooQHGUDi#+vxVdBZ*)Ap{I*a^9rI zrf&*A)MYc=<^kvpO61)axA@};|bqqoVaG~bDe`klqJ4XJ_bT4wk! zmQ<;#fSs*0GyIPMQm2&iKfI)#dbCbri-E$Ve@Q*v7 zF}-f7LGZm@e-ga|CIDvTm-?Rk_vZd!*TXVz>!kdQ)h~qkX+RWojC=v;InU*{P~4Q0 zvUxdD&dtC3;~gb#^`$ZRXG>gdRjA{o_nOR}mg|wpJ z?Xi>+6U~p2n0Z*9G&j({mTO?aN3p7s^TAh_4dC5WQF3_afVD(VbKn{a7~YWYfG`~6 zoO`d}jq7no@JC;<$|R(*cw5HskHLp23{Pm8=CVc*4rF~%QFfi>Kq$M>)+cLpzFn2w z`18!Q=??Q04c;5Hr}qVnQkKQg3%4g%P^7vdQu*+cdD#IV$X^F7wva!Pw)QZn0?={JmVbaf&KGQM3o2z$tnm-&?}nNV_SY72Lx zm5|kePj1AkvRF3^Dz4hEx+WQVhO!tV$$6j&sg+`SzV-*js=PNN#7tp*ZUj-qgaN}Y z(6&ZX$aF6r)<7RdPVVJwMGPsib7a>O2F!}ggr6W^mf)9Spq`aM2 z&Ws~6aYNSAm^U2ef~N*#BN3q_#g1Wkv<{D`#+%>o9cNeb|Q*$CMsDbI@( zB=(C^h!>}{+qy-L4hK(D^Y(S)rXMkTMrDIp7cMu!>_)*uySMt26wtD7j8E?0Gu(&9 z_qTW!_BraY%>gYM2mc1&-dvp|4m&$b53hl4o`X50+G%;)BpC_AsUj}ONZ&|I?5nu| zaD~I7`O%hwsZ=708Kuxc74={=`llMG&whVO(BL~+KX0rrO3O`YjLVl$l-eR6pA40@ zdT^xi%F(Ob#+v}{E%1PUHCao`5b-HmNrfb^7@3 zt=zN?ERK2A=3QXo+o)T@VQYN=E!L{J%?MKX-fK&vHSmWQ{3q7NK>_X$2FOa_jT^>G zFee%>(-g*7&sbm5p4<4C2Cr&VDy@-pwHrudtG%l5krWuPz+On}<(MRBm82{d+1!ed z*uO9RIFPycD;Fyq@NIb<9COo0RBR8_O9PG~I^6#UU2{bLUh(tWmX3*NBCe@SLK zW#UC{LE`J`X@2gvAQZ>%wzsU&l8lq}D@^rWvRG?0v9ptlNZKF;UAYo^iqF6eYrQ5Y zxZGn-Zqw&L0Z>#T>1cmf*IPQdVN#2>u9Zr<(wz^BKM(P@!lWq`EhmQc@~K3qV%j7RH9N{aKhP`zeI z+rVI~w|E9+?g^1}z~IWj$uP&K$_}U7O0Jm*o`ukN>nN zu1I$u2<6o`Sw$>Zq0@RLxaY0VgtaF-Kb;y$)E*3TZ1gpMq_y-FUT%J)&n_$7DqQjq zxz$!4W5imj&#%|%-!QX7c~I$YQtyta3f(Y~GaB*exI+5`c?$ATnp&9_BGUOB$o9uB zMmss`6}4#&=bw>rS_^U-c7QL7)=QEW*v@$a;UxG-JLk3`Kz%JN{AhTIetzY40(4oc zt=?<|cH(g`HWJpj(etMx3Ehpo1-8#*u+oKQxxgCRI|UPE0I-N@Kt7 znSe##U`;R~=;@jNXIZrcKt{^Kh4Qm1jz|k&7=awt%gNR`fo&e!o|2qL0rG1*hc6tG z%FHacqDTVqYRJ8Jz#__HX<@kyQEZk8ZP_-6Wy<0hbulZ>>}igT6|tTyNt^lsAaz`t zwkU<+pr(h%!d7>iE-%i=Twik58twM_I3W>Z_DB^B8n37ChoGr1n~b{bFHNv9oi6_3g_Ab{xqn2x*_iAS*BD^ zh2p?$RKVrdmUV-$^B5uEH+ha7Bc7LXS?OC!VNv0xh@sz2AhjZXiF+U3ecS2tkIn(z zDHZYe9HIa5xD;=LPhY+NxaT0CfuPeFwIa%dpq<{~lpvo+Ch!Wt)re=QX)N3|)zxnF z0*^#9zr`|9%@1_Qc9fP_Pfp}U4=jvU(D1X}5dNxS2F)T`t~ z-AvRFd^dK!aBbhje7qBS56>l-X}^k(^QKx@VF@*3J5Ls0FhhKrU?nyk_drA?m?|KK zXm(%NEKa{18cdHt)Zzr{+)Z{s;z|Co0uVbbue8woK zrN^vCyNtinPkIg z`X6@n!p`4zRWRK;mF{bgMAOKxMH!QrPVwEPEojje44fW{-bdLW+YtB#?i8P2GoN>? zV)@UWor8FRnye+RMarbizP<}W{VT<887IkQ59HCdo<8&hG@d)Fszdc2nVStc-rv3afAd9B$dzK^D z;WjC?5Z$+;>m0T_C^;a5;u(^VN2CwX+LjMF4Bc9Am914e<0#R+IT3iwY zO8_d`{wYXGVx-7UmA7>m?VmW01!94#$_yJHM@@|^ED;8?@}X6>V``)Fqoc)I93N7DB-tC^#^!7fwX-{~Tsa6ayk2Tkw;qTaFdH7j_PRf|Q#eh| zX@!KI5-{lR5wUe8PPE#Ad;Dkod08(gjk?27(`Jo+s3AkrnQ_{FFdP}>9?MVLN!{-L z`Mi;-cj3p+m9}>g+A4lEA)5Joacx@bsXY8i;zd(Vp+(X#x0U_%l&Y17!;zh*r&(k8 zdnZOm8H^JW*<-o<3wy&r=fe<9QhWJE@6|5JH`#R|$Id@3GicK+sclh3Py6{YFof>M z7J1f9z^Y2j9NY-ENrJ=N&Ac;^T_;PAYXQP@-8ka)-l^&qJRthYzJ(RtB_Yomqz-_+ zrBq~Itb_4YU=oK#;H^=Ojz~Yv)F-~EUs_e`Zu12dL==c3mh#(R;731Wxbz(KF?d(%_ULOvxIik z4#gbubbYY9FHb*Nz}TkX6QaU7$sC zVL-o2;5zWq+=$(%iB|aN+WP&&v$wp`rLlxD+UzvL+2~;HjkNNjYBVB~Ww~}d*!(=Y zX3~g$ho@j7hg-L+)&z`eeIEIy%I#DQLdYn9Vie^G+L)qJw6is1nd0orC8r!69Oln* z%q5`ViHm6fF;X-2Bh~p|;&m=Gs{1vB8=~I9BgfKq7@}!A(X`<+)&#-@S|4rQJ<}Yu zqtpm>K8F8_H-vpJt)W@vWTNb6Ja7x&alfYgs6z7QH|qSo%d<&V+06AmY2uy4$q~@G zqvFwK0+i;w2^zHw2@z6)nAj2LVe8!!-xT!tvi6hx9~x7q70A&F@f(q}%}CG7Mb1u6 zoZIcTkhQEHQkRYC!MjmROT+9O&g76U~ErupBRnud_7Qgrk5 zlAlh%DSi`NrgHnqlujE)MMtL<5C4@7t`UFD*#gcx@UI3k)KbQ%I%eTKi2RJRO+ zfw9-$6sr{7i>r>L4(fHbMSPGYlZpallhn1W4|J@-m5s~!xZ70|B9`a;H-hr*JRQ{M z-4U5$+Q0(-bpYmAi4d;FUFffy&}Sl-Eo~M<6wD ziZb@+1{>SDf02_a167mYwAof@cz?cCpS^GQug7E9UO@e3%TK8)d4IVQu~ zjk!US5g{~BVN%VFkXEf-s!hcTbVH!oS-*gMC@edU1TK5|mm|JV%xA5L4s_pM#sB9% z7JArlJT-B5oY7zf;x*0ST=m@teO&b?-6h?6d}BnRzp@c%x>Qhgg1o|Oc5Ey$`8$Hn zvM!+~<0O;cOZ0D#&zD4xe0ARGcTT>}eo4jV9ONlGiAgjov#8m?Qzg{w(qRCGO$e0;O7-Q>}<^ zDSo7-4r{;7L`{*DcG3)JsrGA?P|tTE(L5*55fhQJ@T03(4g--s#Xqn+Dx=>Zbprq! zeto%bx8hWU20qvcOde#8-3`nBbtp{pCmj%XH-+tRg}gNus+J9K)Ah==?wHf%Eo>e5 zAr`jX0k68d4u-=tmw@?d@k7Ov$;(5L@a+k1_|kO1l7@B5!tLUPzgkcz0t|E?GnTg1 z?EOfXb;82~K>PeP!*L|pB-=P;Cka5+!?H5wP>g4R3}QWL;0Zu-34=1;%K>RrokeQ# zP&nD@UugI-d!l}ZmVheF;al)g^Ke$~V8zBmVScIk1v$ng4tQ}x``RayR#}fz+auEW z>Uwb0uRj}pHlW38nC4FvnN{Z7ch9 zZnLH z@4Ndn<|5GZVki56Em@_^PPl{gQNt{;R*Bca&ibAD%|s&Q_enF7WEi;m`bG&+nS zIwgi(?g8LM;0uOfkZzF4LT19;kotEa|F%p2&=C!1fKE3%wEOEgykBYM@DkNu@ zmI8W7Hv$$10v3PJv6K3ocZLxDMbLA%H8Kg~hg(Yl5cD!kDckfh#G|u zf;iv8iTY&{0MZsT%-FWlQayE4vh(yrEqU#$Jc+jSbEQtpTYhYG(0Ht>w9;bCpx@F8 zDbE1jlp~pRRYSL^9iYEsj=PUXwb%XobEa52-0$h4X{{NX;To22OrD73jJg zjYXAuV0+m3J32x;#RoPiR#7$-Q}5bOQ3Pn5QldZ(Lrk0@aB3=rll_*k?i5tXjBn#glNiHw3$}ZzcczJ0t$YsrC6eGpN*KW)f3wb*(j&c@2&)lmS z^Zj--^>jyxsnQ3I1J{sRQzhX}SY)On66Qt?nmTWpdXDcDgE_1$ub=`nd=ahi-YE9R zd?kpksX~0GdnzQ$#Ke*xT;f6-wQF){{RmEA;$q)c{^^58Sf0UT)=G3hD9qRBz?FDOLINb2 zvw;|~dPIEw#8rS)R6p)alAe|ucaw{^9g9wWBVD;%w!bK;=)z!6kBIkdPvbn&`F2u$ z!5Pa7&Q|NpN0Js=G@-nyP(y0k<*KEsnl(zH4CTbc4Ny&V}D!N2B@8YJIG|zT)qbT}2><-AMQ{ zYQRjo+x_FTL7}atZNPHhH;gJW9UdpapKDsbGA9}PRYeprRBB`4Rk-@yu5hPST!|Z+ zGBZ=V*^1CNEnDK$F7u8I*k(r|P0Hn5ep*n*FRPeyIc34zKp(9=njGxit7{*iXTl%u z!H!>D6&g~QV4wGO+r5o{1iBuQ1AWM7?i_AhT+Iba6){Y4OzbA*9ssyPmuPDJSY}u! zF((byc$-slK=8Ph^8LNMJ2vVn?^J2KVT`=o+#1H(jqoGKvc|i9%gt+O>OK~^J)4iM znKJ0nhK#SRPn*WoyLaYSH!Uo5bi+{C)nv;T_Qn3!O$;8GY)$xPPNk<;x%cI=S;}Bb zO591zS{uX^4h`a+BGumVt*s%-7_qz}JnfZdw+{R9Pf~%0C{|BaKL(+vI-LwpdAk`F z7Xx5!3^g!B*`iQ-9&&h1dYkqp&O36Dll;AotcWueI+);UE1%?JoR5{%lu$w~D+L#& zU4PBw6)pLaZ;`C(y(aq$4a-njSvKvK9N!GCP4qm}GorbAdy`fl1PybmG)`XHE3JP7 zwg8R)?q=g2;N~?`7!h+)b6fS~Z`;fS1?_wTQ03+R)%a@H5UZeOY>9103dk}3%F4p7 zl_VX8nP1=)ImOHgsU@|%yG#jv(b${Wv=&}uvI){L)Q@DtanV#QhbH;R2O~Z+UE`w+ z<_e{7D{_hCY#z0w(+f_^Gb0dxo@qORpod062HbTb_^6hqSo6+bJf;_# zAcnYX8%)ZmnDVg)DH5Pz zzSG?t3eECv&sfskhh8p5{h!sNs;jHF5YioS;*ye>yqtn~afI{n7%ecoZhLSZ46|2| z19eF*xL!Vtc-O+XXIYuJyRp$JFx|NW6D-Udc3mOG`3XJU=l<(9X7#GtsiICz1INlP zA27)0*up4jXvsa6jf7|Bmwzkk-?-vF=T_EQ7K#&b{E|;DW0zT3^BH^ni;2NZ&iC=p z$ur!|{5&0SPkYxdsL(>yQvqaxHE&{KLR(Pg+A%l)t-Qw^Dc&id)z5A6dd=$qq)g9HTfuy%!bDG;BRbm<0X(}n z?vh`A1FxaW2Gv%rpsB&Ouhz$QFU0z0@dSm0A`a!HW9#RU8h+TGOh=BhXN@|YSE8l4 zAZ{LGUxVTbT59K1mf1*cU%ou10e$GWJS#1ntIfX{?Yfh>`wr19ZrDu_8XPeYxVqa< z)xIo*P*9T=zf54=edvlmllIx`QGKbP0q;gB>yy{Fbe@>nG}gPNeUj#7u|CiqoZzov zs%O(qjb`%%DN&hQ*e@2DfnNdxwYfD@=0FS6-cbdiL319-Khf}TQnb8m+~h4t9C|?f z$AE2icJf*VTFggkNCOd^M43*Z`({v;zzl^g?c8b?>mL&(_ zx)l62r`sm%KINc0a^qt;UC2|;u}K_Ku_+u2{A`%+fcC6+X5y8Pjg^eXyoKKo4!dG2 z9Yv;_u23i?MVPF?u{aHh#MQ#P#sA_0Odempt$^K6L=ak2$2KFplfvd=S_lC;)I16OXt92=DaSQu+_ktYCNn1iiSvt#Xd-Ii)%Zfn!VK=pz}s+1 zb8T%(mM2=GSsO1ee%9@Vqkn{#X-V4T-26O%+2-d$4vG_^J6ta$!iclHn5qTc)Wv!0 z?Cz=NDgoIi(iHYTl4SaZ6L+@6b74OqXH?7>e{-$?Y6ftW!_yMGk5|Z-j-%M}#{YZJ z^4Fo;>^?-SZQM(frGb)f7sk$rZ-)~srA0N=49&SESyOjFc+q;4&8<`S+#BIwf_)(esxK;oIYY?__k4J6Q4a?Kb>IWh>pn;;e_4AN{7@$E-W}~IoMO%4xD&%RLX&3o6jFB*PGYwb*Nb4HN>)6@6k2|pHz;Izn-d0 zRV-uF`30%ETtA*ZxA+#JvE^5N0LsiTXvI!oCk&3ErO$UPmPlcs)tJbiN4 zDYbh5M>n2&@V&yWk99H|LmsZ${ZR$UX(fTqQ4^STC!=<@3XgM)jD5_v#J=M<=HE{H= ztQ^Iw3;(V-h2PKj3~4)an(TZ#Z73@64I({(7%hA=vognk@sA?IXS=Gy{9Ro8b@`VS)>50Z0GJT0-@= zqwk~h4@RTT?A}y$I5_&*`X-yZyG*g@?VmZ*spehpvuHAu4r)#G+eBHVEcrD1^R1qk z(d04jzL&R@N93}_C>wo^cv(xlsSx*J*{IU>3P9|oje%Z#Uw*~N^(r0GscO(!j&637 zcb8f7D~f3BH%Wl`Xt~#Isn_p4&wB!_X8pXi3FU2x7pU5T_ zu=@?bTLylB&R*REC9!b>aduUEthh^@ftwY>cIN~G z#ltHXzyHMA?cco{K%_hj3|j1G#-@Ll0I;mi8`{^f0OUiwiFp?YDHssdi4lncKd9(XQ~61XKI{a>!{j!GI1(O0*B z?|xbs{KU_n3QnM^AmRD1U-qOV-}Tnd;1dSFSgq(cUU%^@SEy7wKlVKG>f@B_|MB+# zBNX{i@2k|F-?OKm-|xSdp=di_a8X0yLV6(6aM;-2T0HC#Fm{`-t%-3`iB0wcSC~j3=!Q}@ z;q$vU8{A6HJ-70&LrK~n(p|iX6Owm&Zv~Qr*`n}wx%>S1D4+LOSd7U-FUhR4po7!j5{I=V?f9(B+RCWV;fd7d2PNbEBK8xxn zdD)z$!n=k5BKyP|Nc`$o0?!<6zI4o1ty~}a`oFCZpg;NFb%n3(S|L!_Z3xlr146J} zA74=Xxo=-`K}E3G&RwzeD{`mw%H+@geF5Y2K1?jSD_xI6MmOEvKil>OarUzH>pj%3 ze=ITz*j-*<&#>^_i~K}a&Za)S*Y<3T@(sF@sc~DpUW96~RuyJ-_YU?PKK8ve`qs0C zt86oTP)7So>7mn6R_+F6Fvq_y=x%AGONCA$5LA3&_`6*~)ey!8u&-h@=U=%06OH$zQuxhr6?Si>q{-$Y$M2VVJ+6Zl1D$P zSU#XkTk|ZTyB;p2ME5&pz9vfS`Hs-Rz=*G-*gnbd@dze!BgWLjj>9RT2<}&aO2Jhh2bMAV2`(5BdoT*y4wwGHTruu(X zj-Nx5#~4}g2}bjC4evw5>3x4?8GWc*!M%MMdB=YN0o58j`QH{Q02VsSYvsRtq5J6z z{rNFbWY?=4zaVrhu(RJ-DIvh>oOcQZ@$X`!eYtCuSaq?ZZ9ui>^lae&s(M1fiI(NZ zxbAXI8jjG@hc`o=a(BH8u#SHLUCwNM*pd4^p=oiC7{!1qDiI_$a&FO36)BxRgcAQR z`aGAe&t>{sukZGHl!4#Y`3Wy!xaYQ5+}bB=Ecw#p>GDevWt<7)7^CAb-YCL;zTM5CQ|4sKHqXzxH_mV0d*__r|NrKBUOaDn`pCYo>ssr(*7~mDx_54V zG;Ir1)ej<9tFVh&=t%13dlLWgKniDZr3KLsZ-+#g@)Ns~E>Ble0t{VnSocy69{n9F zwj1T&a2BF4=hPoq%ZLIL=s$Lv{M_GBg$2X%j*|1pFtgI-x_dv zF|E&n(YZUgydnnfTX#|f67CLvK?5j1o$)Yh$kDAf+iP;VGX?*VEGsx7&V77pi!2(o zDhO&b;`nKA2B^NuFRfm)Gq9PfKj_7e_#{IAFojm_JGclUo(46}Y*$Ml%w5Y#*9noX z(UEom>adKn*aOmC!&&v1R=O%X%1@_DyM0%y2oI(9K2b{%Z1kIL`p1A9lMh;ptqqnV zd9&bYs`74MqF(b?hDvoP+tg!Tv7ll&pdj#=aSJ#g+xgvfDVDor^JJx21{ZkH=J-Y4 z%+=o+m2RUl_BPveQ%%NAl$%*N11^Xc&g8G%ppP=e$Ww@Gy7+XpKh0-eGAu?h-ujc& zPDuZ}arY=@XAM?Ft?b^hs()}o`3^{|QjfI|L4!yQR*WGY4gL+KWgs3qDIj_jcULT! z21HCu3n21|e#{$E__`lU$^2;fB2;arkTIHwx8fVouKgegyz-Ku8m(YnGA|M6`tzq+ zu_o3H-IOPPZCv6&kIeoFK2Ow<2U|##+(Jn&`YwJr3;!Lw#QzyP`*INJ)wl+)K}k=Q6|s>w_xX>|2<7bK{9MSnnjz=fUv+G& zj+@ibW`jq`f5EL9!cxw~oWeI9+_W6~sZ;}4X2!pqM6u3%aY!jcfAcn9g;Fl1zPA*- zPT;B1^sfR8(uuY#8O?T5uG+kQ32>`zKZS+Sm>3)@Iu^v|V4ypUilw-{;AZ36io_gH zy4|4=S%6RfUKYIn7`>i^BYLzqC_!gQKQ977^t#8f6uln2 z*_6v(P4J-TQOqDR$I;{D=jq)CtV-11Hf~#nP*$EpM4Axig0gf4cEtS+wQV_!QY{z; z6BtHT%IW4!*3Tz9a+7|aruexhM27xbD-|~+_?+1Hq-AqLV>LS^SD{e|AhS{j)|*O* z4??e3g^+~)&sz@BuE)+Woq*l!I?Y3TueZ@6yT6X;;(Q#KhH=-bRLJ_gRKT_8`<|wx)J9+Mj+${HYCb^%ImwfRy#r zlB;Q}jVMf5s^?AZ(Y3w3NdBJ8B&Lr#HJHRb zN@XW1Pq2P9ndo6sG)D1j`!+Jxv$Eah)#tW;{V#4t431&;{%{B%3L9qwfB>Dt1inKh zC2-Pnn54nXTTj#GA6c!Hc+^!99`HH=OiHmn&}+){%c7hC|(-Ht@tCkablrp`tCu^|6bp}5NpoB32|E)OpF zWibsfi>~;LEhsvtP=uJ_%!VyHXqW6~MEs1s-bOP+l%L5L|2s|ZyVr_KO6c!dh9y5i z$~$6~IVE@$I$j@zv}-S(xB~?x@G};COZC9eN-Yz|21TUq_r!21I9)x1O-alsS*92W z<^wvczZW8kI>=cZ=#X95Zzrt|D>W&>DK_L;i7-`gs#Jz7+4y8ZRYkP;Kf9U#sXQ@E zV+LvaMn>f~eAe7(;n`oO?6%-$rkMLK=kPuLEWJzJ9NY|HIX83Z8DbUsj`nD7yb5xF zxF1XhWN56ycq?n4a3hCZ>zKKi@PFKlX8$5)l#(qz-8&G#>j0%fuBeMFKP>UjlTL z_Kixqp&tGcDL~xQ=eU6iSs?dI_mRxXD#5btlO*Q$?f-r>pzRBFy zfX8oS?#~-7!5-GuKFbu$f{?_*U#F!Jz1UG?F$a^?-n5Gyp~R*-h)wUQV$;hLP@uc9 zlSM~~YwDkKs!vuRxuBf6OByKV!Y&92$RpD4nl#ZY|Ne$r=ca=4n)#C_71f@*q?rl) zXkv$QKkoa++A3F-JujS(ZJWUNSzcCIrsA+%r!f-Df=T4wPE?G9(~4;to3#=ivZg78 zxCqK{R1+vALEPo_wJshiA4lc<);McF-YM{po`&%@h%bi~eU`{JuumZy<<+!BiYIR< zL^vbyuGl<^2m@IM9-OT8yRFZ``rohZh_iG%yi6sB`7yHM%70n0%r--CX%=898G+Ro ziaNG`P0IfbpJI-`;nNuGv1U2={K_B?#g!3$6jubkgv6`}p--EF@>AxC<-Le3xg^2mBz|LuD1Op8HE{LYzc!g1DaGKjhY_>+dG@DF=Ec)6ee#lu^gi4xcO-L@3ncK3mf8`n`}VCb!}L`UAZafNK!qZ~F3T{(5uL`{~m; zpQMqME89DicWRn2gxylBvq+Lu;ySlqW?l7LS?*=%B4a5q?Gg3=Qip#i@F!(CD(;CM zKaqNEZ=B5nu?hH3$0|i)TCZ+7D$Ljn{-!6MCQ(|h2lxw45@Im4temyPeW?L+{cpg$ z_!q#0s(?7%{%djCGWTWKn0)JZ6TivJLwqhP{bm6%`mQ*G__Uj6T$TR9SrKzj5RQG? zNL!zv2oPtFAcp1^*RlvzFus{zT424C)5iDGnN_~G-Y)d4zMf&}%g*KNaOELxmlrBs z_gU6t)SJiGpAVgPE`fm)vB7))t^V?LDei_xcViJB%Z;bG1EmONqB>Z1UU>z4G34k5 z8=tX>e{nbZCqb;!|Fu}nSo&<5*4^vLS#J=&Dz;(!J%~p6Usk22C9o;Gdi{0BrX-jD zpwe<8Wkp1)xOCbDAGf?nziy+1D4ra_U^T%E(YU5Lcci`-eFot*P#dbM*sdGWvRR~M z+5Cx71ZH1d_V1KO$0){VeISsxn|w0>HunZV>ioO<k#zw*DW9)CVedZO6P`3xcN7(J7h?r(KcrGVzmi^{V~6o&h*mN0>$K2f zhfQ3i(BdPO&u;RW?E6yFv;{x+)%dZ@PMAZA%t;dDg|4Ts;O&(KnS_{S$~J%Gn?tlx z66!pRB2_!~nF3wbI?)e3X&NvyGh{*I;dfWto6lSSj4Aj|xPz45_em`=dNE*e&sdN!m27hluXAdE)iRCJbHEYTecL1R zun4*-4%SdNc3-w`ylyjeIXda@(?lNwRi1hxOIw!OvF`NOfKl(Go*6GDOecZf$|237dQrl&^p1(3&fPlL#BrultfJk}l*JLI71OCm7GhRT) zp<$up@cW|INwEXm2pnkIsGT=4bV!%xy#b3j+@}si?rK2>y6?%X8V*PAs5^zC=tx4M znm~zEzgj+%;YGWhbt;RvIe+!(KQiNA8QQ_qZSxIwL*pa=IWnfRH}MJ@PS7ReUA5$Q zB7U4b-!!I)kVJm|#a`7$R;l)Z_&Vv_<@ZZkkb^Zk)}@!j-iXmNvJ{6#4B z;`dN5)}lhrU1o<(+dtZP^&Z<*nx6JA5$iruy~(y4K-E&<(cqJ$EK;x2t*N!+NAcA0 zo$?bWnU&=}S3JmwIGo&KPZ&ocjo()%@NK|9XJUlW5;yj1iuO>gIgCL^99Z=>lWjwYX zZSOmf=C;0u1^Ty;9;@tz-uWT7AHgTtcvi1*biVyU{?KMYjn%j}EUBCaZ}B$D5JE(* zIEu)u(cKG*#AWt6|M^yoS!F>bYQ=!a6cT^Ev{y_Dbr%#%>hKL%ss;t?LLzpsl zSoA#dnchl{RWR?>Ec05(;AbO2%f2}#3Ru@Ri2znQg|bsX#MP=+aYC00L=_YeiMaKe zi*Q#-yoHtn+1el~v-&u#oG9u4lf7V`ul&Zgp>1N{W%%`Jtqi&lrrFAn7-zJJe8czV z!;ak#Qe~yr|DZG-^z|2g(A6PUC70uZGcnM35sJ#LH~sm#hmmzt#%SJAwC@zM?$Hd| zYq9DF%aeb)q80|q$(1w z+iufdp@2ySJ_JWx<-sR!Y(?S7o^=67+a3sTZf6#1SgsiOE5m*WU>7bI)A)tc5Hq9p zt)eR=oPD^2p{vLK#?V()oDO`c_G-Kw*CSKQu~M65!`D?4(IV-_)29ohd3WdCpdP5otL<5xRkoqbc6* zvjNMvTAA^Pmft}eV3G9v^=PTC^F@{Y+GxFHp>a>j`j|WkH%ZB5Niz{BL8uItNOQhW z~^h974NZsd!6!6n-I>UHWOdLZ}cyy;nxClJK$(a<5#c3seQal z)X@6?Z@zZ}HEh20*RfnjU?aAX$%)Xs!LEn9BHD1(ykMO5^r>a~^Xr}<#UvsJo`$Et zN055yfFxbad94|las_*`u)pF&IIq#FSb`TuFFZ16capuD%14Pyoh|!>N}pH$bF!s{ z^i_|SZ>O2VIDxbWT!nP#;>T+&rS*W5c*MVd^KZQat95`bKbP4rc6^B~SC;$>aLyt$ z?pCrH`aH|LNCc5AM{QH)&P|nWyGy^mO3Lhi3f=JNto+y-L$2RcA|4zn0nW2*>w#JI z0dRpYhvw(|npmC~IC@C_7*yS{(`4h9+Eu3terHuwm_B9M|NCpgvmKg4Z>wLQ#q5aO zl$2V3Px{s$TVFapb-b&+UUHqLrIF=Zy?ny1JuK%-9vc60grn}Juz%2asCwo8Al{TP zx4{g!Nv{=)xA&ZfS^sH)vdZDcL0N4Y*QvE`9U+tfuYz_9U?~Qo`wm?>F_n^@?6G=0 z2Q!VCcQPH_beWL<8pl`k8(W-}zjWzgDL1dd>f-N$KM%`JEX-JfO8sFpFpWPm6yW`T za$`60R|X-rpa@+>PCk#6z4av}MIlTYu`lrl)HpWFOne;i4b`mUxMQz8hP`?fwn7sb z78X&EX1a-Kcx8=2`?Gz5znYMg_h--+26vS2z*VjIaEbTBIYLx!uBmR)%x5^x7a80; z4`+?}#$6pDE>%`G9R%U*q34$`zxsK8x0ab1>-0;LAI&+Z;hgGpeUeB{Chax)npSQt z_Xu*2pVkR<{n0z{`epb5wTaCQM+JG!aXNF0Ow;fYsuhse>ZoX6e@>%U1Ya6Kh)+_>b~@hw~BvI_e34MN}A z3&q9!bS#mvUKEz|v=>5K9*%|aCWd=GTF?+U5?8HW8~SKYIKgVV(8HGGNy;T71!-q$gzX{#D#uAG`8hZfflmihIiw7p)|7}Zw+NYAv?(||M_Pudcui(#1bfw5*)h*v?788QS ze3;ND21qL$SnxCl?zQHondWu2B*cXuZQ?@!Q}F{AAd&NC@Nr+ByV|lw9|ORbmi@Jt zHZUS*`^j?22(^2p$2)z;Ss+@kYf3Rqx% zU?sSd!>UKvXwE10tBK0W>x+N1RQ`t{nzP2E`ERxmuLfKl8O4yUcLr)}YdoD|UBt`N zrcbfab&nd7f4uj9{ptn%Wjo}7mw9(s=|-8D)6^&LgP;$yptpf!m=_pge-qg=N6KY? zgaS+xlQvtZKBE&`VqD3bFi}n@;Wfyb{`2sgm)?IQnHumvWkcilM;;3nqGKW zib+qIF1z2~fN^9$pJIOc_U*ESq?}mq6nmRnqmO^?wmra?^op^Dp^=Z9Uk?VjiCzZ> zIX7=R6veDBl5pQNebBnjb}|hyL0NFE!h&0+lajj*j)nQn1}45*_H_Pmy0GY{=oiE7 z_|bx#j)4xM`CSXKsgRRzcgo&pTZEf6uelz7`}kE<{?~U((Ow-li}iX*e7Z?(ZOd9< zCWOOk>s?bc5x4+fN{5&~^0gVY*|vo|+NKkvX4H}_eBRRn(Er*u|7&hmjF-*&(vs}U z!CNyhthO?*g7sdb#kRQn$Y?l=1owRcN`8@nOxbnGfibp&v|7jYv&3ypkDT~0t$kCR zIx;z~KQDX5Zv7|O>}02@6yE8$^w-O}ZXa0FG4x(Idd&}Dpl&n2)Y84B#W;lF#)>;H zK{BSY-U z(ml<3>FEbzs9a4L`+13^=jLDYi-T)xollJ!`oQ&fZ6&v2GzQM-ROuQ2_`17N-tMTW>{zFt@cDmW zHDU1lUK#EjRJc^|1>+z4_SHIs7C-we5LUxsn8J(%Ta?0qm2j?B_C{f)+!BP4bMWdkO}K;-q!JRRima#AyQ||H#i&8l&p`oE zK7hz{`d>gafCxF_;T&4XD-j`I`9@Hs6LRvR>(R=!ZIJxi`}A+vte?7Pw$Mz6(D>t{ zMBU(f`(+tb<`D?TT+z?b(@x*^gP-5dmEMnLK44$b7@z?6+pKSU$9T-+CCA3|B&Hj$ zSR)MCm%@;buGA*fzR%T4o+nELRB6!>PfB!X+5t#iqxE?=%HNDU0ipY@X>_9F?H+p{ztZUHhe?3 z@4(7IWWcILKuaEB1p$;8R@{$0O?T=s{l-a6JafR{G641chqQ2(Fm%x0P#Eyh>lk8IqUW(K*b%bo0|wcghmt`u-J0 zYVhO+{%Fc2?b-*-GE1`nf7dy_{faLi zJRN_xLP#j{-*`|OBH@O=M$i(LMI^jJk#HOx$U(xL)IsgF>=Kx?Ui=-@PW_u_l0=wZ z`? zCK=fr^g$Kjpj?N~H_#tc4Y=l(q6Rij9fG0PJT|3lO%1{}dmy%-Kht>a>xfNru>se# zI&qFvb9UKtrocHRH8jv1pAfm_Y+Yxt}) zX@&j0A68D`GinW4$%6!8eb41RlOnKBt^+3<{abix*|ESw&bf`|~L;|sZt1PIm>L>4;LVRi& zlq$wPy|hMO$;wm$x8-)}g%+KMm__o1)7k96O&(AMx%ym6kYie@{XX^IoRSs@H{^iw zG+Ma7A;L9(LZBCJdVaBDms$0X;vrTa-iI_Uw2Mk6hMazekpkgWA82jiJ4cwD72{dqA%FPwUbD z>+n;nMGPnt@vTwUu#gkg_x>lMiSI=+`=LCxxce6_vOgwaxMFv>-$ zoscXyy;KdVA>CTSP9b1t^S@z7AF$K9f*^~=&ItrNp~2yF*lFTT`X0&ZkN6*%$4?!h zgctz9EYX=niDd=b4Y%Z9DFp{H7r$&CLj>QW7M?(pQ3N8k2OtegnQif?Yz_g| zRz9S#*w&B#pk|@rks-$==_xbqF~3qPv#dx9sKhnpso}O)O|{Ng4iR~a%j4<6v~XN7 z)Lm9R>(C_uTs@q)+J<*4oqoj68&@6S1)=~X%zHBkMpd+mEN6h zW`*zDFo7;p&+o16&hATVYvFf{_x@=>Q!rLlsQqm5x9}JK@pdC5=}jla(I$+@Iy*lx zG_#8*G0!ZqP`c&rT30pW=C!?dc&5Ior?^_TjG<{Pg%m_uFqC;UdC7KpJ8!$9Q#ocT z-?a0G<*<&ywUW=X>b*WTj_3gkM+l~IB;FC4kuRujJyO_0m?>>?W5rgR^XGgn7LiWa zNazbNX+Wn%6!=Cl6(@BD$b0%FnMTFvx0K9IwcBtI;s&odoLC~Hh`*}`>#24U--<#x z0t5$juy6aZoZRFj)5M5hrcrkzDM&HD2h>N4zb0vn^L5ogJMflX#wJ((P;G3r( z9ciE`@FSk09q|l{8Eau7{+0S5EzN_mGQh#c}m2E|OPZR5FTyGTM-){Hq zqINu*Sa@!|&xs3k&n-p#dueWs4hNxcbfYmkp`bii4IG12F>jVV52RO8k_OZsIp&WCmJ{u&m%mP`Yx6e z(9RrDbNMyU`Fr2=YOYO$xY29k)GuE6{|-~eG;jZX4X{=+rt?HN*KkuS;m5b;#ze^iO$}Mn) zYp?_7Zwhx0;$_;Q%>}@`n)r9%&4)>FB4eXe2dKi~&Kk|XetsnMj zxiJm(7RIx?!O9*)?WJ==Cs;=GYLjOihi112>W{pxh%}vSA(dSjVtRbw%H(YgzM6!~ z{eNn>I+4dX`8xxz6c6Uid@#2Al;xkrW7VJO7%O6>n|Alx9opl=*zE|TtAy30&Iewv zs~3}d8~3M4jPnjoof%p^6&pYMDCfg~-c9M2voeF>5hLtn86>kt(W#IQ)*5!(+HK*@ z+pry6O490tGzsBp*9^*eg zlUMzq7lvXLBc6Qv&SMZY^I~Xssm7ek@#Lp!dDogVo78~!bauq+(_6DbWGO=q2f_Wb zC_m3(xyjKL@56`ZX55R-a*YH%8xvQ{H_uN49@_RfdS zObRI7czDjs#zP~yCOkyPqv$x1uO@XYur#*$gK94ew)AW{?OTcwt$g2Eu3|#EF|IB* zpLwzMLfU*>hI^`e)AwC769X4Za;oGl=SWfhY1=~j4q5iC*7s5&r%DR+9{kd-pBl?* zLUK~ZqLf<#hn9fe3hGLu3x+p!HR88;+N_ZHX&(8IHO}>!Y^{tL+^9v#hmT85eyA!`38_(KiByJI~niS7UWb z7niMykEf2^u!di2o6Cr*d;$K#^#Z(@tl9u|FjKGvVl&p&*pK4zh^UebaM8ChX`HFT z@C7%XdxBEhH>*vy47wc(%4@im@RrNZJMonIjOGDxnc)?D@GY5ptfYohp3^s^f59DQ z7MHS`?AT@QGTG}V(3dgF(ug*HABtqUcxPoo)WcYmP^O^CW-$X!y z>bXg#+;be|s0Mzf287+|OVJl-d7T1@DR?uX(Xc#uhJl1}=99-pY|9?sJeb+Wx}VcS z!ln8hF~4lKMbhB3r%9LCe0VnbSb{*g8J7wT$ zP5y-2r7z`te=-y6*Q+DoH8E16_#`CZ{5hEj&t?}Qo2N`l{)?o}CmBhm*tsWI)Xk0u zK%1-@Pg>J;*Y?@tqHkdYR_P^Vi@6Y6_<63KBY(Md!PB(Xju?O-GB7;+vC*?Sa*E)U z$=7)*2dzSLbCNn=h9z~5ls%ND4_eG$lq2t&kouW0l4}KGgjKd@VePusw-@4-HklNQ z`KlVu#yxkxl+zirS|4wlp4~&}LB#Ok>@7_1NE!f}k}ND>wpo^@$}#+e4=u3u+}Uye8CzE zR(*6N9sQ=?Q!oM3O_dWbnyGQ9f))(@t;Q6Yd|m~4I!z#NexPIJaj*r|O$6b@x=rabUo8D&oNN98zjdI=+KiiNe z<0)hMkz8n`VK`jz>Vf*do#kdyXOxqAf~N{uCGW|IZD#{MaVD$7U&ogTL()~{hok7o zWyuZy*`X$SvY3ahk*t+lXE)T~@8)%Il7$uPqYF5iYfSe;#k}{BaE8%*<2RBpUS(+7 zPH42YA&0m71HylC6Xq$?k?IY zInN7URr`t?V%cd?6Vj_NE*<)mW!=kIg^dOH4>A(EW8W{1w*?L3Bjj`UOn#9FS&1Q8 z@^gXGF)ISSrb0WoMeAL^lG9r7`oo16&9B*MaS*oIZyfud3V&t{fVDaODIFd##|76bb3su$D zdvcA3<2%yXRQrt~Y`KEW`Wt^%{!=hu3SLKOboM0k6gBYi7|5{BO_uR+mU)Q^hOY=L zyOB1d3e2Dx`RL$+OR)g%%5lGkf7JeD+hQ?Nc$nZC5CQ>cULZM7x_m% z9{g4*-5Yk{3lwoSY*;*3{e|w13j%yfa(s2?88La|Q606ce&?L6J-$}5U~Tle3k7&P zMMLMEBU7%~ciESz*yK20UI|w6&z5pC$<$)H*o>DmTShQqr+l)U3$UBOIi>Zf+v+oC z&KBZL1At3^$P3e-knepwpGGbT3fyE{+Nc+4j}_x2Z1Z1Fi0f@xJw?qp6mr1wdu4f= z==0iL<**=&PHrptPXU3fG8MVuLE;Kus}TE46Ovl5%y@Z)q=Dg71TlwA&BF=^&7}go zmb~-;wVW1ltf_>H2FfO?J6BxL(PR60o7B=QfX1oZO!pBrf5jrULF-KzUqB z{K1L!FPXe|wm|7k#t zfygF+KtD&?b`-|pFCtkPgEtXEg~wG3@%{#8*c!lSF*CMwgg1k}7WapOEMqVSAvEs$ z!e3h=fBg#nx`Q_Z^#zPMQ17eDN=dV)b!hnqL4isZ)z&9Vb9T9qUc}1_gD&0|;N#^j zwSS_E^0koK?CqvW1HV+IG+}c?>;J22S<~3_^A8 z2~X-=y|zN!mYopFAKE}2)EDjK3lzZZtagBqg=i@~-ThB2Q2Hf9&by2+v-5V>f$5$X+;r_S2ViGsWP& zOQG)LQxf?KY{^I=zCGmktJ|Oj2E~j8*_R4&>7el92a4i{TT!cKM9w zyYAWfP?;Ymz1hBO0+p)M-La-Hk;}q6tfUTx^54dI4V?yZbIK_qP&nhjvY8+=Dn-N^J&}1m!Js;sL6#;C@u&`D z=V`@Q4?6&h)+pVyyh* znGT%tHXjb7T~>9!8+ZPM*QP21rdDTKn2=tGs;N)rT>PMW!A*EYpi*uMv&mfKb{yol z2WO9@q2B(!l^=kdgsWdm=Lc3Hdntmwu(|wB?#w&sIdr;RgBX){&Ryz~uHE>JbD@zv zHE`o3H|*ym8v*!MHCC)=mxlj^@Zi4kyve&+gRLDI-F)*>wUfXMO~d96mZLiR%TF&f zAliBr!a-DqSR$`6ocO`o?bQ?!=8+|B{*h|rvXpNQuyq?S_A zbwHPg!$aMtzFh2`u)ep~6a%xSGyNYo@m(TpPhC0thUrwX5oVPPM% zg6tkY2YK6RWDPvlC)an>trSSH+?>8V-$jh(4e|*yQCB^3>qf%%^z7+(ZCgg*+f(9t z^uL~|P2S?=TZ@`>|M?XW&=ZMkieJCSsg)Qu$?|R;jRP?t- zQ0&5Z133N*ln-S!7=9&}PWzj&<47Sky{fRf-3G6d2IxVKc91;xDq8bF_!~HCUNxXM zZXtWFxV)3+x6KjH7;GJz`*l6RDlx6dn_Dxtix&D7GaHo39o7><-?gwG!KhVZW1yIHLl0;a{A z47ySy*nB^n<->{39Z9AckN}E!IXII)wXF#RPPt`^MazD6f>p%Z0P4lcd0_|qYL%$8 zj{*gDFk+vh2W72v2i~mK_Z&#=*s_v8#d)*WAEi^OcCCT_D{HhJ()ss5k#W0OEOqEz z^dRPM5f5^uvJl^?PRj38QdjLN+3uBG9NC$2FTWFW{713@VzJuuEIO#bTLO&>t1kV1 zx)RC0-H65JBBhsU_b=HUl`%HbS0*_lRGY`kh>F(C`cV1%=9@tC?Ya~&e>s6z>!zG_ z1Yzgt^0NAB>uMLL5mdOd;8Q z$$;8ary-n;FHz02J2F16m7MC!$1~$fPH~Kvg)UJ1=sCI)C1@!N(b97_Ah!eQtMv`f zGKzHDbgqGKhT`>ZdDJ+p*{kt1$+Y)DJhe&Uem-6Tkbm-2Ar@q;_{zop#Jof-zs5_a zX2Hou3*u9aZH2wyg)(~kb6Ux*qfvQ>=OS(p%YUq9t97#BBv^&T7gL9l#n4?ZSniY5 z*~jf?aIgE5G{?N5zfy@yzdd|;cm3OIUD-XApftO(2Die_JGtT6mvobz6fHHPl1wc< z&Y|i`T1?-`?oVIk(leBAr*PVLFwP+%*>f*DUgSNJX{{LL`|eO{XMQ31>hm9h^HuLP zCX1fW#mh)#_cvDW$x7jh)zdJmz(PjS2U|2D?tqi}*Fe`!EF7#Bq zwxQej4dR>`@3?$p=DC{~tXb><>ZleBL#{A#F*@1GoQ3w+-)R$y_k z=6ypohY2aoGl7}Yux{#j7N6DRi$VUx2?etMO1%pZgSYCOqjpt`SWLx6R+*3#!=KDl z_WB#u<}^u%Ou4q`1#O!hXv?_lU5NK`bXZT2IVk8gl2jVe+GZUxY!rq-IuqO0>r!#9{SC@v(`#M@Anj~5; z-7{!At0$)0s#3#gLh`i@Lu|;9Fy1|dh_m%T6j+61kO7FG~SoEr&gduU{O(5eH1aCM#+T z6sJAN{hHK9I^@gEbJIYFQJ8IJ_~N;t&PZ(!fGJ!Vhk2RqAeVfG=mR<{8Zu zU5w$D9@lroCbP+e&eZt&uPF-I)-WW)#_f)ZV%ISX83<(0W@_vSXXy|607MdCq3a<{>`Gs70 zccrs5r_rg*j<->^+rkWPilof|=a%Xwcg!j2y_v2E1|-l(ZvnAzgSQ?+YIk_1Y5ZK< zhuLDYPhr<%{U2r z{(@ZGd|zl`VhM$!$qAzJ_sIN||!Pq)GDC^jm71UO@S~Hx~8U;o!aCNWKv3 z=|FD$8*n1A{N4g=cj!#s@hTp#Myx#wU~<7fFZHxe)ahMVFf#GeH))fRMcy(j0HxRj zEQ_98>Oq$QmwuP1&gfid=l9OkVW=Vd8rWFesWaTPjz!@HL~<_iPyJS=F}w69?`lDb z*S)ia&$+op4u(s{bg@4pX+lsDz`nvJ*5_sIfjHf;R!?r;fGC;Q5-zD{;|E2cnk^Nm zH+*Lz0}5FF7aDZybHSq;{%m^s0$3FgEFYK4XXd&w@sO~`hW&@lJGVhI7?x7pr zDo5r&5B~0K{Hjixm&apt><0eBtVX%r^O9K>EMZF{?YAQ!n9xH;pLf-64e)r6BX*iu zNt?TT`rKipojU#iA94+*IUF=oshK)X1i2ye%)|nHLk2Nw5m?zXgUSbhcM3WwoB6lWX#a(snn! ztesNd4Z>LU@Z2oe>h8F2sCG^hvU#=2&qB0 zNNUJ#I+Dz9ESeQ1E*l_8uIY+OIzJo94ZG>rw3**}r$0o0$c!l3C+FEuet;MCFj}9Q zohAmI&o7UXOsC6kvD2FhbLvq59{cOjmoBD5p_3VR_*14N2h9pK;iLN|KaYm3(Zd_S zcG}~

7g4A=|OuSc!i3Fj72Pg9t}qAb&&Iwv%#`!58OjLPR~Q*!%)#tdpZx>-jiD zzKOs>j+ip1P0b}2&#D;!;yLFx8aq5H$)7i=5^@Jq!+C_nnJ0i$HOjAayTJ_A%xVV| zZ(e?K7pY`%tZ;rgv$iPlzE|s~4(GL}E)DLh|I2GF|NOYEA5T-|WTa^wkiFzgwP#j?UcBapQm|Yj8W?lPa=EzWJh6pHH044~zH^-w=3U4H(Fh8$HO*$#Z zOI3;VF(K*5?ACQRCI@s9`E+X91K%`A`0lL%7!W@P@|8*PPJRH6mWR{@T^TVX59kO> zS-)MdXA}?})FW+7NV#nde$yoy>TWjV^7@V@qf?$_g>Lsuk52ii2OWK!d~6)}7*FxZ z_v8K#B(6nu^6S8)g}liWwd57dV87DsHs|PEPdw9iNWw+KjSVKq9j19fpD><$ZnK(p zrR>B>qs_B#ts*XggE?p!?nLcE7Is;l#o)LKi!TfEa?I<{N>tmP=5|2FZ{~+jhjZEb zbgS_@$CI36ZIt>P1D?&(9NE@9J46_{Ls+7`!q9gMnDxY&uw6i4DauSdXF zJeoh&2HZ$6fjXANwtMvVa)8$>M#6*%S!!5oTushRFL`{s^5kt21nwtBlTM@>qXQ30 zGG2@UZr}1e`i&X{nks-FJ)h%Rbo8}!)t8+>Ut2qyydHxKD7k?Tx#-zzO{|jNJj-Mk z(S^((n&F+Oo!g>Z8WPY8=3ReI@|64_c$Yx*31dbf z{SIFm>2z+Mt`Jj*@6O|O8BOssaN5c?JKNwN)f}+8xhEd4CUYA`UPE8Y(senQN1iD_ z8V5b!$Q(b>8Qt}%?w_h};1hN6?js>lPgNqi5RlnMJ5e_ca84j$f@0lPI?ae|{C2UH z4A75}Gix|PYB36)`RcRFT&mIZWqsIV*!uG)`qWQaG^)rkhOkvwn^k&-o+pwAXNHcD z)*MeKkN67k%;+VnmnV;Pn`gpMqPkA02lbNQtU)c!;dxD{Bm%K^!rt;%3xfqA!oKci zM=C_>FxGPu8aJh8w>c8$j(@cS76EZ#W>|xN zaN6t$$?y;`kDPs`Zq##}3Zr00RUxnG%68veaZYzI^U~&%*`N()nWpbqCtAz}&Fe-# zTt34EMc7ULKbzzKVi*}_LONicVLQZ65@m;AW>`+11wq71>Q&G6ovnyWGG)Ja8RdY- z0rGCPT~6p*pdgqhn#jXyTP|9Xb+Fn({~CK%2-o{ ztTF`6b#p7ofjoJml6v8zK^@mcS@p&~KLro@!lD615?&*B3`)(P{%iY5qgjMlaYv1cf0iEAYD=7Nw$JC%v<#bxQ~kZe~{f?kx#@o`C9sh^O4tVqGLKdzk9i6B@5-lPh!tpa6Uz*2{kU=>wv) zTtw(N6M#bI5rE>5qZ@U80EsiC?KUsz28SZABK47h0|Jw$09aMC@8>^HSOe0ZydXN; z_FO5q;}x8XiI2!_vuJv%q1shy)0@0eMEmfJm9<@AFpFr|5ECRT{AU-pwpiVw1WN@B zCB-caNOV6zPV)+dalK(opnRKia{#d}&{@u0>T}o1lG$4%LpNTxL0#_)NxB=kyfbFL zg?IQ&>$QaZkE?U@<28Pez&*}8Y?!7onG?8jyL#?SPRA#2e~BVadA->l(eTf*mOFH( zk~{WiaoA49wQ6OxGIS-Z^sAiPIT^?vzww`|U!9@5j9uC%iMhiK8L_Y89X*DkuG{7b z14kp)uhGhKKCB~u*^r#8!|Tnqbw0YR=Zj^LEL);V!i>7z_YZofJ>sH&R=>ME@ispC zOaomS80p3crH;m@%;)E3BY3@L8b-%9*FSN8Gr{m_|DcUWL}y}x(Ja10koA3DPs(Vl zhUYD^&WFTF6EfB|WJXpi2g>lTe@~#M8A}9D11Su8wVo#S4`MvC6T%zjTN1V#M#zjl zAbK^0KbF5-^SVr3nja>wDw0emBYLLEXOWIp?iGWd7nu~ABE-b&nw#lp(pz?O z7_w3y;`0>^3zA8>=6|6{ew^Jly|I0w+F5swVOo(#y?DpvCV6=wPe=Da9YO+BKCA0q z(|HacwqXcV=idAKdAZq3JB!c0^>Ni9YqY3Tv#I61Kju6DZ*009<(DVp`bTzhm zjLy*ekGFi|$L+h4v*01lm;$`*z;ytIQ<Q|5>FJk15%k%Q#%8 z`{c#K<|Sk=a^QZ{Lo|zzH@J6f4TwR`}-~zBJ4wy@jx?{z>S>(+(k0 zOnMN9fnjcyoxxCSZ>Ok_?H*UlpOmPU623&Fc0XH`#^Yr@U%@jLl2h2_)^J`1n>#5` zB-WxK;4E97>rocsFD$*^rOzfLvF;TdFLV+sXUo?O~AWcHO5ZS z$h>bB#19(H+g|uX;lD*Rdq+l_bdDp;3%Xf0JJDZ!E7wQ#qmm(Y{3BT+FED%9_q{Y; zzRS7L*DuOD%_t!wO|~?vL`^$15a#*1dL8##>B^bSy;p;(lttNGZ|XhzmmN9yLJ%AO zbSj4WTonF7U_q*ga!(FVun;>FRXAj#Q;?<-fjgds69!Tqeq^Hk2(Yirqmh8!4ZjD5 z`PmzVhLW?|b?dpIKNnY4f&375pl0T{pTC#`DLe4v0ClAJk#SBODaWtOR^ZB{PZ_6e z#>`R6mMel*bC44e70=7z4ewkk=2LR0(Uu-66n z%G362i)5B69^$50QpKPM>-j9d6Z#HOEmieM+uEZP`cEF0o}#`;&jEQ0m82ScaXF16 z#T}$P#Kxi^zcUj?|1zqXV34uFA&LLZ{iIIbhx*jgTq4x02zwM(CUB(-dwv?s#OiTT zr1(^QazB*UpPb%c&DnfoKp>8vi!?*s}WA|I7Q z8A9NWQx@KBCB?!U_!ExwjRB{A3!@UO1YPN2>2?3BbHf8j{Uv)D0`F|Xk%SBb``&)2 zZn-j9@5|3Ked&O>{+d6NOeK8IorPlJ(bIHq5dhl{*Iv#2>7C9GKKM1qG%esh;0(77>C z<`we=xpYGC5hzl$pFhrSLfX5jikgHig(4RuMODE;ySfI3q$ZA$a}&>+L2opyQ&oum zHp4eHB&Q0^LfwL+K$;*_-jifnr@tj##v!7EEcQOH)$Ss%OWP}=^*Dc#SLl#Zt=;>Z z0mwzt`)79k#2~rZU&4(`#yu+nyJt=83dAJ4YY&C$Pjq%TLdyk-N9X*+5<#u@itN;o zD)&YNLPKgPhg03530ETPeg~A(>ZoTFB=f+%vopzTXPs{Mp4u@9#ZR)9B+orUZX?k{oQ^D>fr4D8(z zN@p}e{UyyB8fq$Z?m6Xd*Ufv6rm{SzE3-R$|8wgf!e{}T1 z7*}&~07_c>p!C@zPH*-1A?w@52h$@LecQ2K3SE6q;tU9rhq>+B zWW4MaCPY$88Z}8O4M|_aQ!6@eKzZ4f&sx>mXd!SN|9-){pUbPp-KHU z(96xsKoyM38R7r=RV%hrTLz_)#E$IzIyeFMB>vMdp}j02g{d7y5bQh-ihuu4J-w9I zO3LicMW>-erD_4i!Umr5P;URXq=R{v3g36!;^ftFH*0GhI3y&PXj=fyNEWTsl|S(= zcau761)tc|+G%@1bK=`@%P5!MqyBAi2F|CN-TUUv2IanX#1+f>$Tzqp_Q+yCvp(Iu zhvS}j0RNd|hyT33i~F(9j^oeA*IsA7$Moa#&Yd}Cl}`Rvgz>`-gZ7uii2QX;g3@Br zo#Tc|etpy7<5DeR6O)bp!}3ZU-!F_eUJReM%K2E~TsMCr*riJ(j5M&lk8dnwC`g(a zJM~FZlbL~e#~;5e{rIZG0CTvP)Aw-v%D7J97u1g*KEJ?4do!4Pxm17=)b4oc{;21| zF}d@YWV?{tf{r^sDFnuvs0{0CKRY?F=TTL|@x5FUwLRTW;Z|?+q;qH*)iP8ITKozn zjGNF)2wpQA{eWX~PW4eq=dOs$=E@a|B(E*vlJJx(}xS3J!k zsj^Hl@Fqrf*7i{U?*BXu{)H1%s6DXnLxAB<)UPRrRNMfy98&kG+5;k|I)ZubHM-jk zinPBi*%c@+N*?FSiP0Z(&e%W@AC$U;|9C;3Q@QHaJ}#Bxr5;BwR&?!LGn*u@T5DH( z=MM&2(NH9H#T(=!dq3eOretQY{qVdrzZ&l`9ap(guU*dBLdj8?^Z74?OjPXcx;lg( z$w%xa$7eS?CAt}O)M*^ws@Fu8*i1OVj9tqmD|!MY_!&JI(lcV?DMBBVa-#6{aH8Jt zR<)mnRi%udeXPlAano1*NcQVK)~sLa_4RXI(hFU2`{G}7j*y;wY<3PhzOUE$yG3x` z@F(X2Z2Sho2wr^f2x_^-v*o7%62>PoHxTsQvp$Ai-F2zC&M9Xq;Nt_^v2eMJL6*SM z+ZeU1jNQk>^G;qIyY}dZ!QdN*ZzsIQ|8&nd{XB}4(z0HIpkDjgKQr~g-}pjw!k7SZ z%IC(q-bVeJ0*`cIXgdX#)+L!9d-AborFZs~tApz89-y!Gw-sea?A5xMHy0t)4&BS-@#Vcp~Q| zG1Nsa8gse_X<$9b4R{d3HmZr(PWn$0hD__os-TH4&+ppHMPlr9UF=uDHwo@dNR2m* zf|##-;Zdj$q|O)FRbqfyjlYuXIHHk6|4$qM(}uVQj!B`E{SbZ9*uC|^L=Fm{0T$54 zqhHRrbET{*9lA|f`s3{9$G|qeK$!j zvRXvSO;o?-Hs1QfQx{5%0f_86#7nQj<>f9r&)|h7r~ChsS)wm>vx#cwt7a>-R~tu$ z=BE;Cw!;#Z7W~4EC&hVSD2#cZ0^ac^XXySYrJ3ngC})_z(d)ug|JNe8rbbW(Eb!Jb zUZ?vBkP}aUfa$Da!FsWsvG;F%K?Y7825w_7at_aZbDMD_n+_G5&4tBv1#MoPOo2^y-Y+6~q zptZb@+QU2z)vdZyn5u;z70OU@@EAX`ak(rjS#CD4-$HMLBb10#lkUNj+0?B^El)J| zJNRPC7SfNDruwS=dP;VVOCs}AkArWE;==YvDbU+^ow1>Ka;P!}RMDsTJO+>QTe4oh1*sZKr7u0#&98#sHcaDLDr*q9`g7VH1Q!g&C1(oSC*lSw$o z9(YDyj{caQ@VC^dAR>VsYJwIiG@3$we0|qn8X=k^@T_cQYl1qIRrlKcoa<$4Q%7~- zjU%kKtJgwjc})ey4386xzDQ5a2jerFngxK9qjxx2O8$lBi+9Bb!Z=U!@){3-Tdq$& z0*C5|shL*Zts+t1Bhk_ndX(!arBrjEmGV?6ZP7IRi4>ISps(4OKz*s+A;A~--7-Ad^?@yY`EdGyzupmCed>qL_AzqcUAPH^ zX?=?cva2Gf&IFG7PAnxo%?!`dQvx(J@%jkBlzosy%R~8Ap|rr9@a(GS3g1Sng~O*5 z=1&2Nr11%5XNLfPznP`n2f*XsWW;*9ZWbKjUx!+S>PE1tQSrAcl-n2E<;V< zg<}q+raF#EN5InGwwxcqy!-d6xPawdS2%5@29!Xth|{m4Ep%+toSUq?SY*ww{T~CaeMR9U7S*_&N67QKDYu`nV&L8DH zei_!3=W%PjTS{6cZPR+YAG6R`w*31%sV0JTy_K1vO=#ujMbNL%yJ58V31{w0b%CYs zE0|q52{Eg#-g+d^j|*%X%a23(FbnNt6*3)cF3!_(p)kn&;6wmYl|4@gj`w)PMV~+ICfc(7o#mPTSmiXL~*Vvu19rLILSNy;`Rs!;E+oxymJYFCj4&$(flO-wejgI@QbTw(_C>z z;pGd^)P*SA_!JoP1Uz)UBYAeLm>j;jvX<0{oRYhV zflL+2?0fg#X9i2EYjyI>rwowboj8Eg%NGmD90A=WBfFG}3nyYA7$AKKeUYb-^a+sd z3TmxaM&#ceJL#QR?8XD!&`2*JxqACuerk2lO?%v@tYZam=XB^Sj5DOaxHbL-jLY3t z{aw<%+HeW3*0)zrxx+0YY?%FdYyUMRK&I94XVf?s8n44%!|Ce*!DR2-} zvRtM^_I7I=hiYq#?IT)9S8w4-UH*i=$7Y$UUSv$95GhNu)%_iY03XG~ zY#Gi(`TGut1>?E_(M}{b$)UOY`xFE?fBC`L-;7&4P)PTdp~p&re|~DCso6k~7foIG zcDCHs$E`h$QncZUhsWtKTTSxbjPMe&!+VeGwp_4vsq6r9teWFUyE>*eeEYKejc&`; z5_!mRcktku5E5J;s|f}q?DT+7@S(~Kul^#dV~se$J$kl97&E{k;LWHPL@2mk8d%1iO%}JWBM-AA)ZQa7Ar+$l<5>;&(7D*&mC%3c9599CTg30))6IwhNm791 zYTvk&z8nvc?n0yGqKRVp)W7ofRekUPVj>T};ue9hqmj6~3SC;7Kp=rFBDk;qRP!YR zC9PWr$`Bagm}#fszbyOjj}Y>QGU%#bYUY67vocpuN=5_C%Wc?QK%KG6gReG&t37Zp31_JiM<6E-e zP*g}WLWM_PPM6AWJiCstE<9X&qc!WD-J>}^9B&?{$9jNaY{tppjHg!9+7Wr~0f}2C z*g5BJ#``Xdf*w?9B%B^W=n48wJE5lz{pwCs-yXT{_lUobyxRN62Rre{ogJz_1*kV~ z;I2D8cHMbiKL7k*eEx^PgK77^|2o70?V^j;blZ+~M!Y27A_x{&9b8Wp8yK$F?55qD z-~Kstj~M52|B!%NrRQW!F*ZFNH*^gi=(j{}9#A2klNW=pD>=$S?dqfX#QG*LwGz{{JXm6P7Y1a=^O{LpI)Hy?y3X9<=4-~nW}73eK58(IP>{mAQ-*+ z@VV}$uuW9}sL0lY5RCSu>(Z%^hy>u?ZJY~C09|sb{>l5*9|0bv+pa_RlE&Sn+J8tX{1}GmY+X#*wS&e{HU5w#bmc3RcOo%?ym-{491&Nltwel^Q`r5Kyx}^o1EOP2erTX*U}?x7>3{9)nSQ2EmhHdX{lm#oe?g z?}%$m)tABDDC-`Dp1hkE9@S8~30}VLTVii<%AM!JPM!&lVMqU3gMUIzU`?Ioyi;{% zxa1Y_8lvZOvy{*N7l!=7Zj6ZfH?hNJynCH` z&n}#JR)TLe7nhc3C3+2o{KfT%u9*wuUJS_XBsqDbGu~$|J8_=b6Q{gPBy-lT(8%tA zL#!BXL`Pt=#|T;9p%YGdD+CKC>vPBwagbtDH6_c9o%qa|v&UGY@-&pGC%OTk&W#NB zBlK7v=;I^#)ZzfE^v!ZATa zkiz5eWv{EPmHhHWRrSv#`PDjx+FHVBljVhlMN4y2%Z$v-?{6{~tN~QX0tXjL`h{D? z^NIi#?LrmXe*#_3;8hR+g<`axk&BG+-q*}BLQ`S8g7UL=|E-vL4N~|@MUzQhL zbjLEpJNE?z^%qNtRVV-aQIV9|hc5Oq=H!HbTv+%WH|&4Gzp_W5HeBc34BttgJA-$L z7^o5hK7an)+5!_3;1Ik0Vm5>@&H`lBLfs>%o`L7Z=F^4smtNE>5IJeoP}3s7G8i>m zO6fgu`GLP~Lr}~^{nmkk?wiil8kf7D>8h2x^nOka8iD+B1y$QCA&vhNJpX(95f(6D zZY|C@&zOg{JsCGmSh}2N+6%+N+Mp%YLsPAGBmQ0$=aP~QlN*C*Aotlt-Q`UmKaMnJ z&FOzOn!GEwaec)+Baf5w{(X+`IhmQXPhBsG$PFOR-m%6ll~l4nNI9NG4%e@X{d-L> zi{J7h(7Fiy=u7K1H_<4B)>Ax!BHpewva`44w2QSIdNYQEgj|L=jJ&^J@P_#Ql`9j< z_?T>2P4@7QL(vO`NjXqBXaFr{L#!GWcm4eQG%g{AW712m!r#7rc53Idh83^fmz|NZ zj#)7>_Dj?^zOJYXZD}4azI_|!r^tq)!Ki7}@uGW4Y4}`5N`C}whIT1;5&N|9pv^ME z(;6D0X@^T}tSqx_Zhn8igc@X&k-rG69_eH>_iT6s<6Kk*d!pUf-~Y{O@Ogf2PEHOA zwKC94r!PnL6NyU|A6x^WN2+U57ppWyB&I$99^}pvG~H580v4FIP7oW#v`fhQh6j!;K4m@U!h2Po(Q)e92Fx3~@ep8lu(V0Xa9bLTv1p&_Nn_ zYplk68UcsT(dZdXOc!4U*Tox~q`_(ShrQg|b06Ao_nSMU}aK#ojZ^OW&)S zx3;p%)Gn}W?l(pbjvnG4itzLEyO>)a#SRRV_B^XPU(U(G^0Xn4mX%TFm7IeE{FRaM zQv;QxA8`0*!R*5FG)&o(9qERZ~68XiCVUU*ZUyM zmh(AR{@?=oe^|X3(}St}X?)DF^7_Wc`Nckqyz1K>)vH&rHN~BYd$O};jA=7d3QCGk zXqQ^|x8AqFw=C2+d%78DVx6t~t8TwpTPqM0+_f_>F#NI~Gf9`2`1^~Zki;dyom-A@ao>8p6QuNMs7QO$F&4L7zd zV|n@|=^Kpik&Nu^YJPmcnYl5UbRJ*6N#(9Gn*mg8bD_2&aja5uK4B!>Lq zY&&EQs;nIPCM|Srvay*w_%L;B`-1=HsXuZY0+0>kxLC{i^||$1rx_R_h=bVW+o$YQ zWn|n)?-07h!NJi>#YnC`Qf|NTdA(32UGWpI-SC>9-wk9(vuRCkhC>7$A!no3yyAga&lJ72MI4ndJNBz!>3-!`F<-qrA;b+ zs|MR98SvV(b>v;W!KY9cUht;iep)-@C5SvXH_sk>Sz(fj*!}?tx}&^YNci&w618vP z*CHNvLrCo#W|UxM;$t*<9ZNbZLbg*xWfOZAM(Zh0+IeR?t6VOmi)`}U#UDyd++Oufdb)Up8E%< zE2mk(3bqA@Dj+WXy-f;594)kjg@uXeLGliIdkZDVeBR!*%-pEEqMA0NDECBxrWmD4`AN-N2r(thoR7|4-`kSPmcyYx7rO=w9 z(g3!=oH=6O>9~gN$yxCQPW==o)-VLXR~K>Ghp%S*RNOfCnl5=6OC!sMWLY`v0U2A zRkOJgj?4hQK5`QN>lXi*#!dwoizmGV)^2nc+1F?6?ucc4Z`QWAgyGk%XbiYOy_~3N64%z4vCc2~jUNZQ|KWW5 zzyX(N-uT84RDzx6_L|e5rlwLho0>9ikSc2)Cp-V{{M6Jmx4QaiZWPs&b6mB5M-J-P z7(~k&d^oM&^?}#t!Xl88TUn_WI!&ZoGtgv5Nghso({UopI|b=LE$9lc?Vx*af}sSJ zSKtBQUnH-yxre4pgF3X!_oiFOi0ww8;+6zi;x+$zhQPo;A#z$4Azk(>SFR`)>sORH z%_<5WQ&J9k40n(A^;O!|BRToJ2A5TQs>rUuZ{pDfXN`4gcv1@GhHU?2xjPiNZ zPBk;i1jP=~WQ^=DtaR*+z8TQ>{cT^ppMy$Bb^iE;otF0c@+qcrnMe-|{j5kSqL0t! zJ^SP&`5%+^cvmM=(+qn7L}}?m=fmEJM^cfO-t_eJG`Sw{q*rcj3nRO_3i^4txVpFv z8!ig|S*@FzTX7qK|Up4ABbaM{|Ud|po`7@y0LH8Wd>{#D%CM;REm6HJ2j^TouzkK^=NKuF0jy7 zEOc9lGMTm_)o?)fj`XPa4)myZ8=DoG@)z<5@$+*Cu?X=q@$*0NjEaqq=culpW{MJV z4nx7)NSR7^lVPzOF43uT6(Ba|Y{^Bi?TsY*?pFiZ|K(MuYdBfV>Q~@QO3lbq#`>TX z{0VVehkVs|fSZMdW!(#(Y!{In7b9p`ez0g_(i||~9Sgd7Kd{?eii`D|K@1k!8@)ZE zmeHXj_Ku5cQ|jC;4smwm}uQr zC2S|R`ajQzEFos=f{&OnsAI1!L~d?7{M{BhqNnG1?|^&$F%1#4oT$+dXKlQgv4KV< z0)Eo@y}i%5F_c|KST)sGOZ$7H5xzIT2a#MWx4| zf(5SoTKp`3&B%R+_s%0fVIh09rS|rqONYTaOMSk7XM}JT5 z%D1j$*(WcJ(_X!L_1MKFIwdvr$%U8?nBY?cJJGT zW1NSV+m|`e7jxSA(2!QGB1NGJ8-&BXF+Np0EiJd~_W8y+ks?K2S<^OseQ+entm9jj z;$0i`&7z}G`6#rFaK*>R1C-@ZnMQPGmeWkfx!l6*vYcX96pEGJ${ zGP^ApxGFD~Y@59-PF_pU`Ed60$%hLgQd42!DNO~ zIQMi{ud?q(66D4!>k%Q{;be`5_J*{E@6ihj>(L9pS!_OVwv9MxYRZ(;{feXl6^)d{ zPIdNvO$X17U49dE>qhReX+v>N!7d}E%zw221*5H8YUYP87RK~DhTmTy{}Of;{Qtth zz>s8#@m(kgF`J)H-s&)Dg;fDoS6-&G?$w5RJ=s?HYMxuwLd{*<&TuTI4f7Le zZq^0sjV^Cchl852RqF$&fB zObuZL?MiFd+pD6GEw$)W&^Bxcpid{!mHE}skZM}drx}-7QbM7cN36HK89B*lzb55u z*4%DoZ(qE%{Jpm?DAQ_jfOxV<=2dV%xn%Fado}G$XQk;1m1NO!@f2s1we7%E5JmBO ztsHn^Vs_iN%XjXWJDT^o6g6utQ(2e*wemaEew?W}g4mceOu8rOy2v}%xLx56e;6ZEix2n6Cc9hVDqJ_#2%!0Xt z4|&QEB`O)p!&S{N&I2scEZ2SJ@$uvprU!jSK^&?Fg83g@!;rN)=mn9tc?sJTk8yP~O$0Sc< z3%K|eE-lX+HU@TdqejU0;_uDN3p*_LA}cDOnwkrrFO+1DVZJJ|-+ueMXJn)`d-2Kk z=)C2CZT_}=2;jL^77mu(Ih9)smS##Y*eM1K+M+Md=6zsyY~z8ZtD^*MvNqzi!~6Og zlB}fBS*)zzM^ea>Vs@m_u}iN|?_USNsTK}oJbXHMV)9M1`m`$zT_vPJu~T>fgreSP zX8E;8ZScKTEivmn!UDf+q`M)T`LXSeIv*N~8}4?O;)jQslb>moT_4@^kJGxe;juLZvisyHE~ z>c`vJ8LJOa6775adyj3JxHvl&*O%s_UD5oZEz6217dP#-Agf_3d$d`2B9BRjsJc?g zO}Aky_nJ6;IaTmhB>(;#?W)?It2zGOGaZoCikbewL5=lVyN=SQ7MQZyB!;q`u$COm zyg~NIyZ)3O=9t99F+BvU+NCNg&Hr*ZoJ6&T9S^)#Qb@Jn<4j6XQTI<-7Z)KRp<%f7 zXlbSGCvQ1-n*mb=4P%qw$Qu+Cbkp)p$U$dg9{sG1V(q{{((C1AV;|Gf8jJ~rEBmdC ztp)i+8SRn3?(;A*FdB$zZsZEYl*drhe80e-4ebJ%9H|i4HQJheW$+7=Qq=5Y$jEj0 z;)=FS<#yp6W@a*V8AHS5gPk6p)-jT|FQ0#%S4&T*35~{7F>`Zs8`S=~KXa#pc*f+| z31gGw$*-qcTx@T<7iFU1Ioj2gsNVu4v*malJh;p-_`<_V^)^{_`YGE=YIM(i6ty(N z`!*)F@Obwp8G>_ABPuK;L{D2h!T-KPOf+eZy@_>ZR$hcXx~~Otw1%)8`C$gJBiFJt z&0y6nG4ADdZz%X`413vH8@hNUSw=pV*9_i3NjReKw(#}7E%FI-Q;Hw?T`n#O5LJq2 zKB4%~Z* ztw(^yEhv};bgLR*`Pni?k` zA77#SzQZoYQ!M2B_agyY0TO){R+b9_R$A4gKawXY_)V72`pPu^x-*FO0Xr*5NwXTP(MF^|F*Vf zSSs_Qw2zTfuOMpApMSmS+DbO{sgCT+^SHcT*+;W3IeanBc6L!A8Brxx*4AC+G)8UF z#p@-GM;xg}Mu*`>qEQ7!ML8L-Tg*kd3XfyX&xM?qtdj}k>MwP3KaMBf6T`#^PEQ7j z$}|MiGh-{lE}G@NL!0$ImTU@b6mc{HeEq%se#Ga(BO+Rk-4Fb(U9-HIuxxE7WKx&* z?%nmkz^y>zc;{akU5t&vunfDcZB8Yy2M2a^c;s5qm|Xo-th4NR|9CTD-f=%%;hdZ{ z>3sC-<;XXa%mLJVOdXZ86NJZi1O-(I7c05M)~4v8o}hwsnk>lGF3Q+ zi%mB#-@~h;fQxK)N=@~^4j!k;$5*Q5Bb5jGUiw$AFIcSimyC|0uh`Y5#=kB#tYYGz zwQ3nLc^8f)3<55T17_vhM%DG4MJ8=wu!EgzQDW}V_CNhuBQ#7^)Yb18uhox@x!Y7r zix}UQw~(`li*GOeWnfnDa6Kp^V=jY=$Ams*qW1lf1J&`UV{kZ+B1AzZ=;p*@JN(h^ zo}N4Y6z+_k&Wps_cZx7+bLA#35xK*IKo%hJGZ(yOj~Xt|8(4MN-=CAHsH9ErmO!FG z=hW$fG#&#Rh$9QfYorjA-&x-yySt~qMZ{yC6W2EX-)NhFEa1wGaIiP?FwSvVklSRN z&0@S`u*Gr{)0_@#mLh{NxP1Sk6YTh-q$F3n!dzc9c{yWt+-SzsUX0fobOuJ|<|2Q& z&sr)3n#8{;=hHK*{S1GW>eIG@Xd~c^;DF}ZP31uaT8A;*-YvAkaGQIh1y;xO+Z)_G zFrlZx6F2!>I1A(FJ02gP*Tfo;#4Bsu z>dV1n&`G8zrAWms4FQW17bkWSwWOk?WOf|cc5QAc%B8%q-rL!EuVlF z@4~jX;Y_6d90etxWPJh?d5qgNF2h1XaswCR4S6OSU@*s^_*c7D5fnE_`;>~jCb2m^ z+3_xCU$?MTM6{zdi+XiwT3R`Lr8yj1*qvKmT22|x%9(CaYbx#^E7cuP5zrxPYiwUwX!-tK=hSd!pKYs4b3g>hnXlvzRW=_AO z5Fafdz``QQEbU0EREC}aUhtxQZ$8R34nF_5Vtbh@W(wuL;*LZj3;T0sQtH>&3)w$F z`K{=(NqIVAzlqxZ+94)4!Nk!ELGovV+S-yL6I^t^li#5r*q|~@m@lhIV)637_P{H8c|kB(F60 zUHje>Z=@^4M8$>)m9H$%%@DK;TOU^q2V!y(5s4BURht(wzvqq~CWCs*jJ?H6HXt70 z(p7@Xb3<_uB7E}XiG%Q1_3?(T^J*ew#kwRbt0>uNKgeF#;ToxnWJ*-Bg1o$ZQyc7! z-lIp4-j3DIbi}Y$AGW;+i(Nc&v0CBM@9Nj_RMqjA?yZuSKQuBjiXpt9Wj>fVKTnnU zC4Hv7ztiabl0JE^+tdW%UG}!a+bxK5(d9N}TVxu_FA z$m>J-cY$wi?|ffQKw+jo*5-bhD|5;eJUHls*(82fdc)uMqbceRrSm^jNnrEvKKmbfmu9IrXuYyXY)W)))t? z0BiHyyexLVpddfYhy2t`zDJHmWJ}VvZkM=upK~L5c$gI8xyOD;3~=Wk%Z7~Nj_scy zSt?z_s^4;afWdb@8cY`zBHUYRgsCfiUW_wco;Ty6*=IkT;fZTpqI>+CVES#mv$dq8 zfy|g|t6BJLyd50sMQip7Rla50Ym>`mw1TKADyl1dGx;%<@5KwgeRzRQO~-+V0JH4! z{v;|XQCU_;aLQFaCs=IzeI+K?b33yP^g;`5q1&IXsJ7ByQX4>8-ZE2+ygA2hH#PG} zo=0F5iPS0rIZ2+@IX{r{#PgUOg~B`0b!10RY;Dsn4aC+Pgpw;A6>QB?90mcgNpB+u zV*jFh?qI!%^F`bQyG9Bxi1Y3Gv$MRX$TfuFHt-$#nK;?R+KSNj5Wc z^TJE%%Xd)uuhwcs8?~2tnv8EZXA5pz3JeJNTyl6%SXhqEbMuOy-<#cAk0KCH`?>{> zovI^0h`{AGl2CW+>(Tz7;g(Co8G^msoDfeLbIm>VVOR%flP*_I@<)t{e)Zj)QrK-a zGx=N~5aEzqk(`W5V)ki>9wVD=4$s|gdBwxSQ^cJm#8x7Nu_XAj@P{CQo~5D@dg19Z;H+yxpd4hrR_ zd>iR!*EBKi5^vrVXt~W_pZOt$4wk>1-;2~NF`izRURqkJ^2~_H-j#w!| zc_TPF=QOJw+G?Yt4;>fb=PA;sJ9@sbHx68&fq2AQ>DLK^8jRgR99vPm&(^INdinJ{3nP{z9dwWmJ=a$b)pBc|mhvb;04)rwPs6{GM_+7P;YQ@lDQyL?efui>N4gD#a<*21 zN;tdjZKLUFl@~AW&d<+>!6KMd)8xY|M{Yh*RD}1pF2jyDv+Yv8mk*U2I@-UOh9gKG zyV!7(=pj|s(-a`TDAarG$=4e!@;(ig4M$}qB}pO<%oDF&yVev$TaV1G_z+CZr_vBi z!|F@xkRc!auxs)1^6M|gge(4>Ra&4zsR841H#N7+&?+++Od9eU5^*QQLC%_}d@+DViG;Vp3JmdAYfvDJgfT()ohvM4!&IM=^e35>&&Sqts>r zf~2v$_v!I&@(n?QaVGXDkJ6Vla>t^8)TGNL$yj5sT>)^Mk-6viha*68EOmX#8OOr^ z@`*D*`n>7{w0D`r6xN-q!~Gv6!(iX^Xv0c=NSaw_ShM%e>Gr9lNDvA>M~W@HcgP_2q*4IlFap zb8{I{MYD7U!lLU?*_#~wx)@ez+EdupY6-5IlE=j z5kK9-Y`=Y&Hn;5?O)zBQ71}Ie=1%t?+Ts3SIvyrw5fO$V z9Vk(Qp&PCV!5D53#oEPkh9VW^~8GOyb=~ zHCOuDXd+%b|Eeamj__CpZ6Jo5!MH9Lf9`X zg*9qn=>0<_$kOwi!?(Va-y)@1(qX$rC}AheT<)Yx`E&%fK+QyyQ4y#_#bxk3$P6MP zqBZJ1%kDemF}t!d|Hpr}^<8K@=&{XQ(tfYcu46L$W3*{CKmV~6C-Oj9ODi_kxxvhU z;{3b;S;euj+iq|Fy6^Dvz=~M+@%#5j_}RV|;+vmaIBD~je*b1ETm1Z!%*N8j<_pM` z-(qt^t%6NE|9WJ_i~Y+Sil=nZ{{dryteSkl5$^|KdyjlOCKcsCBU8?+m2tcn0NRF^ z`h#}|B?vh}EIct#&`&H7R;(9x{0-!EO)fBauTH7`#_vLIRI_!zk!UZsC?mUo!11l& zG>@4_wX-mH%~@#OBHYH>)Y9@RA-%^V#Lgc%^r7*FXik~JtT4O&gfW7jVJJ4=)Wi5) zQopuqpuG=7Hjj{gujpVOa$H=DdI43{F0@`+xIRN>U}$JK(+*h`-jhS`wVA|wNXi6L z8&SIld}<9kw1F>gIRZ+&p87Ai5XdV+~d*aDpg z&0=A7?CI@)+27ySW0qObNATV>Uq$i{`PDy-fw0J!1Yw_;`WwNJ?N4{^GF=i%n@MR^ zRTA!Y3C^{j+cTbsIPOKoRalal?QnX`EIP{$QE=YGcB0X30z#XjT+GHgj)w|;syBs& zh1trXZy*z0kbQ%c7e+d_1mG>Z&Dz`kR@|bbKT>i-@|#gQ}KFS8VnEkHO?s zpeXtyCFw$mAN7r&dM==|{(j%)w6ZMi{eGQ|n6ty|{c*D$AlF5mFSn?)Z`?veT(VJ< zvy-c9|FiS~D~-K0F;wRFg&mdnnC2ucIRm!ljBn+qHit)jIXv3y8}4gcrCvb)23?w` zXtcS7{TKK)VxySaoTOiTxU{u((U01|zZ8_-jb;Mo9en4e=;K&~IL&6FgyrPq_^(?J z{uta25e$88t~eSn^|c2@To1aKGKED&i*O5b0cLWs{SlJBq2igs@85r`#8v0?mMsR2 zj%a=Q$S);Del_f>z1TxWQAWdT2gct7GB%}0n!fza-DeVF-P=3rTP zJC8*I9}^=h544Rr<3$gQ-b0*8Df(6a%pW<O@!fv7C1Bo0Vo!#AOjVk6hinZ{Ir(I&$ADZo3 zygxhaz&Dj)NG0ZQ@Sb>ZkTHD-uXyIJu}|$}u&~3k^uE5Ag7aTt>eUg~r>8%}2v`m1 zQ96tR{llfR!LqoNLg=ROFXej5)LOe*9j2=V( z{?r*ea&WL2&`J#FAN4?!`t@rUENM$i4`(y8M}N6pyq%O(+eR}yJSrc(E@nZ}CDym8mB-_vqpyblIz!V*;r8;22EBFfu%GcJXMO1cJ$|hMn?KB)tnGg88G)8bpb(#6jY!caLFosg zKmq?$aTL$ad>m?nVCw4X!{;Qd^l)t}?o+^5xTWF~a@SZ&#I7g`E&ueXBCozQlzJtF zTq#731JRia%RFqaSPoT!>{q5&<>Z)IOw9D!^YInq_l^p8+@ww_ma%wf^Hfu_LEY}% z43N>*FEcr(MHZv`nqR2t8s@ZEDynNJE0@~0G`#yyL#AN)k||znb@kSagvIe{^09`} z<=zLT`wf9;%Kn#X{X-r zXoKKA6j+4g*-KS7jU1S5Y>hv$s6}?=rwaPnfhG{&v{7p6;aj*#{z@>)+y2ja@}4+e zBXbXP^9PXdvj1uUhUQQ)*B3Ur)2Cb9Ju4f_6DRc|h!>(03W7cufsF{drnj8#(Odzl ze1pZ(>o_U%YB&%+**w|!_m)MlPUptGXCtb zqT@;sjL&3QInB+EI*E9J)ZuXTm+B**kiPM;KK7XKZ{NbzDU}{c%gVOJc#fA?3G2|m z+0pOQu36HCi^n-6y1FV)EQE#8)(7=jQ`F5hhj6KGq_uT*)2Vg{?z0JQ1avP|sZen2 zHMlUOmbKP~0XZ`JP(+QYl6YZVgs<4|*NEdeOv6?t{HoOhp zpQAA{pgxu|gKz!7geLg0!ofU~MYoEIiY&duK%#9oX+NpZb5D;c<=xr+k z;bx5ogH-7-7EssOPFRXHAIiw1M2QsGnLJth2pX+zA749w<34|!6IS@NI<`_RU>fSx$|%H$p}hu52d-_*2KllJ|5qFx6Np#k5mjbl zmo)e5iK_7<&^g-@yB^7M#RQ1I1aCC0&PlOn$@0{6JE>N`>cTE^549KMM=Z&dxrI79cTI6kU=>cPO;Q(b7_A z6RGNnEV_%few;7YF*W~N9;<2?S=dwA_31rd-EF zT{`!I1(ykm$`ZHe$V;=cve?;KhBSfH%M$avUOkSc-`NUHa>sUBR~}U8 z&MLw9lqhLm#mtVnZ16pKe8Xwtr#l963%k_=ecxZ$(Nb6U`46KkVlq(viO8x5gsRzM zGxTz=pQBs*kP!}D_p1E#)UwpSK##QNyA;<@W>e9ZZ}QTiZwhQBjFcwNt6C2e6t(T_ zuU?zcod%+q{L$pHuH5OCaJSem0#>=_1#+M%kp0as+~z$^XNMmMr^ZM>n1R7t0wi2z zW&Pth%9Fn*WoH)@bS>^7#*7wdxokHdqY~Y7cM}B%k+H7@J70kQC8e%Qnf-*af_<+8 zO4;MZnCl^nC5YXb!XumywqR~ZKif5F%8Mf_3`>~15m+r_W zC@shN&*lMbrO0fslBm?%r$rS{ls;+|8w@g-@Hg<-{hFtuG7~K8zQiqBy%9A0YIH;p zpMgzlGjPNfO`i?10jUkA&gRx}lx|}q^RJG0o|VVLL0)8{PSsO0Qx`vjfO{JvJUh#D zrypV8k~V#P+UR=jg6#jr*>?stxrN;x6-6xA1*F*k>4FqN0TC(EJ3=TTO?nN1gn%f> zQJP3MG^G=I3B4!+(py3&Af3<&Arji%obt`*(R+W~apuhEoKfEWzWXWbS!+E_jdHWI zYEoALGkB}T#F(#%h4@MuCCGSU4>V#@<& z$LuFz{rIcgy166BP-if6ke87`ddkXfbpQ&H!4kyECwPwit;QY8cCjZi?`bw?ASxG{ zc2{rO-l5pGW?fQ}>Q~Q7b*$XGh!G-AJbv8#<^sUpFEcWtKAC(5`(gx4$2eGhu*)>5 zGqG6&o2_~M*}KS!jQAA>QzgB9*(tG~s-L=72f*f^O1;0{<+`hfjZZ=(w>IvqZw{|0 z0P$w;gk#O#*Vv=C)4Yq0vvY|07{KLbJctNHrAh5xqsesntV#Z{{Wj|ehzQ-qn7Wy^ zK_YE;(zCbLlcIY21~rHc*sP9KB>ds*p#YRD zTeP9q$2hkMnpYxvMn*TR5}+7xXW#Px>XawAYL)=krYBm#=AR{%zv4M2NcLKvw{qzp z-CoIZP~DASneV)@QZq;t!>$DoMN5_-p0$D>~>p&>NPiLC4s6@`qqDD zxPK$$t8Wi5eS~VsB4I#RyR5=|HY8qklkeuWYnmiB#cw`hwtdqICoREdyw;6eOIB@1tYm_&7HugsH zvroJzY;#pQWu2(TQ?7&_?KW)yYbn_~^-b2?qKTB^UbTM#nxT!{!LrC*4 z&rpvHtSlo|^pv9ap4zEDw{gf0E1%)Lz@a9gI7az;!5h8jMM|{W{BnL{!6XC51gBJ> zQ&UsB&24fWqi$yJlz!CM<0f{-Q-nHz@MP_y>GwAY2?>NKlw&a=vcx@}GBU)j`(qeGJjKfCXwwpJd z^RmNmg=cc|8JPfHz;V7)f8+Xl=qO`ur5rPCgg;xP$fH>kx`I4Ie^Ss~Z>ef&5K`*l z;Ze~kKGkIcxh&M?15J1vB1qd(3?GHh1h+H#Gs=jcciM@&K zrt<3MrY0+Ll@%4}L`hK2Y|_-xkLB={)Ox7--rL<}VuE#gN_N;+#Yi>u`*(Sk-jgpk zhjtTW8O(SB+zB#5!z%2q)r$_sH(I3{!E}?Y^~>2#-$n-yJ?*Kbff{?;eSa1|Ug{p# zIWS+0&S#ayRWfmq?;nDkzawFMC95MK&&wZKR(t2Nsl&G9&JU;z*XA zA2OF~7HH8bK<|;^+OafvDlfUZT2{mWl5uk+Mo>if#{KIq*?U`9PA%-KGb6S|j8X0z zjW95Q8kF_-gnK(GM900KldvEJ-7vDiZ@ym0(`nlMLjNAOQ0YI0re=kI^)R89FSQ#g zd-f&evFpglNOez-Chm@!guqju6DLmKa!SWOa&eGQ#7=1*3TRdqMwti@Ky>eHQ;A)C_DtSH-C{;j4_ zh&ap4rsVn@@hO|m)btfr#Li>VSYGYC!-dXv#{Rr_y^`&l*pg&m!+Y=Dt)DH#f{KBU zMA+q7?_a~?gV4G^{dkoW6>+S5yUEVt=HA}R6it1ViMb}*wc(6 zSqqL;gU2C+7ZaOtIgt7<_4R_F95Tz?Xs|jNvG|8W$!Y!UBvpxBvK%9{M3@c022U2A z*OGOO6EAb7L$1i%;1T3_o0&ES5mfbbVreGMwlF9MjZ#S)+8J3w@!ShpsLP~H7;-Ja zV6p%nZH(M)FWtN-+GsygJnM6By14bj>(}DVt-87j<3$YyH{xB))0m!&c65jH>Htzl;NoExgKI#OOiUK}_4>Sc;d;Qn%jDqNUn#9!5L;7M4KS>PPoH_k z@UqsAH+|zZFCc*90z0K_OBjjxF>MA#>j;U?STXAs9uwBFv%ADvLu91* zcfYZL#g>!&H8<0Ry+4VPY)8vXm(IAXn-QN<@TDP=yn?)DJ734g-<8$XJs{!lIS!2s zaDCcwzdQ&>xq1OO#%@!l<^5u(SLo3yh{eireZE>!}0qFrN-SW(td(OmQ5!CKPYaTXSO~Ndq zJJ4A-=f|3lR(j|Ck>Ozu0A*<*f9xR?RpW~*ZFO`iv1g?AGA?_qXL9lK7F8w~kMuBB zFJ|STx%t7b>_Ht1sDSeRYZ}OqioKdNDEe<{9Q(Bcdhj%bYEg+mnh!<=1VF|vTxa#! zFpZ2A!`t|@wsK>EMEqIX9Z_t5|`e&6BjOU5H|71?bDZ-nCwcdm7eI(<;Uf7 zR?a|gvIWOy`E0gS(dii4Wse&5Zm;DSmM9`O2WM^S8&%x<7h=s=ZtQcX8)Gm+dOF&d zBcr1uic3mLhKIlH(POa0vGax`HAPj1m4#VW_CtM%@s^(Wa#x(^EMP-j9PWRhHQ!F( zZ=R#GWN$wc7nfrT-qymRQuz=%^EfyfS?Ql@si#vw&KMFW4Ex22=nxglyjmi(*(1rj_z?>|Fb;r98!z`Agiv2` z@cmxB7JvtG(6e;@KO>fZKkaM%rvvp-`seRfZbdTi*OdCL z?^y0XoVjO2+LhX#x-q@H>`=lD1WkmXu|%^Ch^h+@zQUsS_2-RBA7+WMD;F;^37Pgp z+}J<>wwoGs?xU-n2$E#7mxgg1yXK0IX9n5_vFTI`whJ682}{#U%rPI{e@Z~kG)qHO zL}-MDjH=8t1^TPd6+?J;^Oj09gisn09X%7Z$iqdDXz#Jy-Q~68Or$COni3I_F*kQ{ zzD#Mqmj`GEu@bORYqE6|e06AJXu&}nQfj{tm1IHOjI*~Ty@`st@NnrUCYkB~CoQa$ zEwGf>4Z4^KG!JF#oCG9aOL^A1t}juSJPXg7LTo5y&S7C1@PbzrYp)lu{2>yJmZGYF z1%ewH;n`g#?3gxx;!n+AER)z!;xATUK}B7@z=-+?L9E1!>Zq%~!@aghw}Ebs5QE7j z9|1`x*x2d4nDcsZU0u@iUE-NNVlMC*V04*v`yp7H^dQHmQkB=ROyN>=#DHB9hua{o z9Bregu^h6PgSq^LN!_&d&u@Pg2dx#6#?>UI&7lp`(fZIXV?9I9k~I&5Hp}!SWvRM) zum@>M?cV9%Y1{5<9DETc>Adq;Jm$_-iy6=68tM3py~i*q@9*yH?xv}tJhO9A;P?-a zA#{68yCt;6+Um;60Rt3Bd0aj+eVdm=&RlDPa3M(z=^|=e#eR>Vbp=($LLB^#^2<*t z)urN+l9G53&nW(qvTM;ztm(Oxn=2xynw33j+;tk6x2E#4o}R|W4jr4Te}2oy76<89 z1XC~9>Zzc_ExwJ0YjNp3ew;aUi*c9Npzx9XkkD#!53!BCsJ!N?V^h@7hYtpj_yLnI zQ55oJQ`7I)-aIzDBT-$o+Z3b$$_LIBG&-+BGk$e=YykNol?7&Ni>{#X`{?=m`;S_N zXYz3%S`D_0{H^IF5S72P{&YDG3FuwcpWuypzrn7ey1|F&tf-sX!TEx7>N z3+Kbbf#DFx+&a*6#C^aZqdC6j5#%GHo!%h98qoZd55H|ZQck)oTh6Z74HbEDU z$8WlQUKZp9Xo$S~O_M^mObTfAB52K)mwM8DS~#OCfuKJlfp}0VY;`v!X3!aXWpdc*vzfLoe)i`LfET8gQZa$c z>|V?sapW{^HqqNoi#WFLX;QtOw=nB!0_Vz9MQC;O#m8O#DT#QDcl_Ncln$w&ddYXSm%eAl!RyS6sML(x-HH?5%E&*eKy zS9thDL@ag)wPP8;)~FhjSMMjtI%e=Lv9h2lJA1@{V>2K>H6S3M(k?6J++~)8B$?=* zeu=)%s^8kQVI$t?6USF!-!!SU_C1G}3eTlvqB9E$G!wdC_w_~T23&E@zHO@1RCVj; z6-PmTg39rn=?wd?FTAdk>Yxs9PK{>dxVhY#pBh(D#_Ree#oAZ;vw*?(*z^Q-Fr3tt zIxnv6L71-<#Ye9uSx>LC?#*U*hSD-OHgbGrJ4k%PRpf+9Y#T#wj>wqkk4%|hlxU8L zriosE68Bt#&}3t1B4L*GY_1x{Yt7$E=gISoq6$ipySt7adW&eHH|DkNN?Uza?#pWu zP>vYi_}rS9Do6tnClvtl7Z*qH&vnh;PjTw6i@pLz%^&uM7`KJ&%0+B(*QILz@EPo1 zxxJJs`WdxPxQ}wsUm557QUKL2Ft_FQm*y6>N-_FzZwg?awd^ zm1w*swX}-u?abQu-VOF@ymzmqMX^-rwy2tYU!Q}M&(=FUEy1IZ|W*lQCeEL*x82&O+a)i7w@`!v~jy0I10Q8 z4pm`6J!8u8tS9wnO?o?L<7&Qrp(FX!?#8cqI}W&H`tdICUNY}>DGgei}0E_W|=E<1c{a?$-9UO1wyK%sUlDMQwh`{cM~x zL4BMvJ>I%%tQ(JiUt)xf9$a^=2s$@8`M-@zWlSm!cO zh~_PS)id$RqFC&2&J6>8YCL={tcl08Rg(siTXgZ=mU%yLYgh%P4p8JeEZ6Sg_=C$W zSy@>trKmzKV-LwNSHzLQc)Ge88A@1Bh;xc9{aBSfWyN8*j0R2JB<%@WTE)kVqPX7r z`cj`Rmx-@51i(So@~&x|%-?R|zojmUcMHryqZb^k1w^N2XB@I~a&n{RH^0*w5F|l> z-F~cb_TOj!>pbYiz{|a1)gJ$wms@j~`td-apd+HA&z@mYki*Yk{-*T{x&$9NHVy`# zkp;lU&*-?XlqYcea7erqpV5YYk)$~Mkle$GfvF#Uel!*B=-jG@@oqhDL{R%AM>xL! zUWk=N4h26lQq|NPmh0e<8wO0J3Y?u83cJ4Q@xR#G9^3mg!z2i4&YkHXP&$VIAygAK z=2~k|iXZr6bONViU{IKI)luGI>;$#;fS@4PbzWp#vZ)e|5o0K1H!dX%ly_9`%75$P zGlhCG2E(7FD>nl;Oq_U76gHY00K__n+@O=h4vrg7X+Je+3uA#Tl*h% zN7JfzwYE0d4s9^Vx9;Q%(CmPI)z0BdsaJy{bekE*;EKmpW}PT1wI3XDr0s9uzgj0M zDS3_U=1m^sTG*baD~^*RF=c0GCl0riSduIgomaaS1z#E4AKXpA59F1krUHIfHmilq zSBdvA+d#@l#rx{zkvol69WJh}WWv4UV)WXhw@_RxP;3}2!@P4X7wQV(g8X!>TSRo^ z^yL+vHb+Otg|10hM!{z~b~`bTdp180)9cwmH9PR!`Zs7uKBv=df8Nrx6iah39!$3m z+sf31a6;2Mns5gQwGF)?nVcxeBg(eC<> z$!w8PvboY|^a0|=8+cosqSv(q_(zp;O^siHLqckKWhG)kkbz;I0OLqVvh0Y-efjED zynvs?&^y_O1b&}txutKroRCa9T8kXxH6vSFTU07YC+R&v=lFjO!Uy-3cG|oZ2Pm!^ zt4^>3P4L=~Es(DfK2tB3Jcg00$>>xipE;V|$mr#7!v)CgvpF!mXccl5=m)>f1=buB zA6)+jjWLJi^Ye>xSUDoQQQJp@Eq^O36hhxn`?@z7L zB-!@o=#jr!B^MMF44aGKmcQXEj73C+g1fAvkYeCjHjgO%Y{m1G9waVL&#J~oM{!&A=ZDknHvRaFjDUY*{loe% z$%icjf&$TKR4(h;@jTTZOO99#d6rDjk4EC1hZ*z$>RquBs+Y08enLsA(*5!!drq#l z{*MnPuiMR^njbx&Q2)PQAjw>bj^?^5N`y!s`w|-Z=8bM%&3d6q#jJ_PV`SC%1v9PM z4+NtI;MFvA`_aNEF-Q9IXXy*lzwlkz3_UO{?GKSi)cD zW)~*jH-^M#ak7-Hun60KSZk^_7QgQ?@i_g;%Hz5M^i?Szs_$h58ckzfRk%sMjYuiLcn>=`OTZ=a1zy}d&hslZX3edLWhDsKK3cgwT*}D`@SG;|TkKdcJy1{^n zuv$!r67YVeuI`kbFp2qNVT^yo2k=EgwH&j4^bN0M0R@^~a~_j88Vzgq_CI>Bja_R& z@@{+K$}Avb-`RWEbL^*9VB8#}Sk+^xKM$S$szd5jeP7+Q(+`UdFS55)c>dhUawes| zq+LbSFg-+KlOCna5${rAV{b2f`SW5{R$C_?V^I{JD-t-LG?gtwyB&E^aHaw8xd6R% zzOd=_00P^8&nQuXypzyymt70QQ6;UX>Q2guP-aARqH#nI-}kncFRR*n_KgaUDJ+Xx z24$n1!~L&)-aF*`x$rK#LI6LBZ?WQ>l$4YhY5h29!DL_4;#Mi!s@ULiFDi`A~4Are)!o>`tQ=i>B&JzS5)tEBoxOs5zeu*v1QRE`t%W=Zaet( zgDR{Lj%)GH%{4O=c-O;aU_#*Ddvxs<5_t?gsHXYRR$R4nyD789g8!;d_2 ztk}A&14>#P7F&$YxGh!r@nenjlS(FMhO|P^J=6SW)06K<;Qh|@mIeAN9Oe7@B-4G+ zSLQ&>eFKIU#RB#XF25`@gf}-3+U}^9a+161L$mggrCqmrd#+!rh-{@holudUX8i8l zzX+L69$l)}+TdYSprHFQk8bqd+KJ>E9-jGk?1tNXi}^SX=B@}W@pfBXUXuaXcR4jA zo&H5LH|rqdrx(xCUz}Q*WnBba7GZgLIfw4+&hpm_SkKvZ9q*bN_tQqy_thjxr*5Qh zA(vV@@P$f#At;Q6XUNNJY$I0^;CSwzWpU>bJSUTXMZm0bl znDsS}(>p(2ZlX(Jsa=>#hEbYwyl0H@xPbG+H26kXfZgG})k#5U|0wy2h54w=?B-$) znwy)OE8tV^_HFByVj1&~ZweN+J{BI?WG>z9wG21$A?Cn03OJ4-A){m!#y-BBygbKz zyn^FSp_N8ZAQPP7*5|)m=**3*mc^{l#10Ah6>QF}OU& zq|Wg#ezIY%gafWW?_|o4T<30Rj&i@M@jIjar(daP!9v$syZfRR?>HcqIr>}GlG6f$ zT zPL2aO9v_|SnkMy|*!ItOqeL7v`i)_)mK{s+r<~ifE(P+Encw86rl+Sj0Xk0l7B$tQ zC(8&>WS~(FRrp+aJzeA61759;v2nMCj=sj#bp06&z~2|v25@!XE?u`1bLkuTdCNyW z1Td~fwJ-k0R56b0piY4PsjjNS#DDEefx#M@U$Ufp+YKr6in6QkdfKV_k52_3Yh3Cn zB{KR{ci8XVy?M)ZVyd3^o;R2zw-f%nL0h_|?pQm?SK=kxX;0#eq+lP*OCA;9h)JxJ zK)3mh_5^=T<@uB5`0-N_DnlFyPXx6xNn|0U|kd5xbN?0=@NR7VfqVj>ui(F)p?9|UrjIy3pPx|y;4&4d1bFH(hY zAOqVaFE|DXx;!*rz~rEG`{r-(Q+txA4sj@)z1?;EFy+UOj5A|Coiii$IygQk{wN&- z5mRwSuyb+x+Y(el%hk0VAk9+ZnrfXV5ejpH*91K6%(b;`o<4X1x8JLcC@ozYhEUKe zY{Us(5XU749lyX>`5)84=U z4__Ed@FYbPEP8owEpH#(`PECqTU<*x+`ZU8c2S<9NqG$cyXjyLkpinKWj3KvGE-~3DSFVr> z+lU7kGTqdy<1KDpz7m|zsNSHEb6Q@WNk;03Yo}zYX5*FZyF*pRK9jslxY41Zo|yP* zVRYulk3a_mDn5G9p>3#p{=DFNfEwW3`&LY}pkdM7CpFy0U6LB;cNt3-g_c2fbB&s;J1yKo_BJTo>e$)q}6Uk;jz+55yC^I@&{)pCZ0i?E%fLEU$?X>!lstLb@W{VK9ZzFvB;jGR8{-1 z#@~FZC7Wu#5}y<4LqUE!sttiK3$-uU>s1b^2^owhY#cp6z4Y7RL7Lm^%&^ zN(YE8S@cV{&dm+P_@zuW!$T@zcw9_Tq~xI83@~TVJy~mFPDSVHg2`=ei*qZ>by^;A z#U7nav@LNMOL}f)Wrc8d?(U2CKkC1^IjE^R6FYkTd{ap9n_yw~l6@ln9@o{nF`GLs z{AM>EBIn=DzO_)QExE|jkv|gY~Qn>&tvI@xM)F*;~1HXO(uCP;i(xG2FlcfqmjvHd`qHB5lH zEc+IJC-=9`(QEfiVYKQ#%1#Oj>WYdKb2WZ`pVo;}%mzE12*-udDtq01FmuNO^dbeu zxbi-}Bbw^iv4ER5+2-G6R{+0coOA8nKAYXRxFtfT&u-;fjr(&On~@SIu~9gL2j9IL z4D2TrTIr>RU6Oqh$RQ(!P#n%jm}02?B)`DJ$}}t&@xY&VJ7^25rK)>?+3L(n`i?AL zE-L>Eh^3||i+xA#`tAf=82b2o^+DXV)hMB75@My%_sTpy%2I<=+K-3+DHL+jYo|Lv z$8yF4jr5!yC1ZE`@m<7__{yxT6Rx1fVNq`SXTWByoc(XtU~|W^NMBX&ey>L@AnsU@ zvLa8CGDG0GcN9W2BYH1|cCAQkw}o>FHw@h9BMeVlbS8d)v_ZE(%mgTE z4(oFsxJ)e=nqu=;SIw2WH2b&e8|bo%yvKUwZKJ7pa4V{kDvw_jXeHXjn!Jm?0|k5^ zw*5I_#3m1v9A65_;U+fA8MU(6ms|!6C3RzCT}k!C?Hb3p%m1=K5DBH=uX)1}Z_{R9 zS{%dJmu*mhz(el>*UdzRNezN^u zW@B<24?lLj>*@kJ^SPw)cl6Acab!${C#W{DUuj}RR=8~yu$k$Jnab?0Ff$qCbmQp- z-Nyq$h7Z#N=HAvy5l=yzS@{ZwUg!E85WaU4+KWh^E>_!msz9NSb#y%SjqL5?b7(z0 zw>%meIBv?y$p%O6RT{K-9{>uKDg2O{hojE3qX3hT@4!SxMqbi6R%Q78`#ID3Nx|8< z6;kFWikpV59-vxQjDJ#cCs$_{bU#mD!Qn=6);1!-x)IS)3Ngja>>2TnR}S@l%K#_t zELVs1%}*tqhVT^ zS0BM(YIy=?5ze1dYc^iL6rba4u)}Zv15`fx62+VY&@cmQk=XY07vrZV7cMZ-(`W4M z=619g)GpVMy-VEY&s3gNNW5oWg8{u(R#{eIp(eF@4z7>!YRhZyFoA-#Ok+IWH|jJ^ zqW8LUWI}=^DGdsR3iA6TwAsR-z(G^T{zPhNS4!J~5fv82MMg(OVv0|R4-8&4y6-qp@wom!A@>z<_ZE9D&h;~* z{n!5_bN+bLP@dS(mqRQVY&xVu^@E^2CNa@x;DN7HV0)kaFm`NjkN7l+_F~JFE==A^ z9+g>M4$AKK#f25R#ieQHTTl}G)Fi>yi!z^{C1pHx;d(JN$GBQ<)Ma5w;$y?oFo?j~ z+638~2P9-wcRm=Hp}&Q%`XcNx1^*Bt7d7PgZ*_OK^6BgM_6!a21WGA`MLB5+1!ZL( z+ms&&PxuxbAYY1d+GKC?MEs8*cZF9{>Fn^tgQ+cljZo*^X1Co6;XsRS6}97<1}Bz_ zhPNMVil2mUjwJSZ&iQj8YS&^M7!;e1l}A%41ymg&A3BfO(d9WN83j!`!?5xjU>H~) zGWj;8#A?fb7}5iVf>tB-CA+*1W$@{58m?h*m^PH&?a~e<^Tg_(F8o7?L zoK&Rf67;17xq0?bS1{q$ao>k@wR(BRX$>06l+pBYkIlJ_Ob`#dI2{9FDsL5G`eQ=&nm$Isa1 z#Kg7pT&M0XVYRT+K2>fH4od`k0XL;1kyo>aX5#H_8F<-SXZP`qMWOvtC_#%t_?+*y9R@aQM9u(2IM)0z_%$^n zdzI!H0PxU0@py5V8c_9k85$8X%-p13AxCgkoZi=+?&&xeQY?JsOBCF->Q9Bi0e)fo z*DRHi)`Hi++_meTNj(xRzC-RChVwsa%4O(H&m4BBmVMmeTK5)Sv-wHNFsr4NyW$EX zBbSK%lhVfXZ#OnJ*4yH4gRx6n*ghe;2@RHO48K^K_gs@QUgN;w9hjEIGL**T#~hQC z0_gj5A^p4@mLj?OxFUv+sUdBpmFa1rs3cJ~tQ3M28Lgun6jnL1kUC2OYi7PpYyAz^O1 z7UU2GuaIqI)hV{42X@Lh(9qBjfR9em;F)SAO5rp&w%g?hb@+ z(8LU-12o!el2U>gqs1?GZ&DfDxSo8yr>BX5vrkJ+Oy9_P%R(3O4G<3gV#w7<`nw&> z&X~$Zp9Xe>zfC-a5hVRmaUOI^PK9-1Jqg}}$l%xcsVv#Fdu(j!Y4VTcLV^L?n7A*j z)+sPFtv=S3#DZ9)DKVVUp{{U?S)E~YRG*)>K5}VvcdxheemY<`2QFj!`oP!P&o3JL zp*>2J?H1t*^94Fo#C`X-dxL;Zm2JM~UWWlb!q`s@N?1TXPjz1!5`O9l$}Lu}^tSrp z6S4*^Hqm2=!g`K!x1_(Er#Zho&`p->QTvM}c`)MMB_6n61T&-Tiui%+GC1~HO(0X% z2o|Is8yLtCzZqmx{sD#Z(cK?gsm?ikM2_DK8 z=Jd9TixnFZE-n}}FQoMGeyfi2<2PKKd>TgU#MONDOINPgY#=tX^|>S^J3j82P@1@l zWyrZ%Ejx?$5E1gqJN!JdXUe(=G-&lC>%>I9A6>bU5bk34C2?r4)ZY9~zQrT+M+S`^ z^7T=pzbjG{pMek_4{8=$R*9kW%vC;J^*V!y$Cu*TfVq@pWhio1lUEN%;eGJVq&8rCO4sR; zpPqa8;cq)e?QO-wMl9{F+>KcH8m>Az`L*MK*}noCyP_CgZ$Oq>@ks*6IYGTXs#A%h zmZ>kK=k8DQ#20l*fMZSjHdyi3ujPdnRY5oI{$8RcdtF^Q)$Ir@X4QM*PqXR7Hn~YQKQNg?S9V$te zp+8I;jXk%gvH;jcXW|lT;~)an*46&@`Q6}PA&m)azhlmu`q;6f3ga#z%jBwP=p346}u~H^Pd*`fDGJmRv}7m<2rq1UiU=| z_EnVZ&0K&?20wn=_%9dW4%o<{_3YUvoNMR(oT}>T#Z4zU>FSPYz+KSW-yVY%BHU5> zv=fG4A_#Fr+s~H{M_AvXC2nrg+}~NP$L5rdWSiRu-Km&#VuWDqbbM+z;nhm;1$M@3 z8l(B4d3ogG`J#}>nhHE@Wz?o|!K{jP&Le)abK!=aChGB-se zK7bV7Mkxm0bl1CL?1r_&^0Ki{IfV=Qg{HP3y54&Ft&$=((uY!HV{JX3k(GUGpa5A( z#e1(Zd-Opkx#{cI26lE1wQdg08p-`gB&Hy-*<2IglP0n4mNajoloW)l@~&w}Tt0K= z3~W%r+3Wcek7rI!@8GjJqOXOd@KSc3L>1ADgVb!@*)Vuo4CGRoZ1{~15i4@==6~|Y zYrcF(-4~~;$BO^;b^c%1An3BMmHAcptaD}V5q>-U*l3_t3C#Iit~d^c0i0qYBHmt4 zpC-ZQ0T&d603#L|-kbN_(8CV3S~ffJ^~}&2!J)U{P+d=0e+lK?ji>i*5~ghwHuD--wl3VBax!LBn9Mspd-^%!&mG9$5zklp zxFH`@HNO;Ja{@xy2290R5#p24&Xkl#qzPiD!BU~$9`=7z6{pF9XNDYdUbeMYe4~jz zlsV7PDTetTl11jyo~ftzlsBUMt4rog?>i>++AZe2pA8 zLxV%!JPr*C((aVlj#wv>m|c9BtdnwcRd-1%{aL^?HurVo>$mNUeHP8^{<<=sqIw^J znY@c%P3MJBsZWiejI-Z($+w23?6wwr)v~bI2r4L4A!2oB@2khwHwZpX`YB}st&Np%m}t5te9AH*D$)RGYdAhOsiWb<^M5<1nXohN(gMx#<}%= z;y(t;;nRhV5C~*=v0QCT5H7!pEp}!I)6mGI%!c^!f<2g++2wD2l|pAc8198q2OI-P za44BXJc+CH*e9}zW^Qa0A6gLCOe!eQkf8hsw;3#)1`uyia#fX=ys5WCLY&Lsyu!Vx z!onX7+-8O|LMBrCw~>X@4Rl6Hs=ywO%~s`D@5l=%hGtevO#%(bnUyNMGZjF}*e5J1 zDm;9l7#qBBRQ}K*-#r(uStcV$b5}`CC`;DQ@g~p-?m=#*)I};u*A0BCF=*& z)9>GFX(fM34sPymVnsf&0IuE!qKYqZ~62-PX zjBsK3sZ@vBf#Jz+A0DDO*Quo%s0>yYE4Vv5Lwkvdln5ml42D3_=f~m6%kr^i-ao?R zbzF-w(dC)WdZwn{?non}>T1^#q~pZQ%=gO|=osl(6Jt1gQ*z;VzDSwuadMK1Ko*5taw!;)bt}(6zhMoi^)J zk7*r04S@KumCkx*c!%;do6A~|(n6@C1f zEB7x`ng?}n>n^Pm$A*$`=qp8o){6N%P*P>I)^2Yy7S_Aw>r3lhOS;nJkDd{^HbZ?!nq$47rA43=cZ@51lz7 z!MJ9!DOAf!!NZwQoY~UZ-;Yn*yp;~48w*3B_qN9zv2-Th7I78&5QvdsOk%W|V5|Yt zpoNzsb64QO;-DL5ljnQxS6A(jXz}nvodr!SInT_VF&P{7?6Zhpt?=GGM(U~Z$poYs z9A~e(hP7Fily1Gp-ZLuxhDOmVcvc;F6z?Hy;NR=$MUnYONt1HdA{ZIS>P2#-w5dn zFk9Y*Pc*0FqD^-Dk54c0@QfH58kY4YY;W-2V5Ej0WHtpF3Ha%Ym=PVLoDPYVhi1#2 zc7pvDIr;_IFa*I9aOI`O{8Cb|KoEPEx%i-s#tO)@rk=lW;h2OKhz@AoTm$^UhqNpXlezE4SzK3 z(KAc%+S}>Jy$(jXd0+rSpJ`*IvA0<-E45rcd*6K5 zFaBrkA-(AV5&u-j(tmOz_^ogC@kgzl8*e=Mj?B-!Gt_pob5pb#3i53+z(=PtABbX6 z?m!ef1WET1V`h(&G}{bgNl5T^$6P!4RGFl2tINmSb~repE49)VtV(;R@ccNC96b%(8bcO)B)ZBFuRi6jdp-MdU4;`e0j z=L&y1zfW1NG)5%TeE`Z+PW^#rerC2dHW7GzFRL|G(kN^UO?mwqzX!vtWM%P0oNgpS zAno=tr{54{b$mZx^F7!+4TM460KuSTZ5qVmEsbm4mwKWuYqdU*+pNl?yO?Sflt_Q& za>8>pPb0Z6#r6`CDsoy|&}qGvoj!GK96 zPRJ8uVOHzQHRowOSeENBNy(lTWbGGF->RslTeyak&IRU|^gDTjBzHqnX~WGTVMM%H#aMO3g+Sx)TFT3P+dVHL^-jOK%%R+9;Yp1_9_dVa|iI5 z?r-(5dTYzd$~N*=TBJXUmB|A^Ye+*25CMjFr2`(3M#=&J;mNM5Z5G@Na1hj|X7rgA zpzu9Op?*8VT6g~)=v;Bp3S6sJXmfRs3qs42e5JY1G2Yc(6;0JX2qoz4| zaM4-dpf@z}>B|=krcVUXXr2>foO12tBSZ5z7Qyj9lak&Y*Ec^uqi`!9s3|lq*J-yr zj?yU+#t9FZW(3OH1vmFtEnQ+yH)_e9*N~K~kq+6=FU>pRH(_NXfMWch(tg^d!U8E{ zltcB1bX>gh^~6xAgQE|$3dbhIBc!Z4v*7{@j}%~WNXT6-|D!smXU#40n5Eg}m zQCG~RRcm;-1n!}wDwwPPP;~DLJ#*^BDX1%XwXhH4{k{;5G_!uJ;rl~Ksa%@>cwzUx zp{HX)mB>BUp#P$bf44Jrw~sTi*%NN-y_2v(iWx3lN$`i*BAg8G8H-_)pZleC&3SU~SIqo1$P^vr0-*+Xt_;dLzS5(-@IjbyUkwMefT{ zwvN7T(Js%cM)pk?qwHe(d5CTA^Mr7q;=#7=Ad{&cL*hn#B;xr|w<;7=v7Jr*ohFvC z5*E3G^`oQhS}c`Kc%QthwN3BhcL+cu4II#h>+5ekv*?v~T&N{GnQwIP4-?7K-qbw< zPxK5mwFfNs$Ed?M0Bz4_VaK@p`p-$`#T_t`5!VXG{3b?zJ~{Uw)|iUOjrfqyLmO6j zq!g{R zyFi`P)jGYI4^StZrhI23tl8XtMY)KnZE%R45f=+FXyb*4RL$O3GHdasnrVi03WaK{ ze<#FSV@M3c64ZRGaz+kGoypa#E8n@So{0ar_YRhFhtlvLv^+oYV!qT>!`-NKH#{S_kZ(>`8 zu3AiwrjJzI4c6z+lS#Y#&2<}T-tEcI7eOa~YPjiD09iu5x7VEKmmmA~6{;SKvmDI} z8Qr((8(-8N;!?k{yO%=7Ill<;b@<(|jH&AIHNlN=#Ow#7Gsef{Lh2;xekjB99~fWS zuHta}7tH*($>Rgj(_KL0_)kC2-vT`i->c;)i)%r6|2XjD%Bfz3IHc0m@-UY}TsVH4 z(O%1r`{B!HGEA-G<<32*`|tp|avzjqop)U#etzBu<8{D@&GYGf4)~j&2Oc04QK#2^ z7hF6!bqVQ2o2YT)_QYX*mnP43E|#@>t}?&>cjd3@f2dYAz7UY^X(0QDulHfu^-=3SAlZ;bh$;IXO%rEWxuqgPHBf&lE=5!{C^yKg(GD`ODvQ+lK1A z#Z9<$+f7f4Z`{wZK|#J(ZxeE((YX5G5#5qy$j` zY0{g7qDWOhKzcVKO=_fs7CI`u_a-1Hy>}2$dIzNwdgy@!2%&@%*V*6QF4j6{pYJ^P zxqt5F2M-C5WR5xJ81MUzG3QKg_y^^W^mgeWvERx-#d6#v{`k^{LHD+>>tdysH;(%S zX_+V5voIIlO5dlHHRICX4LJXm`dxf+UeD7E?_0wsTD-9fj|qH%zN*meXq}KodUunD zuO_cj{?(HInlw5hLexm>QxoVq*4z~;_tKw$$b)nZx+((I>cs;a`ve_U`3oN-TMf^W z);vCi{)5Z?(?;3@-+f8P!kaC6-u>VB z!G)oJCB$2w!c_gAFZcfUW<)*%-^V$Od3Nji{|jy*b{l_X5h3@7e}KLJuF<}({VFgV zr*qu>Yg_sMo%u-c)_>?Dr~dER<{#gS&g)lRgbSKK`FDr(4<0%1gYTRmDZT&UAAa}m zt!@IM{|;jRrU(Cb5c@Yh_`ieL|6$_zmtFrmi2ZjE`-h<9^Z$1wwo20z^RHfje{)F@ z5dD9G$|iU(-?@9&i;I&}KNrGuVotLDC*k%nB64(ejOh%$1<4Kx>HUV^`>UPu)K+PKwLO$dDBCm9*YYI4?}+2M2jLJ0D!dT4);R>P~d{ zAHeUbx-|>={-0r)t(sq(F{Tw{J1@d4x@4KhkK6V}+JaFiBB@5=i&(~GJ3G=+F`&M|YqM-G3u2o?T%AB6HWm4}*1%1oX{*(tPw_%UR~ zCO!5<{+YMa%pw72v$s1QR&yLRfyb||#lAa3s*O|X;zV9#ppzg{0$UB}?PP9(%74In7u>{y_ z^yGfL@mTKudwY5>&Fr8$FG2hz2DLf<{Itg{@o*`e#i3qCZ?os2`GAcy@We6oOwY#a zr+aag^itsrLO0qyzA22-4U-CrL~(9)-QWav-2 zSRde7=U@90@pW~Rc*@JF)$el23;kg2r|_J;(i^fI^Lu{Q$AQgm(!S4HiaMN|4t`Gi zp2F`U6RlARC`Q%Y31Q)7`_F~=fp57txWk*hN){fL!Q$>mL}7-`Pg>4TG~=)aoCbm? zA8AO74*;V8O{(HFk6o`O$%0dtdhOAPdf;c<1ch{n(!gKWS5hfR(|EK%(A85%iU$RX|y>8Y6S^k+YrRbJY^-!Zx6{qG^0)ZM!SI3GjZ46zvJ#G-5F(Mbp_L z>Q#@s;$SD*j$xx8%RGa!lB%D8v_G;7U&jyk?a4UI>K-qN%rT6&&dW5Xz)NJsRk%JT zd8t3m7HrmG;?gdpOQ6n~QysUSk_hLQkmwKHY%eopZX+UT{@bi)KK3o8`+>imVpQ5j zDy!|KO7X909y0YEA@Wdgm}-Io=FbSo3%tvc1GN|ooz?Pw_kt@=E?=#FYx-B$xN^S~ z-`9Wg^EI(oz}HH{hNGxMN}?ytnl_`IVGK3E2AP5W`+5F8aS~z(d*$`V^Rs(aP|iu7 z!ka@F+8zdD8;^QKUb9Kt8rK1Lg}V7KBiWm9JYP4KV#uhNjfmPYKE`3Te2!A;APAhG zMRQ#A@Zot5vdyi_-8ufo)qZ6~sD~EAQIeL+-EdI|sIXzD-ab1FR)WC9@R#!tP69;Q zisulPuT91#;(x65N^8h#% zL02em3dUjM00A*5v^VY(ET52?6lT*>qLv}$;V`f*2A6=gi1T*BC)Ap8$D0*LTL?4t zCUM9rx3x^#oWPrjQWl%SGWiy3#2p6p&X0q`IeV10G#CbXK8m)}(V)o=&xU>+y41-#dbLC$H*vEkq41JdJNtqMYn|H8q#@)e zvagc}{C$T~AR7CJfXPw!(HZYmgSG=JEHIm+0$BzYuH>In0dXKSenI_h! zuphYjFr>2>xlv{VT1wgnF?$pRTWrnoJO(133vGcRHqO?saIeFIi(P^k;Qk~4oM21d zANnJJh@o-XrBj)-R9P8a(v4ZR@2749P{?`*#@a2+;*ID1t^DNZJn;HR?h-AJ{=U=Q zlX4)!`p|9uG-1i>nX*Cpye?_^HNqr+sJ+VZZmEerx3t0d_7;(pYxaX_ zNcc53`?dxf!j@9LY0ccs!K6M~T-rH~>``I~jp@h@IT0(+zNLq5VVHQlu?h|iZgZ4Mddp}xW=d&CZva9s)R%|dD*nuq3$e@KvcZ(&qzKm%x1EPlAQ!9Qx zq)lp}?zq%ioiapg0A?z-l;AJS(28Ym~M$d)mZG^DD!!KWj%B7lJYS! z|7PW`={MT4riS#=&~A+5+?w*~!Xu73k6oV^c(>~;5TdbL{JKi!{4g?Dtl4Dnm zMCT<$#$$$dyLZDnq;0RR8uquMZZ}EouPE)WT;_mEE6kP9+Uk~|Qf6s|tFxKU_|tH@ z(hK@$-Z)9D?UeY`y1t50`z3*vUT{!%QKeT2$Vw&q;t~?Pd^9b!MR638(}EOt5r&vp zp`p||(!|+(=Vlt3qw`GGwK5{`@Ce7W0P?`6OOU8mY?xXg{pUVf)1r{Q+X)t8)VmW2B|4D3A8 z(EHxc)~Xj8SnBht-#1;4-DZCezr-ltJoUgVc!?oPGY!(mWj!+hOH;cwp!WunDh(#t zYwdgq^k-7nhd?iX7V0rUk28%JE$xq7?{OdBGLV^fDyHgOu`03pJzZp0;e-8~ZCshl z1uSso-W7*Sr(n>{-6iXHU6@BiPrS8M<{~Xn%iWhAN=R7jWeor5;(*;*30~4GDWx)- zh(l*8ww=^+)PeO0=}vth+bNN&BHGsH_XyK?bK}&f%pvqvF9B1pezFw!hCQ6?+Z$>M z13fulA<`Z7yFZv`(xRA7eNf#xzZn`#1zyp}yB1Bv(=dX+3;1}uFp=3se@lP3*+bn` z139~4g!tHF6S())Re~6-;99bRF4_zIqr)XBQhKXA^5*=M60Yh4ox;IRjP_cH{#0z) zT}1zWJ9~MLeS(ei`a*GM49+&B5)GVcfoPvd{+SwogF!NamlI2-{p!j*KFjLM7$n;0 zRTv+OBwF;RW>?3v4oWJ{(IlwqW0+dGWYD*=||b3hCq?}px<{_czHHN{C@BY$Q`XQOk3 z@q?AL6?gvy0%Z38no~4IUrt#4rUkBubg zrd;WgB2XL3#&V_~d+=C8Z^kDrs+9i3cKJjM>vVbFQByjniPZ(zvz}3t+GzXWj*(!e zY|Y_*yAwqV`{f1TcUdJf_V&ldbTfmsGsTU&BRikWNJjf;56(&7+eO^lGUX2K;?9)2 zA>;vyB`Qx~b1?K-K~&`H&U&k8*TDEWn9k}i0Upd`XsK32h&J$ATb;kVe)lJxn1iWq zoivTlDGiYOmI5VurVvuuTa}DF@2@mRb_p*l;fj)45evsdX9xGe(2&AI55wQ{Bi`G6 zUz73imN7%_i>`>lX8m}chD-;xWM`wv#5Xk3b7HVd9O%`4k1x@UeF~mIEeJ?I*(!I< zC-H++#C;(>!46rd|5}3VT7tdK)box#z~m1U9T8JTfsj3i%!UYR`-Rn<;_>7djA6Bo zb}Xy#6V33qy;6GoAqi4v?nMMFwPBZU)}%>#xGaL4iV*iX&p92!u7rHX0i;qoLyyuK z`!V;3wep&$x_uA5{X24Y47)wc247h?*LPC?Cz!XqM0noWeC=U3C+Baj`YT#dQq6xd zo(OXsB~DYd6M*@pBr!Oio}z>pr(j3>kHRmi;x^9*xS+jOuj^k& zkTh#*VpSy>`PaTVz5*&tQ5GBJ<%k(~94u7yza4<=;Inx8L$=(kojk{_nSdpWMVL!E zYI;Fmg{i&xk8>s)02oR|^fY2|B5F1QV&oCMIh6zYbH_bt3avqeUQ~ww8=pEXe^J~&Dlclpzq-F=9_yB`TVd#T<6O#5; zn0gM+c$>0LMue?pG=8jpo2si4%*AR4?z7zoW`iyp5n2oMatto*r{Mvrsgih%=!(Cc z#ulp2UK4X^$wjAQd$8gU9*knJwi8UC02IOX+vLhXi1Dj9yum{2;#gl3+C2`so&EIg z<=J)%1t$np#Okrkvfhf7?mET@ey$Sdx0OMA|55*H8fDmc7I1g{=>~&yJfId!H9*?I@2W zmL@G_6>N+xjGtmCqCN$r$+x#t1U8MhXcWF>H3J@FMZoKk?lAi+Hl8{2cryS&M~rYd zd2d0`W*ms_Ac>oNLpn(a)~|@6^lEU{*6Wv=+iK3QKEt1zM%V0#MNxib^ypvGm*7wv zdeb$tF>dW5I`Pi5rxSe5ybsuu*c8w2#ScCXC>L_}psbqm7Ra~==2nPKuboifg3hjI z*lYR@fL8T>e!lG`#DSQLg#^nH#TaAw@=B#4R|ezRO;zn&aTI_CfV@d;13TpV`_2Xd z^P z1To-sJG-eM>RbwCpAc0X<84$i=W_6%WYSCB*5gRZ=<(dz4y_?CX5QVygW9}irpo=> zyX!W)1he2ut25ML07-)z-|LoLaWIPO6!#q^6!!;2$LuxDMNPzsd>6BMALs2Ad36b5 zaSS8Nn75xPJ<{SSY3^eOJtH(D=>hU?IFrFFGTMB<5j-T)|8!#r#Wk{@xWu*1c4QZR zCXpL$7QV~Os5YIpYs1(Qd3dOMT2i?LZ)OBYu*jQS`r|6yO+S>iul0*LwuoTSlgnMacG2l3WV8vOm z11y=M0nsbs1Fl6-`qU^qhJj=<7zcLBBs-LAgJsiAzOC*mn>$kgL2mo_D-qkm^NUXP zS&P;8!L__l2+_Wmr|9EI$P}LQwpGm|%1)Td{wVj^Y|z^}94rEn7Nz{Yh+dJ?y-Bit zb>*V5^z}3MGutLupT>jA-S!p}>UH87d=i4G<9iuoh9;(n!z6WV+iRofy)pwKwq2J5 zVFjONVrAl+V=?Z+=BxefVaMBbN-z^{NdTrXCgnsB9sgtNZ9g3#t3UL8#nE*a4WsqI zO&vGWm8W42W>;r3C^KCJMKQ8pU#yDJi`vcHYi5Q;jMY3SI1z2jIuTD60=D@(myyIi zc39RQ<8_vEKi;Ft{n0B}XWbNUo}L*_mOMtQRdsutP^@{>6`h82(7HUH`1zfU^N4Eo z3*oKEM#pjggwXZTqq7+l8{Hc{aNb27ATyna#cieJCY_64!P{NfY{&f=V=2Jj zB4NMbw)S(td%yS6X|vYjX$z{ zT0xtz_2Repm&igXFnu2%ZO>><2Y6UV5oVIqM*w4`KZ^&qde7i`fhOvA0as~m?Q11Nyh=70qu7$h9_tx&JxBY^i+ zT8Kb<*uF&1=)vZ=eG`6jLhz3+a*td|zG2l?Lp_2$U`yOY#a8)jh#Kp-l1!)^Wy|%td;x=J^A{4C@!*-3;0R+nD z2LX&4F3Yl4ea>(00@FQhcU@QTY*yQ%Tixu`PAEAvj9V_iRMBI+uy*ISvnaSEZ^rCD zzXllCXMs(H)5i%7S6%?oS6=YQlrH_z*8+;tCV-JhCzT4$NS=l@Kz^{ZgGWwp2R|h1 zOM2cN9vJHk#7Z%L9)ykwa=*LjWmZbNeWJ8=+ZO%-+XP40-Zk%6EIkG}lQyta?-xui zWs$SrCB=|+bhyNYhA9svolM4ipR3$cBY})jL3aG;c7g*ON5P%i9i4ee$WuF3XKU># zZ92f%!mGZQ@HEvO@;6;XS!R0`W3*n^XDVoHB|uaarzzTnn3 zjEHx$wk@_Owj^_JH=aZD)4qky58$IvBZ>Lzo;432C6J&`*moz`f|W=oni9YEh2*KE z&@kDQ2`Kxzqs4#TrL2v`kr9CaNfNF*cg?XnOP{c~G31wkMy4@Xw)Lg=kjfekr4RG~ zaA&v|?YQ3rMNN_fT@FZ*R(R3uvkFvkM@@yWa7ig-BgFcP;<-xh`QstS2>jk1NG&i! zU8SyS^)sd_*(E$T4RT|{nQa_b(ZHM?L9v9fkIS=g4S4jYIAn9uS8`D%C?e{!-|m6$ zNUL!mXlS|~h6WztZYe<+VB|5dYLe$j5r~Yn|&nV@vo-$)UXkjt0;$en9#PJogfW4pbt)-xOH?hS^2uE;1Z_Ce(W$7%o(VRcH5eVsm zY@RiBd*Ix2Y!2NN^-K9H!)!+AT!@}s`*;;^^2}aOmyhMf0jMdW!7_IEkdFCU3kz8Mnp4LuL5dgNumO0>BkG@-aF;Rv}~HiiH0n)E%AfaQ2o|D>Hkqe z;pH6c4eR#8i_+QFJ-3G?KOA8JgyYQ6*QqeSi zLuvc7=n?e+j?e;fbbPzYF>jF8cSsJPV4Hp0?^e0%^8q_K>HV1O^uT)@)}Z+oT080Y zo(Y(CRIpN5mQ>5)gld$dP#}pN1;uzmR~bN1Waj~KzHcDS585~p-(d5@?^qHtY;yS> z*X!ffjnZligHJ6HuW(_)k{zf2>ILxpc&huMUq1(yrC~GrJFWX=jOPI|chG)$rKj7-AloN)4@DOsfY3m_YG3O&dpr+bZ`%>4r zH%dA(F1%UtLvzzZE+Z~R`x=`UJ$|2k(fr4b?rGlJKrcv|ZXIqM=a7~cm(BqkE**`FxmYhB;Y)gVODoKWsW`P?n7mlzvmVR;q4!>5>&o@% zz(Zj1wuFv`vE&GiW0C6Qd(jtIp{ZNf+HxWuo8tOcwig$Yqd2n6&x)pMwDL>L?4*g)~mi#&_ILGEm`q#>l z;>2@u?Zvay2VMFl=GTys^r{nUHZPP3jtxiyW~09z>hjrMp;XoP}Ct%dV4gjyKrcMC&V-O5Q^7~k?B^IQsk);=;2#V|VF z-c=!jtUIZkAQHpIJ?sm@E;d#pDs+b~xf_EN8=xo9DDFI$pn7nEZD6%-X5| z`gde=|Ugecsf?@l3k9%T_U6+{QCExR@(fCz=A7fGJ z8j)(-oZgJPe)iDfs}CXC?Y23OUmV-+Z^m4J}f2&*vIT3bvd}J9J=zO83y=te__j3<|e5X7s0R zy?+PazmNkx%U8zUR|6Fzb_uy?Z{L>l7HwOmBM+(iBbt@704Hf<**agYVw(g-@dF%K5#pRIwzD)OeVPe(MsEt^wHf|X#vt1G@r=6p&)kLw(v0xfbE#z9 z8L5@~jK#ak6R8nqwYioTFWaE1AAz*F%UF8I7$TMz)tLyCn|Rr$J&ru-2Na>2_4O1DY`GaBgenKX;3G%rPWPm)ma(VEI$lz9R@T!DSViuiDLaYnG-zSFzXI%9!C&Q133?xy}uxt>eo8OWxE zmD2A|{_>N`RGGH0W`(-p8o8plmDP<$Glth5X-FE+40#7IM4V8KiL-Bmh>sd$-m(xl z<>kDMJ+QJ1R~U@RyOs(D4_pU+QUobroW$T3V(>Um}m@gq4VySk?0W@ zA98@|kd6uaY_rnRhvrFv-lj^;m!$F602^b+8<{>$M+2Z2Hjj$pTfXi&NZCrVj?5MH zGOeQ}>%wQ~m8M(29BdAzOP+jp2(8D7N>fDS7-;$NfC1)XEBa{`GYcL}>lC2}?enev z>;w2Jt)QBCRSw6oz6#dB!3&!a@X)wp;wslNdvmnQ+f|kpS0|$sy{FUt1sBkiOg8b+ ziHqRsOJGQd&cFEz6A z60X^4uJNJ*W{-LyN*?a*k3dofwlZ@CVM~Z;N9IqhZR6+;$xSE^kM*@Qxj=VZ4pVJz2i)sAanPF_XtKg-rtZ}85 zyr8UPpHEd;oM~*G;ElJ|dfgPOm->=#u-fY!P~nY^);x!64JND5gQZW0lA&SSFW>8# zdxoL3IvVn_;Us&{`(~A}4Y^)^=eX-gO1DNE?eA{yHkv?Bs5?$L(VW(x=R2Y@4~rQ; z$kc4tQGkXHu(gg$@#1) zsH&cM{IgYPK^WLp51$79tkbC4uwz|W&j)))9f~F+gDr5{IZ@_+!<@W?tFzS$_LFe= z9tl5jAA2niV9%_-Q#KkFJ00xg(dV@+uG97aT)_c(oPHYjiR1G0shEffbDFuW zm)=B`)%RpJqZ-*s*J~Zmfp)l{;Fmr2PHfbWYa~*G*M?|0#nl>ed8|SAwj$}=+Wa{* z9j}RghP042PleBSoPci~d2&9AP-++rB$#K8v`6N|@IPp7KQWl?o$oj$23{450ZD3i z?P#mATg^3aUe=-(1G;aCQ8GH7n_^5~4=@A2h7_4HYX`wAJeZ?Jh&y(u)^+@OAh3#$ zWGAK!#U&{U;XzvS(v+1X95^A{JAYThwDw4$6&+?0=*V)3LS`}e1ku4RAIS0L$rUnJBH+~ zi%Yuvam5Jgg`iGa4Mo4A4xT{6=j1)od23Ywc!c@p#A@^t&mbh7kL20;Y+PBpxwblq zz+szeNWpSJ{vKuNjU5({FJhUv&wCjw*eSv-t;%dC&@pv1^aAiR~?{G(1>{ViAMvcs8-^ zl!iqk1~N;kO-uqkqj;MaY zOv@Ys*j;2dysSokpbmg0s2S6s#r-@Ngvr`7axC%p%yFNF87X07MIZE;cjAC~jrEdf zk=K2RJQKrP$pQ7QB`9nvW=wf%Xu~Rm9?&NqC`Z{IZXejJ3^_?ymh8qOQIZ>(u6Nc4 z`&06`j1pz(r96)&q5cwFJT25Cw8B731Jcy3>o-$eN_^GSu>*c z=Sgu6TWqwso(W2jdbhowTssX`2iM&v>Cl*{LV1+A3#K2wY!*GVUuEb9OH@ZAI8ls7 zvHmN+uVfi8@rKCWSmK8J-)cNJ^JOv@878P>XCZ-W7B2TLc7@5J^6dn3S@7{{fK zA_Z8V%C2OPkfe6cCm2lSnCTAGW%1a-K7<}oq;2LErS1ER&3EF-O8Pw&ZlBVjU=jw; zA_|GQAk&_p##(vLXns$ytm>-L-x%a`AMu*Aqv?ZBiq*48;JWO#MQ!Eu8;sN=+bUS; z0RwL<-2JUY8l#&4IpcUC>C>2)`JTC2;z@I{>Hs)kJF zX4XrW?JgSPJjjq`%NdF|Fw{OqV*u3ACKirJJ|Sxb6aVy%Dp%{$t3ka&=TApjksoX6 z**$&5Wep1be`>~7%U=8N@Rba~1X`DhRG@5D>cQ*5^s|UEyeRvs5u};^TI)*nn?vCb z$i44MaOzZrJ;}8NlW#H)Mp(9uFWc57?P1?nituZzC?fO+WUHKrPRY5E6eLTppB@n9otv_pd&-3GmNv?p?Np0e zVquNk(cGU6+y5b{+d;&R+F&rF>EUI^{=|4A5TTkYiedfudl{`zK8=82+$(Ie8DH%PS;o4 zTv#G^X{!|DT&{Wg3A7alNgDSZFd68-;jWYT14_Zi?r{R|Tyc}QMv)2idHfd!QdfGks9d7OGEq)ltUhxWN_+m`l*jB8s32`!f8@d6=?0AjV-F4?Om2|sx2Ii2T39Ab{I9&>|sD@Q`msgIb0s1Xey2A?4BnZd znr^Ll_xg3QoAEa#9?jpu4?bS_f{6O+nA$y+xfNftuU^{e*Ob?%$Nh0m+G($*MCCGg z`iJw8LCyU4ABiC;UkzvG`Wl$Nl^u)@JWB3NN}0|{t{=e}Df^}l`wS^2jhDR}EhC0C z;iV~kNi}@jaFPy!OsRgVF@x}dcLG83p#`NUW+O+T4+h4YW=0-IvE*|e$fdQkA6*GK z^h$R9X{eES=?Y{~$@imPo=x2no@}k&QE)i7Fw1ELysWjw3~JJ7UBy(*J)IJD;a^GS zkFx2|Trscqz{^F3*&2S78FV6VCK`SzD~(-*Go&N~d+N<->98vQ!NCQ1zF_&(yHTN$ z!kcu@=2E&&O!T0CZR{)J!Rt;on24&2yCgEL3GGBmzW1*pddTxv%wikkIA+)8LiVYk z5i3m(k=Vv|<@N;x(FVUX=mixp|F*8Zw08@K22P5xg>}2}UmYwhk!*VlBm)p3QPC1M zm8mc5(3J7`^$(1Indi*}u`#`->6u72oshWw=W<(YqN3kL=h3Cs-q?aqnd}`a?V-J& zqnzM|j~b>9g(Xbz-hr!4#EG$tbRhR8eaUR$L3^l%0I(MwU^qCQbPOnAF^~%6N)(;0 ziAK{-(kdO8zJY(An9DtNvqCHt9W{3De2lB)h_6n<3!@(5+mfGtiY#|WEaYJ^s}0bR zWciC;B2T_6ih6$+AlPJf9V{J#XKj>(FP zn;wQ72<@IlTp{w2XKDp<1UHo?z(yvXvN z2dcOj~!%POV!=Dvdo0BRM~kEG%dCP-Fu|Vr;^BR}kQ%z|6&Zk^-7x_KQho=mf7d zfQT77R?RkUy}9L=30yU@qBNhQzyi^aNLEw~lRdC3>mI}#tg(($ctrESpwzUL3pzMl zypAv9#d;94neDZs#?$s^(>;$mb^_uW@1yxfU|i98{sIc$dhQINib`5=?xd)YaJf~8 z-8Q`CyjAIu*4Dh}tAigp(h_E7b)u@>Wig3>4SrE$rD=UuTYMl&;~B^IC)7o`1kG~h z1q`-(-8o)VE1R!zK>B(RarKJ|c4C1eQZyVDxjV3x^=a*Td6iT#$J>~dwp6P(7&yaP z$t6_f=VYOC(ApvV$^Iut!HY zTo|(471fS!7#fNaBDLIPnF)xv+(sJZMm-?87k5afujS{bh-2D85Y1}vPf@Q1ps z)bAkfY~S+qcEMslkGdU86KiN4ESjZm*WU7mm3~% z=|ML{iSUbsnf8W}CVPXlfdG!mv(wj6Ug~xoiNJ4(=>v$eVDsWmv?lbpXhev|sc0wU z;0bVxzRhF!6pPNtVj5=B1aE^4VLpS%_l5weu7lfK6AMo-hLU(%Q{Z+;U#BOl#&G>* zgP?LOgXawhWexilzP)4ga-Z4qR8}-JH!Ml#n2Ejb>giR92hoRHzc$f)sq)*7Zpq(^ z6fz0jySZuuCUi=AwZG!Ap0W1vgAycwW1C#!O_1E#gT-%25^n@}_mxJBGM;x2Q@-aIzK8<&am}|4VA8w1Y#|I6TESkN~ zo^E2^)H=V@DXaW^aec-U;Ok1=q$>$k(N^>3kAF{MU2Ty!LQ>DXWR?KNo|U8aw-S$k z=4f@JU%X@3K`s&c1>b>Z#XJQpE^~Zh9la?IbU0zO+JT{AoCoay^kUNxv3Lg~*+@4r-jb_51@Z1>$Jb(RSDE3=UL0i>Bj)~~9I)OcT%ONmX zK??r12GQ*B_XWxcE|%mC`tmxg7AyNTgDIj&?CY8etpSr|x5WRbVs~nLBIkX-?8Oyt zq|s2yw-l?kJXqi9ktJy03*X_aVcUL?b0$~iB_m038;R*fL%^r)pm|5vs+H=;&3L^X zP|p~u{xiHBy;gx))gw#sCI#>_z1We**>uA!x!itg1m8LN=+V>>!QAqIFm8dcVqz0i zTvz9Ex2UqHpr`7gxkYb;00m6@bIAH{-u$PAVi`mLgL{Xe)2F^-i=|T0uLfKnBKu}p zpB}i!LNiLg&dHYr9_lvQa5t#2^*g>5=1Ilmot7&Ep$Yrm&kTh&TLwb#g_XpTSs$sb z>y14Y(*hAFQ(;^D?L^Aw-$Q75LsrZw+!e8mLbej=l?hKqr12=O^z-N^6$4`{$wW+J z27jGV;j@n6Smj=us(rbz;8^USsvqCDIq;lUH}t(*>W57%KYPanOK6_GLij9R;j2ux z&5`194O31I29VcM+!A<|jpuF(Eihqy(eEsG-Re8og3PphFbC2?mhPWCGhF9tM`j6&O-1Z6_9*Sit@URNsmA6S~X|=zj^^!u)O>y&!JLN zB2mEt=^tWsGzo42Xiwt>YB+ckAYtI#{W{^pK~4!E9r?6C2P|fBv|H9O1^s*`lv}ok zUQQ1UUPtY`jC7_5FDdsLZrTn-q+q>}i6j!;6ehI}3yX}})a+L6HqMn{O0Dtt=7Kjz zc&OVGA6<;iY@~eSPS+tk>~gAS*Ky5fP<5@B3BA7DKM&1TA=S%_U}(f*%ekCU`YMx4 zW6EHgFL|P?NBzyna(YLCej)L^%GmzE5Qzgu8#PJKJ)uVF!(ea&l zjVL#5!<{=oF$1YoYF^9xe2vJgeEiSX*p4p?*1Kk77=B4o=+F-;R zr_t!DDPc}qikhEtJfo2*D_;{0gZZ%$e_Zn^_22ArX^|4@>KXkF$qfnM(Ova39o_2} zso@6K*Nr~eKL9{RzvCX0g^sy*$LTyUtC>=GD#?vDe~ES~r&-xEsjjjy5~>mHbk@kt zSz@O%aahp@6{X0PVi2Q)h=m?Utq_RstE@Z;4fXO^la^cr$<)!UDTv$?0pg!cF}Qcz zo|AXQMaN4P+wW4j-=iOkJ-Nmsy-ruW;?Rxe^W7=%iFrNxYI zc`AJf;A~8N)$0Go0Cju%F0}9{J){3%F;sWTotU(E!)th@!)-3=yjisM^i9Wp67)Db zS!nxhk*bY}Mk(tOItH{11q+L;{%xbgFi~HiXN-7bcJH9UQ%b|@wwdV}pH#==6Z+u` z3A?UG@2wDw(%z@_`2EI;GuUV+d)9Yc+=>VK*PZS21n}i@7F`h$nEnCi=8Ek*+qV|A zx|w&^Euxygn9jyZUES92+5=)ljxk8-KX;&QkDaeLJc`hi;aZuCHFNl-QkVBJF!E!8eClg!^a2R`GZSx8I3c@W2rv5lZMA z=ZD+~#E0D&Ov-q5fXBAOdX8sp-@BlyQ+V&Qz7w24G|If|~ z{2sOhdCtl1{$XJTBkZ4Yo|wb@^%>7o<(@i(BbC=Es5N-z^cq)8r(LpWu9uRnGP%$d zs4@VvrS%qeQxZ7ha{DUR0F`NtplB==v(v{jueDLg5mdjAD38RA)H+y(MnZK?dKbE7 z<^xTIkptV@*-H4$y`n3}*>hULk%O(!UQV^~kdF4VTKk0gO3@(c0fDO$ts_VbYYzFN zNePR%D3`{XeYvBZmi>{ZuvVwDM3M&iLP;3z6k%QVtQUUH&y&SD@3=QW$~k zk(KoBh1qKw|AB_vgMI5@KQ&w`ewEtURFZ{aXB8kY#9E&1dLGFrDBp&T-0WH5{-T68 z_jvil$H@LwFZ5}VOW4cwQ`4D`=#4qw5gAzg1x^tQ}}j};eof9&0x;O*gi{KODLAq*5OFSw^fQ+4M}k? z*_#xYd)mJ7rLjHi99WWt*XmNGypEkHa&~}v!B;S>rqpNs)>f`t7VK)fC;JY0iCNcOrfs2Ww2tJx!51?;5u$ zPlSU;z7Yw-A5$V4X3VzE6L_3J_b#)RZ?65%jj1DL@=!!Hd-Zd;e`ttpZ%@chVUmT# zSfRUmgh}M8|H^v4EKJHEDy}6if>sQ#1w0IM^t{rW6G#bvHfT7Tk%YdAN!NDYn*`1% zkd8;jd;W^w#0*5#G~J;_g1p(hQU=7Y3dCPbcLbRB?%Mx|weA)A%O0P~AiUmNGz|Fp z_+nD~AMIUvIMi+TkMvk7M0PV2vhNi#mPkmE%DyF`2x-DtW^C1vwI2H}RF+WIY-1_A zri4NEF~&Z_V2r~1^}f%0UDWeDzux!y{rC3g_nPlD_x(Nhxz9QGIiK^nhp30nsRr{j zJK{e?OWT^h@}MW!L+%n8aHv-Q(dzp%-9=L7rPDY+t(qr!e5+qV0!k(Ist4gA=x0pj zG4Z+^Q6&>ZgXJ{wnatnXy;DdwU1VMwJ~5=jD2}O1 z-9{*@Z3knWm!OiWeDz-kidlsf@cs!E*2ACOvpkZs12Auv^AHKSvCW#Irta=ZY+#e6 zx5zY2#p%ZIiF3d=`?rJj`v>R#?;vt7s}aV^DpCIs`p2o+ynMZ94fw z0^K42^%->*6e(UrOOpL+q)cm$K5d9HFdQMXv=61C8VEYdeEujtO$({0oN*HL7M5$Z zz^yvoXcCqoE!F((LC7ci6>Lsyf6jpi?vc{nMK+SsQ4s&Jl4Yf4bFY+xXM?vhhGgyW z7D7S!Kzb~umab%+YZJk3hpj1iEelkiLOTW2*z{WP*#1y=S7WZOGb2uzm)WXJs`J$U z>T1?9ElbiYbGb-Y?ib|F%ig)V2VdqQ0fcxwUTH?V(T9N2Ovh5g-%=>ll4!PiQ`*d? zx1z91#!5M<^eFY>Yp0mXCA1-_ce0De(xj>B zqND=&76}m^oSe6Gp_P?75R=8!SZM%vUsO@_>R&2dlx~MF$C_9t{<$mdHaGSyuoAHA!SX!SnQ7dvS+n1o=YzrA0?aS&#UVT!n_D3 z#n^Ix@3xX8>r+~_avq|M^BDX|i|B9jOi5;HTWec~Rx6KZGA34=Kl0NJQ+;SR@1zuG zCE3L2DoNUDp`r8i`6k20eKEQ}1t26*YcGsKpUw-?iln8U7%@l&hm_`&0By;0ooOn{ z66*+7O4x}&l- zj)2bWjTulu=Rv@n&g6LZ>5Dh2Qk2TUfn%@Vtt<%nA^avyY3;*bmhow9J==H|TWIK~ ztuXbKh<`xned|}GUxc*R;5+XXa`?8zl6mT6H1i#$WOv0(5#^5EeUE|7I~)a^j_7CK zn|CXk%0#uN$rN-?PBHI8Vs!m5M35Q0rsH=h4dSit=!hriM3=K#UD={lYN<;RnAb7= z6qej=@?^aAv7Aw20#BAvSLWovjO?{g)!_%J?0iL~KCcwP8ayzW*)Ut}j{pag?r30_ zer$g>33Ebw@SR|7rt}-? z3j^aG|1A6Fzn3)_@vJn)-)Yg-@$&T^gly|iiH`ob_cQ{$tBaN^<~fez&qOQ56BM2? z;_wMOCn+FRy2jHp_cEI#uTTMkLQ!pbHrrC{M_+rKThG!T1A635HgvklKNgWnq@k&j^qD(NXFyZAoSQM=yrMcfiv>Efy86<)N1~ojZVTZESAsS5 zB9K>^6Fyiefvl0i7o~)V?MPTDU zS+S>!ESzC0EY1mv*(thjR(iN2^{cxV=DQ@x`cIKZ}MSUPLY96vsVPU~i?6pA{!kniK zMMd$~N}Aq`F6FljT2?)Gd1RO#=N||~4$DDnF90d`P=yHl3@|~E6XsCZ*v_&Vw^VOA zU+%}0MfKTsBz~+ems3ht9!QZ+)Z2H&ZHAom70mvUgn++HLeP0XUJL^gsGs=0jw7yi zib-U*`8m=>N>27(U@SW=161)`l?(dJ)kwS1N9unSi6M zl*PIL;b?kIu&P;f596RW{lYii7T+OpkuKqphS$^ZXx{U-j$M?=sICsAm{lLpe**<- z%_SmTZ%g-?Oc&kC5K2eNRvDDRd&8PF=?b@;yS>uf?@3}ZG=Jws{sAmkn}k(*zO%Mf zXn4)rIs}rR;ngB*0fo8?4Uq;X;0ik@z-QKB2F(Q)?=uGpcgTL>iE6~JQ#gBBcDPhE zxIS(d*^D~tfp6&>CnkKIzL!@Xo5-+fTKnN?)yzZSgc%+L@vGB#i7N_;*5FQ4F@0sT z-bR3H1`$hQgue~O7P^T9+bF|i@Jt1Q->yZTSsQ;e(VMMY;A{SYENH)(M&2e;PJ%7h zJBHpuZMqDt7X@iZ3wl;4OIsNmVPQIPLDW0t9=!cBa$g~FAiu}=07@F~SShNOyeyqF z@`>#e$v7sXu#CR)5K}}=6q!3_+pE1ckXHApao-1v6`mRMJCGPmEz@S{skHI&jN-2r zSE7mV?6*&P@ovdG@Ow5YLBXlOlm|oCjCR?JMb;4T zh8+9a^K>%pDVipSTCl(Zx{`gkxlCmKkp&r(H^gBX|2tTtCK{>Is0lypTh>u_=HLU* zJ7Dmnz%b9*q480r5yGq0(U1a?&krORC#klqLGMRj_#eM?<+9nS04wOrV>@XT52^C%wR)p* zqyb+4P)cLGi0|#&TM7_mg#bDRQ@DyjSca-2*5~{c3jn8}Xv0lyuQ?j+%1hYq%@^Ib1qlmv zUt|^Cp5uzNInh<5xIKCSJ{aYVd+m4nAz9aU{y9##>rp2Od7vuKXZ86~bb0a(dcx_A z@f#Pn<*wHUm`r1zbi_;Zb=2m-*CFA^cL#LZpdy=hU5rvMw_m$&Q`&y&@%5G>5tTHbxKTmVxmVhjuHch(3Tnowy@u_WgOpS_rs3 z`|Qxiw0D;ViFez>o%l}YQn{R(m5HX6`;Da-gG^p3ss#u)#9{pSvP5~uNA+!uCiX>{ zi?t`j8(i{PVP~EqxWUFfjs+5vRIiG|Zf0)E?{xf&;bSi;2aG=;p49mS5*AQ-B7+h_RNy2E zl+qM-Oz|$jNsx?#>%8XgEUz<0`p>N^oPZpydf+^8b=CS@20t`xck~5(r0K&0bZd$! zQ=4AFN&O8qglP!Wo5t9s+49^=lkUiXP$LI@?Bnq!WV)iuU@6Y~%X`X}Jk4#~B^$e{ zCilwcNpg=Frva;c*<6IE&>J3nboAzVU z$iC)u0O@loQfZy*_516TJI67P%vR4t;dbQ$Gt{v=+gN677ObAw z?kemZgM_S+jzwt(cPt_@*wd>Xsjz)c=^W2nI z7f5gV2RYe^K2_a*z1c5Z((T9<1t8WeE!GsMEcB%C%@ndQr(aD{RoOJ`C4MnK-j>x9 zckrNuLmiz|^0~VMS%Mdb*knthVL>IiEr~``aCr+i9;O_vBbvpd3FZq`%Ov>FV*-}o zELk)SB;uW~omZd1h0kD}JUZJ)85qqxI(;GKW45gw$A7nYqhmw2vbOiEw9|`|?3vPQ zyi>v2ji~(Nv6}`+y^yTIrw0RQ4{v{H0{IKNWGc4~^86U2!Ki{%w!+40dAMOy^fZ&5 z`pSG%Dk$u_acocMX}=xjBaRP%x*G~ns&cF%NOi4*RmQwIL(r7P+VRS{KBrk-f0qju zFYG6Wxv|JR2^0=Mq-)dp2wo;T4A!}yS`fpvm1Ws`Q*r`2d?__jREX97PjB)gYuzEt z;h-QlLVd=Bm79Rwi&-m&jt;RZX+@i>MTS}DBg~VX=O?lWqd+yf&#L(PSpn+4WZ(+s z)fd{v&C5;UxLh19UHMP|WgUefS;p-VPXrr)9)3NNcInTB^JfA(`Z7#iG~mSiaWlia zcCo^!DE@j-$ui5zx_I||Ol%|;RD;rE9>LAWDXD31^a!Sq#aMXFoR!Qdxr7AsSv?ih zJEb~aB?I9=zZR9vmCqRa-eWT`ae!H`N*{>F#@^U>e3&3#6~E1Qf{FR#{X=$cK7c%5 zfRye{7E|s2EyW7EzD^&Ol&Y^z40oD4(t+V=Y5F&XQa{(qq?n{KCkHLjiXM|xRr`28 z>~fofb(SJ|W*EOz?CQg9X@Nd zJN2S8qa^@Cs4v97#NHiC5QH(|R2uRAlj{IN44octWGvL89R=R>ob~2n-ms!VUJB3dsm$S^fKw}MJa(066L~R zN=!MByYU7M+`dOsJq&Df^f#W4_Ix_7%A`4WK&IC=`Q@ z2_?j%47|}yZ?W@H40f0cQxS_@8pxzExBhao=aJIUPx{oY7`vK6wr0^d=wn6X-t@lR zju|hgaNI4MpWLV!$Eg1es1#NlNLFTKz3IoIylOoZ%>ZNBV+b=Mb~u=_KD^2MkEH#t zm#-a{+40;Z(D}7_hqm+KMQR!uxS$Km$;Nx;IV}kkD%RrC%2WS~F?M^lo#Qk!V6(ad zcg5Db&)EOb|JRxW5svln=4tCav;7k<@u!Ax?|T5B?4j?cx<@~MZffd9?0`u&@j^v> zm)+Yt+D}Yq=apbd(Egtr_iu&xF(1&x`QBkS?DwVh|6*44*Y#TdcC??A+KLnKdA=Ux zFR(rO{1<-y{}33UQnEie?%yu*|EfxTJo6}e-#!K&-E(KJ{l|;@OTB(}kN&T!*Dsa& z!N&cvSU-s5FPzaYC-{>-@s~>dQYmVNUvbrLJmud+d%r^UzY)$JkG7OgqxE}NmN*Kc3 diff --git a/docs/assets/evpn-vxlan-topology.svg b/docs/assets/evpn-vxlan-topology.svg new file mode 100644 index 000000000..bd026c3f9 --- /dev/null +++ b/docs/assets/evpn-vxlan-topology.svg @@ -0,0 +1,4 @@ + + +lo0: 10.0.0.1/32lo1: 10.0.0.100/32lo0: 10.0.0.2/32lo1: 10.0.0.100/32lo0: 10.0.0.10/32lo1: 10.0.1.10/3210.1.0.10/32lo0: 10.0.0.11/32lo1: 10.0.1.11/3210.1.0.10/32lo0: 10.0.0.12/32lo1: 10.0.1.12/32192.168.10.1/24192.168.10.2/24 \ No newline at end of file diff --git a/docs/tutorials/evpn-vxlan-fabric.md b/docs/tutorials/evpn-vxlan-fabric.md index d65b3c7c2..12fa7b4a8 100644 --- a/docs/tutorials/evpn-vxlan-fabric.md +++ b/docs/tutorials/evpn-vxlan-fabric.md @@ -25,8 +25,8 @@ A spine-leaf EVPN/VXLAN fabric demonstrating Layer 2 extension across a routed I import { useData } from 'vitepress' import { onMounted, ref, computed } from 'vue' import demoUrl from '../assets/evpn-vxlan-topology.cast?url' -import topologyImageLight from '../assets/evpn-vxlan-topology.png?url' -import topologyImageDark from '../assets/evpn-vxlan-topology-dark.png?url' +import topologyImageLight from '../assets/evpn-vxlan-topology.svg?url' +import topologyImageDark from '../assets/evpn-vxlan-topology-dark.svg?url' const { isDark } = useData() const topologyImage = computed(() => From cd42eba2c9116bc1f3870a14baded2026da32f1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Thu, 26 Mar 2026 00:44:14 +0100 Subject: [PATCH 3/7] Track *.png files with Git LFS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Felix Kästner --- .gitattributes | 3 +++ CONTRIBUTING.md | 3 +++ README.md | 1 + 3 files changed, 7 insertions(+) diff --git a/.gitattributes b/.gitattributes index 06b6f9bbe..a5889bae3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,6 +6,9 @@ # and editors capable of LF line endings. *.go text eol=lf diff=golang +# Images should be stored in Git LFS, and not have their line endings modified. +*.png filter=lfs diff=lfs merge=lfs -text + # Generated files — collapsed in PR diffs, excluded from language stats. api/**/zz_generated.deepcopy.go linguist-generated charts/network-operator/templates/** linguist-generated diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0b78b97e3..8d1f36d19 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,6 +45,9 @@ The following rule governs code contributions: ## Development +This repository uses [Git LFS](https://git-lfs.com) for binary assets (images). +Run `git lfs install` once before cloning or pulling to ensure files are fetched correctly. + > **NOTE:** Run `make help` for more information on all potential `make` targets More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html). diff --git a/README.md b/README.md index ef21b7da0..79681920e 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Network-operator is a project built using Kubebuilder and controller-runtime to - docker version 28+. - kubectl version v1.33.1+. - Access to a Kubernetes v1.33.0+ cluster. +- [Git LFS](https://git-lfs.com) installed (`git lfs install`) ### To Deploy on the cluster From 4836fc9d96026a103651af8f419d27120b6a5940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Wed, 25 Mar 2026 17:25:37 +0100 Subject: [PATCH 4/7] Add pool/claim types and controllers for numbered resource allocation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduces three pool types (IndexPool, IPAddressPool, IPPrefixPool) and a Claim type that references a pool via spec.poolRef. The claim controller allocates the lowest available resource from the referenced pool and writes it back to both the pool status and the claim status. Pools track allocations with ClaimRef+ClaimUID for idempotency, and support Recycle/Retain reclaim policies on claim deletion. All pool types expose an Available condition (HasCapacity/Exhausted). A preferred value can be requested by setting the annotation pool.networking.metal.ironcore.dev/preferred-value on a Claim. The controller will attempt to allocate that exact value; if it is outside the pool's configured ranges or already taken, the claim enters a terminal error state with reason PreferredValueUnavailable. Removing the annotation re-triggers reconciliation and falls back to normal allocation. Signed-off-by: Felix Kästner --- PROJECT | 36 + Tiltfile | 14 + api/core/v1alpha1/index_range.go | 92 +++ api/pool/v1alpha1/claim_types.go | 127 ++++ api/pool/v1alpha1/doc.go | 8 + api/pool/v1alpha1/groupversion_info.go | 87 +++ api/pool/v1alpha1/indexpool_types.go | 227 ++++++ api/pool/v1alpha1/indexpool_types_test.go | 485 +++++++++++++ api/pool/v1alpha1/ipaddresspool_types.go | 240 +++++++ api/pool/v1alpha1/ipaddresspool_types_test.go | 496 +++++++++++++ api/pool/v1alpha1/ipprefixpool_types.go | 291 ++++++++ api/pool/v1alpha1/ipprefixpool_types_test.go | 550 +++++++++++++++ api/pool/v1alpha1/reclaim_policy.go | 13 + api/pool/v1alpha1/zz_generated.deepcopy.go | 536 ++++++++++++++ ...ms.pool.networking.metal.ironcore.dev.yaml | 202 ++++++ ...ls.pool.networking.metal.ironcore.dev.yaml | 204 ++++++ ...ls.pool.networking.metal.ironcore.dev.yaml | 203 ++++++ ...ls.pool.networking.metal.ironcore.dev.yaml | 221 ++++++ .../templates/rbac/manager-role.yaml | 35 + .../templates/rbac/pool-claim-admin-role.yaml | 24 + .../rbac/pool-claim-editor-role.yaml | 30 + .../rbac/pool-claim-viewer-role.yaml | 26 + .../rbac/pool-indexpool-admin-role.yaml | 24 + .../rbac/pool-indexpool-editor-role.yaml | 30 + .../rbac/pool-indexpool-viewer-role.yaml | 26 + .../rbac/pool-ipaddresspool-admin-role.yaml | 24 + .../rbac/pool-ipaddresspool-editor-role.yaml | 30 + .../rbac/pool-ipaddresspool-viewer-role.yaml | 26 + .../rbac/pool-ipprefixpool-admin-role.yaml | 24 + .../rbac/pool-ipprefixpool-editor-role.yaml | 30 + .../rbac/pool-ipprefixpool-viewer-role.yaml | 26 + cmd/main.go | 35 + ....networking.metal.ironcore.dev_claims.yaml | 198 ++++++ ...working.metal.ironcore.dev_indexpools.yaml | 200 ++++++ ...ing.metal.ironcore.dev_ipaddresspools.yaml | 199 ++++++ ...king.metal.ironcore.dev_ipprefixpools.yaml | 217 ++++++ config/crd/kustomization.yaml | 4 + config/rbac/claim_admin_role.yaml | 27 + config/rbac/claim_editor_role.yaml | 33 + config/rbac/claim_viewer_role.yaml | 29 + config/rbac/indexpool_admin_role.yaml | 27 + config/rbac/indexpool_editor_role.yaml | 33 + config/rbac/indexpool_viewer_role.yaml | 29 + config/rbac/ipaddresspool_admin_role.yaml | 27 + config/rbac/ipaddresspool_editor_role.yaml | 33 + config/rbac/ipaddresspool_viewer_role.yaml | 29 + config/rbac/ipprefixpool_admin_role.yaml | 27 + config/rbac/ipprefixpool_editor_role.yaml | 33 + config/rbac/ipprefixpool_viewer_role.yaml | 29 + config/rbac/kustomization.yaml | 12 + config/rbac/role.yaml | 35 + config/samples/kustomization.yaml | 4 + config/samples/v1alpha1_claim.yaml | 39 ++ config/samples/v1alpha1_indexpool.yaml | 12 + config/samples/v1alpha1_ipaddresspool.yaml | 13 + config/samples/v1alpha1_ipprefixpool.yaml | 11 + docs/api-reference/index.md | 367 ++++++++++ internal/controller/pool/claim_controller.go | 393 +++++++++++ .../controller/pool/claim_controller_test.go | 651 ++++++++++++++++++ .../controller/pool/indexpool_controller.go | 100 +++ .../pool/indexpool_controller_test.go | 89 +++ .../pool/ipaddresspool_controller.go | 100 +++ .../pool/ipaddresspool_controller_test.go | 100 +++ .../pool/ipprefixpool_controller.go | 100 +++ .../pool/ipprefixpool_controller_test.go | 107 +++ internal/controller/pool/suite_test.go | 159 +++++ 66 files changed, 7888 insertions(+) create mode 100644 api/core/v1alpha1/index_range.go create mode 100644 api/pool/v1alpha1/claim_types.go create mode 100644 api/pool/v1alpha1/doc.go create mode 100644 api/pool/v1alpha1/groupversion_info.go create mode 100644 api/pool/v1alpha1/indexpool_types.go create mode 100644 api/pool/v1alpha1/indexpool_types_test.go create mode 100644 api/pool/v1alpha1/ipaddresspool_types.go create mode 100644 api/pool/v1alpha1/ipaddresspool_types_test.go create mode 100644 api/pool/v1alpha1/ipprefixpool_types.go create mode 100644 api/pool/v1alpha1/ipprefixpool_types_test.go create mode 100644 api/pool/v1alpha1/reclaim_policy.go create mode 100644 api/pool/v1alpha1/zz_generated.deepcopy.go create mode 100644 charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/rbac/pool-claim-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-claim-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml create mode 100644 config/rbac/claim_admin_role.yaml create mode 100644 config/rbac/claim_editor_role.yaml create mode 100644 config/rbac/claim_viewer_role.yaml create mode 100644 config/rbac/indexpool_admin_role.yaml create mode 100644 config/rbac/indexpool_editor_role.yaml create mode 100644 config/rbac/indexpool_viewer_role.yaml create mode 100644 config/rbac/ipaddresspool_admin_role.yaml create mode 100644 config/rbac/ipaddresspool_editor_role.yaml create mode 100644 config/rbac/ipaddresspool_viewer_role.yaml create mode 100644 config/rbac/ipprefixpool_admin_role.yaml create mode 100644 config/rbac/ipprefixpool_editor_role.yaml create mode 100644 config/rbac/ipprefixpool_viewer_role.yaml create mode 100644 config/samples/v1alpha1_claim.yaml create mode 100644 config/samples/v1alpha1_indexpool.yaml create mode 100644 config/samples/v1alpha1_ipaddresspool.yaml create mode 100644 config/samples/v1alpha1_ipprefixpool.yaml create mode 100644 internal/controller/pool/claim_controller.go create mode 100644 internal/controller/pool/claim_controller_test.go create mode 100644 internal/controller/pool/indexpool_controller.go create mode 100644 internal/controller/pool/indexpool_controller_test.go create mode 100644 internal/controller/pool/ipaddresspool_controller.go create mode 100644 internal/controller/pool/ipaddresspool_controller_test.go create mode 100644 internal/controller/pool/ipprefixpool_controller.go create mode 100644 internal/controller/pool/ipprefixpool_controller_test.go create mode 100644 internal/controller/pool/suite_test.go diff --git a/PROJECT b/PROJECT index 24face925..5c74a505d 100644 --- a/PROJECT +++ b/PROJECT @@ -289,4 +289,40 @@ resources: kind: DHCPRelay path: github.com/ironcore-dev/network-operator/api/core/v1alpha1 version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: IndexPool + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: IPAddressPool + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: IPPrefixPool + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: Claim + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 version: "3" diff --git a/Tiltfile b/Tiltfile index b03e5885b..0feca4499 100644 --- a/Tiltfile +++ b/Tiltfile @@ -139,6 +139,20 @@ k8s_resource(new_name='lldp', objects=['leaf1-lldp:lldp'], trigger_mode=TRIGGER_ k8s_yaml('./config/samples/v1alpha1_dhcprelay.yaml') k8s_resource(new_name='dhcprelay', objects=['dhcprelay:dhcprelay'], resource_deps=['eth1-1'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_yaml('./config/samples/v1alpha1_indexpool.yaml') +k8s_resource(new_name='indexpool-sample', objects=['indexpool-sample:indexpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) + +k8s_yaml('./config/samples/v1alpha1_ipaddresspool.yaml') +k8s_resource(new_name='ipaddresspool-sample', objects=['ipaddresspool-sample:ipaddresspool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) + +k8s_yaml('./config/samples/v1alpha1_ipprefixpool.yaml') +k8s_resource(new_name='ipprefixpool-sample', objects=['ipprefixpool-sample:ipprefixpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) + +k8s_yaml('./config/samples/v1alpha1_claim.yaml') +k8s_resource(new_name='claim-index', objects=['claim-index:claim'], resource_deps=['indexpool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='claim-ipaddress', objects=['claim-ipaddress:claim'], resource_deps=['ipaddresspool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='claim-prefix', objects=['claim-prefix:claim'], resource_deps=['ipprefixpool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) + print('🚀 network-operator development environment') print('👉 Edit the code inside the api/, cmd/, or internal/ directories') print('👉 Tilt will automatically rebuild and redeploy when changes are detected') diff --git a/api/core/v1alpha1/index_range.go b/api/core/v1alpha1/index_range.go new file mode 100644 index 000000000..522fabe3d --- /dev/null +++ b/api/core/v1alpha1/index_range.go @@ -0,0 +1,92 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "encoding/json" + "fmt" + "strconv" + "strings" +) + +// IndexRange represents an inclusive range of indices. +// +kubebuilder:validation:Type=string +// +kubebuilder:validation:Pattern=`^[0-9]+\.\.[0-9]+$` +// +kubebuilder:object:generate=false +type IndexRange struct { + Start uint64 `json:"-"` + End uint64 `json:"-"` +} + +// ParseIndexRange parses a string in the format "start..end" into an [IndexRange]. +func ParseIndexRange(s string) (IndexRange, error) { + parts := strings.Split(s, "..") + if len(parts) != 2 { + return IndexRange{}, fmt.Errorf("invalid index range %q", s) + } + start, err := strconv.ParseUint(strings.TrimSpace(parts[0]), 10, 64) + if err != nil { + return IndexRange{}, fmt.Errorf("invalid index range start %q: %w", parts[0], err) + } + end, err := strconv.ParseUint(strings.TrimSpace(parts[1]), 10, 64) + if err != nil { + return IndexRange{}, fmt.Errorf("invalid index range end %q: %w", parts[1], err) + } + if start > end { + return IndexRange{}, fmt.Errorf("invalid index range %q: start greater than end", s) + } + return IndexRange{Start: start, End: end}, nil +} + +// MustParseIndexRange calls [ParseIndexRange] and panics if it returns an error. +func MustParseIndexRange(s string) IndexRange { + r, err := ParseIndexRange(s) + if err != nil { + panic(err) + } + return r +} + +// String implements [fmt.Stringer]. +func (r IndexRange) String() string { + return fmt.Sprintf("%d..%d", r.Start, r.End) +} + +// MarshalJSON implements [json.Marshaler]. +func (r IndexRange) MarshalJSON() ([]byte, error) { + return json.Marshal(r.String()) +} + +// UnmarshalJSON implements [json.Unmarshaler]. +func (r *IndexRange) UnmarshalJSON(data []byte) error { + var str string + if err := json.Unmarshal(data, &str); err != nil { + return err + } + if str == "" || str == "null" { + *r = IndexRange{} + return nil + } + parsed, err := ParseIndexRange(str) + if err != nil { + return err + } + *r = parsed + return nil +} + +// DeepCopyInto copies all properties of this object into another object of the same type. +func (in *IndexRange) DeepCopyInto(out *IndexRange) { + *out = *in +} + +// DeepCopy creates a deep copy of the IndexRange. +func (in *IndexRange) DeepCopy() *IndexRange { + if in == nil { + return nil + } + out := new(IndexRange) + in.DeepCopyInto(out) + return out +} diff --git a/api/pool/v1alpha1/claim_types.go b/api/pool/v1alpha1/claim_types.go new file mode 100644 index 000000000..211afa1f2 --- /dev/null +++ b/api/pool/v1alpha1/claim_types.go @@ -0,0 +1,127 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "strconv" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// ClaimSpec defines the desired state of Claim +type ClaimSpec struct { + // PoolRef references the allocation pool to allocate from. + // PoolRef is immutable once set. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="poolRef is immutable" + PoolRef corev1alpha1.TypedLocalObjectReference `json:"poolRef"` +} + +// ClaimStatus defines the observed state of Claim. +type ClaimStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // conditions represent the current state of the Claim resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +patchStrategy=merge + // +patchMergeKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` + + // Allocation describes the resource reserved for this claim. + // +optional + Allocation *ClaimAllocation `json:"allocation,omitempty"` +} + +// ClaimAllocation holds the allocated resource value for a claim. +// +kubebuilder:validation:XValidation:rule="[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, x).size() == 1",message="exactly one allocation field must be set" +type ClaimAllocation struct { + // Index is set when the allocation is sourced from an IndexPool. + // +optional + Index *uint64 `json:"index,omitempty"` + + // IPAddress is set when the allocation is sourced from an IPAddressPool. + // +optional + IPAddress *string `json:"ipAddress,omitempty"` + + // Prefix is set when the allocation is sourced from an IPPrefixPool. + // +optional + Prefix *corev1alpha1.IPPrefix `json:"prefix,omitempty"` + + // Value is the string representation of the allocated resource. + // +optional + Value string `json:"value,omitempty"` +} + +// String implements [fmt.Stringer]. +func (a *ClaimAllocation) String() string { + if a == nil { + return "" + } + switch { + case a.Index != nil: + return strconv.FormatUint(*a.Index, 10) + case a.IPAddress != nil: + return *a.IPAddress + case a.Prefix != nil: + return a.Prefix.String() + default: + return "" + } +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=claims +// +kubebuilder:resource:singular=claim +// +kubebuilder:resource:shortName=claim +// +kubebuilder:printcolumn:name="Value",type=string,JSONPath=`.status.allocation.value` +// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.conditions[?(@.type=="Allocated")].status` +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" + +// Claim is the Schema for the claims API +type Claim struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec ClaimSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status ClaimStatus `json:"status,omitzero"` +} + +// GetConditions implements conditions.Getter. +func (c *Claim) GetConditions() []metav1.Condition { + return c.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (c *Claim) SetConditions(conditions []metav1.Condition) { + c.Status.Conditions = conditions +} + +// +kubebuilder:object:root=true + +// ClaimList contains a list of Claim +type ClaimList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []Claim `json:"items"` +} + +func init() { + SchemeBuilder.Register(&Claim{}, &ClaimList{}) +} diff --git a/api/pool/v1alpha1/doc.go b/api/pool/v1alpha1/doc.go new file mode 100644 index 000000000..5e208c013 --- /dev/null +++ b/api/pool/v1alpha1/doc.go @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +// Package v1alpha1 contains API Schema definitions for the pool.networking.metal.ironcore.dev v1alpha1 API group. +// +kubebuilder:validation:Required +// +kubebuilder:object:generate=true +// +groupName=pool.networking.metal.ironcore.dev +package v1alpha1 diff --git a/api/pool/v1alpha1/groupversion_info.go b/api/pool/v1alpha1/groupversion_info.go new file mode 100644 index 000000000..95248d456 --- /dev/null +++ b/api/pool/v1alpha1/groupversion_info.go @@ -0,0 +1,87 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "errors" + + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects. + GroupVersion = schema.GroupVersion{Group: "pool.networking.metal.ironcore.dev", Version: "v1alpha1"} + + // ErrPoolExhausted is returned by Allocate when no free value remains in the pool. + ErrPoolExhausted = errors.New("pool is exhausted") + + // ErrAllocationInconsistent is returned when a claim carries an allocation in its + // status that is not reflected in the pool's allocations, indicating external + // modification or a partial write that requires manual intervention. + ErrAllocationInconsistent = errors.New("claim allocation is inconsistent with pool") + + // ErrPreferredValueUnavailable is returned by AllocatePreferred when the requested + // value is outside the pool's configured ranges/prefixes or is already taken. + ErrPreferredValueUnavailable = errors.New("preferred value unavailable") + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme. + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) + +const ( + // FinalizerName is the identifier used by pool controllers to perform cleanup before a resource is deleted. + FinalizerName = "pool.networking.metal.ironcore.dev/finalizer" +) + +// Allocated condition — set on Claim; reports whether it has successfully reserved a resource. +const ( + // AllocatedCondition reports whether a Claim has successfully reserved a resource. + AllocatedCondition = "Allocated" + + // AllocatedReason indicates that an allocation has been successfully reserved for a Claim. + AllocatedReason = "Allocated" + + // PoolRefInvalidReason indicates that a Claim references an invalid or unsupported pool. + PoolRefInvalidReason = "PoolRefInvalid" + + // PoolNotFoundReason indicates that a referenced pool resource does not exist. + PoolNotFoundReason = "PoolNotFound" + + // PoolExhaustedReason indicates that a pool has no available allocations. + PoolExhaustedReason = "PoolExhausted" + + // AllocationFailedReason indicates that allocation could not be completed. + AllocationFailedReason = "AllocationFailed" + + // PreferredValueUnavailableReason indicates that the requested preferred value is not available. + PreferredValueUnavailableReason = "PreferredValueUnavailable" +) + +// Annotation keys +const ( + // PreferredValueAnnotation is an optional annotation on a Claim that requests a specific + // allocation value. The format depends on the pool type: + // - IndexPool: decimal uint64, e.g. "64512" + // - IPAddressPool: IP address string, e.g. "10.0.0.42" + // - IPPrefixPool: CIDR string, e.g. "192.168.5.0/24" + // If the value is unavailable the claim enters a terminal error state with reason + // PreferredValueUnavailable. Remove the annotation to fall back to normal allocation. + PreferredValueAnnotation = "pool.networking.metal.ironcore.dev/preferred-value" +) + +// Available condition — set on pool types; reports whether the pool has free capacity. +const ( + // AvailableCondition reports whether the pool has free capacity for new claims. + AvailableCondition = "Available" + + // HasCapacityReason indicates the pool has at least one free slot. + HasCapacityReason = "HasCapacity" + + // ExhaustedReason indicates the pool has no free slots. + ExhaustedReason = "Exhausted" +) diff --git a/api/pool/v1alpha1/indexpool_types.go b/api/pool/v1alpha1/indexpool_types.go new file mode 100644 index 000000000..07423d070 --- /dev/null +++ b/api/pool/v1alpha1/indexpool_types.go @@ -0,0 +1,227 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "strconv" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IndexPoolSpec defines the desired state of IndexPool +type IndexPoolSpec struct { + // Ranges defines the inclusive index ranges that can be allocated. + // Example: "64512..65534". + // +required + // +kubebuilder:validation:MinItems=1 + Ranges []corev1alpha1.IndexRange `json:"ranges"` + + // ReclaimPolicy controls what happens to an allocation when a claim is deleted. + // Recycle returns the allocation to the pool. Retain keeps it reserved. + // +optional + // +kubebuilder:default=Recycle + ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy,omitempty"` +} + +// IndexPoolStatus defines the observed state of IndexPool. +type IndexPoolStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // Allocated is the number of allocated indices. + // +optional + Allocated string `json:"allocated,omitempty"` + + // Total is the number of allocatable indices. + // +optional + Total string `json:"total,omitempty"` + + // conditions represent the current state of the IndexPool resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +patchStrategy=merge + // +patchMergeKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` + + // Allocations tracks which indices are reserved by which claims. + // +optional + Allocations []IndexAllocation `json:"allocations,omitempty"` +} + +// IndexAllocation represents a reserved index for a claim. +type IndexAllocation struct { + // ClaimRef references the claim holding the allocation. + // +required + ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` + + // ClaimUID is the UID of the claim holding the allocation. + // +required + ClaimUID types.UID `json:"claimUID"` + + // Index is the allocated value. + // +required + Index uint64 `json:"index"` + + // Retained indicates the allocation must not be reused after claim deletion. + // +optional + Retained bool `json:"retained,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=indexpools +// +kubebuilder:resource:singular=indexpool +// +kubebuilder:resource:shortName=idxpool +// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 +// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" + +// IndexPool is the Schema for the indexpools API +type IndexPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IndexPoolSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IndexPoolStatus `json:"status,omitzero"` +} + +// Total returns the total number of allocatable indices in the pool. +func (p *IndexPool) Total() uint64 { + var total uint64 + for _, r := range p.Spec.Ranges { + total += r.End - r.Start + 1 + } + return total +} + +// Allocated returns the number of currently allocated indices. +func (p *IndexPool) Allocated() int { + return len(p.Status.Allocations) +} + +// IsExhausted returns true if all available indices have been allocated. +func (p *IndexPool) IsExhausted() bool { + return uint64(p.Allocated()) >= p.Total() // #nosec G115 +} + +// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. +func (p *IndexPool) FindAllocation(claim *Claim) *ClaimAllocation { + for _, a := range p.Status.Allocations { + if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { + return &ClaimAllocation{Index: &a.Index, Value: strconv.FormatUint(a.Index, 10)} + } + } + return nil +} + +// GetConditions implements conditions.Getter. +func (p *IndexPool) GetConditions() []metav1.Condition { + return p.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (p *IndexPool) SetConditions(conditions []metav1.Condition) { + p.Status.Conditions = conditions +} + +// Allocate finds the first free index across all ranges, records the allocation, +// and returns a ClaimAllocation describing the reserved index. +func (p *IndexPool) Allocate(claim *Claim) (*ClaimAllocation, error) { + allocated := make(map[uint64]struct{}, len(p.Status.Allocations)) + for _, a := range p.Status.Allocations { + allocated[a.Index] = struct{}{} + } + for _, r := range p.Spec.Ranges { + for idx := r.Start; idx <= r.End; idx++ { + if _, taken := allocated[idx]; !taken { + p.Status.Allocations = append(p.Status.Allocations, IndexAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Index: idx, + }) + return &ClaimAllocation{ + Index: &idx, + Value: strconv.FormatUint(idx, 10), + }, nil + } + } + } + return nil, ErrPoolExhausted +} + +// AllocatePreferred reserves the specific index given by preferred for the claim. +// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured +// ranges or is already taken by another claim. +func (p *IndexPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { + idx, err := strconv.ParseUint(preferred, 10, 64) + if err != nil { + return nil, ErrPreferredValueUnavailable + } + inRange := false + for _, r := range p.Spec.Ranges { + if idx >= r.Start && idx <= r.End { + inRange = true + break + } + } + if !inRange { + return nil, ErrPreferredValueUnavailable + } + for _, a := range p.Status.Allocations { + if a.Index == idx { + return nil, ErrPreferredValueUnavailable + } + } + p.Status.Allocations = append(p.Status.Allocations, IndexAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Index: idx, + }) + return &ClaimAllocation{Index: &idx, Value: strconv.FormatUint(idx, 10)}, nil +} + +// Reclaim applies the pool's reclaim policy for the given claim. +// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. +func (p *IndexPool) Reclaim(claim *Claim) { + for i := range p.Status.Allocations { + a := &p.Status.Allocations[i] + if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { + continue + } + if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { + a.Retained = true + continue + } + p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) + return + } +} + +// +kubebuilder:object:root=true + +// IndexPoolList contains a list of IndexPool +type IndexPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []IndexPool `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IndexPool{}, &IndexPoolList{}) +} diff --git a/api/pool/v1alpha1/indexpool_types_test.go b/api/pool/v1alpha1/indexpool_types_test.go new file mode 100644 index 000000000..33d5b2525 --- /dev/null +++ b/api/pool/v1alpha1/indexpool_types_test.go @@ -0,0 +1,485 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "reflect" + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +func TestIndexPool_Total(t *testing.T) { + tests := []struct { + name string + pool IndexPool + want uint64 + }{ + { + name: "empty ranges", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{}, + }, + }, + want: 0, + }, + { + name: "single range", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + }, + want: 10, + }, + { + name: "single range with same start and end", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("5..5"), + }, + }, + }, + want: 1, + }, + { + name: "multiple ranges", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + corev1alpha1.MustParseIndexRange("20..30"), + corev1alpha1.MustParseIndexRange("100..200"), + }, + }, + }, + want: 122, + }, + { + name: "large range", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("64512..65534"), + }, + }, + }, + want: 1023, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Total(); got != test.want { + t.Errorf("Total() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIndexPool_Allocated(t *testing.T) { + tests := []struct { + name string + pool IndexPool + want int + }{ + { + name: "no allocations", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{}, + }, + }, + want: 0, + }, + { + name: "single allocation", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + }, + }, + }, + want: 1, + }, + { + name: "multiple allocations", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Index: 2, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Index: 3, + }, + }, + }, + }, + want: 3, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Allocated(); got != test.want { + t.Errorf("Allocated() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIndexPool_IsExhausted(t *testing.T) { + tests := []struct { + name string + pool IndexPool + want bool + }{ + { + name: "empty pool - exhausted", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{}, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{}, + }, + }, + want: true, + }, + { + name: "no allocations - not exhausted", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{}, + }, + }, + want: false, + }, + { + name: "partially allocated - not exhausted", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Index: 2, + }, + }, + }, + }, + want: false, + }, + { + name: "fully allocated - exhausted", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..3"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Index: 2, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Index: 3, + }, + }, + }, + }, + want: true, + }, + { + name: "over-allocated - exhausted", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..2"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Index: 2, + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Index: 3, + }, + }, + }, + }, + want: true, + }, + { + name: "multiple ranges - partially allocated", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + corev1alpha1.MustParseIndexRange("20..30"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Index: 1, + }, + }, + }, + }, + want: false, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.IsExhausted(); got != test.want { + t.Errorf("IsExhausted() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIndexPool_FindAllocation(t *testing.T) { + tests := []struct { + name string + pool IndexPool + claim Claim + want *ClaimAllocation + }{ + { + name: "empty allocations returns nil", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{}, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: nil, + }, + { + name: "matching claim returns allocation", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Index: 5, + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: &ClaimAllocation{Index: new(uint64(5)), Value: "5"}, + }, + { + name: "different claim name returns nil", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Index: 5, + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, + want: nil, + }, + { + name: "different claim UID returns nil", + pool: IndexPool{ + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Index: 5, + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, + want: nil, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + got := test.pool.FindAllocation(&test.claim) + if !reflect.DeepEqual(got, test.want) { + t.Errorf("FindAllocation() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIndexPool_Allocate(t *testing.T) { + tests := []struct { + name string + pool IndexPool + claim Claim + wantErr bool + checkFunc func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) + }{ + { + name: "empty pool range allocates first index", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..3"), + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) { + if alloc.Index == nil { + t.Fatal("Index is nil, want non-nil") + } + if *alloc.Index != 1 { + t.Errorf("Index = %v, want 1", *alloc.Index) + } + if alloc.Value != "1" { + t.Errorf("Value = %q, want %q", alloc.Value, "1") + } + recorded := pool.Status.Allocations[len(pool.Status.Allocations)-1] + if recorded.ClaimRef.Name != "test-claim" { + t.Errorf("ClaimRef.Name = %q, want %q", recorded.ClaimRef.Name, "test-claim") + } + if recorded.ClaimUID != "test-uid" { + t.Errorf("ClaimUID = %q, want %q", recorded.ClaimUID, "test-uid") + } + }, + }, + { + name: "one already allocated allocates next index", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..3"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Index: 1}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) { + if alloc.Index == nil { + t.Fatal("Index is nil, want non-nil") + } + if *alloc.Index != 2 { + t.Errorf("Index = %v, want 2", *alloc.Index) + } + recorded := pool.Status.Allocations[len(pool.Status.Allocations)-1] + if recorded.ClaimRef.Name != "test-claim" { + t.Errorf("ClaimRef.Name = %q, want %q", recorded.ClaimRef.Name, "test-claim") + } + if recorded.ClaimUID != "test-uid" { + t.Errorf("ClaimUID = %q, want %q", recorded.ClaimUID, "test-uid") + } + }, + }, + { + name: "all allocated returns error", + pool: IndexPool{ + Spec: IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..2"), + }, + }, + Status: IndexPoolStatus{ + Allocations: []IndexAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Index: 1}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Index: 2}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + wantErr: true, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + alloc, err := test.pool.Allocate(&test.claim) + if test.wantErr { + if err == nil { + t.Fatal("Allocate() expected error, got nil") + } + return + } + if err != nil { + t.Fatalf("Allocate() unexpected error: %v", err) + } + if test.checkFunc != nil { + test.checkFunc(t, &test.pool, alloc) + } + }) + } +} diff --git a/api/pool/v1alpha1/ipaddresspool_types.go b/api/pool/v1alpha1/ipaddresspool_types.go new file mode 100644 index 000000000..dd1944639 --- /dev/null +++ b/api/pool/v1alpha1/ipaddresspool_types.go @@ -0,0 +1,240 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "math/big" + "net/netip" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IPAddressPoolSpec defines the desired state of IPAddressPool +type IPAddressPoolSpec struct { + // Prefixes defines the CIDR ranges that can be allocated. + // +required + // +kubebuilder:validation:MinItems=1 + Prefixes []corev1alpha1.IPPrefix `json:"prefixes"` + + // ReclaimPolicy controls what happens to an allocation when a claim is deleted. + // Recycle returns the allocation to the pool. Retain keeps it reserved. + // +optional + // +kubebuilder:default=Recycle + ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy,omitempty"` +} + +// IPAddressPoolStatus defines the observed state of IPAddressPool. +type IPAddressPoolStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // Allocated is the number of allocated IP addresses. + // +optional + Allocated string `json:"allocated,omitempty"` + + // Total is the number of allocatable IP addresses. + // +optional + Total string `json:"total,omitempty"` + + // conditions represent the current state of the IPAddressPool resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` + + // Allocations tracks which IP addresses are reserved by which claims. + // +optional + Allocations []IPAddressAllocation `json:"allocations,omitempty"` +} + +// IPAddressAllocation represents a reserved IP address for a claim. +type IPAddressAllocation struct { + // ClaimRef references the claim holding the allocation. + // +required + ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` + + // ClaimUID is the UID of the claim holding the allocation. + // +required + ClaimUID types.UID `json:"claimUID"` + + // Address is the allocated IP address. + // +required + // +kubebuilder:validation:Format=ip + Address string `json:"address"` + + // Retained indicates the allocation must not be reused after claim deletion. + // +optional + Retained bool `json:"retained,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=ipaddresspools +// +kubebuilder:resource:singular=ipaddresspool +// +kubebuilder:resource:shortName=ippool +// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 +// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" + +// IPAddressPool is the Schema for the ipaddresspools API +type IPAddressPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IPAddressPoolSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IPAddressPoolStatus `json:"status,omitzero"` +} + +// Total returns the total number of allocatable IP addresses in the pool. +func (p *IPAddressPool) Total() *big.Int { + total := new(big.Int) + for _, prefix := range p.Spec.Prefixes { + bits := 32 + if prefix.Addr().Is6() { + bits = 128 + } + count := new(big.Int).Lsh(big.NewInt(1), uint(bits-prefix.Bits())) // #nosec G115 + total.Add(total, count) + } + return total +} + +// Allocated returns the number of currently allocated IP addresses. +func (p *IPAddressPool) Allocated() int { + return len(p.Status.Allocations) +} + +// IsExhausted returns true if all available IP addresses have been allocated. +func (p *IPAddressPool) IsExhausted() bool { + total := p.Total() + if total.Sign() == 0 { + return true + } + allocated := big.NewInt(int64(p.Allocated())) + return allocated.Cmp(total) >= 0 +} + +// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. +func (p *IPAddressPool) FindAllocation(claim *Claim) *ClaimAllocation { + for _, a := range p.Status.Allocations { + if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { + return &ClaimAllocation{IPAddress: &a.Address, Value: a.Address} + } + } + return nil +} + +// GetConditions implements conditions.Getter. +func (p *IPAddressPool) GetConditions() []metav1.Condition { + return p.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (p *IPAddressPool) SetConditions(conditions []metav1.Condition) { + p.Status.Conditions = conditions +} + +// Allocate finds the first free IP address in the pool's prefixes and records it as an allocation for the given claim. +func (p *IPAddressPool) Allocate(claim *Claim) (*ClaimAllocation, error) { + allocated := make(map[netip.Addr]struct{}, len(p.Status.Allocations)) + for _, a := range p.Status.Allocations { + if addr, err := netip.ParseAddr(a.Address); err == nil { + allocated[addr] = struct{}{} + } + } + for _, prefix := range p.Spec.Prefixes { + masked := prefix.Masked() + for addr := masked.Addr(); masked.Contains(addr); addr = addr.Next() { + if _, taken := allocated[addr]; !taken { + addrStr := addr.String() + p.Status.Allocations = append(p.Status.Allocations, IPAddressAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Address: addrStr, + }) + return &ClaimAllocation{ + IPAddress: &addrStr, + Value: addrStr, + }, nil + } + } + } + return nil, ErrPoolExhausted +} + +// AllocatePreferred reserves the specific IP address given by preferred for the claim. +// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured +// prefixes or is already taken by another claim. +func (p *IPAddressPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { + addr, err := netip.ParseAddr(preferred) + if err != nil { + return nil, ErrPreferredValueUnavailable + } + inRange := false + for _, prefix := range p.Spec.Prefixes { + if prefix.Masked().Contains(addr) { + inRange = true + break + } + } + if !inRange { + return nil, ErrPreferredValueUnavailable + } + addrStr := addr.String() + for _, a := range p.Status.Allocations { + if a.Address == addrStr { + return nil, ErrPreferredValueUnavailable + } + } + p.Status.Allocations = append(p.Status.Allocations, IPAddressAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Address: addrStr, + }) + return &ClaimAllocation{IPAddress: &addrStr, Value: addrStr}, nil +} + +// Reclaim applies the pool's reclaim policy for the given claim. +// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. +func (p *IPAddressPool) Reclaim(claim *Claim) { + for i := range p.Status.Allocations { + a := &p.Status.Allocations[i] + if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { + continue + } + if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { + a.Retained = true + continue + } + p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) + return + } +} + +// +kubebuilder:object:root=true + +// IPAddressPoolList contains a list of IPAddressPool +type IPAddressPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []IPAddressPool `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IPAddressPool{}, &IPAddressPoolList{}) +} diff --git a/api/pool/v1alpha1/ipaddresspool_types_test.go b/api/pool/v1alpha1/ipaddresspool_types_test.go new file mode 100644 index 000000000..6cd0b74c8 --- /dev/null +++ b/api/pool/v1alpha1/ipaddresspool_types_test.go @@ -0,0 +1,496 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "math/big" + "reflect" + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +func TestIPAddressPool_Total(t *testing.T) { + tests := []struct { + name string + pool IPAddressPool + want *big.Int + }{ + { + name: "empty prefixes", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{}, + }, + }, + want: big.NewInt(0), + }, + { + name: "single IPv4 /24 prefix", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/24"), + }, + }, + }, + want: big.NewInt(256), + }, + { + name: "single IPv4 /32 prefix", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.1/32"), + }, + }, + }, + want: big.NewInt(1), + }, + { + name: "multiple IPv4 prefixes", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/24"), + corev1alpha1.MustParsePrefix("10.0.0.0/24"), + corev1alpha1.MustParsePrefix("172.16.0.0/28"), + }, + }, + }, + want: big.NewInt(528), + }, + { + name: "single IPv6 /64 prefix", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("2001:db8::/64"), + }, + }, + }, + want: new(big.Int).Lsh(big.NewInt(1), 64), + }, + { + name: "single IPv6 /128 prefix", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("2001:db8::1/128"), + }, + }, + }, + want: big.NewInt(1), + }, + { + name: "mixed IPv4 and IPv6 prefixes", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/24"), + corev1alpha1.MustParsePrefix("2001:db8::/126"), + }, + }, + }, + want: big.NewInt(260), + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Total(); got.Cmp(test.want) != 0 { + t.Errorf("Total() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPAddressPool_Allocated(t *testing.T) { + tests := []struct { + name string + pool IPAddressPool + want int + }{ + { + name: "no allocations", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{}, + }, + }, + want: 0, + }, + { + name: "single allocation", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "192.168.1.1", + }, + }, + }, + }, + want: 1, + }, + { + name: "multiple allocations", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "192.168.1.1", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Address: "192.168.1.2", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Address: "192.168.1.3", + }, + }, + }, + }, + want: 3, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Allocated(); got != test.want { + t.Errorf("Allocated() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPAddressPool_IsExhausted(t *testing.T) { + tests := []struct { + name string + pool IPAddressPool + want bool + }{ + { + name: "empty pool - exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{}, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{}, + }, + }, + want: true, + }, + { + name: "no allocations - not exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/30"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{}, + }, + }, + want: false, + }, + { + name: "partially allocated - not exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/30"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "192.168.1.1", + }, + }, + }, + }, + want: false, + }, + { + name: "fully allocated - exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/30"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "192.168.1.0", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Address: "192.168.1.1", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Address: "192.168.1.2", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-4"}, + ClaimUID: types.UID("uid-4"), + Address: "192.168.1.3", + }, + }, + }, + }, + want: true, + }, + { + name: "over-allocated - exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("192.168.1.0/31"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "192.168.1.0", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Address: "192.168.1.1", + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Address: "192.168.1.2", + }, + }, + }, + }, + want: true, + }, + { + name: "IPv6 pool - not exhausted", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("2001:db8::/126"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Address: "2001:db8::1", + }, + }, + }, + }, + want: false, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.IsExhausted(); got != test.want { + t.Errorf("IsExhausted() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPAddressPool_FindAllocation(t *testing.T) { + tests := []struct { + name string + pool IPAddressPool + claim Claim + want *ClaimAllocation + }{ + { + name: "empty allocations returns nil", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{}, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: nil, + }, + { + name: "matching claim returns allocation", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Address: "10.0.0.1", + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: &ClaimAllocation{IPAddress: new("10.0.0.1"), Value: "10.0.0.1"}, + }, + { + name: "different claim name returns nil", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Address: "10.0.0.1", + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, + want: nil, + }, + { + name: "different claim UID returns nil", + pool: IPAddressPool{ + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Address: "10.0.0.1", + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, + want: nil, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + got := test.pool.FindAllocation(&test.claim) + if !reflect.DeepEqual(got, test.want) { + t.Errorf("FindAllocation() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPAddressPool_Allocate(t *testing.T) { + tests := []struct { + name string + pool IPAddressPool + claim Claim + wantErr bool + checkFunc func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) + }{ + { + name: "prefix 10.0.0.0/30 allocates first address", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/30"), + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) { + if alloc.IPAddress == nil { + t.Fatal("IPAddress is nil, want non-nil") + } + if *alloc.IPAddress != "10.0.0.0" { + t.Errorf("IPAddress = %q, want %q", *alloc.IPAddress, "10.0.0.0") + } + if alloc.Value != "10.0.0.0" { + t.Errorf("Value = %q, want %q", alloc.Value, "10.0.0.0") + } + }, + }, + { + name: "10.0.0.0 already allocated allocates next address", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/30"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Address: "10.0.0.0"}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) { + if alloc.IPAddress == nil { + t.Fatal("IPAddress is nil, want non-nil") + } + if *alloc.IPAddress != "10.0.0.1" { + t.Errorf("IPAddress = %q, want %q", *alloc.IPAddress, "10.0.0.1") + } + }, + }, + { + name: "all 4 addresses of /30 allocated returns error", + pool: IPAddressPool{ + Spec: IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/30"), + }, + }, + Status: IPAddressPoolStatus{ + Allocations: []IPAddressAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Address: "10.0.0.0"}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Address: "10.0.0.1"}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c3"}, ClaimUID: "uid3", Address: "10.0.0.2"}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c4"}, ClaimUID: "uid4", Address: "10.0.0.3"}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + wantErr: true, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + alloc, err := test.pool.Allocate(&test.claim) + if test.wantErr { + if err == nil { + t.Fatal("Allocate() expected error, got nil") + } + return + } + if err != nil { + t.Fatalf("Allocate() unexpected error: %v", err) + } + if test.checkFunc != nil { + test.checkFunc(t, &test.pool, alloc) + } + }) + } +} diff --git a/api/pool/v1alpha1/ipprefixpool_types.go b/api/pool/v1alpha1/ipprefixpool_types.go new file mode 100644 index 000000000..831c79f2c --- /dev/null +++ b/api/pool/v1alpha1/ipprefixpool_types.go @@ -0,0 +1,291 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "math/big" + "net/netip" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IPPrefixPoolSpec defines the desired state of IPPrefixPool +type IPPrefixPoolSpec struct { + // Prefixes defines the base prefixes and target prefix lengths to allocate from. + // +required + // +kubebuilder:validation:MinItems=1 + Prefixes []IPPrefixPoolPrefix `json:"prefixes"` + + // ReclaimPolicy controls what happens to an allocation when a claim is deleted. + // Recycle returns the allocation to the pool. Retain keeps it reserved. + // +optional + // +kubebuilder:default=Recycle + ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy,omitempty"` +} + +// IPPrefixPoolStatus defines the observed state of IPPrefixPool. +type IPPrefixPoolStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // Allocated is the number of allocated prefixes. + // +optional + Allocated string `json:"allocated,omitempty"` + + // Total is the number of allocatable prefixes. + // +optional + Total string `json:"total,omitempty"` + + // conditions represent the current state of the IPPrefixPool resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` + + // Allocations tracks which prefixes are reserved by which claims. + // +optional + Allocations []IPPrefixAllocation `json:"allocations,omitempty"` +} + +// IPPrefixPoolPrefix defines a pool prefix and the target length to allocate. +type IPPrefixPoolPrefix struct { + // Prefix is the base prefix to allocate prefixes from. + // +required + Prefix corev1alpha1.IPPrefix `json:"prefix"` + + // PrefixLength is the prefix length to allocate within the base prefix. + // +required + // +kubebuilder:validation:Minimum=0 + // +kubebuilder:validation:Maximum=128 + PrefixLength int32 `json:"prefixLength"` +} + +// IPPrefixAllocation represents a reserved prefix for a claim. +type IPPrefixAllocation struct { + // ClaimRef references the claim holding the allocation. + // +required + ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` + + // ClaimUID is the UID of the claim holding the allocation. + // +required + ClaimUID types.UID `json:"claimUID"` + + // Prefix is the allocated prefix. + // +required + Prefix corev1alpha1.IPPrefix `json:"prefix"` + + // Retained indicates the allocation must not be reused after claim deletion. + // +optional + Retained bool `json:"retained,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=ipprefixpools +// +kubebuilder:resource:singular=ipprefixpool +// +kubebuilder:resource:shortName=pfxpool +// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 +// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" + +// IPPrefixPool is the Schema for the ipprefixpools API +type IPPrefixPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IPPrefixPoolSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IPPrefixPoolStatus `json:"status,omitzero"` +} + +// Total returns the total number of allocatable prefixes in the pool. +func (p *IPPrefixPool) Total() *big.Int { + total := new(big.Int) + for _, poolPrefix := range p.Spec.Prefixes { + base := poolPrefix.Prefix.Masked() + bits := 32 + if base.Addr().Is6() { + bits = 128 + } + target := int(poolPrefix.PrefixLength) + if target < base.Bits() || target > bits { + continue + } + count := new(big.Int).Lsh(big.NewInt(1), uint(target-base.Bits())) // #nosec G115 + total.Add(total, count) + } + return total +} + +// Allocated returns the number of currently allocated prefixes. +func (p *IPPrefixPool) Allocated() int { + return len(p.Status.Allocations) +} + +// IsExhausted returns true if all available prefixes have been allocated. +func (p *IPPrefixPool) IsExhausted() bool { + total := p.Total() + if total.Sign() == 0 { + return true + } + allocated := big.NewInt(int64(p.Allocated())) + return allocated.Cmp(total) >= 0 +} + +// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. +func (p *IPPrefixPool) FindAllocation(claim *Claim) *ClaimAllocation { + for _, a := range p.Status.Allocations { + if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { + return &ClaimAllocation{Prefix: &a.Prefix, Value: a.Prefix.String()} + } + } + return nil +} + +// GetConditions implements conditions.Getter. +func (p *IPPrefixPool) GetConditions() []metav1.Condition { + return p.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (p *IPPrefixPool) SetConditions(conditions []metav1.Condition) { + p.Status.Conditions = conditions +} + +// stepAddr advances addr by 2^n by treating the address as a big-endian +// 128-bit integer stored in a [16]byte array. +func stepAddr(addr netip.Addr, n int) netip.Addr { + b := addr.As16() + // Add 2^n to the 128-bit value. Work from the least significant byte + // (index 15) upward, carrying as needed. + // + // Example: advancing 10.0.0.192 by 2^6 (n=6, one /26 step): + // carry = 1 << (6%8) = 64, start at byte 15 - 6/8 = 15 + // byte 15: 192 + 64 = 256 → store 0, carry 1 + // byte 14: 0 + 1 = 1 → store 1, carry 0 (stop) + // result: 10.0.1.0 + carry := uint16(1) << (n % 8) + for i := 15 - n/8; i >= 0 && carry > 0; i-- { + sum := uint16(b[i]) + carry + b[i] = uint8(sum) // #nosec G115 + carry = sum >> 8 + } + result := netip.AddrFrom16(b) + if addr.Is4() { + return result.Unmap() + } + return result +} + +// Allocate finds the first free sub-prefix and records it in the pool's status. +func (p *IPPrefixPool) Allocate(claim *Claim) (*ClaimAllocation, error) { + allocated := make(map[netip.Prefix]struct{}, len(p.Status.Allocations)) + for _, a := range p.Status.Allocations { + allocated[a.Prefix.Prefix] = struct{}{} + } + for _, prefix := range p.Spec.Prefixes { + masked := prefix.Prefix.Masked() + target := int(prefix.PrefixLength) + bits := 32 + if masked.Addr().Is6() { + bits = 128 + } + if target < masked.Bits() || target > bits { + continue + } + stepBits := bits - target + for addr := masked.Addr(); masked.Contains(addr); addr = stepAddr(addr, stepBits) { + candidate := netip.PrefixFrom(addr, target) + if _, taken := allocated[candidate]; !taken { + prefix := corev1alpha1.IPPrefix{Prefix: candidate} + p.Status.Allocations = append(p.Status.Allocations, IPPrefixAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Prefix: prefix, + }) + return &ClaimAllocation{ + Prefix: &prefix, + Value: prefix.String(), + }, nil + } + } + } + return nil, ErrPoolExhausted +} + +// AllocatePreferred reserves the specific prefix given by preferred for the claim. +// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured +// prefixes or is already taken by another claim. +func (p *IPPrefixPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { + candidate, err := netip.ParsePrefix(preferred) + if err != nil { + return nil, ErrPreferredValueUnavailable + } + candidate = candidate.Masked() + inRange := false + for _, pp := range p.Spec.Prefixes { + if int32(candidate.Bits()) == pp.PrefixLength && pp.Prefix.Masked().Contains(candidate.Addr()) { // #nosec G115 + inRange = true + break + } + } + if !inRange { + return nil, ErrPreferredValueUnavailable + } + for _, a := range p.Status.Allocations { + if a.Prefix.Prefix == candidate { + return nil, ErrPreferredValueUnavailable + } + } + prefix := corev1alpha1.IPPrefix{Prefix: candidate} + p.Status.Allocations = append(p.Status.Allocations, IPPrefixAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, + ClaimUID: claim.UID, + Prefix: prefix, + }) + return &ClaimAllocation{Prefix: &prefix, Value: prefix.String()}, nil +} + +// Reclaim applies the pool's reclaim policy for the given claim. +// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. +func (p *IPPrefixPool) Reclaim(claim *Claim) { + for i := range p.Status.Allocations { + a := &p.Status.Allocations[i] + if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { + continue + } + if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { + a.Retained = true + continue + } + p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) + return + } +} + +// +kubebuilder:object:root=true + +// IPPrefixPoolList contains a list of IPPrefixPool +type IPPrefixPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []IPPrefixPool `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IPPrefixPool{}, &IPPrefixPoolList{}) +} diff --git a/api/pool/v1alpha1/ipprefixpool_types_test.go b/api/pool/v1alpha1/ipprefixpool_types_test.go new file mode 100644 index 000000000..2a961fd7f --- /dev/null +++ b/api/pool/v1alpha1/ipprefixpool_types_test.go @@ -0,0 +1,550 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "math/big" + "reflect" + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +func TestIPPrefixPool_Total(t *testing.T) { + tests := []struct { + name string + pool IPPrefixPool + want *big.Int + }{ + { + name: "empty prefixes", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{}, + }, + }, + want: big.NewInt(0), + }, + { + name: "single IPv4 prefix /24 allocating /28", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/24"), + PrefixLength: 28, + }, + }, + }, + }, + want: big.NewInt(16), + }, + { + name: "single IPv4 prefix /16 allocating /24", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/16"), + PrefixLength: 24, + }, + }, + }, + }, + want: big.NewInt(256), + }, + { + name: "multiple IPv4 prefixes", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.0.0/24"), + PrefixLength: 28, + }, + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 28, + }, + }, + }, + }, + want: big.NewInt(32), + }, + { + name: "IPv6 prefix /48 allocating /64", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("2001:db8::/48"), + PrefixLength: 64, + }, + }, + }, + }, + want: big.NewInt(65536), + }, + { + name: "invalid prefix - target smaller than base", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/24"), + PrefixLength: 16, + }, + }, + }, + }, + want: big.NewInt(0), + }, + { + name: "invalid prefix - target too large for IPv4", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/24"), + PrefixLength: 64, + }, + }, + }, + }, + want: big.NewInt(0), + }, + { + name: "mixed valid and invalid prefixes", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.0.0/24"), + PrefixLength: 28, + }, + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 16, + }, + }, + }, + }, + want: big.NewInt(16), + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Total(); got.Cmp(test.want) != 0 { + t.Errorf("Total() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPPrefixPool_Allocated(t *testing.T) { + tests := []struct { + name string + pool IPPrefixPool + want int + }{ + { + name: "no allocations", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{}, + }, + }, + want: 0, + }, + { + name: "single allocation", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/28"), + }, + }, + }, + }, + want: 1, + }, + { + name: "multiple allocations", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/28"), + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.16/28"), + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.32/28"), + }, + }, + }, + }, + want: 3, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.Allocated(); got != test.want { + t.Errorf("Allocated() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPPrefixPool_IsExhausted(t *testing.T) { + tests := []struct { + name string + pool IPPrefixPool + want bool + }{ + { + name: "empty pool - exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{}, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{}, + }, + }, + want: true, + }, + { + name: "no allocations - not exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/30"), + PrefixLength: 31, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{}, + }, + }, + want: false, + }, + { + name: "partially allocated - not exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/30"), + PrefixLength: 31, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/31"), + }, + }, + }, + }, + want: false, + }, + { + name: "fully allocated - exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/30"), + PrefixLength: 31, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/31"), + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.2/31"), + }, + }, + }, + }, + want: true, + }, + { + name: "over-allocated - exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/31"), + PrefixLength: 32, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/32"), + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, + ClaimUID: types.UID("uid-2"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.1/32"), + }, + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, + ClaimUID: types.UID("uid-3"), + Prefix: corev1alpha1.MustParsePrefix("192.168.1.2/32"), + }, + }, + }, + }, + want: true, + }, + { + name: "IPv6 pool - not exhausted", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("2001:db8::/62"), + PrefixLength: 64, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, + ClaimUID: types.UID("uid-1"), + Prefix: corev1alpha1.MustParsePrefix("2001:db8::/64"), + }, + }, + }, + }, + want: false, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + if got := test.pool.IsExhausted(); got != test.want { + t.Errorf("IsExhausted() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPPrefixPool_FindAllocation(t *testing.T) { + tests := []struct { + name string + pool IPPrefixPool + claim Claim + want *ClaimAllocation + }{ + { + name: "empty allocations returns nil", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{}, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: nil, + }, + { + name: "matching claim returns allocation", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, + want: &ClaimAllocation{ + Prefix: new(corev1alpha1.MustParsePrefix("10.0.0.0/26")), + Value: "10.0.0.0/26", + }, + }, + { + name: "different claim name returns nil", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, + want: nil, + }, + { + name: "different claim UID returns nil", + pool: IPPrefixPool{ + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + { + ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, + ClaimUID: types.UID("uid1"), + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, + want: nil, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + got := test.pool.FindAllocation(&test.claim) + if !reflect.DeepEqual(got, test.want) { + t.Errorf("FindAllocation() = %v, want %v", got, test.want) + } + }) + } +} + +func TestIPPrefixPool_Allocate(t *testing.T) { + tests := []struct { + name string + pool IPPrefixPool + claim Claim + wantErr bool + checkFunc func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) + }{ + { + name: "base 10.0.0.0/24 prefixLength 26 allocates first subnet", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 26, + }, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) { + if alloc.Prefix == nil { + t.Fatal("Prefix is nil, want non-nil") + } + if alloc.Prefix.String() != "10.0.0.0/26" { + t.Errorf("Prefix = %q, want %q", alloc.Prefix.String(), "10.0.0.0/26") + } + if alloc.Value != "10.0.0.0/26" { + t.Errorf("Value = %q, want %q", alloc.Value, "10.0.0.0/26") + } + }, + }, + { + name: "10.0.0.0/26 already allocated allocates next subnet", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 26, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + checkFunc: func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) { + if alloc.Prefix == nil { + t.Fatal("Prefix is nil, want non-nil") + } + if alloc.Prefix.String() != "10.0.0.64/26" { + t.Errorf("Prefix = %q, want %q", alloc.Prefix.String(), "10.0.0.64/26") + } + }, + }, + { + name: "all 4 /26 subnets of /24 allocated returns error", + pool: IPPrefixPool{ + Spec: IPPrefixPoolSpec{ + Prefixes: []IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 26, + }, + }, + }, + Status: IPPrefixPoolStatus{ + Allocations: []IPPrefixAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Prefix: corev1alpha1.MustParsePrefix("10.0.0.64/26")}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c3"}, ClaimUID: "uid3", Prefix: corev1alpha1.MustParsePrefix("10.0.0.128/26")}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c4"}, ClaimUID: "uid4", Prefix: corev1alpha1.MustParsePrefix("10.0.0.192/26")}, + }, + }, + }, + claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + wantErr: true, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + alloc, err := test.pool.Allocate(&test.claim) + if test.wantErr { + if err == nil { + t.Fatal("Allocate() expected error, got nil") + } + return + } + if err != nil { + t.Fatalf("Allocate() unexpected error: %v", err) + } + if test.checkFunc != nil { + test.checkFunc(t, &test.pool, alloc) + } + }) + } +} diff --git a/api/pool/v1alpha1/reclaim_policy.go b/api/pool/v1alpha1/reclaim_policy.go new file mode 100644 index 000000000..3974aec60 --- /dev/null +++ b/api/pool/v1alpha1/reclaim_policy.go @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +// ReclaimPolicy defines how allocations are handled on claim deletion. +// +kubebuilder:validation:Enum=Recycle;Retain +type ReclaimPolicy string + +const ( + ReclaimPolicyRecycle ReclaimPolicy = "Recycle" + ReclaimPolicyRetain ReclaimPolicy = "Retain" +) diff --git a/api/pool/v1alpha1/zz_generated.deepcopy.go b/api/pool/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..42e3bb400 --- /dev/null +++ b/api/pool/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,536 @@ +//go:build !ignore_autogenerated + +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Claim) DeepCopyInto(out *Claim) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Claim. +func (in *Claim) DeepCopy() *Claim { + if in == nil { + return nil + } + out := new(Claim) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Claim) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClaimAllocation) DeepCopyInto(out *ClaimAllocation) { + *out = *in + if in.Index != nil { + in, out := &in.Index, &out.Index + *out = new(uint64) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = (*in).DeepCopy() + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimAllocation. +func (in *ClaimAllocation) DeepCopy() *ClaimAllocation { + if in == nil { + return nil + } + out := new(ClaimAllocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClaimList) DeepCopyInto(out *ClaimList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Claim, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimList. +func (in *ClaimList) DeepCopy() *ClaimList { + if in == nil { + return nil + } + out := new(ClaimList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClaimList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClaimSpec) DeepCopyInto(out *ClaimSpec) { + *out = *in + out.PoolRef = in.PoolRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimSpec. +func (in *ClaimSpec) DeepCopy() *ClaimSpec { + if in == nil { + return nil + } + out := new(ClaimSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClaimStatus) DeepCopyInto(out *ClaimStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Allocation != nil { + in, out := &in.Allocation, &out.Allocation + *out = new(ClaimAllocation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimStatus. +func (in *ClaimStatus) DeepCopy() *ClaimStatus { + if in == nil { + return nil + } + out := new(ClaimStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressAllocation) DeepCopyInto(out *IPAddressAllocation) { + *out = *in + out.ClaimRef = in.ClaimRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressAllocation. +func (in *IPAddressAllocation) DeepCopy() *IPAddressAllocation { + if in == nil { + return nil + } + out := new(IPAddressAllocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressPool) DeepCopyInto(out *IPAddressPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPool. +func (in *IPAddressPool) DeepCopy() *IPAddressPool { + if in == nil { + return nil + } + out := new(IPAddressPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPAddressPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressPoolList) DeepCopyInto(out *IPAddressPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IPAddressPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolList. +func (in *IPAddressPoolList) DeepCopy() *IPAddressPoolList { + if in == nil { + return nil + } + out := new(IPAddressPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPAddressPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressPoolSpec) DeepCopyInto(out *IPAddressPoolSpec) { + *out = *in + if in.Prefixes != nil { + in, out := &in.Prefixes, &out.Prefixes + *out = make([]corev1alpha1.IPPrefix, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolSpec. +func (in *IPAddressPoolSpec) DeepCopy() *IPAddressPoolSpec { + if in == nil { + return nil + } + out := new(IPAddressPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressPoolStatus) DeepCopyInto(out *IPAddressPoolStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Allocations != nil { + in, out := &in.Allocations, &out.Allocations + *out = make([]IPAddressAllocation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolStatus. +func (in *IPAddressPoolStatus) DeepCopy() *IPAddressPoolStatus { + if in == nil { + return nil + } + out := new(IPAddressPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixAllocation) DeepCopyInto(out *IPPrefixAllocation) { + *out = *in + out.ClaimRef = in.ClaimRef + in.Prefix.DeepCopyInto(&out.Prefix) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixAllocation. +func (in *IPPrefixAllocation) DeepCopy() *IPPrefixAllocation { + if in == nil { + return nil + } + out := new(IPPrefixAllocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixPool) DeepCopyInto(out *IPPrefixPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPool. +func (in *IPPrefixPool) DeepCopy() *IPPrefixPool { + if in == nil { + return nil + } + out := new(IPPrefixPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPPrefixPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixPoolList) DeepCopyInto(out *IPPrefixPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IPPrefixPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolList. +func (in *IPPrefixPoolList) DeepCopy() *IPPrefixPoolList { + if in == nil { + return nil + } + out := new(IPPrefixPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPPrefixPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixPoolPrefix) DeepCopyInto(out *IPPrefixPoolPrefix) { + *out = *in + in.Prefix.DeepCopyInto(&out.Prefix) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolPrefix. +func (in *IPPrefixPoolPrefix) DeepCopy() *IPPrefixPoolPrefix { + if in == nil { + return nil + } + out := new(IPPrefixPoolPrefix) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixPoolSpec) DeepCopyInto(out *IPPrefixPoolSpec) { + *out = *in + if in.Prefixes != nil { + in, out := &in.Prefixes, &out.Prefixes + *out = make([]IPPrefixPoolPrefix, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolSpec. +func (in *IPPrefixPoolSpec) DeepCopy() *IPPrefixPoolSpec { + if in == nil { + return nil + } + out := new(IPPrefixPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixPoolStatus) DeepCopyInto(out *IPPrefixPoolStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Allocations != nil { + in, out := &in.Allocations, &out.Allocations + *out = make([]IPPrefixAllocation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolStatus. +func (in *IPPrefixPoolStatus) DeepCopy() *IPPrefixPoolStatus { + if in == nil { + return nil + } + out := new(IPPrefixPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexAllocation) DeepCopyInto(out *IndexAllocation) { + *out = *in + out.ClaimRef = in.ClaimRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexAllocation. +func (in *IndexAllocation) DeepCopy() *IndexAllocation { + if in == nil { + return nil + } + out := new(IndexAllocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexPool) DeepCopyInto(out *IndexPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexPool. +func (in *IndexPool) DeepCopy() *IndexPool { + if in == nil { + return nil + } + out := new(IndexPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IndexPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexPoolList) DeepCopyInto(out *IndexPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IndexPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexPoolList. +func (in *IndexPoolList) DeepCopy() *IndexPoolList { + if in == nil { + return nil + } + out := new(IndexPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IndexPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexPoolSpec) DeepCopyInto(out *IndexPoolSpec) { + *out = *in + if in.Ranges != nil { + in, out := &in.Ranges, &out.Ranges + *out = make([]corev1alpha1.IndexRange, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexPoolSpec. +func (in *IndexPoolSpec) DeepCopy() *IndexPoolSpec { + if in == nil { + return nil + } + out := new(IndexPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexPoolStatus) DeepCopyInto(out *IndexPoolStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Allocations != nil { + in, out := &in.Allocations, &out.Allocations + *out = make([]IndexAllocation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexPoolStatus. +func (in *IndexPoolStatus) DeepCopy() *IndexPoolStatus { + if in == nil { + return nil + } + out := new(IndexPoolStatus) + in.DeepCopyInto(out) + return out +} diff --git a/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..e9a1d1399 --- /dev/null +++ b/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,202 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.20.1 + name: claims.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: Claim + listKind: ClaimList + plural: claims + shortNames: + - claim + singular: claim + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocation.value + name: Value + type: string + - jsonPath: .status.conditions[?(@.type=="Allocated")].status + name: Allocated + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Claim is the Schema for the claims API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + poolRef: + description: |- + PoolRef references the allocation pool to allocate from. + PoolRef is immutable once set. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocation: + description: Allocation describes the resource reserved for this claim. + properties: + index: + description: Index is set when the allocation is sourced from + an IndexPool. + format: int64 + type: integer + ipAddress: + description: IPAddress is set when the allocation is sourced from + an IPAddressPool. + type: string + prefix: + description: Prefix is set when the allocation is sourced from + an IPPrefixPool. + format: cidr + type: string + value: + description: Value is the string representation of the allocated + resource. + type: string + type: object + x-kubernetes-validations: + - message: exactly one allocation field must be set + rule: '[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, + x).size() == 1' + conditions: + description: |- + conditions represent the current state of the Claim resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..9c052658a --- /dev/null +++ b/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,204 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.20.1 + name: indexpools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IndexPool + listKind: IndexPoolList + plural: indexpools + shortNames: + - idxpool + singular: indexpool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IndexPool is the Schema for the indexpools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + ranges: + description: |- + Ranges defines the inclusive index ranges that can be allocated. + Example: "64512..65534". + items: + pattern: ^[0-9]+\.\.[0-9]+$ + type: string + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - ranges + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated indices. + type: string + allocations: + description: Allocations tracks which indices are reserved by which + claims. + items: + description: IndexAllocation represents a reserved index for a claim. + properties: + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + index: + description: Index is the allocated value. + format: int64 + type: integer + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - claimRef + - claimUID + - index + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IndexPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable indices. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..f817b102f --- /dev/null +++ b/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,203 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.20.1 + name: ipaddresspools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPAddressPool + listKind: IPAddressPoolList + plural: ipaddresspools + shortNames: + - ippool + singular: ipaddresspool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddressPool is the Schema for the ipaddresspools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + prefixes: + description: Prefixes defines the CIDR ranges that can be allocated. + items: + format: cidr + type: string + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - prefixes + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated IP addresses. + type: string + allocations: + description: Allocations tracks which IP addresses are reserved by + which claims. + items: + description: IPAddressAllocation represents a reserved IP address + for a claim. + properties: + address: + description: Address is the allocated IP address. + format: ip + type: string + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - address + - claimRef + - claimUID + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IPAddressPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable IP addresses. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..2303236a7 --- /dev/null +++ b/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,221 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.20.1 + name: ipprefixpools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPPrefixPool + listKind: IPPrefixPoolList + plural: ipprefixpools + shortNames: + - pfxpool + singular: ipprefixpool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPrefixPool is the Schema for the ipprefixpools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + prefixes: + description: Prefixes defines the base prefixes and target prefix + lengths to allocate from. + items: + description: IPPrefixPoolPrefix defines a pool prefix and the target + length to allocate. + properties: + prefix: + description: Prefix is the base prefix to allocate prefixes + from. + format: cidr + type: string + prefixLength: + description: PrefixLength is the prefix length to allocate within + the base prefix. + format: int32 + maximum: 128 + minimum: 0 + type: integer + required: + - prefix + - prefixLength + type: object + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - prefixes + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated prefixes. + type: string + allocations: + description: Allocations tracks which prefixes are reserved by which + claims. + items: + description: IPPrefixAllocation represents a reserved prefix for + a claim. + properties: + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + prefix: + description: Prefix is the allocated prefix. + format: cidr + type: string + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - claimRef + - claimUID + - prefix + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IPPrefixPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable prefixes. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/rbac/manager-role.yaml b/charts/network-operator/templates/rbac/manager-role.yaml index 580e6b8bd..9827cfe11 100644 --- a/charts/network-operator/templates/rbac/manager-role.yaml +++ b/charts/network-operator/templates/rbac/manager-role.yaml @@ -184,3 +184,38 @@ rules: - get - patch - update +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + - indexpools + - ipaddresspools + - ipprefixpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/finalizers + - indexpools/finalizers + - ipaddresspools/finalizers + - ipprefixpools/finalizers + verbs: + - update +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + - indexpools/status + - ipaddresspools/status + - ipprefixpools/status + verbs: + - get + - patch + - update diff --git a/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml b/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml new file mode 100644 index 000000000..2946d5456 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml @@ -0,0 +1,24 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-claim-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml b/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml new file mode 100644 index 000000000..5368cd726 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml @@ -0,0 +1,30 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-claim-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml new file mode 100644 index 000000000..2784ae071 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml @@ -0,0 +1,26 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-claim-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml new file mode 100644 index 000000000..4254997d0 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml @@ -0,0 +1,24 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-indexpool-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml new file mode 100644 index 000000000..aee2deb29 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml @@ -0,0 +1,30 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-indexpool-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml new file mode 100644 index 000000000..98bf42dba --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml @@ -0,0 +1,26 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-indexpool-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml new file mode 100644 index 000000000..951068496 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml @@ -0,0 +1,24 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddresspool-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml new file mode 100644 index 000000000..7bc59e1e2 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml @@ -0,0 +1,30 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddresspool-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml new file mode 100644 index 000000000..9f2ea5342 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml @@ -0,0 +1,26 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddresspool-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml new file mode 100644 index 000000000..4e6925f03 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml @@ -0,0 +1,24 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefixpool-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml new file mode 100644 index 000000000..558aec9b9 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml @@ -0,0 +1,30 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefixpool-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml new file mode 100644 index 000000000..4c4096d45 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml @@ -0,0 +1,26 @@ +{{- if .Values.rbacHelpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefixpool-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get +{{- end }} diff --git a/cmd/main.go b/cmd/main.go index 82de236ce..6420ed247 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -44,8 +44,10 @@ import ( nxv1alpha1 "github.com/ironcore-dev/network-operator/api/cisco/nx/v1alpha1" "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" nxcontroller "github.com/ironcore-dev/network-operator/internal/controller/cisco/nx" corecontroller "github.com/ironcore-dev/network-operator/internal/controller/core" + poolcontroller "github.com/ironcore-dev/network-operator/internal/controller/pool" "github.com/ironcore-dev/network-operator/internal/provider" "github.com/ironcore-dev/network-operator/internal/provisioning" "github.com/ironcore-dev/network-operator/internal/resourcelock" @@ -64,6 +66,7 @@ func init() { utilruntime.Must(clientgoscheme.AddToScheme(scheme)) utilruntime.Must(v1alpha1.AddToScheme(scheme)) utilruntime.Must(nxv1alpha1.AddToScheme(scheme)) + utilruntime.Must(poolv1alpha1.AddToScheme(scheme)) // +kubebuilder:scaffold:scheme } @@ -703,6 +706,38 @@ func main() { //nolint:gocyclo } } + if err := (&poolcontroller.IndexPoolReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "IndexPool") + os.Exit(1) + } + + if err := (&poolcontroller.IPAddressPoolReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "IPAddressPool") + os.Exit(1) + } + + if err := (&poolcontroller.IPPrefixPoolReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "IPPrefixPool") + os.Exit(1) + } + + if err := (&poolcontroller.ClaimReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + Recorder: mgr.GetEventRecorderFor("claim-controller"), + }).SetupWithManager(ctx, mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "Claim") + os.Exit(1) + } // +kubebuilder:scaffold:builder if metricsCertWatcher != nil { diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml new file mode 100644 index 000000000..44dc5b582 --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml @@ -0,0 +1,198 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.20.1 + name: claims.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: Claim + listKind: ClaimList + plural: claims + shortNames: + - claim + singular: claim + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocation.value + name: Value + type: string + - jsonPath: .status.conditions[?(@.type=="Allocated")].status + name: Allocated + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Claim is the Schema for the claims API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + poolRef: + description: |- + PoolRef references the allocation pool to allocate from. + PoolRef is immutable once set. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocation: + description: Allocation describes the resource reserved for this claim. + properties: + index: + description: Index is set when the allocation is sourced from + an IndexPool. + format: int64 + type: integer + ipAddress: + description: IPAddress is set when the allocation is sourced from + an IPAddressPool. + type: string + prefix: + description: Prefix is set when the allocation is sourced from + an IPPrefixPool. + format: cidr + type: string + value: + description: Value is the string representation of the allocated + resource. + type: string + type: object + x-kubernetes-validations: + - message: exactly one allocation field must be set + rule: '[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, + x).size() == 1' + conditions: + description: |- + conditions represent the current state of the Claim resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml new file mode 100644 index 000000000..15f58ffba --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml @@ -0,0 +1,200 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.20.1 + name: indexpools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IndexPool + listKind: IndexPoolList + plural: indexpools + shortNames: + - idxpool + singular: indexpool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IndexPool is the Schema for the indexpools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + ranges: + description: |- + Ranges defines the inclusive index ranges that can be allocated. + Example: "64512..65534". + items: + pattern: ^[0-9]+\.\.[0-9]+$ + type: string + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - ranges + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated indices. + type: string + allocations: + description: Allocations tracks which indices are reserved by which + claims. + items: + description: IndexAllocation represents a reserved index for a claim. + properties: + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + index: + description: Index is the allocated value. + format: int64 + type: integer + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - claimRef + - claimUID + - index + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IndexPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable indices. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml new file mode 100644 index 000000000..21f5918d5 --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml @@ -0,0 +1,199 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.20.1 + name: ipaddresspools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPAddressPool + listKind: IPAddressPoolList + plural: ipaddresspools + shortNames: + - ippool + singular: ipaddresspool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddressPool is the Schema for the ipaddresspools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + prefixes: + description: Prefixes defines the CIDR ranges that can be allocated. + items: + format: cidr + type: string + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - prefixes + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated IP addresses. + type: string + allocations: + description: Allocations tracks which IP addresses are reserved by + which claims. + items: + description: IPAddressAllocation represents a reserved IP address + for a claim. + properties: + address: + description: Address is the allocated IP address. + format: ip + type: string + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - address + - claimRef + - claimUID + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IPAddressPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable IP addresses. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml new file mode 100644 index 000000000..7b22549b8 --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml @@ -0,0 +1,217 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.20.1 + name: ipprefixpools.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPPrefixPool + listKind: IPPrefixPoolList + plural: ipprefixpools + shortNames: + - pfxpool + singular: ipprefixpool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.allocated + name: Allocated + type: string + - jsonPath: .status.total + name: Total + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="Available")].status + name: Available + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPrefixPool is the Schema for the ipprefixpools API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + prefixes: + description: Prefixes defines the base prefixes and target prefix + lengths to allocate from. + items: + description: IPPrefixPoolPrefix defines a pool prefix and the target + length to allocate. + properties: + prefix: + description: Prefix is the base prefix to allocate prefixes + from. + format: cidr + type: string + prefixLength: + description: PrefixLength is the prefix length to allocate within + the base prefix. + format: int32 + maximum: 128 + minimum: 0 + type: integer + required: + - prefix + - prefixLength + type: object + minItems: 1 + type: array + reclaimPolicy: + default: Recycle + description: |- + ReclaimPolicy controls what happens to an allocation when a claim is deleted. + Recycle returns the allocation to the pool. Retain keeps it reserved. + enum: + - Recycle + - Retain + type: string + required: + - prefixes + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + allocated: + description: Allocated is the number of allocated prefixes. + type: string + allocations: + description: Allocations tracks which prefixes are reserved by which + claims. + items: + description: IPPrefixAllocation represents a reserved prefix for + a claim. + properties: + claimRef: + description: ClaimRef references the claim holding the allocation. + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + maxLength: 63 + minLength: 1 + type: string + required: + - name + type: object + x-kubernetes-map-type: atomic + claimUID: + description: ClaimUID is the UID of the claim holding the allocation. + type: string + prefix: + description: Prefix is the allocated prefix. + format: cidr + type: string + retained: + description: Retained indicates the allocation must not be reused + after claim deletion. + type: boolean + required: + - claimRef + - claimUID + - prefix + type: object + type: array + conditions: + description: |- + conditions represent the current state of the IPPrefixPool resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + total: + description: Total is the number of allocatable prefixes. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index 182f057f4..da5bda4d1 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -26,6 +26,10 @@ resources: - bases/networking.metal.ironcore.dev_vlans.yaml - bases/networking.metal.ironcore.dev_vrfs.yaml - bases/networking.metal.ironcore.dev_lldps.yaml +- bases/pool.networking.metal.ironcore.dev_indexpools.yaml +- bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml +- bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml +- bases/pool.networking.metal.ironcore.dev_claims.yaml - bases/nx.cisco.networking.metal.ironcore.dev_bordergateways.yaml - bases/nx.cisco.networking.metal.ironcore.dev_managementaccessconfigs.yaml - bases/nx.cisco.networking.metal.ironcore.dev_networkvirtualizationedgeconfigs.yaml diff --git a/config/rbac/claim_admin_role.yaml b/config/rbac/claim_admin_role.yaml new file mode 100644 index 000000000..f90b433ff --- /dev/null +++ b/config/rbac/claim_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-claim-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get diff --git a/config/rbac/claim_editor_role.yaml b/config/rbac/claim_editor_role.yaml new file mode 100644 index 000000000..7eda92868 --- /dev/null +++ b/config/rbac/claim_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-claim-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get diff --git a/config/rbac/claim_viewer_role.yaml b/config/rbac/claim_viewer_role.yaml new file mode 100644 index 000000000..e3594ebf5 --- /dev/null +++ b/config/rbac/claim_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-claim-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + verbs: + - get diff --git a/config/rbac/indexpool_admin_role.yaml b/config/rbac/indexpool_admin_role.yaml new file mode 100644 index 000000000..fdb51871e --- /dev/null +++ b/config/rbac/indexpool_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-indexpool-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get diff --git a/config/rbac/indexpool_editor_role.yaml b/config/rbac/indexpool_editor_role.yaml new file mode 100644 index 000000000..9ea7d3182 --- /dev/null +++ b/config/rbac/indexpool_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-indexpool-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get diff --git a/config/rbac/indexpool_viewer_role.yaml b/config/rbac/indexpool_viewer_role.yaml new file mode 100644 index 000000000..56c7828b8 --- /dev/null +++ b/config/rbac/indexpool_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-indexpool-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indexpools/status + verbs: + - get diff --git a/config/rbac/ipaddresspool_admin_role.yaml b/config/rbac/ipaddresspool_admin_role.yaml new file mode 100644 index 000000000..ff6ec71c0 --- /dev/null +++ b/config/rbac/ipaddresspool_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddresspool-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get diff --git a/config/rbac/ipaddresspool_editor_role.yaml b/config/rbac/ipaddresspool_editor_role.yaml new file mode 100644 index 000000000..2f6dc6e08 --- /dev/null +++ b/config/rbac/ipaddresspool_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddresspool-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get diff --git a/config/rbac/ipaddresspool_viewer_role.yaml b/config/rbac/ipaddresspool_viewer_role.yaml new file mode 100644 index 000000000..d0a716bcf --- /dev/null +++ b/config/rbac/ipaddresspool_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddresspool-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresspools/status + verbs: + - get diff --git a/config/rbac/ipprefixpool_admin_role.yaml b/config/rbac/ipprefixpool_admin_role.yaml new file mode 100644 index 000000000..68c5228c5 --- /dev/null +++ b/config/rbac/ipprefixpool_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefixpool-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get diff --git a/config/rbac/ipprefixpool_editor_role.yaml b/config/rbac/ipprefixpool_editor_role.yaml new file mode 100644 index 000000000..cdd588bb6 --- /dev/null +++ b/config/rbac/ipprefixpool_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefixpool-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get diff --git a/config/rbac/ipprefixpool_viewer_role.yaml b/config/rbac/ipprefixpool_viewer_role.yaml new file mode 100644 index 000000000..c7971f037 --- /dev/null +++ b/config/rbac/ipprefixpool_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefixpool-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixpools/status + verbs: + - get diff --git a/config/rbac/kustomization.yaml b/config/rbac/kustomization.yaml index f6aab1b99..80a8c1def 100644 --- a/config/rbac/kustomization.yaml +++ b/config/rbac/kustomization.yaml @@ -116,3 +116,15 @@ resources: - cisco/nx/bgpconfig_admin_role.yaml - cisco/nx/bgpconfig_editor_role.yaml - cisco/nx/bgpconfig_viewer_role.yaml +- claim_admin_role.yaml +- claim_editor_role.yaml +- claim_viewer_role.yaml +- ipprefixpool_admin_role.yaml +- ipprefixpool_editor_role.yaml +- ipprefixpool_viewer_role.yaml +- ipaddresspool_admin_role.yaml +- ipaddresspool_editor_role.yaml +- ipaddresspool_viewer_role.yaml +- indexpool_admin_role.yaml +- indexpool_editor_role.yaml +- indexpool_viewer_role.yaml diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index e9757ff33..52f76c5fd 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -178,3 +178,38 @@ rules: - get - patch - update +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims + - indexpools + - ipaddresspools + - ipprefixpools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/finalizers + - indexpools/finalizers + - ipaddresspools/finalizers + - ipprefixpools/finalizers + verbs: + - update +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - claims/status + - indexpools/status + - ipaddresspools/status + - ipprefixpools/status + verbs: + - get + - patch + - update diff --git a/config/samples/kustomization.yaml b/config/samples/kustomization.yaml index ac22ba582..8a07a954e 100644 --- a/config/samples/kustomization.yaml +++ b/config/samples/kustomization.yaml @@ -24,6 +24,10 @@ resources: - v1alpha1_nve.yaml - v1alpha1_prefixset.yaml - v1alpha1_routingpolicy.yaml +- v1alpha1_indexpool.yaml +- v1alpha1_ipaddresspool.yaml +- v1alpha1_ipprefixpool.yaml +- v1alpha1_claim.yaml - cisco/nx/v1alpha1_bordergateway.yaml - cisco/nx/v1alpha1_managementaccessconfig.yaml - cisco/nx/v1alpha1_nveconfig.yaml diff --git a/config/samples/v1alpha1_claim.yaml b/config/samples/v1alpha1_claim.yaml new file mode 100644 index 000000000..c2d9e4e99 --- /dev/null +++ b/config/samples/v1alpha1_claim.yaml @@ -0,0 +1,39 @@ +--- +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Claim +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: claim-index +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IndexPool + name: indexpool-sample +--- +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Claim +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: claim-ipaddress +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IPAddressPool + name: ipaddresspool-sample +--- +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Claim +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: claim-prefix +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IPPrefixPool + name: ipprefixpool-sample diff --git a/config/samples/v1alpha1_indexpool.yaml b/config/samples/v1alpha1_indexpool.yaml new file mode 100644 index 000000000..481fbc2c5 --- /dev/null +++ b/config/samples/v1alpha1_indexpool.yaml @@ -0,0 +1,12 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IndexPool +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: indexpool-sample +spec: + # Reserved Autonomous System Numbers (ASN) for Private Use according to [RFC 6996](https://datatracker.ietf.org/doc/html/rfc6996) + ranges: + - 64512..65534 + - 4200000000..4294967294 diff --git a/config/samples/v1alpha1_ipaddresspool.yaml b/config/samples/v1alpha1_ipaddresspool.yaml new file mode 100644 index 000000000..36ce55333 --- /dev/null +++ b/config/samples/v1alpha1_ipaddresspool.yaml @@ -0,0 +1,13 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IPAddressPool +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: ipaddresspool-sample +spec: + # Reserved IPv4 address ranges for private networks according to [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) + prefixes: + - 10.0.0.0/8 + - 172.16.0.0/12 + - 192.168.0.0/16 diff --git a/config/samples/v1alpha1_ipprefixpool.yaml b/config/samples/v1alpha1_ipprefixpool.yaml new file mode 100644 index 000000000..c6a870580 --- /dev/null +++ b/config/samples/v1alpha1_ipprefixpool.yaml @@ -0,0 +1,11 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IPPrefixPool +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: ipprefixpool-sample +spec: + prefixes: + - prefix: 10.0.0.0/8 + prefixLength: 24 diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md index b333d37e9..c0fa5b13c 100644 --- a/docs/api-reference/index.md +++ b/docs/api-reference/index.md @@ -3,6 +3,7 @@ ## Packages - [networking.metal.ironcore.dev/v1alpha1](#networking-metal-ironcore-dev-v1alpha1) - [nx.cisco.networking.metal.ironcore.dev/v1alpha1](#nx-cisco-networking-metal-ironcore-dev-v1alpha1) +- [pool.networking.metal.ironcore.dev/v1alpha1](#poolnetworkingmetalironcoredevv1alpha1) - [xe.cisco.networking.metal.ironcore.dev/v1alpha1](#xe-cisco-networking-metal-ironcore-dev-v1alpha1) - [xr.cisco.networking.metal.ironcore.dev/v1alpha1](#xr-cisco-networking-metal-ironcore-dev-v1alpha1) @@ -1327,6 +1328,10 @@ _Validation:_ _Appears in:_ - [ACLEntry](#aclentry) +- [ClaimAllocation](#claimallocation) +- [IPAddressPoolSpec](#ipaddresspoolspec) +- [IPPrefixAllocation](#ipprefixallocation) +- [IPPrefixPoolPrefix](#ipprefixpoolprefix) - [InterfaceIPv4](#interfaceipv4) - [MulticastGroups](#multicastgroups) - [PrefixEntry](#prefixentry) @@ -1430,6 +1435,21 @@ _Appears in:_ | `checksumType` _[ChecksumType](#checksumtype)_ | ChecksumType is the type of the checksum (e.g., sha256, md5). | MD5 | Enum: [SHA256 MD5]
Required: \{\}
| +#### IndexRange + + + +IndexRange represents an inclusive range of indices. + +_Validation:_ +- Pattern: `^[0-9]+\.\.[0-9]+$` +- Type: string + +_Appears in:_ +- [IndexPoolSpec](#indexpoolspec) + + + #### Interface @@ -1669,7 +1689,10 @@ _Appears in:_ - [DNSSpec](#dnsspec) - [DevicePort](#deviceport) - [EVPNInstanceSpec](#evpninstancespec) +- [IPAddressAllocation](#ipaddressallocation) +- [IPPrefixAllocation](#ipprefixallocation) - [ISISSpec](#isisspec) +- [IndexAllocation](#indexallocation) - [InterconnectInterfaceReference](#interconnectinterfacereference) - [InterfaceIPv4Unnumbered](#interfaceipv4unnumbered) - [InterfaceSpec](#interfacespec) @@ -3094,6 +3117,7 @@ _Appears in:_ - [BGPSpec](#bgpspec) - [BannerSpec](#bannerspec) - [CertificateSpec](#certificatespec) +- [ClaimSpec](#claimspec) - [DHCPRelaySpec](#dhcprelayspec) - [DNSSpec](#dnsspec) - [EVPNInstanceSpec](#evpninstancespec) @@ -4076,6 +4100,349 @@ _Appears in:_ +## pool.networking.metal.ironcore.dev/v1alpha1 + +Package v1alpha1 contains API Schema definitions for the pool.networking.metal.ironcore.dev v1alpha1 API group. + +### Resource Types +- [Claim](#claim) +- [IPAddressPool](#ipaddresspool) +- [IPPrefixPool](#ipprefixpool) +- [IndexPool](#indexpool) + + + +#### Claim + + + +Claim is the Schema for the claims API + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `Claim` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[ClaimSpec](#claimspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[ClaimStatus](#claimstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| + + +#### ClaimAllocation + + + +ClaimAllocation holds the allocated resource value for a claim. + + + +_Appears in:_ +- [ClaimStatus](#claimstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `index` _integer_ | Index is set when the allocation is sourced from an IndexPool. | | Optional: \{\}
| +| `ipAddress` _string_ | IPAddress is set when the allocation is sourced from an IPAddressPool. | | Optional: \{\}
| +| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is set when the allocation is sourced from an IPPrefixPool. | | Format: cidr
Type: string
Optional: \{\}
| +| `value` _string_ | Value is the string representation of the allocated resource. | | Optional: \{\}
| + + +#### ClaimSpec + + + +ClaimSpec defines the desired state of Claim + + + +_Appears in:_ +- [Claim](#claim) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `poolRef` _[TypedLocalObjectReference](#typedlocalobjectreference)_ | PoolRef references the allocation pool to allocate from.
PoolRef is immutable once set. | | Required: \{\}
| + + +#### ClaimStatus + + + +ClaimStatus defines the observed state of Claim. + + + +_Appears in:_ +- [Claim](#claim) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the Claim resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| +| `allocation` _[ClaimAllocation](#claimallocation)_ | Allocation describes the resource reserved for this claim. | | Optional: \{\}
| + + +#### IPAddressAllocation + + + +IPAddressAllocation represents a reserved IP address for a claim. + + + +_Appears in:_ +- [IPAddressPoolStatus](#ipaddresspoolstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| +| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| +| `address` _string_ | Address is the allocated IP address. | | Format: ip
Required: \{\}
| +| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| + + +#### IPAddressPool + + + +IPAddressPool is the Schema for the ipaddresspools API + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `IPAddressPool` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IPAddressPoolSpec](#ipaddresspoolspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IPAddressPoolStatus](#ipaddresspoolstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| + + +#### IPAddressPoolSpec + + + +IPAddressPoolSpec defines the desired state of IPAddressPool + + + +_Appears in:_ +- [IPAddressPool](#ipaddresspool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `prefixes` _[IPPrefix](#ipprefix) array_ | Prefixes defines the CIDR ranges that can be allocated. | | Format: cidr
MinItems: 1
Type: string
Required: \{\}
| +| `reclaimPolicy` _[ReclaimPolicy](#reclaimpolicy)_ | ReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved. | Recycle | Enum: [Recycle Retain]
Optional: \{\}
| + + +#### IPAddressPoolStatus + + + +IPAddressPoolStatus defines the observed state of IPAddressPool. + + + +_Appears in:_ +- [IPAddressPool](#ipaddresspool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `allocated` _string_ | Allocated is the number of allocated IP addresses. | | Optional: \{\}
| +| `total` _string_ | Total is the number of allocatable IP addresses. | | Optional: \{\}
| +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPAddressPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| +| `allocations` _[IPAddressAllocation](#ipaddressallocation) array_ | Allocations tracks which IP addresses are reserved by which claims. | | Optional: \{\}
| + + +#### IPPrefixAllocation + + + +IPPrefixAllocation represents a reserved prefix for a claim. + + + +_Appears in:_ +- [IPPrefixPoolStatus](#ipprefixpoolstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| +| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| +| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is the allocated prefix. | | Format: cidr
Type: string
Required: \{\}
| +| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| + + +#### IPPrefixPool + + + +IPPrefixPool is the Schema for the ipprefixpools API + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `IPPrefixPool` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IPPrefixPoolSpec](#ipprefixpoolspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IPPrefixPoolStatus](#ipprefixpoolstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| + + +#### IPPrefixPoolPrefix + + + +IPPrefixPoolPrefix defines a pool prefix and the target length to allocate. + + + +_Appears in:_ +- [IPPrefixPoolSpec](#ipprefixpoolspec) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is the base prefix to allocate prefixes from. | | Format: cidr
Type: string
Required: \{\}
| +| `prefixLength` _integer_ | PrefixLength is the prefix length to allocate within the base prefix. | | Maximum: 128
Minimum: 0
Required: \{\}
| + + +#### IPPrefixPoolSpec + + + +IPPrefixPoolSpec defines the desired state of IPPrefixPool + + + +_Appears in:_ +- [IPPrefixPool](#ipprefixpool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `prefixes` _[IPPrefixPoolPrefix](#ipprefixpoolprefix) array_ | Prefixes defines the base prefixes and target prefix lengths to allocate from. | | MinItems: 1
Required: \{\}
| +| `reclaimPolicy` _[ReclaimPolicy](#reclaimpolicy)_ | ReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved. | Recycle | Enum: [Recycle Retain]
Optional: \{\}
| + + +#### IPPrefixPoolStatus + + + +IPPrefixPoolStatus defines the observed state of IPPrefixPool. + + + +_Appears in:_ +- [IPPrefixPool](#ipprefixpool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `allocated` _string_ | Allocated is the number of allocated prefixes. | | Optional: \{\}
| +| `total` _string_ | Total is the number of allocatable prefixes. | | Optional: \{\}
| +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPPrefixPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| +| `allocations` _[IPPrefixAllocation](#ipprefixallocation) array_ | Allocations tracks which prefixes are reserved by which claims. | | Optional: \{\}
| + + +#### IndexAllocation + + + +IndexAllocation represents a reserved index for a claim. + + + +_Appears in:_ +- [IndexPoolStatus](#indexpoolstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| +| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| +| `index` _integer_ | Index is the allocated value. | | Required: \{\}
| +| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| + + +#### IndexPool + + + +IndexPool is the Schema for the indexpools API + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `IndexPool` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IndexPoolSpec](#indexpoolspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IndexPoolStatus](#indexpoolstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| + + +#### IndexPoolSpec + + + +IndexPoolSpec defines the desired state of IndexPool + + + +_Appears in:_ +- [IndexPool](#indexpool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `ranges` _[IndexRange](#indexrange) array_ | Ranges defines the inclusive index ranges that can be allocated.
Example: "64512..65534". | | MinItems: 1
Required: \{\}
| +| `reclaimPolicy` _[ReclaimPolicy](#reclaimpolicy)_ | ReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved. | Recycle | Enum: [Recycle Retain]
Optional: \{\}
| + + +#### IndexPoolStatus + + + +IndexPoolStatus defines the observed state of IndexPool. + + + +_Appears in:_ +- [IndexPool](#indexpool) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `allocated` _string_ | Allocated is the number of allocated indices. | | Optional: \{\}
| +| `total` _string_ | Total is the number of allocatable indices. | | Optional: \{\}
| +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IndexPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| +| `allocations` _[IndexAllocation](#indexallocation) array_ | Allocations tracks which indices are reserved by which claims. | | Optional: \{\}
| + + +#### ReclaimPolicy + +_Underlying type:_ _string_ + +ReclaimPolicy defines how allocations are handled on claim deletion. + +_Validation:_ +- Enum: [Recycle Retain] + +_Appears in:_ +- [IPAddressPoolSpec](#ipaddresspoolspec) +- [IPPrefixPoolSpec](#ipprefixpoolspec) +- [IndexPoolSpec](#indexpoolspec) + +| Field | Description | +| --- | --- | +| `Recycle` | | +| `Retain` | | + + + ## xe.cisco.networking.metal.ironcore.dev/v1alpha1 Package v1alpha1 contains API Schema definitions for the xe.cisco.networking.metal.ironcore.dev v1alpha1 API group. diff --git a/internal/controller/pool/claim_controller.go b/internal/controller/pool/claim_controller.go new file mode 100644 index 000000000..4afbcf0bc --- /dev/null +++ b/internal/controller/pool/claim_controller.go @@ -0,0 +1,393 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "errors" + "fmt" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + kerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/client-go/tools/record" + "k8s.io/client-go/util/retry" + "k8s.io/klog/v2" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/event" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// ClaimReconciler reconciles a Claim object +type ClaimReconciler struct { + client.Client + Scheme *runtime.Scheme + + // Recorder is used to record events for the controller. + // More info: https://book.kubebuilder.io/reference/raising-events + Recorder record.EventRecorder +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims/finalizers,verbs=update +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools,verbs=get;list;watch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools,verbs=get;list;watch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools,verbs=get;list;watch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=core,resources=events,verbs=create;patch + +// Reconcile is part of the main kubernetes reconciliation loop which aims to +// move the current state of the cluster closer to the desired state. +func (r *ClaimReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + claim := new(poolv1alpha1.Claim) + if err := r.Get(ctx, req.NamespacedName, claim); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !claim.DeletionTimestamp.IsZero() { + if controllerutil.ContainsFinalizer(claim, poolv1alpha1.FinalizerName) { + if err := r.finalize(ctx, claim); err != nil { + log.Error(err, "Failed to finalize resource") + return ctrl.Result{}, err + } + controllerutil.RemoveFinalizer(claim, poolv1alpha1.FinalizerName) + if err := r.Update(ctx, claim); err != nil { + log.Error(err, "Failed to remove finalizer from resource") + return ctrl.Result{}, err + } + } + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers + if !controllerutil.ContainsFinalizer(claim, poolv1alpha1.FinalizerName) { + controllerutil.AddFinalizer(claim, poolv1alpha1.FinalizerName) + if err := r.Update(ctx, claim); err != nil { + log.Error(err, "Failed to add finalizer to resource") + return ctrl.Result{}, err + } + log.Info("Added finalizer to resource") + return ctrl.Result{}, nil + } + + orig := claim.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, claim.ObjectMeta) { + // Pass obj.DeepCopy() to avoid Patch() modifying obj and interfering with status update below + if err := r.Patch(ctx, claim.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, claim.Status) { + if err := r.Status().Patch(ctx, claim, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + if err := r.reconcile(ctx, claim); err != nil { + log.Error(err, "Failed to reconcile resource") + return ctrl.Result{}, err + } + + return ctrl.Result{}, nil +} + +const claimPoolRefKey = ".spec.poolRef" + +// SetupWithManager sets up the controller with the Manager. +func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error { + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.Claim{}, claimPoolRefKey, func(obj client.Object) []string { + ref := obj.(*poolv1alpha1.Claim).Spec.PoolRef + return []string{fmt.Sprintf("%s/%s/%s", ref.APIVersion, ref.Kind, ref.Name)} + }); err != nil { + return err + } + + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.Claim{}). + Named("pool-claim"). + // Watches enqueues Claims for updates in referenced IndexPool resources. + // Triggers on create, delete, and update events when the allocation status changes. + Watches( + &poolv1alpha1.IndexPool{}, + handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + oldPool := e.ObjectOld.(*poolv1alpha1.IndexPool) + newPool := e.ObjectNew.(*poolv1alpha1.IndexPool) + // Only trigger when Allocations status field changes. + return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). + // Watches enqueues Claims for updates in referenced IPAddressPool resources. + // Triggers on create, delete, and update events when the allocation status changes. + Watches( + &poolv1alpha1.IPAddressPool{}, + handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + oldPool := e.ObjectOld.(*poolv1alpha1.IPAddressPool) + newPool := e.ObjectNew.(*poolv1alpha1.IPAddressPool) + // Only trigger when Allocations status field changes. + return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). + // Watches enqueues Claims for updates in referenced IPPrefixPool resources. + // Triggers on create, delete, and update events when the allocation status changes. + Watches( + &poolv1alpha1.IPPrefixPool{}, + handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + oldPool := e.ObjectOld.(*poolv1alpha1.IPPrefixPool) + newPool := e.ObjectNew.(*poolv1alpha1.IPPrefixPool) + // Only trigger when Allocations status field changes. + return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). + Complete(r) +} + +// Pool is an interface that abstracts over the different types of pools (IndexPool, IPAddressPool, IPPrefixPool) that a Claim can reference. +type Pool interface { + client.Object + + // IsExhausted reports whether all allocatable resources in the pool are taken. + IsExhausted() bool + + // FindAllocation returns the existing ClaimAllocation for the given claim, or nil if none exists. + FindAllocation(claim *poolv1alpha1.Claim) *poolv1alpha1.ClaimAllocation + + // Allocate reserves the next available resource for the claim and records it in the pool status. + // Returns ErrPoolExhausted when no resources are left. + Allocate(claim *poolv1alpha1.Claim) (*poolv1alpha1.ClaimAllocation, error) + + // AllocatePreferred reserves the specific value given by preferred for the claim. + // Returns ErrPreferredValueUnavailable if the value is outside the pool's configured + // ranges/prefixes or is already taken by another claim. + AllocatePreferred(claim *poolv1alpha1.Claim, preferred string) (*poolv1alpha1.ClaimAllocation, error) + + // Reclaim applies the pool's ReclaimPolicy for the given claim on deletion. + Reclaim(claim *poolv1alpha1.Claim) +} + +func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Claim) error { + ref := claim.Spec.PoolRef + + gv, err := schema.ParseGroupVersion(ref.APIVersion) + if err != nil { + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolRefInvalidReason, + Message: fmt.Sprintf("Invalid apiVersion in poolRef: %v", err), + }) + return reconcile.TerminalError(err) + } + + if gv.WithKind(ref.Kind).GroupVersion() != poolv1alpha1.GroupVersion { + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolRefInvalidReason, + Message: "PoolRef must reference a resource in apiVersion " + poolv1alpha1.GroupVersion.String(), + }) + return reconcile.TerminalError(fmt.Errorf("poolRef apiVersion must be %s", poolv1alpha1.GroupVersion.String())) + } + + var pool Pool + switch ref.Kind { + case "IndexPool": + pool = new(poolv1alpha1.IndexPool) + case "IPAddressPool": + pool = new(poolv1alpha1.IPAddressPool) + case "IPPrefixPool": + pool = new(poolv1alpha1.IPPrefixPool) + default: + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolRefInvalidReason, + Message: "PoolRef kind must be one of IndexPool, IPAddressPool, or IPPrefixPool", + }) + return reconcile.TerminalError(errors.New("poolRef kind must be one of IndexPool, IPAddressPool, or IPPrefixPool")) + } + + preferred := claim.Annotations[poolv1alpha1.PreferredValueAnnotation] + err = retry.RetryOnConflict(retry.DefaultBackoff, func() error { + if err := r.Get(ctx, client.ObjectKey{Name: claim.Spec.PoolRef.Name, Namespace: claim.Namespace}, pool); err != nil { + return err + } + // Check if the claim is already allocated in the pool. + if alloc := pool.FindAllocation(claim); alloc != nil { + claim.Status.Allocation = alloc + return nil + } + // If the claim has an allocation in its status that is not reflected in the pool, + // we have an inconsistency that requires manual intervention. + if claim.Status.Allocation != nil { + return poolv1alpha1.ErrAllocationInconsistent + } + var alloc *poolv1alpha1.ClaimAllocation + if preferred != "" { + alloc, err = pool.AllocatePreferred(claim, preferred) + } else { + if pool.IsExhausted() { + return poolv1alpha1.ErrPoolExhausted + } + alloc, err = pool.Allocate(claim) + } + if err != nil { + return err + } + if err := r.Status().Update(ctx, pool); err != nil { + return err + } + // Only update the claim status after successfully updating the pool status to avoid + // inconsistencies where the claim status shows an allocation not reserved in the pool. + claim.Status.Allocation = alloc + return nil + }) + + switch { + case apierrors.IsNotFound(err): + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolNotFoundReason, + Message: fmt.Sprintf("Referenced pool %s not found", claim.Spec.PoolRef.Name), + }) + return reconcile.TerminalError(err) + case errors.Is(err, poolv1alpha1.ErrPoolExhausted): + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolExhaustedReason, + Message: "Referenced pool is exhausted", + }) + return reconcile.TerminalError(err) + case errors.Is(err, poolv1alpha1.ErrPreferredValueUnavailable): + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PreferredValueUnavailableReason, + Message: fmt.Sprintf("Preferred value %q is not available in pool %s; remove the annotation to allow any available value to be allocated", preferred, claim.Spec.PoolRef.Name), + }) + return reconcile.TerminalError(err) + case errors.Is(err, poolv1alpha1.ErrAllocationInconsistent): + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.AllocationFailedReason, + Message: fmt.Sprintf("Claim has an allocation in status that is not reflected in pool %s; manual intervention required", claim.Spec.PoolRef.Name), + }) + return reconcile.TerminalError(err) + case err != nil: + return err + default: + conditions.Set(claim, metav1.Condition{ + Type: poolv1alpha1.AllocatedCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.AllocatedReason, + Message: "Successfully allocated from pool", + }) + return nil + } +} + +func (r *ClaimReconciler) finalize(ctx context.Context, claim *poolv1alpha1.Claim) error { + ref := claim.Spec.PoolRef + + gv, err := schema.ParseGroupVersion(ref.APIVersion) + if err != nil || gv.WithKind(ref.Kind).GroupVersion() != poolv1alpha1.GroupVersion { + return nil //nolint:nilerr + } + + var pool Pool + switch ref.Kind { + case "IndexPool": + pool = new(poolv1alpha1.IndexPool) + case "IPAddressPool": + pool = new(poolv1alpha1.IPAddressPool) + case "IPPrefixPool": + pool = new(poolv1alpha1.IPPrefixPool) + default: + return nil + } + + return retry.RetryOnConflict(retry.DefaultBackoff, func() error { + if err := r.Get(ctx, client.ObjectKey{Name: ref.Name, Namespace: claim.Namespace}, pool); err != nil { + return client.IgnoreNotFound(err) + } + pool.Reclaim(claim) + return r.Status().Update(ctx, pool) + }) +} + +// claimsForPoolRef is a [handler.MapFunc] to be used to enqueue requests for reconciliation +// for a Claim to update when one of its referenced pools gets updated. +func (r *ClaimReconciler) claimsForPoolRef(ctx context.Context, obj client.Object) []reconcile.Request { + log := ctrl.LoggerFrom(ctx, "Pool", klog.KObj(obj)) + + gvk := obj.GetObjectKind().GroupVersionKind() + key := fmt.Sprintf("%s/%s/%s", gvk.GroupVersion().Identifier(), gvk.Kind, obj.GetName()) + + claims := &poolv1alpha1.ClaimList{} + if err := r.List(ctx, claims, client.InNamespace(obj.GetNamespace()), client.MatchingFields{claimPoolRefKey: key}); err != nil { + log.Error(err, "Failed to list Claims") + return nil + } + + var requests []reconcile.Request + for _, claim := range claims.Items { + log.Info("Enqueuing Claim for reconciliation", "Claim", klog.KObj(&claim)) + requests = append(requests, reconcile.Request{ + NamespacedName: types.NamespacedName{ + Name: claim.Name, + Namespace: claim.Namespace, + }, + }) + } + + return requests +} diff --git a/internal/controller/pool/claim_controller_test.go b/internal/controller/pool/claim_controller_test.go new file mode 100644 index 000000000..a29e58e7e --- /dev/null +++ b/internal/controller/pool/claim_controller_test.go @@ -0,0 +1,651 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("Claim Controller", func() { + It("allocates an index from the referenced pool", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "index-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("100..101")}, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(controllerutil.ContainsFinalizer(currentClaim, poolv1alpha1.FinalizerName)).To(BeTrue()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("100")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + + currentPool := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + g.Expect(currentPool.Status.Allocated).To(Equal("1")) + g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + g.Expect(currentPool.Status.Allocations[0].Index).To(Equal(uint64(100))) + }).Should(Succeed()) + }) + + It("allocates an ip address from the referenced pool", func() { + pool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ip-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/30"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.IPAddress).To(HaveValue(Equal("10.0.0.0"))) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.0.0.0")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + + currentPool := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + g.Expect(currentPool.Status.Allocated).To(Equal("1")) + g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + }).Should(Succeed()) + }) + + It("allocates a prefix from the referenced pool", func() { + pool := &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "prefix-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.1.0.0/24"), + PrefixLength: 26, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPPrefixPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Prefix).To(HaveValue(HaveField("String()", Equal("10.1.0.0/26")))) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.1.0.0/26")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + + currentPool := &poolv1alpha1.IPPrefixPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + g.Expect(currentPool.Status.Allocated).To(Equal("1")) + g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + }).Should(Succeed()) + }) + + It("sets an invalid condition for unsupported pool references", func() { + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: "unsupported.example.io/v1alpha1", + Kind: "UnsupportedPool", + Name: "unsupported-pool", + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolRefInvalidReason)) + }).Should(Succeed()) + }) + + It("sets a not found condition when the referenced pool does not exist", func() { + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: "missing-pool", + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolNotFoundReason)) + g.Expect(condition.Message).To(ContainSubstring("missing-pool")) + }).Should(Succeed()) + }) + + It("sets an exhausted condition when the pool has no allocations left", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "exhausted-index-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("42..42")}, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + firstClaim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, firstClaim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, firstClaim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(firstClaim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + }).Should(Succeed()) + + secondClaim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, secondClaim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, secondClaim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + claim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(secondClaim), claim)).To(Succeed()) + + condition := conditions.Get(claim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolExhaustedReason)) + g.Expect(claim.Status.Allocation).To(BeNil()) + }).Should(Succeed()) + }) + + It("releases allocations back to recycle pools on claim deletion", func() { + pool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "recycle-ip-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.2.0.1/32"), + }, + ReclaimPolicy: poolv1alpha1.ReclaimPolicyRecycle, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.IPAddress).NotTo(BeNil()) + }).Should(Succeed()) + + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + Eventually(func() bool { + return apierrors.IsNotFound(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), &poolv1alpha1.Claim{})) + }).Should(BeTrue()) + + Eventually(func(g Gomega) { + currentPool := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + g.Expect(currentPool.Status.Allocated).To(Equal("0")) + g.Expect(currentPool.Status.Allocations).To(BeEmpty()) + }).Should(Succeed()) + }) + + It("retains allocations on claim deletion when the pool reclaim policy is retain", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "retain-index-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("500..500")}, + ReclaimPolicy: poolv1alpha1.ReclaimPolicyRetain, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + }).Should(Succeed()) + + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + Eventually(func() bool { + return apierrors.IsNotFound(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), &poolv1alpha1.Claim{})) + }).Should(BeTrue()) + + Eventually(func(g Gomega) { + currentPool := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + g.Expect(currentPool.Status.Allocated).To(Equal("1")) + g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + g.Expect(currentPool.Status.Allocations[0].Retained).To(BeTrue()) + }).Should(Succeed()) + }) + + It("allocates the preferred index when the annotation is set", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "preferred-index-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("100..110")}, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + Annotations: map[string]string{ + poolv1alpha1.PreferredValueAnnotation: "105", + }, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + g.Expect(*currentClaim.Status.Allocation.Index).To(Equal(uint64(105))) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("105")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + }).Should(Succeed()) + }) + + It("allocates the preferred IP address when the annotation is set", func() { + pool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "preferred-ip-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/28"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + Annotations: map[string]string{ + poolv1alpha1.PreferredValueAnnotation: "10.0.0.7", + }, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.IPAddress).To(HaveValue(Equal("10.0.0.7"))) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.0.0.7")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + }).Should(Succeed()) + }) + + It("allocates the preferred prefix when the annotation is set", func() { + pool := &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "preferred-prefix-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.2.0.0/24"), + PrefixLength: 26, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + claim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + Annotations: map[string]string{ + poolv1alpha1.PreferredValueAnnotation: "10.2.0.128/26", + }, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPPrefixPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, claim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + currentClaim := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) + g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) + g.Expect(currentClaim.Status.Allocation.Prefix).To(HaveValue(HaveField("String()", Equal("10.2.0.128/26")))) + g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.2.0.128/26")) + + condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + }).Should(Succeed()) + }) + + It("sets PreferredValueUnavailable condition when the preferred value is taken", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "preferred-taken-pool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("100..100")}, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + firstClaim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, firstClaim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, firstClaim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(firstClaim), current)).To(Succeed()) + g.Expect(current.Status.Allocation).NotTo(BeNil()) + g.Expect(current.Status.Allocation.Index).NotTo(BeNil()) + }).Should(Succeed()) + + secondClaim := &poolv1alpha1.Claim{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "claim-", + Namespace: metav1.NamespaceDefault, + Annotations: map[string]string{ + poolv1alpha1.PreferredValueAnnotation: "100", + }, + }, + Spec: poolv1alpha1.ClaimSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + }, + } + Expect(k8sClient.Create(ctx, secondClaim)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, secondClaim))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.Claim{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(secondClaim), current)).To(Succeed()) + + condition := conditions.Get(current, poolv1alpha1.AllocatedCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.PreferredValueUnavailableReason)) + g.Expect(current.Status.Allocation).To(BeNil()) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/indexpool_controller.go b/internal/controller/pool/indexpool_controller.go new file mode 100644 index 000000000..558fa7ad0 --- /dev/null +++ b/internal/controller/pool/indexpool_controller.go @@ -0,0 +1,100 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "strconv" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + kerrors "k8s.io/apimachinery/pkg/util/errors" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IndexPoolReconciler reconciles an IndexPool object +type IndexPoolReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/finalizers,verbs=update + +// Reconcile is part of the main kubernetes reconciliation loop which aims to +// move the current state of the cluster closer to the desired state. +// +// For more details, check Reconcile and its Result here: +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile +func (r *IndexPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + pool := new(poolv1alpha1.IndexPool) + if err := r.Get(ctx, req.NamespacedName, pool); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !pool.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := pool.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, pool.ObjectMeta) { + if err := r.Patch(ctx, pool.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, pool.Status) { + if err := r.Status().Patch(ctx, pool, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool.Status.Total = strconv.FormatUint(pool.Total(), 10) + pool.Status.Allocated = strconv.Itoa(pool.Allocated()) + + if pool.IsExhausted() { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ExhaustedReason, + Message: "Pool has no free capacity", + }) + } else { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.HasCapacityReason, + Message: "Pool has free capacity", + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IndexPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.IndexPool{}). + Named("pool-indexpool"). + Complete(r) +} diff --git a/internal/controller/pool/indexpool_controller_test.go b/internal/controller/pool/indexpool_controller_test.go new file mode 100644 index 000000000..cc4d9187d --- /dev/null +++ b/internal/controller/pool/indexpool_controller_test.go @@ -0,0 +1,89 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("IndexPool Controller", func() { + var pool *poolv1alpha1.IndexPool + + BeforeEach(func() { + pool = &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "indexpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + }) + + AfterEach(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + It("Should successfully reconcile a IndexPool", func() { + By("Updating the total and allocated status") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("10")) + g.Expect(current.Status.Allocated).To(Equal("0")) + }).Should(Succeed()) + }) + + It("Should set Available=True when the pool has free capacity", func() { + Eventually(func(g Gomega) { + current := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.HasCapacityReason)) + }).Should(Succeed()) + }) + + It("Should set Available=False when the pool is exhausted", func() { + By("Exhausting the pool by filling all allocations in status") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("10")) + }).Should(Succeed()) + + By("Patching the pool status with full allocations") + orig := pool.DeepCopy() + allocations := make([]poolv1alpha1.IndexAllocation, 10) + for i := range allocations { + allocations[i] = poolv1alpha1.IndexAllocation{ + ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy"}, + Index: uint64(i + 1), + } + } + pool.Status.Allocations = allocations + Expect(k8sClient.Status().Patch(ctx, pool, client.MergeFrom(orig))).To(Succeed()) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ExhaustedReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/ipaddresspool_controller.go b/internal/controller/pool/ipaddresspool_controller.go new file mode 100644 index 000000000..6bfbb6823 --- /dev/null +++ b/internal/controller/pool/ipaddresspool_controller.go @@ -0,0 +1,100 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "strconv" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + kerrors "k8s.io/apimachinery/pkg/util/errors" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IPAddressPoolReconciler reconciles an IPAddressPool object +type IPAddressPoolReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/finalizers,verbs=update + +// Reconcile is part of the main kubernetes reconciliation loop which aims to +// move the current state of the cluster closer to the desired state. +// +// For more details, check Reconcile and its Result here: +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile +func (r *IPAddressPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + pool := new(poolv1alpha1.IPAddressPool) + if err := r.Get(ctx, req.NamespacedName, pool); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !pool.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := pool.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, pool.ObjectMeta) { + if err := r.Patch(ctx, pool.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, pool.Status) { + if err := r.Status().Patch(ctx, pool, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool.Status.Total = pool.Total().String() + pool.Status.Allocated = strconv.Itoa(pool.Allocated()) + + if pool.IsExhausted() { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ExhaustedReason, + Message: "Pool has no free capacity", + }) + } else { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.HasCapacityReason, + Message: "Pool has free capacity", + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IPAddressPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.IPAddressPool{}). + Named("pool-ipaddresspool"). + Complete(r) +} diff --git a/internal/controller/pool/ipaddresspool_controller_test.go b/internal/controller/pool/ipaddresspool_controller_test.go new file mode 100644 index 000000000..c77d9896f --- /dev/null +++ b/internal/controller/pool/ipaddresspool_controller_test.go @@ -0,0 +1,100 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("IPAddressPool Controller", func() { + var pool *poolv1alpha1.IPAddressPool + + BeforeEach(func() { + pool = &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipaddresspool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/24"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + }) + + AfterEach(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + It("Should successfully reconcile a IPAddressPool", func() { + By("Updating the total and allocated status") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("256")) + g.Expect(current.Status.Allocated).To(Equal("0")) + }).Should(Succeed()) + }) + + It("Should set Available=True when the pool has free capacity", func() { + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.HasCapacityReason)) + }).Should(Succeed()) + }) + + It("Should set Available=False when the pool is exhausted", func() { + By("Creating a pool with a single address so it can be exhausted") + singlePool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipaddresspool-single-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.9.9.1/32"), + }, + }, + } + Expect(k8sClient.Create(ctx, singlePool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, singlePool))).To(Succeed()) + }) + + By("Patching the pool status with all addresses allocated") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("1")) + }).Should(Succeed()) + + orig := singlePool.DeepCopy() + singlePool.Status.Allocations = []poolv1alpha1.IPAddressAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy"}, Address: "10.9.9.1"}, + } + Expect(k8sClient.Status().Patch(ctx, singlePool, client.MergeFrom(orig))).To(Succeed()) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddressPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ExhaustedReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/ipprefixpool_controller.go b/internal/controller/pool/ipprefixpool_controller.go new file mode 100644 index 000000000..3e19578af --- /dev/null +++ b/internal/controller/pool/ipprefixpool_controller.go @@ -0,0 +1,100 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "strconv" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + kerrors "k8s.io/apimachinery/pkg/util/errors" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IPPrefixPoolReconciler reconciles an IPPrefixPool object +type IPPrefixPoolReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/finalizers,verbs=update + +// Reconcile is part of the main kubernetes reconciliation loop which aims to +// move the current state of the cluster closer to the desired state. +// +// For more details, check Reconcile and its Result here: +// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile +func (r *IPPrefixPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + pool := new(poolv1alpha1.IPPrefixPool) + if err := r.Get(ctx, req.NamespacedName, pool); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !pool.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := pool.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, pool.ObjectMeta) { + if err := r.Patch(ctx, pool.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, pool.Status) { + if err := r.Status().Patch(ctx, pool, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool.Status.Total = pool.Total().String() + pool.Status.Allocated = strconv.Itoa(pool.Allocated()) + + if pool.IsExhausted() { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ExhaustedReason, + Message: "Pool has no free capacity", + }) + } else { + conditions.Set(pool, metav1.Condition{ + Type: poolv1alpha1.AvailableCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.HasCapacityReason, + Message: "Pool has free capacity", + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IPPrefixPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.IPPrefixPool{}). + Named("pool-ipprefixpool"). + Complete(r) +} diff --git a/internal/controller/pool/ipprefixpool_controller_test.go b/internal/controller/pool/ipprefixpool_controller_test.go new file mode 100644 index 000000000..0806ef33a --- /dev/null +++ b/internal/controller/pool/ipprefixpool_controller_test.go @@ -0,0 +1,107 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("IPPrefixPool Controller", func() { + var pool *poolv1alpha1.IPPrefixPool + + BeforeEach(func() { + pool = &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipprefixpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 28, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + }) + + AfterEach(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + It("Should successfully reconcile a IPPrefixPool", func() { + By("Updating the total and allocated status") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefixPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("16")) + g.Expect(current.Status.Allocated).To(Equal("0")) + }).Should(Succeed()) + }) + + It("Should set Available=True when the pool has free capacity", func() { + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefixPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.HasCapacityReason)) + }).Should(Succeed()) + }) + + It("Should set Available=False when the pool is exhausted", func() { + By("Creating a pool with a single prefix so it can be exhausted") + singlePool := &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipprefixpool-single-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.9.0.0/30"), + PrefixLength: 31, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, singlePool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, singlePool))).To(Succeed()) + }) + + By("Patching the pool status with all prefixes allocated") + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefixPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) + g.Expect(current.Status.Total).To(Equal("2")) + }).Should(Succeed()) + + orig := singlePool.DeepCopy() + singlePool.Status.Allocations = []poolv1alpha1.IPPrefixAllocation{ + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy-1"}, Prefix: corev1alpha1.MustParsePrefix("10.9.0.0/31")}, + {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy-2"}, Prefix: corev1alpha1.MustParsePrefix("10.9.0.2/31")}, + } + Expect(k8sClient.Status().Patch(ctx, singlePool, client.MergeFrom(orig))).To(Succeed()) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefixPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.AvailableCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ExhaustedReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/suite_test.go b/internal/controller/pool/suite_test.go new file mode 100644 index 000000000..a5b4d7e51 --- /dev/null +++ b/internal/controller/pool/suite_test.go @@ -0,0 +1,159 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "os" + "path/filepath" + "testing" + "time" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/tools/record" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/envtest" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/log/zap" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + // +kubebuilder:scaffold:imports +) + +// These tests use Ginkgo (BDD-style Go testing framework). Refer to +// http://onsi.github.io/ginkgo/ to learn more about Ginkgo. + +var ( + ctx context.Context + cancel context.CancelFunc + testEnv *envtest.Environment + k8sClient client.Client + k8sManager ctrl.Manager +) + +func TestControllers(t *testing.T) { + RegisterFailHandler(Fail) + + RunSpecs(t, "Controller Suite") +} + +var _ = BeforeSuite(func() { + logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) + + SetDefaultEventuallyTimeout(time.Minute) + SetDefaultEventuallyPollingInterval(time.Second) + + ctx, cancel = context.WithCancel(ctrl.SetupSignalHandler()) + + var err error + err = poolv1alpha1.AddToScheme(scheme.Scheme) + Expect(err).NotTo(HaveOccurred()) + + // +kubebuilder:scaffold:scheme + + By("bootstrapping test environment") + testEnv = &envtest.Environment{ + CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")}, + ErrorIfCRDPathMissing: true, + } + + // Retrieve the first found binary directory to allow running tests from IDEs + if dir := detectTestBinaryDir(); dir != "" { + testEnv.BinaryAssetsDirectory = dir + } + + cfg, err := testEnv.Start() + Expect(err).NotTo(HaveOccurred()) + Expect(cfg).NotTo(BeNil()) + + k8sManager, err = ctrl.NewManager(cfg, ctrl.Options{ + Scheme: scheme.Scheme, + Logger: GinkgoLogr, + }) + Expect(err).NotTo(HaveOccurred()) + + recorder := record.NewFakeRecorder(0) + go func() { + defer GinkgoRecover() + for event := range recorder.Events { + GinkgoLogr.Info("Event", "event", event) + } + }() + + k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) + Expect(err).NotTo(HaveOccurred()) + Expect(k8sClient).NotTo(BeNil()) + + err = (&IndexPoolReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(k8sManager) + Expect(err).NotTo(HaveOccurred()) + + err = (&IPAddressPoolReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(k8sManager) + Expect(err).NotTo(HaveOccurred()) + + err = (&IPPrefixPoolReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(k8sManager) + Expect(err).NotTo(HaveOccurred()) + + err = (&ClaimReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + Recorder: recorder, + }).SetupWithManager(ctx, k8sManager) + Expect(err).NotTo(HaveOccurred()) + + go func() { + defer GinkgoRecover() + err := k8sManager.Start(ctx) + Expect(err).NotTo(HaveOccurred(), "failed to run manager") + }() + + Eventually(func() error { + var namespace corev1.Namespace + return k8sClient.Get(context.Background(), client.ObjectKey{Name: metav1.NamespaceDefault}, &namespace) + }).Should(Succeed()) +}) + +var _ = AfterSuite(func() { + By("tearing down the test environment") + cancel() + err := testEnv.Stop() + Expect(err).NotTo(HaveOccurred()) +}) + +// getFirstFoundEnvTestBinaryDir locates the first binary in the specified path. +// ENVTEST-based tests depend on specific binaries, usually located in paths set by +// controller-runtime. When running tests directly (e.g., via an IDE) without using +// Makefile targets, the 'BinaryAssetsDirectory' must be explicitly configured. +// +// This function streamlines the process by finding the required binaries, similar to +// setting the 'KUBEBUILDER_ASSETS' environment variable. To ensure the binaries are +// properly set up, run 'make setup-envtest' beforehand. +func detectTestBinaryDir() string { + basePath := filepath.Join("..", "..", "..", "bin", "k8s") + entries, err := os.ReadDir(basePath) + if err != nil { + logf.Log.Error(err, "Failed to read directory", "path", basePath) + return "" + } + for _, entry := range entries { + if entry.IsDir() { + return filepath.Join(basePath, entry.Name()) + } + } + return "" +} From bc6da88236e325363bb39d90f07077e4462bea68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Thu, 26 Mar 2026 00:53:09 +0100 Subject: [PATCH 5/7] Add numbered resource allocation concept documentation Documents the pool-based allocation system introduced alongside the IndexPool, IPAddressPool, IPPrefixPool, and Claim types. Covers pool and claim concepts, reclaim policies, the preferred-value annotation, and allocation result fields. Includes light/dark theme diagram images and links to sample manifests in the repository. --- docs/.vitepress/config.mts | 8 ++ docs/assets/numbered-resources-dark.png | 3 + docs/assets/numbered-resources.png | 3 + docs/concepts/index.md | 1 + docs/concepts/numbered-resources.md | 165 ++++++++++++++++++++++++ 5 files changed, 180 insertions(+) create mode 100644 docs/assets/numbered-resources-dark.png create mode 100644 docs/assets/numbered-resources.png create mode 100644 docs/concepts/numbered-resources.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 74a5ccb1d..5600a2d4b 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -81,6 +81,14 @@ export default withMermaid({ { text: 'Pausing Reconciliation', link: '/concepts/pausing' }, ], }, + { + text: 'Concepts', + items: [ + { text: 'Index', link: '/concepts/' }, + { text: 'Pausing Reconciliation', link: '/concepts/pausing' }, + { text: 'Numbered Resources', link: '/concepts/numbered-resources' }, + ], + }, { text: 'Tutorials', items: [ diff --git a/docs/assets/numbered-resources-dark.png b/docs/assets/numbered-resources-dark.png new file mode 100644 index 000000000..f9c6f57ce --- /dev/null +++ b/docs/assets/numbered-resources-dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef335eae390fd8cb443a3487d2e3960932e03a055b6b7cb31d5e20d4a0aaa123 +size 1196074 diff --git a/docs/assets/numbered-resources.png b/docs/assets/numbered-resources.png new file mode 100644 index 000000000..a6a2bbddc --- /dev/null +++ b/docs/assets/numbered-resources.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a47c62a8ec62fb00e35f0f2fbf10b4fcae33b010a4f611ad38c3e327373d01e8 +size 1202192 diff --git a/docs/concepts/index.md b/docs/concepts/index.md index 0bde4cfb6..9ce6bae9d 100644 --- a/docs/concepts/index.md +++ b/docs/concepts/index.md @@ -4,3 +4,4 @@ This section covers the core concepts behind the Network Operator. - [Pausing Reconciliation](./pausing.md) — Temporarily prevent controllers from reconciling resources. - [Interface Neighbor Validation](./cabling.md) — Validate physical cabling via LLDP. +- [Numbered Resource Allocation](./numbered-resources.md) — Allocate indices, IP addresses, and IP prefixes from managed pools using Claims. diff --git a/docs/concepts/numbered-resources.md b/docs/concepts/numbered-resources.md new file mode 100644 index 000000000..bb13257ae --- /dev/null +++ b/docs/concepts/numbered-resources.md @@ -0,0 +1,165 @@ +# Numbered Resource Allocation + +The Network Operator provides a pool-based allocation system for numbered resources such as +indices (ASNs, VLAN IDs, route distinguishers), IP addresses, and IP prefixes. Resources are +claimed via a `Claim` object that references a pool; the controller allocates a value +automatically and writes it back to the claim's status. + + + +Numbered Resource Allocation Flow + +## Pool Types + +Three pool types are available, each targeting a different kind of resource: + +| Pool Kind | Allocates | Example use case | +| --------------- | --------------------------- | -------------------------------------- | +| `IndexPool` | `uint64` Index | ASN, VLAN ID, VNI, Route Distinguisher | +| `IPAddressPool` | Single IP Address | Loopback Address, Router ID | +| `IPPrefixPool` | IP Prefix of a given length | Subnet | + +## Concepts + +### Pool + +A pool defines the set of values that can be allocated. Each pool type has a +`spec.reclaimPolicy` field controlling what happens when a `Claim` is deleted: + +- **`Recycle`** (default) — the allocation is returned to the pool and can be reused. +- **`Retain`** — the allocation is kept in the pool status as reserved and will never be + reused, even after the claim is gone. + +The example below creates an `IndexPool` covering the private-use ASN ranges defined in +[RFC 6996](https://datatracker.ietf.org/doc/html/rfc6996): + +```yaml +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IndexPool +metadata: + name: asn-pool +spec: + ranges: + - 64512..65534 + - 4200000000..4294967294 +``` + +For IP-based pools, sample manifests for all pool types are available in the repository: + +- [`config/samples/v1alpha1_indexpool.yaml`](https://github.com/ironcore-dev/network-operator/blob/main/config/samples/v1alpha1_indexpool.yaml) +- [`config/samples/v1alpha1_ipaddresspool.yaml`](https://github.com/ironcore-dev/network-operator/blob/main/config/samples/v1alpha1_ipaddresspool.yaml) +- [`config/samples/v1alpha1_ipprefixpool.yaml`](https://github.com/ironcore-dev/network-operator/blob/main/config/samples/v1alpha1_ipprefixpool.yaml) + +#### Pool Status + +Each pool tracks allocations and exposes utilisation counters: + +```bash +$ kubectl get indexpools +NAME ALLOCATED AVAILABLE AGE +asn-pool 3 True 10m +``` + +The `Available` condition is set to `True` while there is at least one free slot, and +transitions to `False` (reason `Exhausted`) when all values have been allocated. + +### Claim + +A `Claim` references a pool via `spec.poolRef` and, once reconciled, receives the +allocated value in `status.allocation`. The controller guarantees idempotency: if a +claim already has an allocation in the pool status (matched by name and UID), it is +returned as-is without allocating a new value. + +The example below creates a claim against the `asn-pool` defined above: + +```yaml +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Claim +metadata: + name: leaf1-asn +spec: + poolRef: + kind: IndexPool + name: asn-pool +``` + +Additional sample manifests for claims against each pool type are available in the repository: + +- [`config/samples/v1alpha1_claim.yaml`](https://github.com/ironcore-dev/network-operator/blob/main/config/samples/v1alpha1_claim.yaml) + +The `Allocated` condition on the claim reflects the current state: + +| Condition status | Reason | Meaning | +| ---------------- | --------------------------- | ---------------------------------------------------------------- | +| `True` | `Allocated` | A value has been successfully allocated. | +| `False` | `PoolExhausted` | No values remain in the pool (terminal error). | +| `False` | `PreferredValueUnavailable` | The requested preferred value is not available (terminal error). | +| `False` | `PoolNotFound` | The referenced pool does not exist (yet). | + +### Allocation Result + +Once allocated, `status.allocation` contains a type-specific field plus a `value` string that +is always present regardless of pool type: + +| Pool type | Field | Example | +| --------------- | ----------- | --------------- | +| `IndexPool` | `index` | `65001` | +| `IPAddressPool` | `ipAddress` | `"10.0.0.5"` | +| `IPPrefixPool` | `prefix` | `"10.2.0.0/26"` | + +For the `leaf1-asn` claim created above, the allocated ASN is accessible via the `value` field, +which is always set to the string representation of the allocated resource: + +```bash +$ kubectl get claim leaf1-asn -o jsonpath='{.status.allocation.value}' +64512 +``` + +## Requesting a Preferred Value + +A specific value can be requested by setting the annotation +`pool.networking.metal.ironcore.dev/preferred-value` on the claim: + +```yaml +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Claim +metadata: + name: leaf1-asn + annotations: + pool.networking.metal.ironcore.dev/preferred-value: "65001" +spec: + poolRef: + kind: IndexPool + name: asn-pool +``` + +The annotation works the same way for all pool types: + +| Pool type | Example annotation value | +| --------------- | ------------------------ | +| `IndexPool` | `"65001"` | +| `IPAddressPool` | `"10.0.0.42"` | +| `IPPrefixPool` | `"10.2.5.0/24"` | + +If the preferred value is outside the pool's configured ranges or already taken by another +claim, the claim enters a terminal error state with the `PreferredValueUnavailable` reason. +**Removing the annotation** re-triggers reconciliation and the controller falls back to +allocating the next available value automatically. + +::: tip +The annotation is read but not consumed — it stays on the object. This means you can +inspect a claim and immediately see which value was requested. +::: + +::: warning +A `PreferredValueUnavailable` error is terminal. The controller will not retry until +the annotation is changed or removed. +::: From 3df6d1a351672e1c26f089f5c3d16c9900246488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Tue, 21 Apr 2026 19:15:55 +0200 Subject: [PATCH 6/7] Add dedicated allocation objects for numbered resource pools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the embedded Status.Allocations lists on pool types with dedicated Kubernetes objects (Index, IPAddress, IPPrefix) that model allocations as first-class resources following the PV/PVC pattern. Previously, the claim controller reserved values by appending entries to a pool's status and used optimistic locking on the pool status update to prevent races. This coupled allocation state tightly to the pool object and made it impossible to pre-provision or inspect individual allocations. The new design introduces three allocation types — Index, IPAddress, and IPPrefix — each with a spec containing the reserved value, a poolRef back to the owning pool, and an optional claimRef binding it to a Claim. The claim controller now creates allocation objects with deterministic names derived from the pool name and value (e.g. my-pool-64512), using the API server's name-uniqueness guarantee as the concurrency guard: two controllers racing for the same value both attempt Create, exactly one succeeds, the other retries via retry.OnError with a fresh list of used values. Pool types implement a Pool interface with Allocate and ListAllocations methods. Allocate receives the existing allocation objects, builds a used-value set, finds the first free slot, and returns a ready-to-create allocation object. ListAllocations encapsulates the typed List call and returns []Allocation, an interface providing GetClaimRef, SetClaimRef, and GetValue so the claim controller operates generically without type switches. Pool controllers count allocations by listing objects via a shared poolRef field index rather than reading Status.Allocations. The allocation type controllers (Index, IPAddress, IPPrefix) validate each object's value against its pool's ranges/prefixes and set a Valid condition. The claim controller's finalize path applies the pool's reclaim policy: Recycle deletes the allocation object, Retain clears its claimRef so the value persists as reserved but unbound. The AllowBindingAnnotation enables rebinding of allocation objects whose claimRef name matches a Claim but whose UID is stale, such as after a Claim is deleted and recreated with the same name. Signed-off-by: Felix Kästner --- PROJECT | 27 ++ Tiltfile | 12 +- api/core/v1alpha1/addr_types.go | 95 +++++ api/core/v1alpha1/ref_types.go | 12 + api/pool/v1alpha1/claim_types.go | 82 ++-- api/pool/v1alpha1/claimref_types.go | 26 ++ api/pool/v1alpha1/groupversion_info.go | 44 +-- api/pool/v1alpha1/index_types.go | 113 ++++++ api/pool/v1alpha1/indexpool_types.go | 160 +++----- api/pool/v1alpha1/indexpool_types_test.go | 324 ++-------------- api/pool/v1alpha1/ipaddress_types.go | 110 ++++++ api/pool/v1alpha1/ipaddresspool_types.go | 167 +++----- api/pool/v1alpha1/ipaddresspool_types_test.go | 317 +++------------- api/pool/v1alpha1/ipprefix_types.go | 110 ++++++ api/pool/v1alpha1/ipprefixpool_types.go | 158 +++----- api/pool/v1alpha1/ipprefixpool_types_test.go | 325 +++------------- api/pool/v1alpha1/zz_generated.deepcopy.go | 358 ++++++++++++++---- ...ms.pool.networking.metal.ironcore.dev.yaml | 59 +-- ...ls.pool.networking.metal.ironcore.dev.yaml | 47 +-- ...es.pool.networking.metal.ironcore.dev.yaml | 211 +++++++++++ ...es.pool.networking.metal.ironcore.dev.yaml | 210 ++++++++++ ...ls.pool.networking.metal.ironcore.dev.yaml | 48 +-- ...es.pool.networking.metal.ironcore.dev.yaml | 210 ++++++++++ ...ls.pool.networking.metal.ironcore.dev.yaml | 48 +-- .../templates/rbac/manager-role.yaml | 9 +- .../templates/rbac/pool-claim-admin-role.yaml | 9 +- .../rbac/pool-claim-editor-role.yaml | 9 +- .../rbac/pool-claim-viewer-role.yaml | 9 +- .../templates/rbac/pool-index-admin-role.yaml | 31 ++ .../rbac/pool-index-editor-role.yaml | 37 ++ .../rbac/pool-index-viewer-role.yaml | 33 ++ .../rbac/pool-indexpool-admin-role.yaml | 9 +- .../rbac/pool-indexpool-editor-role.yaml | 9 +- .../rbac/pool-indexpool-viewer-role.yaml | 9 +- .../rbac/pool-ipaddress-admin-role.yaml | 31 ++ .../rbac/pool-ipaddress-editor-role.yaml | 37 ++ .../rbac/pool-ipaddress-viewer-role.yaml | 33 ++ .../rbac/pool-ipaddresspool-admin-role.yaml | 9 +- .../rbac/pool-ipaddresspool-editor-role.yaml | 9 +- .../rbac/pool-ipaddresspool-viewer-role.yaml | 9 +- .../rbac/pool-ipprefix-admin-role.yaml | 31 ++ .../rbac/pool-ipprefix-editor-role.yaml | 37 ++ .../rbac/pool-ipprefix-viewer-role.yaml | 33 ++ .../rbac/pool-ipprefixpool-admin-role.yaml | 9 +- .../rbac/pool-ipprefixpool-editor-role.yaml | 9 +- .../rbac/pool-ipprefixpool-viewer-role.yaml | 9 +- cmd/main.go | 30 +- ....networking.metal.ironcore.dev_claims.yaml | 59 +-- ...working.metal.ironcore.dev_indexpools.yaml | 47 +-- ...networking.metal.ironcore.dev_indices.yaml | 207 ++++++++++ ...orking.metal.ironcore.dev_ipaddresses.yaml | 206 ++++++++++ ...ing.metal.ironcore.dev_ipaddresspools.yaml | 48 +-- ...working.metal.ironcore.dev_ipprefixes.yaml | 206 ++++++++++ ...king.metal.ironcore.dev_ipprefixpools.yaml | 48 +-- config/crd/kustomization.yaml | 3 + config/rbac/index_admin_role.yaml | 27 ++ config/rbac/index_editor_role.yaml | 33 ++ config/rbac/index_viewer_role.yaml | 29 ++ config/rbac/ipaddress_admin_role.yaml | 27 ++ config/rbac/ipaddress_editor_role.yaml | 33 ++ config/rbac/ipaddress_viewer_role.yaml | 29 ++ config/rbac/ipprefix_admin_role.yaml | 27 ++ config/rbac/ipprefix_editor_role.yaml | 33 ++ config/rbac/ipprefix_viewer_role.yaml | 29 ++ config/rbac/kustomization.yaml | 9 + config/rbac/role.yaml | 9 +- config/samples/kustomization.yaml | 3 + config/samples/v1alpha1_index.yaml | 21 + config/samples/v1alpha1_ipaddress.yaml | 21 + config/samples/v1alpha1_ipprefix.yaml | 21 + docs/api-reference/index.md | 209 ++++++++-- internal/controller/pool/claim_controller.go | 304 ++++++++++----- .../controller/pool/claim_controller_test.go | 349 ++++------------- internal/controller/pool/doc.go | 8 + internal/controller/pool/index_controller.go | 174 +++++++++ .../controller/pool/index_controller_test.go | 109 ++++++ .../controller/pool/indexpool_controller.go | 45 ++- .../pool/indexpool_controller_test.go | 36 +- .../controller/pool/ipaddress_controller.go | 173 +++++++++ .../pool/ipaddress_controller_test.go | 109 ++++++ .../pool/ipaddresspool_controller.go | 46 ++- .../pool/ipaddresspool_controller_test.go | 26 +- .../controller/pool/ipprefix_controller.go | 173 +++++++++ .../pool/ipprefix_controller_test.go | 115 ++++++ .../pool/ipprefixpool_controller.go | 46 ++- .../pool/ipprefixpool_controller_test.go | 31 +- internal/controller/pool/poolref.go | 8 + internal/controller/pool/suite_test.go | 23 +- 88 files changed, 4830 insertions(+), 2052 deletions(-) create mode 100644 api/core/v1alpha1/addr_types.go create mode 100644 api/pool/v1alpha1/claimref_types.go create mode 100644 api/pool/v1alpha1/index_types.go create mode 100644 api/pool/v1alpha1/ipaddress_types.go create mode 100644 api/pool/v1alpha1/ipprefix_types.go create mode 100644 charts/network-operator/templates/crd/indices.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/crd/ipaddresses.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/crd/ipprefixes.pool.networking.metal.ironcore.dev.yaml create mode 100644 charts/network-operator/templates/rbac/pool-index-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-index-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-index-viewer-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddress-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddress-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipaddress-viewer-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefix-admin-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefix-editor-role.yaml create mode 100644 charts/network-operator/templates/rbac/pool-ipprefix-viewer-role.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_indices.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresses.yaml create mode 100644 config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixes.yaml create mode 100644 config/rbac/index_admin_role.yaml create mode 100644 config/rbac/index_editor_role.yaml create mode 100644 config/rbac/index_viewer_role.yaml create mode 100644 config/rbac/ipaddress_admin_role.yaml create mode 100644 config/rbac/ipaddress_editor_role.yaml create mode 100644 config/rbac/ipaddress_viewer_role.yaml create mode 100644 config/rbac/ipprefix_admin_role.yaml create mode 100644 config/rbac/ipprefix_editor_role.yaml create mode 100644 config/rbac/ipprefix_viewer_role.yaml create mode 100644 config/samples/v1alpha1_index.yaml create mode 100644 config/samples/v1alpha1_ipaddress.yaml create mode 100644 config/samples/v1alpha1_ipprefix.yaml create mode 100644 internal/controller/pool/doc.go create mode 100644 internal/controller/pool/index_controller.go create mode 100644 internal/controller/pool/index_controller_test.go create mode 100644 internal/controller/pool/ipaddress_controller.go create mode 100644 internal/controller/pool/ipaddress_controller_test.go create mode 100644 internal/controller/pool/ipprefix_controller.go create mode 100644 internal/controller/pool/ipprefix_controller_test.go create mode 100644 internal/controller/pool/poolref.go diff --git a/PROJECT b/PROJECT index 5c74a505d..e437c0ca9 100644 --- a/PROJECT +++ b/PROJECT @@ -325,4 +325,31 @@ resources: kind: Claim path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: Index + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: IPAddress + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: networking.metal.ironcore.dev + group: pool + kind: IPPrefix + path: github.com/ironcore-dev/network-operator/api/pool/v1alpha1 + version: v1alpha1 version: "3" diff --git a/Tiltfile b/Tiltfile index 0feca4499..3c341c52c 100644 --- a/Tiltfile +++ b/Tiltfile @@ -140,18 +140,18 @@ k8s_yaml('./config/samples/v1alpha1_dhcprelay.yaml') k8s_resource(new_name='dhcprelay', objects=['dhcprelay:dhcprelay'], resource_deps=['eth1-1'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) k8s_yaml('./config/samples/v1alpha1_indexpool.yaml') -k8s_resource(new_name='indexpool-sample', objects=['indexpool-sample:indexpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='indexpool', objects=['indexpool-sample:indexpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) k8s_yaml('./config/samples/v1alpha1_ipaddresspool.yaml') -k8s_resource(new_name='ipaddresspool-sample', objects=['ipaddresspool-sample:ipaddresspool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='ipaddresspool', objects=['ipaddresspool-sample:ipaddresspool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) k8s_yaml('./config/samples/v1alpha1_ipprefixpool.yaml') -k8s_resource(new_name='ipprefixpool-sample', objects=['ipprefixpool-sample:ipprefixpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='ipprefixpool', objects=['ipprefixpool-sample:ipprefixpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) k8s_yaml('./config/samples/v1alpha1_claim.yaml') -k8s_resource(new_name='claim-index', objects=['claim-index:claim'], resource_deps=['indexpool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) -k8s_resource(new_name='claim-ipaddress', objects=['claim-ipaddress:claim'], resource_deps=['ipaddresspool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) -k8s_resource(new_name='claim-prefix', objects=['claim-prefix:claim'], resource_deps=['ipprefixpool-sample'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='claim-index', objects=['claim-index:claim'], resource_deps=['indexpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='claim-ipaddress', objects=['claim-ipaddress:claim'], resource_deps=['ipaddresspool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) +k8s_resource(new_name='claim-prefix', objects=['claim-prefix:claim'], resource_deps=['ipprefixpool'], trigger_mode=TRIGGER_MODE_MANUAL, auto_init=False) print('🚀 network-operator development environment') print('👉 Edit the code inside the api/, cmd/, or internal/ directories') diff --git a/api/core/v1alpha1/addr_types.go b/api/core/v1alpha1/addr_types.go new file mode 100644 index 000000000..48800e37a --- /dev/null +++ b/api/core/v1alpha1/addr_types.go @@ -0,0 +1,95 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 +package v1alpha1 + +import ( + "encoding/json" + "net/netip" + + "k8s.io/apimachinery/pkg/api/equality" +) + +// IPAddr represents a single IP address (IPv4 or IPv6). +// +// +kubebuilder:validation:Type=string +// +kubebuilder:validation:Format=ip +// +kubebuilder:validation:Example="192.168.1.1" +// +kubebuilder:validation:Example="2001:db8::1" +// +kubebuilder:object:generate=false +type IPAddr struct { + netip.Addr `json:"-"` +} + +func ParseAddr(s string) (IPAddr, error) { + addr, err := netip.ParseAddr(s) + if err != nil { + return IPAddr{}, err + } + return IPAddr{addr}, nil +} + +func MustParseAddr(s string) IPAddr { + return IPAddr{netip.MustParseAddr(s)} +} + +// IsZero reports whether a represents the zero value. +func (a IPAddr) IsZero() bool { + return !a.IsValid() +} + +// Equal reports whether a and b represent the same address. +func (a IPAddr) Equal(b IPAddr) bool { + return a.Addr == b.Addr +} + +// MarshalJSON implements [json.Marshaler]. +func (a IPAddr) MarshalJSON() ([]byte, error) { + if !a.IsValid() { + return []byte("null"), nil + } + return json.Marshal(a.String()) +} + +// UnmarshalJSON implements [json.Unmarshaler]. +func (a *IPAddr) UnmarshalJSON(data []byte) error { + var str string + if err := json.Unmarshal(data, &str); err != nil { + return err + } + if str == "" || str == "null" { + *a = IPAddr{} + return nil + } + addr, err := netip.ParseAddr(str) + if err != nil { + return err + } + *a = IPAddr{addr} + return nil +} + +// DeepCopyInto copies all properties of this object into another object of the same type. +func (in *IPAddr) DeepCopyInto(out *IPAddr) { + *out = *in +} + +// DeepCopy creates a deep copy of the IPAddr. +func (in *IPAddr) DeepCopy() *IPAddr { + if in == nil { + return nil + } + out := new(IPAddr) + in.DeepCopyInto(out) + return out +} + +func init() { + // IPAddr embeds [netip.Addr] which contains unexported fields. + // [equality.Semantic.DeepEqual] panics on unexported fields, so an + // explicit equality function is registered here. + if err := equality.Semantic.AddFunc(func(a, b IPAddr) bool { + return a.Equal(b) + }); err != nil { + panic(err) + } +} diff --git a/api/core/v1alpha1/ref_types.go b/api/core/v1alpha1/ref_types.go index bff3830df..28cffa408 100644 --- a/api/core/v1alpha1/ref_types.go +++ b/api/core/v1alpha1/ref_types.go @@ -3,6 +3,8 @@ package v1alpha1 +import "sigs.k8s.io/controller-runtime/pkg/client" + // LocalObjectReference contains enough information to locate a // referenced object inside the same namespace. // +structType=atomic @@ -43,6 +45,16 @@ type TypedLocalObjectReference struct { APIVersion string `json:"apiVersion"` } +// TypedLocalObjectRefFromObject builds a TypedLocalObjectReference from a [client.Object]. +func TypedLocalObjectRefFromObject(obj client.Object) *TypedLocalObjectReference { + gvk := obj.GetObjectKind().GroupVersionKind() + return &TypedLocalObjectReference{ + APIVersion: gvk.GroupVersion().String(), + Kind: gvk.Kind, + Name: obj.GetName(), + } +} + // SecretReference represents a Secret Reference. It has enough information to retrieve a Secret // in any namespace. // +structType=atomic diff --git a/api/pool/v1alpha1/claim_types.go b/api/pool/v1alpha1/claim_types.go index 211afa1f2..a85e3662e 100644 --- a/api/pool/v1alpha1/claim_types.go +++ b/api/pool/v1alpha1/claim_types.go @@ -4,14 +4,49 @@ package v1alpha1 import ( - "strconv" + "context" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) -// ClaimSpec defines the desired state of Claim +// Allocation is an interface implemented by allocation objects (Index, IPAddress, IPPrefix). +// +kubebuilder:object:generate=false +type Allocation interface { + client.Object + + // GetValue returns the allocated value as a string. + GetValue() string + + // GetClaimRef returns the ClaimRef bound to this allocation, or nil if unbound. + GetClaimRef() *ClaimRef + + // SetClaimRef sets or clears the ClaimRef on this allocation. + SetClaimRef(*ClaimRef) +} + +// Pool is an interface that abstracts over the different pool types (IndexPool, IPAddressPool, IPPrefixPool) that a Claim can reference. +// +kubebuilder:object:generate=false +type Pool interface { + client.Object + + // IsExhausted reports whether all allocatable resources in the pool are taken. + IsExhausted() bool + + // GetReclaimPolicy returns the pool's configured reclaim policy. + GetReclaimPolicy() ReclaimPolicy + + // ListAllocations lists allocation objects matching the given options. + ListAllocations(ctx context.Context, c client.Client, opts ...client.ListOption) ([]Allocation, error) + + // Allocate picks the next free value from the pool's ranges/prefixes, + // given the existing allocations for this pool, and returns a new Allocation + // with a ready-to-create object, deterministic name, and the allocated value. + // Returns ErrPoolExhausted when no free value remains. + Allocate(claim *Claim, existing []Allocation) (Allocation, error) +} type ClaimSpec struct { // PoolRef references the allocation pool to allocate from. // PoolRef is immutable once set. @@ -35,54 +70,23 @@ type ClaimStatus struct { // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` - // Allocation describes the resource reserved for this claim. + // AllocationRef references the bound allocation object (Index, IPAddress, or IPPrefix). + // Set by the claim controller after successful binding. // +optional - Allocation *ClaimAllocation `json:"allocation,omitempty"` -} - -// ClaimAllocation holds the allocated resource value for a claim. -// +kubebuilder:validation:XValidation:rule="[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, x).size() == 1",message="exactly one allocation field must be set" -type ClaimAllocation struct { - // Index is set when the allocation is sourced from an IndexPool. - // +optional - Index *uint64 `json:"index,omitempty"` - - // IPAddress is set when the allocation is sourced from an IPAddressPool. - // +optional - IPAddress *string `json:"ipAddress,omitempty"` + AllocationRef *corev1alpha1.TypedLocalObjectReference `json:"allocationRef,omitempty"` - // Prefix is set when the allocation is sourced from an IPPrefixPool. - // +optional - Prefix *corev1alpha1.IPPrefix `json:"prefix,omitempty"` - - // Value is the string representation of the allocated resource. + // Value is the allocated resource as a string, mirrored from the bound allocation + // for convenient access without chasing the reference. // +optional Value string `json:"value,omitempty"` } -// String implements [fmt.Stringer]. -func (a *ClaimAllocation) String() string { - if a == nil { - return "" - } - switch { - case a.Index != nil: - return strconv.FormatUint(*a.Index, 10) - case a.IPAddress != nil: - return *a.IPAddress - case a.Prefix != nil: - return a.Prefix.String() - default: - return "" - } -} - // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:path=claims // +kubebuilder:resource:singular=claim // +kubebuilder:resource:shortName=claim -// +kubebuilder:printcolumn:name="Value",type=string,JSONPath=`.status.allocation.value` +// +kubebuilder:printcolumn:name="Value",type=string,JSONPath=`.status.value` // +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.conditions[?(@.type=="Allocated")].status` // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" diff --git a/api/pool/v1alpha1/claimref_types.go b/api/pool/v1alpha1/claimref_types.go new file mode 100644 index 000000000..54166f6d4 --- /dev/null +++ b/api/pool/v1alpha1/claimref_types.go @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import "k8s.io/apimachinery/pkg/types" + +const ( + // AllowBindingAnnotation permits an allocation object whose claimRef name matches + // a Claim but whose UID is stale (e.g. after the Claim was deleted and recreated) + // to be rebound by updating the UID to the current Claim. + AllowBindingAnnotation = "pool.networking.metal.ironcore.dev/allow-binding" +) + +// ClaimRef identifies the Claim bound to an allocation object. +// +structType=atomic +type ClaimRef struct { + // Name is the name of the Claim. + // +required + Name string `json:"name"` + + // UID is the UID of the Claim, guarding against rebinding to a recycled + // Claim with the same name. + // +required + UID types.UID `json:"uid"` +} diff --git a/api/pool/v1alpha1/groupversion_info.go b/api/pool/v1alpha1/groupversion_info.go index 95248d456..216d931c2 100644 --- a/api/pool/v1alpha1/groupversion_info.go +++ b/api/pool/v1alpha1/groupversion_info.go @@ -17,15 +17,6 @@ var ( // ErrPoolExhausted is returned by Allocate when no free value remains in the pool. ErrPoolExhausted = errors.New("pool is exhausted") - // ErrAllocationInconsistent is returned when a claim carries an allocation in its - // status that is not reflected in the pool's allocations, indicating external - // modification or a partial write that requires manual intervention. - ErrAllocationInconsistent = errors.New("claim allocation is inconsistent with pool") - - // ErrPreferredValueUnavailable is returned by AllocatePreferred when the requested - // value is outside the pool's configured ranges/prefixes or is already taken. - ErrPreferredValueUnavailable = errors.New("preferred value unavailable") - // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} @@ -55,23 +46,9 @@ const ( // PoolExhaustedReason indicates that a pool has no available allocations. PoolExhaustedReason = "PoolExhausted" - // AllocationFailedReason indicates that allocation could not be completed. - AllocationFailedReason = "AllocationFailed" - - // PreferredValueUnavailableReason indicates that the requested preferred value is not available. - PreferredValueUnavailableReason = "PreferredValueUnavailable" -) - -// Annotation keys -const ( - // PreferredValueAnnotation is an optional annotation on a Claim that requests a specific - // allocation value. The format depends on the pool type: - // - IndexPool: decimal uint64, e.g. "64512" - // - IPAddressPool: IP address string, e.g. "10.0.0.42" - // - IPPrefixPool: CIDR string, e.g. "192.168.5.0/24" - // If the value is unavailable the claim enters a terminal error state with reason - // PreferredValueUnavailable. Remove the annotation to fall back to normal allocation. - PreferredValueAnnotation = "pool.networking.metal.ironcore.dev/preferred-value" + // MultipleAllocationsReason indicates that more than one allocation object + // is bound to the same claim. + MultipleAllocationsReason = "MultipleAllocations" ) // Available condition — set on pool types; reports whether the pool has free capacity. @@ -85,3 +62,18 @@ const ( // ExhaustedReason indicates the pool has no free slots. ExhaustedReason = "Exhausted" ) + +// Valid condition — set on allocation objects (Index, IPAddress, IPPrefix). +const ( + // ValidCondition reports whether an allocation object's value is valid within the referenced pool. + ValidCondition = "Valid" + + // ValueInRangeReason indicates the value falls within the pool's configured ranges/prefixes. + ValueInRangeReason = "ValueInRange" + + // ValueOutOfRangeReason indicates the value falls outside the pool's configured ranges/prefixes. + ValueOutOfRangeReason = "ValueOutOfRange" + + // PoolNotFoundForValidationReason indicates the referenced pool does not exist. + PoolNotFoundForValidationReason = "PoolNotFound" +) diff --git a/api/pool/v1alpha1/index_types.go b/api/pool/v1alpha1/index_types.go new file mode 100644 index 000000000..0508d1666 --- /dev/null +++ b/api/pool/v1alpha1/index_types.go @@ -0,0 +1,113 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + "strconv" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IndexSpec defines the desired state of Index. +type IndexSpec struct { + // PoolRef references the IndexPool this index was allocated from. + // Immutable. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="poolRef is immutable" + PoolRef corev1alpha1.TypedLocalObjectReference `json:"poolRef"` + + // Index is the reserved value. + // Immutable. + // +required + // +kubebuilder:validation:Minimum=0 + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="index is immutable" + Index int64 `json:"index"` + + // ClaimRef references the Claim bound to this index. + // Nil when the index is unbound (pre-provisioned or retained). + // +optional + ClaimRef *ClaimRef `json:"claimRef,omitempty"` +} + +// IndexStatus defines the observed state of Index. +type IndexStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // conditions represent the current state of the Index resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +patchStrategy=merge + // +patchMergeKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=indices,singular=index,shortName=idx +// +kubebuilder:printcolumn:name="Pool",type=string,JSONPath=`.spec.poolRef.name` +// +kubebuilder:printcolumn:name="Index",type=string,JSONPath=`.spec.index` +// +kubebuilder:printcolumn:name="Claim",type=string,JSONPath=`.spec.claimRef.name` +// +kubebuilder:printcolumn:name="Valid",type=string,JSONPath=`.status.conditions[?(@.type=="Valid")].status` +// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` + +// Index is the Schema for the indices API. +type Index struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IndexSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IndexStatus `json:"status,omitzero"` +} + +// GetConditions implements conditions.Getter. +func (i *Index) GetConditions() []metav1.Condition { + return i.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (i *Index) SetConditions(conds []metav1.Condition) { + i.Status.Conditions = conds +} + +// GetClaimRef returns the ClaimRef bound to this allocation, or nil if unbound. +func (i *Index) GetClaimRef() *ClaimRef { + return i.Spec.ClaimRef +} + +// SetClaimRef sets or clears the ClaimRef on this allocation. +func (i *Index) SetClaimRef(ref *ClaimRef) { + i.Spec.ClaimRef = ref +} + +// GetValue returns the allocated value as a string. +func (i *Index) GetValue() string { + return strconv.FormatInt(i.Spec.Index, 10) +} + +// +kubebuilder:object:root=true + +// IndexList contains a list of Index. +type IndexList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []Index `json:"items"` +} + +func init() { + SchemeBuilder.Register(&Index{}, &IndexList{}) +} diff --git a/api/pool/v1alpha1/indexpool_types.go b/api/pool/v1alpha1/indexpool_types.go index 07423d070..4bccff4d6 100644 --- a/api/pool/v1alpha1/indexpool_types.go +++ b/api/pool/v1alpha1/indexpool_types.go @@ -4,10 +4,12 @@ package v1alpha1 import ( + "context" + "fmt" "strconv" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -34,7 +36,7 @@ type IndexPoolStatus struct { // Allocated is the number of allocated indices. // +optional - Allocated string `json:"allocated,omitempty"` + Allocated int32 `json:"allocated"` // Total is the number of allocatable indices. // +optional @@ -49,29 +51,6 @@ type IndexPoolStatus struct { // +patchMergeKey=type // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` - - // Allocations tracks which indices are reserved by which claims. - // +optional - Allocations []IndexAllocation `json:"allocations,omitempty"` -} - -// IndexAllocation represents a reserved index for a claim. -type IndexAllocation struct { - // ClaimRef references the claim holding the allocation. - // +required - ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` - - // ClaimUID is the UID of the claim holding the allocation. - // +required - ClaimUID types.UID `json:"claimUID"` - - // Index is the allocated value. - // +required - Index uint64 `json:"index"` - - // Retained indicates the allocation must not be reused after claim deletion. - // +optional - Retained bool `json:"retained,omitempty"` } // +kubebuilder:object:root=true @@ -79,10 +58,11 @@ type IndexAllocation struct { // +kubebuilder:resource:path=indexpools // +kubebuilder:resource:singular=indexpool // +kubebuilder:resource:shortName=idxpool -// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Allocated",type=integer,JSONPath=`.status.allocated` // +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 // +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:validation:XValidation:rule="size(self.metadata.name) <= 43",message="pool name must not exceed 43 characters" // IndexPool is the Schema for the indexpools API type IndexPool struct { @@ -110,24 +90,9 @@ func (p *IndexPool) Total() uint64 { return total } -// Allocated returns the number of currently allocated indices. -func (p *IndexPool) Allocated() int { - return len(p.Status.Allocations) -} - // IsExhausted returns true if all available indices have been allocated. func (p *IndexPool) IsExhausted() bool { - return uint64(p.Allocated()) >= p.Total() // #nosec G115 -} - -// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. -func (p *IndexPool) FindAllocation(claim *Claim) *ClaimAllocation { - for _, a := range p.Status.Allocations { - if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { - return &ClaimAllocation{Index: &a.Index, Value: strconv.FormatUint(a.Index, 10)} - } - } - return nil + return uint64(p.Status.Allocated) >= p.Total() // #nosec G115 } // GetConditions implements conditions.Getter. @@ -140,77 +105,64 @@ func (p *IndexPool) SetConditions(conditions []metav1.Condition) { p.Status.Conditions = conditions } -// Allocate finds the first free index across all ranges, records the allocation, -// and returns a ClaimAllocation describing the reserved index. -func (p *IndexPool) Allocate(claim *Claim) (*ClaimAllocation, error) { - allocated := make(map[uint64]struct{}, len(p.Status.Allocations)) - for _, a := range p.Status.Allocations { - allocated[a.Index] = struct{}{} - } - for _, r := range p.Spec.Ranges { - for idx := r.Start; idx <= r.End; idx++ { - if _, taken := allocated[idx]; !taken { - p.Status.Allocations = append(p.Status.Allocations, IndexAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Index: idx, - }) - return &ClaimAllocation{ - Index: &idx, - Value: strconv.FormatUint(idx, 10), - }, nil - } - } - } - return nil, ErrPoolExhausted +// GetReclaimPolicy returns the pool's reclaim policy. +func (p *IndexPool) GetReclaimPolicy() ReclaimPolicy { + return p.Spec.ReclaimPolicy } -// AllocatePreferred reserves the specific index given by preferred for the claim. -// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured -// ranges or is already taken by another claim. -func (p *IndexPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { - idx, err := strconv.ParseUint(preferred, 10, 64) - if err != nil { - return nil, ErrPreferredValueUnavailable - } - inRange := false - for _, r := range p.Spec.Ranges { - if idx >= r.Start && idx <= r.End { - inRange = true - break - } - } - if !inRange { - return nil, ErrPreferredValueUnavailable +// ListAllocations lists all Index objects matching the given options. +func (p *IndexPool) ListAllocations(ctx context.Context, c client.Client, opts ...client.ListOption) ([]Allocation, error) { + list := &IndexList{} + if err := c.List(ctx, list, opts...); err != nil { + return nil, err } - for _, a := range p.Status.Allocations { - if a.Index == idx { - return nil, ErrPreferredValueUnavailable - } + allocs := make([]Allocation, len(list.Items)) + for i := range list.Items { + allocs[i] = &list.Items[i] } - p.Status.Allocations = append(p.Status.Allocations, IndexAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Index: idx, - }) - return &ClaimAllocation{Index: &idx, Value: strconv.FormatUint(idx, 10)}, nil + return allocs, nil } -// Reclaim applies the pool's reclaim policy for the given claim. -// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. -func (p *IndexPool) Reclaim(claim *Claim) { - for i := range p.Status.Allocations { - a := &p.Status.Allocations[i] - if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { - continue +// Allocate finds the first free index across all ranges and returns an Index +// allocation object for the given claim. +func (p *IndexPool) Allocate(claim *Claim, existing []Allocation) (Allocation, error) { + allocated := make(map[int64]struct{}, len(existing)) + for _, obj := range existing { + idx := obj.(*Index) + if idx.Spec.Index >= 0 { + allocated[idx.Spec.Index] = struct{}{} } - if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { - a.Retained = true - continue + } + for _, r := range p.Spec.Ranges { + for idx := r.Start; idx <= r.End; idx++ { + if _, taken := allocated[int64(idx)]; !taken { // #nosec G115 + value := strconv.FormatUint(idx, 10) + return &Index{ + TypeMeta: metav1.TypeMeta{ + APIVersion: GroupVersion.String(), + Kind: "Index", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: fmt.Sprintf("%s-%s", p.Name, value), + Namespace: p.Namespace, + }, + Spec: IndexSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: GroupVersion.String(), + Kind: "IndexPool", + Name: p.Name, + }, + Index: int64(idx), // #nosec G115 + ClaimRef: &ClaimRef{ + Name: claim.Name, + UID: claim.UID, + }, + }, + }, nil + } } - p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) - return } + return nil, ErrPoolExhausted } // +kubebuilder:object:root=true diff --git a/api/pool/v1alpha1/indexpool_types_test.go b/api/pool/v1alpha1/indexpool_types_test.go index 33d5b2525..9ce6faa15 100644 --- a/api/pool/v1alpha1/indexpool_types_test.go +++ b/api/pool/v1alpha1/indexpool_types_test.go @@ -4,11 +4,10 @@ package v1alpha1 import ( - "reflect" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -85,72 +84,6 @@ func TestIndexPool_Total(t *testing.T) { } } -func TestIndexPool_Allocated(t *testing.T) { - tests := []struct { - name string - pool IndexPool - want int - }{ - { - name: "no allocations", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{}, - }, - }, - want: 0, - }, - { - name: "single allocation", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - }, - }, - }, - want: 1, - }, - { - name: "multiple allocations", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Index: 2, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Index: 3, - }, - }, - }, - }, - want: 3, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - if got := test.pool.Allocated(); got != test.want { - t.Errorf("Allocated() = %v, want %v", got, test.want) - } - }) - } -} - func TestIndexPool_IsExhausted(t *testing.T) { tests := []struct { name string @@ -160,12 +93,8 @@ func TestIndexPool_IsExhausted(t *testing.T) { { name: "empty pool - exhausted", pool: IndexPool{ - Spec: IndexPoolSpec{ - Ranges: []corev1alpha1.IndexRange{}, - }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{}, - }, + Spec: IndexPoolSpec{Ranges: []corev1alpha1.IndexRange{}}, + Status: IndexPoolStatus{Allocated: 0}, }, want: true, }, @@ -177,9 +106,7 @@ func TestIndexPool_IsExhausted(t *testing.T) { corev1alpha1.MustParseIndexRange("1..10"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{}, - }, + Status: IndexPoolStatus{Allocated: 0}, }, want: false, }, @@ -191,20 +118,7 @@ func TestIndexPool_IsExhausted(t *testing.T) { corev1alpha1.MustParseIndexRange("1..10"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Index: 2, - }, - }, - }, + Status: IndexPoolStatus{Allocated: 2}, }, want: false, }, @@ -216,25 +130,7 @@ func TestIndexPool_IsExhausted(t *testing.T) { corev1alpha1.MustParseIndexRange("1..3"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Index: 2, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Index: 3, - }, - }, - }, + Status: IndexPoolStatus{Allocated: 3}, }, want: true, }, @@ -246,49 +142,10 @@ func TestIndexPool_IsExhausted(t *testing.T) { corev1alpha1.MustParseIndexRange("1..2"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Index: 2, - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Index: 3, - }, - }, - }, + Status: IndexPoolStatus{Allocated: 5}, }, want: true, }, - { - name: "multiple ranges - partially allocated", - pool: IndexPool{ - Spec: IndexPoolSpec{ - Ranges: []corev1alpha1.IndexRange{ - corev1alpha1.MustParseIndexRange("1..10"), - corev1alpha1.MustParseIndexRange("20..30"), - }, - }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Index: 1, - }, - }, - }, - }, - want: false, - }, } for _, test := range tests { @@ -300,174 +157,72 @@ func TestIndexPool_IsExhausted(t *testing.T) { } } -func TestIndexPool_FindAllocation(t *testing.T) { - tests := []struct { - name string - pool IndexPool - claim Claim - want *ClaimAllocation - }{ - { - name: "empty allocations returns nil", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{}, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: nil, - }, - { - name: "matching claim returns allocation", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Index: 5, - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: &ClaimAllocation{Index: new(uint64(5)), Value: "5"}, - }, - { - name: "different claim name returns nil", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Index: 5, - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, - want: nil, - }, - { - name: "different claim UID returns nil", - pool: IndexPool{ - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Index: 5, - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, - want: nil, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - got := test.pool.FindAllocation(&test.claim) - if !reflect.DeepEqual(got, test.want) { - t.Errorf("FindAllocation() = %v, want %v", got, test.want) - } - }) - } -} - func TestIndexPool_Allocate(t *testing.T) { tests := []struct { - name string - pool IndexPool - claim Claim - wantErr bool - checkFunc func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) + name string + pool IndexPool + existing []client.Object + wantVal string + wantName string + wantErr bool }{ { - name: "empty pool range allocates first index", + name: "empty pool allocates first index", pool: IndexPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IndexPoolSpec{ Ranges: []corev1alpha1.IndexRange{ corev1alpha1.MustParseIndexRange("1..3"), }, }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) { - if alloc.Index == nil { - t.Fatal("Index is nil, want non-nil") - } - if *alloc.Index != 1 { - t.Errorf("Index = %v, want 1", *alloc.Index) - } - if alloc.Value != "1" { - t.Errorf("Value = %q, want %q", alloc.Value, "1") - } - recorded := pool.Status.Allocations[len(pool.Status.Allocations)-1] - if recorded.ClaimRef.Name != "test-claim" { - t.Errorf("ClaimRef.Name = %q, want %q", recorded.ClaimRef.Name, "test-claim") - } - if recorded.ClaimUID != "test-uid" { - t.Errorf("ClaimUID = %q, want %q", recorded.ClaimUID, "test-uid") - } - }, + existing: nil, + wantVal: "1", + wantName: "test-pool-1", }, { - name: "one already allocated allocates next index", + name: "skips already allocated index", pool: IndexPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IndexPoolSpec{ Ranges: []corev1alpha1.IndexRange{ corev1alpha1.MustParseIndexRange("1..3"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Index: 1}, - }, - }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IndexPool, alloc *ClaimAllocation) { - if alloc.Index == nil { - t.Fatal("Index is nil, want non-nil") - } - if *alloc.Index != 2 { - t.Errorf("Index = %v, want 2", *alloc.Index) - } - recorded := pool.Status.Allocations[len(pool.Status.Allocations)-1] - if recorded.ClaimRef.Name != "test-claim" { - t.Errorf("ClaimRef.Name = %q, want %q", recorded.ClaimRef.Name, "test-claim") - } - if recorded.ClaimUID != "test-uid" { - t.Errorf("ClaimUID = %q, want %q", recorded.ClaimUID, "test-uid") - } + existing: []client.Object{ + &Index{Spec: IndexSpec{Index: 1}}, }, + wantVal: "2", + wantName: "test-pool-2", }, { name: "all allocated returns error", pool: IndexPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IndexPoolSpec{ Ranges: []corev1alpha1.IndexRange{ corev1alpha1.MustParseIndexRange("1..2"), }, }, - Status: IndexPoolStatus{ - Allocations: []IndexAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Index: 1}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Index: 2}, - }, - }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + existing: []client.Object{ + &Index{Spec: IndexSpec{Index: 1}}, + &Index{Spec: IndexSpec{Index: 2}}, + }, wantErr: true, }, } + claim := &Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}} for _, test := range tests { t.Run(test.name, func(t *testing.T) { - alloc, err := test.pool.Allocate(&test.claim) + allocs := make([]Allocation, len(test.existing)) + for i, obj := range test.existing { + allocs[i] = obj.(Allocation) + } + + result, err := test.pool.Allocate(claim, allocs) if test.wantErr { if err == nil { t.Fatal("Allocate() expected error, got nil") @@ -477,8 +232,11 @@ func TestIndexPool_Allocate(t *testing.T) { if err != nil { t.Fatalf("Allocate() unexpected error: %v", err) } - if test.checkFunc != nil { - test.checkFunc(t, &test.pool, alloc) + if result.GetValue() != test.wantVal { + t.Errorf("Value = %q, want %q", result.GetValue(), test.wantVal) + } + if result.GetName() != test.wantName { + t.Errorf("Name = %q, want %q", result.GetName(), test.wantName) } }) } diff --git a/api/pool/v1alpha1/ipaddress_types.go b/api/pool/v1alpha1/ipaddress_types.go new file mode 100644 index 000000000..44ed75ea4 --- /dev/null +++ b/api/pool/v1alpha1/ipaddress_types.go @@ -0,0 +1,110 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IPAddressSpec defines the desired state of IPAddress. +type IPAddressSpec struct { + // PoolRef references the IPAddressPool this address was allocated from. + // Immutable. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="poolRef is immutable" + PoolRef corev1alpha1.TypedLocalObjectReference `json:"poolRef"` + + // Address is the reserved IP address. + // Immutable. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="address is immutable" + Address corev1alpha1.IPAddr `json:"address"` + + // ClaimRef references the Claim bound to this address. + // Nil when the address is unbound (pre-provisioned or retained). + // +optional + ClaimRef *ClaimRef `json:"claimRef,omitempty"` +} + +// IPAddressStatus defines the observed state of IPAddress. +type IPAddressStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // conditions represent the current state of the IPAddress resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +patchStrategy=merge + // +patchMergeKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=ipaddresses,singular=ipaddress,shortName=ipa +// +kubebuilder:printcolumn:name="Pool",type=string,JSONPath=`.spec.poolRef.name` +// +kubebuilder:printcolumn:name="Address",type=string,JSONPath=`.spec.address` +// +kubebuilder:printcolumn:name="Claim",type=string,JSONPath=`.spec.claimRef.name` +// +kubebuilder:printcolumn:name="Valid",type=string,JSONPath=`.status.conditions[?(@.type=="Valid")].status` +// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` + +// IPAddress is the Schema for the ipaddresses API. +type IPAddress struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IPAddressSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IPAddressStatus `json:"status,omitzero"` +} + +// GetConditions implements conditions.Getter. +func (a *IPAddress) GetConditions() []metav1.Condition { + return a.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (a *IPAddress) SetConditions(conds []metav1.Condition) { + a.Status.Conditions = conds +} + +// GetClaimRef returns the ClaimRef bound to this allocation, or nil if unbound. +func (a *IPAddress) GetClaimRef() *ClaimRef { + return a.Spec.ClaimRef +} + +// SetClaimRef sets or clears the ClaimRef on this allocation. +func (a *IPAddress) SetClaimRef(ref *ClaimRef) { + a.Spec.ClaimRef = ref +} + +// GetValue returns the allocated value as a string. +func (a *IPAddress) GetValue() string { + return a.Spec.Address.String() +} + +// +kubebuilder:object:root=true + +// IPAddressList contains a list of IPAddress. +type IPAddressList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []IPAddress `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IPAddress{}, &IPAddressList{}) +} diff --git a/api/pool/v1alpha1/ipaddresspool_types.go b/api/pool/v1alpha1/ipaddresspool_types.go index dd1944639..9666e3abe 100644 --- a/api/pool/v1alpha1/ipaddresspool_types.go +++ b/api/pool/v1alpha1/ipaddresspool_types.go @@ -4,11 +4,14 @@ package v1alpha1 import ( + "context" + "fmt" "math/big" "net/netip" + "strings" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -34,7 +37,7 @@ type IPAddressPoolStatus struct { // Allocated is the number of allocated IP addresses. // +optional - Allocated string `json:"allocated,omitempty"` + Allocated int32 `json:"allocated"` // Total is the number of allocatable IP addresses. // +optional @@ -47,30 +50,6 @@ type IPAddressPoolStatus struct { // +listMapKey=type // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` - - // Allocations tracks which IP addresses are reserved by which claims. - // +optional - Allocations []IPAddressAllocation `json:"allocations,omitempty"` -} - -// IPAddressAllocation represents a reserved IP address for a claim. -type IPAddressAllocation struct { - // ClaimRef references the claim holding the allocation. - // +required - ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` - - // ClaimUID is the UID of the claim holding the allocation. - // +required - ClaimUID types.UID `json:"claimUID"` - - // Address is the allocated IP address. - // +required - // +kubebuilder:validation:Format=ip - Address string `json:"address"` - - // Retained indicates the allocation must not be reused after claim deletion. - // +optional - Retained bool `json:"retained,omitempty"` } // +kubebuilder:object:root=true @@ -78,10 +57,11 @@ type IPAddressAllocation struct { // +kubebuilder:resource:path=ipaddresspools // +kubebuilder:resource:singular=ipaddresspool // +kubebuilder:resource:shortName=ippool -// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Allocated",type=integer,JSONPath=`.status.allocated` // +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 // +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:validation:XValidation:rule="size(self.metadata.name) <= 43",message="pool name must not exceed 43 characters" // IPAddressPool is the Schema for the ipaddresspools API type IPAddressPool struct { @@ -114,31 +94,16 @@ func (p *IPAddressPool) Total() *big.Int { return total } -// Allocated returns the number of currently allocated IP addresses. -func (p *IPAddressPool) Allocated() int { - return len(p.Status.Allocations) -} - // IsExhausted returns true if all available IP addresses have been allocated. func (p *IPAddressPool) IsExhausted() bool { total := p.Total() if total.Sign() == 0 { return true } - allocated := big.NewInt(int64(p.Allocated())) + allocated := big.NewInt(int64(p.Status.Allocated)) return allocated.Cmp(total) >= 0 } -// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. -func (p *IPAddressPool) FindAllocation(claim *Claim) *ClaimAllocation { - for _, a := range p.Status.Allocations { - if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { - return &ClaimAllocation{IPAddress: &a.Address, Value: a.Address} - } - } - return nil -} - // GetConditions implements conditions.Getter. func (p *IPAddressPool) GetConditions() []metav1.Condition { return p.Status.Conditions @@ -149,27 +114,62 @@ func (p *IPAddressPool) SetConditions(conditions []metav1.Condition) { p.Status.Conditions = conditions } -// Allocate finds the first free IP address in the pool's prefixes and records it as an allocation for the given claim. -func (p *IPAddressPool) Allocate(claim *Claim) (*ClaimAllocation, error) { - allocated := make(map[netip.Addr]struct{}, len(p.Status.Allocations)) - for _, a := range p.Status.Allocations { - if addr, err := netip.ParseAddr(a.Address); err == nil { - allocated[addr] = struct{}{} - } +// GetReclaimPolicy returns the pool's reclaim policy. +func (p *IPAddressPool) GetReclaimPolicy() ReclaimPolicy { + return p.Spec.ReclaimPolicy +} + +// ListAllocations lists all IPAddress objects matching the given options. +func (p *IPAddressPool) ListAllocations(ctx context.Context, c client.Client, opts ...client.ListOption) ([]Allocation, error) { + list := &IPAddressList{} + if err := c.List(ctx, list, opts...); err != nil { + return nil, err + } + allocs := make([]Allocation, len(list.Items)) + for i := range list.Items { + allocs[i] = &list.Items[i] + } + return allocs, nil +} + +// sanitizeValue replaces characters that are invalid in Kubernetes names. +func sanitizeValue(value string) string { + return strings.NewReplacer(".", "-", "/", "-", ":", "-").Replace(value) +} + +// Allocate finds the first free IP address in the pool's prefixes and returns +// an IPAddress allocation object for the given claim. +func (p *IPAddressPool) Allocate(claim *Claim, existing []Allocation) (Allocation, error) { + allocated := make(map[netip.Addr]struct{}, len(existing)) + for _, obj := range existing { + allocated[obj.(*IPAddress).Spec.Address.Addr] = struct{}{} } for _, prefix := range p.Spec.Prefixes { masked := prefix.Masked() for addr := masked.Addr(); masked.Contains(addr); addr = addr.Next() { if _, taken := allocated[addr]; !taken { - addrStr := addr.String() - p.Status.Allocations = append(p.Status.Allocations, IPAddressAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Address: addrStr, - }) - return &ClaimAllocation{ - IPAddress: &addrStr, - Value: addrStr, + value := addr.String() + return &IPAddress{ + TypeMeta: metav1.TypeMeta{ + APIVersion: GroupVersion.String(), + Kind: "IPAddress", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: fmt.Sprintf("%s-%s", p.Name, sanitizeValue(value)), + Namespace: p.Namespace, + }, + Spec: IPAddressSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: GroupVersion.String(), + Kind: "IPAddressPool", + Name: p.Name, + }, + Address: corev1alpha1.IPAddr{Addr: addr}, + ClaimRef: &ClaimRef{ + Name: claim.Name, + UID: claim.UID, + }, + }, }, nil } } @@ -177,55 +177,6 @@ func (p *IPAddressPool) Allocate(claim *Claim) (*ClaimAllocation, error) { return nil, ErrPoolExhausted } -// AllocatePreferred reserves the specific IP address given by preferred for the claim. -// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured -// prefixes or is already taken by another claim. -func (p *IPAddressPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { - addr, err := netip.ParseAddr(preferred) - if err != nil { - return nil, ErrPreferredValueUnavailable - } - inRange := false - for _, prefix := range p.Spec.Prefixes { - if prefix.Masked().Contains(addr) { - inRange = true - break - } - } - if !inRange { - return nil, ErrPreferredValueUnavailable - } - addrStr := addr.String() - for _, a := range p.Status.Allocations { - if a.Address == addrStr { - return nil, ErrPreferredValueUnavailable - } - } - p.Status.Allocations = append(p.Status.Allocations, IPAddressAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Address: addrStr, - }) - return &ClaimAllocation{IPAddress: &addrStr, Value: addrStr}, nil -} - -// Reclaim applies the pool's reclaim policy for the given claim. -// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. -func (p *IPAddressPool) Reclaim(claim *Claim) { - for i := range p.Status.Allocations { - a := &p.Status.Allocations[i] - if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { - continue - } - if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { - a.Retained = true - continue - } - p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) - return - } -} - // +kubebuilder:object:root=true // IPAddressPoolList contains a list of IPAddressPool diff --git a/api/pool/v1alpha1/ipaddresspool_types_test.go b/api/pool/v1alpha1/ipaddresspool_types_test.go index 6cd0b74c8..f97bbe3c2 100644 --- a/api/pool/v1alpha1/ipaddresspool_types_test.go +++ b/api/pool/v1alpha1/ipaddresspool_types_test.go @@ -5,11 +5,10 @@ package v1alpha1 import ( "math/big" - "reflect" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -109,72 +108,6 @@ func TestIPAddressPool_Total(t *testing.T) { } } -func TestIPAddressPool_Allocated(t *testing.T) { - tests := []struct { - name string - pool IPAddressPool - want int - }{ - { - name: "no allocations", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{}, - }, - }, - want: 0, - }, - { - name: "single allocation", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "192.168.1.1", - }, - }, - }, - }, - want: 1, - }, - { - name: "multiple allocations", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "192.168.1.1", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Address: "192.168.1.2", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Address: "192.168.1.3", - }, - }, - }, - }, - want: 3, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - if got := test.pool.Allocated(); got != test.want { - t.Errorf("Allocated() = %v, want %v", got, test.want) - } - }) - } -} - func TestIPAddressPool_IsExhausted(t *testing.T) { tests := []struct { name string @@ -184,12 +117,8 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { { name: "empty pool - exhausted", pool: IPAddressPool{ - Spec: IPAddressPoolSpec{ - Prefixes: []corev1alpha1.IPPrefix{}, - }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{}, - }, + Spec: IPAddressPoolSpec{Prefixes: []corev1alpha1.IPPrefix{}}, + Status: IPAddressPoolStatus{Allocated: 0}, }, want: true, }, @@ -201,9 +130,7 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { corev1alpha1.MustParsePrefix("192.168.1.0/30"), }, }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{}, - }, + Status: IPAddressPoolStatus{Allocated: 0}, }, want: false, }, @@ -215,15 +142,7 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { corev1alpha1.MustParsePrefix("192.168.1.0/30"), }, }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "192.168.1.1", - }, - }, - }, + Status: IPAddressPoolStatus{Allocated: 2}, }, want: false, }, @@ -235,30 +154,7 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { corev1alpha1.MustParsePrefix("192.168.1.0/30"), }, }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "192.168.1.0", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Address: "192.168.1.1", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Address: "192.168.1.2", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-4"}, - ClaimUID: types.UID("uid-4"), - Address: "192.168.1.3", - }, - }, - }, + Status: IPAddressPoolStatus{Allocated: 4}, }, want: true, }, @@ -267,51 +163,13 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { pool: IPAddressPool{ Spec: IPAddressPoolSpec{ Prefixes: []corev1alpha1.IPPrefix{ - corev1alpha1.MustParsePrefix("192.168.1.0/31"), - }, - }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "192.168.1.0", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Address: "192.168.1.1", - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Address: "192.168.1.2", - }, + corev1alpha1.MustParsePrefix("192.168.1.0/30"), }, }, + Status: IPAddressPoolStatus{Allocated: 10}, }, want: true, }, - { - name: "IPv6 pool - not exhausted", - pool: IPAddressPool{ - Spec: IPAddressPoolSpec{ - Prefixes: []corev1alpha1.IPPrefix{ - corev1alpha1.MustParsePrefix("2001:db8::/126"), - }, - }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Address: "2001:db8::1", - }, - }, - }, - }, - want: false, - }, } for _, test := range tests { @@ -323,162 +181,72 @@ func TestIPAddressPool_IsExhausted(t *testing.T) { } } -func TestIPAddressPool_FindAllocation(t *testing.T) { - tests := []struct { - name string - pool IPAddressPool - claim Claim - want *ClaimAllocation - }{ - { - name: "empty allocations returns nil", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{}, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: nil, - }, - { - name: "matching claim returns allocation", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Address: "10.0.0.1", - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: &ClaimAllocation{IPAddress: new("10.0.0.1"), Value: "10.0.0.1"}, - }, - { - name: "different claim name returns nil", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Address: "10.0.0.1", - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, - want: nil, - }, - { - name: "different claim UID returns nil", - pool: IPAddressPool{ - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Address: "10.0.0.1", - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, - want: nil, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - got := test.pool.FindAllocation(&test.claim) - if !reflect.DeepEqual(got, test.want) { - t.Errorf("FindAllocation() = %v, want %v", got, test.want) - } - }) - } -} - func TestIPAddressPool_Allocate(t *testing.T) { tests := []struct { - name string - pool IPAddressPool - claim Claim - wantErr bool - checkFunc func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) + name string + pool IPAddressPool + existing []client.Object + wantVal string + wantName string + wantErr bool }{ { - name: "prefix 10.0.0.0/30 allocates first address", + name: "empty pool allocates first address", pool: IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPAddressPoolSpec{ Prefixes: []corev1alpha1.IPPrefix{ corev1alpha1.MustParsePrefix("10.0.0.0/30"), }, }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) { - if alloc.IPAddress == nil { - t.Fatal("IPAddress is nil, want non-nil") - } - if *alloc.IPAddress != "10.0.0.0" { - t.Errorf("IPAddress = %q, want %q", *alloc.IPAddress, "10.0.0.0") - } - if alloc.Value != "10.0.0.0" { - t.Errorf("Value = %q, want %q", alloc.Value, "10.0.0.0") - } - }, + existing: nil, + wantVal: "10.0.0.0", + wantName: "test-pool-10-0-0-0", }, { - name: "10.0.0.0 already allocated allocates next address", + name: "skips already allocated address", pool: IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPAddressPoolSpec{ Prefixes: []corev1alpha1.IPPrefix{ corev1alpha1.MustParsePrefix("10.0.0.0/30"), }, }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Address: "10.0.0.0"}, - }, - }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IPAddressPool, alloc *ClaimAllocation) { - if alloc.IPAddress == nil { - t.Fatal("IPAddress is nil, want non-nil") - } - if *alloc.IPAddress != "10.0.0.1" { - t.Errorf("IPAddress = %q, want %q", *alloc.IPAddress, "10.0.0.1") - } + existing: []client.Object{ + &IPAddress{Spec: IPAddressSpec{Address: corev1alpha1.MustParseAddr("10.0.0.0")}}, }, + wantVal: "10.0.0.1", + wantName: "test-pool-10-0-0-1", }, { - name: "all 4 addresses of /30 allocated returns error", + name: "all allocated returns error", pool: IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPAddressPoolSpec{ Prefixes: []corev1alpha1.IPPrefix{ - corev1alpha1.MustParsePrefix("10.0.0.0/30"), - }, - }, - Status: IPAddressPoolStatus{ - Allocations: []IPAddressAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Address: "10.0.0.0"}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Address: "10.0.0.1"}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c3"}, ClaimUID: "uid3", Address: "10.0.0.2"}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c4"}, ClaimUID: "uid4", Address: "10.0.0.3"}, + corev1alpha1.MustParsePrefix("10.0.0.0/31"), }, }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + existing: []client.Object{ + &IPAddress{Spec: IPAddressSpec{Address: corev1alpha1.MustParseAddr("10.0.0.0")}}, + &IPAddress{Spec: IPAddressSpec{Address: corev1alpha1.MustParseAddr("10.0.0.1")}}, + }, wantErr: true, }, } + claim := &Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}} for _, test := range tests { t.Run(test.name, func(t *testing.T) { - alloc, err := test.pool.Allocate(&test.claim) + allocs := make([]Allocation, len(test.existing)) + for i, obj := range test.existing { + allocs[i] = obj.(Allocation) + } + + result, err := test.pool.Allocate(claim, allocs) if test.wantErr { if err == nil { t.Fatal("Allocate() expected error, got nil") @@ -488,8 +256,11 @@ func TestIPAddressPool_Allocate(t *testing.T) { if err != nil { t.Fatalf("Allocate() unexpected error: %v", err) } - if test.checkFunc != nil { - test.checkFunc(t, &test.pool, alloc) + if result.GetValue() != test.wantVal { + t.Errorf("Value = %q, want %q", result.GetValue(), test.wantVal) + } + if result.GetName() != test.wantName { + t.Errorf("Name = %q, want %q", result.GetName(), test.wantName) } }) } diff --git a/api/pool/v1alpha1/ipprefix_types.go b/api/pool/v1alpha1/ipprefix_types.go new file mode 100644 index 000000000..fc27a422a --- /dev/null +++ b/api/pool/v1alpha1/ipprefix_types.go @@ -0,0 +1,110 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" +) + +// IPPrefixSpec defines the desired state of IPPrefix. +type IPPrefixSpec struct { + // PoolRef references the IPPrefixPool this prefix was allocated from. + // Immutable. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="poolRef is immutable" + PoolRef corev1alpha1.TypedLocalObjectReference `json:"poolRef"` + + // Prefix is the reserved CIDR prefix. + // Immutable. + // +required + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="prefix is immutable" + Prefix corev1alpha1.IPPrefix `json:"prefix"` + + // ClaimRef references the Claim bound to this prefix. + // Nil when the prefix is unbound (pre-provisioned or retained). + // +optional + ClaimRef *ClaimRef `json:"claimRef,omitempty"` +} + +// IPPrefixStatus defines the observed state of IPPrefix. +type IPPrefixStatus struct { + // For Kubernetes API conventions, see: + // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties + + // conditions represent the current state of the IPPrefix resource. + // Each condition has a unique type and reflects the status of a specific aspect of the resource. + // The status of each condition is one of True, False, or Unknown. + // +listType=map + // +listMapKey=type + // +patchStrategy=merge + // +patchMergeKey=type + // +optional + Conditions []metav1.Condition `json:"conditions,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:path=ipprefixes,singular=ipprefix,shortName=pfx +// +kubebuilder:printcolumn:name="Pool",type=string,JSONPath=`.spec.poolRef.name` +// +kubebuilder:printcolumn:name="Prefix",type=string,JSONPath=`.spec.prefix` +// +kubebuilder:printcolumn:name="Claim",type=string,JSONPath=`.spec.claimRef.name` +// +kubebuilder:printcolumn:name="Valid",type=string,JSONPath=`.status.conditions[?(@.type=="Valid")].status` +// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` + +// IPPrefix is the Schema for the ipprefixes API. +type IPPrefix struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // Specification of the desired state of the resource. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +required + Spec IPPrefixSpec `json:"spec"` + + // Status of the resource. This is set and updated automatically. + // Read-only. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + // +optional + Status IPPrefixStatus `json:"status,omitzero"` +} + +// GetConditions implements conditions.Getter. +func (p *IPPrefix) GetConditions() []metav1.Condition { + return p.Status.Conditions +} + +// SetConditions implements conditions.Setter. +func (p *IPPrefix) SetConditions(conds []metav1.Condition) { + p.Status.Conditions = conds +} + +// GetClaimRef returns the ClaimRef bound to this allocation, or nil if unbound. +func (p *IPPrefix) GetClaimRef() *ClaimRef { + return p.Spec.ClaimRef +} + +// SetClaimRef sets or clears the ClaimRef on this allocation. +func (p *IPPrefix) SetClaimRef(ref *ClaimRef) { + p.Spec.ClaimRef = ref +} + +// GetValue returns the allocated value as a string. +func (p *IPPrefix) GetValue() string { + return p.Spec.Prefix.String() +} + +// +kubebuilder:object:root=true + +// IPPrefixList contains a list of IPPrefix. +type IPPrefixList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitzero"` + Items []IPPrefix `json:"items"` +} + +func init() { + SchemeBuilder.Register(&IPPrefix{}, &IPPrefixList{}) +} diff --git a/api/pool/v1alpha1/ipprefixpool_types.go b/api/pool/v1alpha1/ipprefixpool_types.go index 831c79f2c..a1e140b0d 100644 --- a/api/pool/v1alpha1/ipprefixpool_types.go +++ b/api/pool/v1alpha1/ipprefixpool_types.go @@ -4,11 +4,13 @@ package v1alpha1 import ( + "context" + "fmt" "math/big" "net/netip" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -34,7 +36,7 @@ type IPPrefixPoolStatus struct { // Allocated is the number of allocated prefixes. // +optional - Allocated string `json:"allocated,omitempty"` + Allocated int32 `json:"allocated"` // Total is the number of allocatable prefixes. // +optional @@ -47,10 +49,6 @@ type IPPrefixPoolStatus struct { // +listMapKey=type // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` - - // Allocations tracks which prefixes are reserved by which claims. - // +optional - Allocations []IPPrefixAllocation `json:"allocations,omitempty"` } // IPPrefixPoolPrefix defines a pool prefix and the target length to allocate. @@ -66,34 +64,16 @@ type IPPrefixPoolPrefix struct { PrefixLength int32 `json:"prefixLength"` } -// IPPrefixAllocation represents a reserved prefix for a claim. -type IPPrefixAllocation struct { - // ClaimRef references the claim holding the allocation. - // +required - ClaimRef corev1alpha1.LocalObjectReference `json:"claimRef"` - - // ClaimUID is the UID of the claim holding the allocation. - // +required - ClaimUID types.UID `json:"claimUID"` - - // Prefix is the allocated prefix. - // +required - Prefix corev1alpha1.IPPrefix `json:"prefix"` - - // Retained indicates the allocation must not be reused after claim deletion. - // +optional - Retained bool `json:"retained,omitempty"` -} - // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:path=ipprefixpools // +kubebuilder:resource:singular=ipprefixpool // +kubebuilder:resource:shortName=pfxpool -// +kubebuilder:printcolumn:name="Allocated",type=string,JSONPath=`.status.allocated` +// +kubebuilder:printcolumn:name="Allocated",type=integer,JSONPath=`.status.allocated` // +kubebuilder:printcolumn:name="Total",type=string,JSONPath=`.status.total`,priority=1 // +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status` // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:validation:XValidation:rule="size(self.metadata.name) <= 43",message="pool name must not exceed 43 characters" // IPPrefixPool is the Schema for the ipprefixpools API type IPPrefixPool struct { @@ -131,31 +111,16 @@ func (p *IPPrefixPool) Total() *big.Int { return total } -// Allocated returns the number of currently allocated prefixes. -func (p *IPPrefixPool) Allocated() int { - return len(p.Status.Allocations) -} - // IsExhausted returns true if all available prefixes have been allocated. func (p *IPPrefixPool) IsExhausted() bool { total := p.Total() if total.Sign() == 0 { return true } - allocated := big.NewInt(int64(p.Allocated())) + allocated := big.NewInt(int64(p.Status.Allocated)) return allocated.Cmp(total) >= 0 } -// FindAllocation returns the ClaimAllocation for the given claim, or nil if not found. -func (p *IPPrefixPool) FindAllocation(claim *Claim) *ClaimAllocation { - for _, a := range p.Status.Allocations { - if a.ClaimRef.Name == claim.Name && a.ClaimUID == claim.UID { - return &ClaimAllocation{Prefix: &a.Prefix, Value: a.Prefix.String()} - } - } - return nil -} - // GetConditions implements conditions.Getter. func (p *IPPrefixPool) GetConditions() []metav1.Condition { return p.Status.Conditions @@ -166,6 +131,24 @@ func (p *IPPrefixPool) SetConditions(conditions []metav1.Condition) { p.Status.Conditions = conditions } +// GetReclaimPolicy returns the pool's reclaim policy. +func (p *IPPrefixPool) GetReclaimPolicy() ReclaimPolicy { + return p.Spec.ReclaimPolicy +} + +// ListAllocations lists all IPPrefix objects matching the given options. +func (p *IPPrefixPool) ListAllocations(ctx context.Context, c client.Client, opts ...client.ListOption) ([]Allocation, error) { + list := &IPPrefixList{} + if err := c.List(ctx, list, opts...); err != nil { + return nil, err + } + allocs := make([]Allocation, len(list.Items)) + for i := range list.Items { + allocs[i] = &list.Items[i] + } + return allocs, nil +} + // stepAddr advances addr by 2^n by treating the address as a big-endian // 128-bit integer stored in a [16]byte array. func stepAddr(addr netip.Addr, n int) netip.Addr { @@ -191,11 +174,12 @@ func stepAddr(addr netip.Addr, n int) netip.Addr { return result } -// Allocate finds the first free sub-prefix and records it in the pool's status. -func (p *IPPrefixPool) Allocate(claim *Claim) (*ClaimAllocation, error) { - allocated := make(map[netip.Prefix]struct{}, len(p.Status.Allocations)) - for _, a := range p.Status.Allocations { - allocated[a.Prefix.Prefix] = struct{}{} +// Allocate finds the first free sub-prefix and returns an IPPrefix allocation +// object for the given claim. +func (p *IPPrefixPool) Allocate(claim *Claim, existing []Allocation) (Allocation, error) { + allocated := make(map[netip.Prefix]struct{}, len(existing)) + for _, obj := range existing { + allocated[obj.(*IPPrefix).Spec.Prefix.Prefix] = struct{}{} } for _, prefix := range p.Spec.Prefixes { masked := prefix.Prefix.Masked() @@ -211,15 +195,27 @@ func (p *IPPrefixPool) Allocate(claim *Claim) (*ClaimAllocation, error) { for addr := masked.Addr(); masked.Contains(addr); addr = stepAddr(addr, stepBits) { candidate := netip.PrefixFrom(addr, target) if _, taken := allocated[candidate]; !taken { - prefix := corev1alpha1.IPPrefix{Prefix: candidate} - p.Status.Allocations = append(p.Status.Allocations, IPPrefixAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Prefix: prefix, - }) - return &ClaimAllocation{ - Prefix: &prefix, - Value: prefix.String(), + return &IPPrefix{ + TypeMeta: metav1.TypeMeta{ + APIVersion: GroupVersion.String(), + Kind: "IPPrefix", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: fmt.Sprintf("%s-%s", p.Name, sanitizeValue(candidate.String())), + Namespace: p.Namespace, + }, + Spec: IPPrefixSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: GroupVersion.String(), + Kind: "IPPrefixPool", + Name: p.Name, + }, + Prefix: corev1alpha1.IPPrefix{Prefix: candidate}, + ClaimRef: &ClaimRef{ + Name: claim.Name, + UID: claim.UID, + }, + }, }, nil } } @@ -227,56 +223,6 @@ func (p *IPPrefixPool) Allocate(claim *Claim) (*ClaimAllocation, error) { return nil, ErrPoolExhausted } -// AllocatePreferred reserves the specific prefix given by preferred for the claim. -// Returns ErrPreferredValueUnavailable if the value is outside the pool's configured -// prefixes or is already taken by another claim. -func (p *IPPrefixPool) AllocatePreferred(claim *Claim, preferred string) (*ClaimAllocation, error) { - candidate, err := netip.ParsePrefix(preferred) - if err != nil { - return nil, ErrPreferredValueUnavailable - } - candidate = candidate.Masked() - inRange := false - for _, pp := range p.Spec.Prefixes { - if int32(candidate.Bits()) == pp.PrefixLength && pp.Prefix.Masked().Contains(candidate.Addr()) { // #nosec G115 - inRange = true - break - } - } - if !inRange { - return nil, ErrPreferredValueUnavailable - } - for _, a := range p.Status.Allocations { - if a.Prefix.Prefix == candidate { - return nil, ErrPreferredValueUnavailable - } - } - prefix := corev1alpha1.IPPrefix{Prefix: candidate} - p.Status.Allocations = append(p.Status.Allocations, IPPrefixAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: claim.Name}, - ClaimUID: claim.UID, - Prefix: prefix, - }) - return &ClaimAllocation{Prefix: &prefix, Value: prefix.String()}, nil -} - -// Reclaim applies the pool's reclaim policy for the given claim. -// On Recycle (default) the allocation is removed; on Retain it is kept with Retained=true. -func (p *IPPrefixPool) Reclaim(claim *Claim) { - for i := range p.Status.Allocations { - a := &p.Status.Allocations[i] - if a.ClaimRef.Name != claim.Name || a.ClaimUID != claim.UID { - continue - } - if p.Spec.ReclaimPolicy == ReclaimPolicyRetain { - a.Retained = true - continue - } - p.Status.Allocations = append(p.Status.Allocations[:i], p.Status.Allocations[i+1:]...) - return - } -} - // +kubebuilder:object:root=true // IPPrefixPoolList contains a list of IPPrefixPool diff --git a/api/pool/v1alpha1/ipprefixpool_types_test.go b/api/pool/v1alpha1/ipprefixpool_types_test.go index 2a961fd7f..58382754f 100644 --- a/api/pool/v1alpha1/ipprefixpool_types_test.go +++ b/api/pool/v1alpha1/ipprefixpool_types_test.go @@ -5,11 +5,10 @@ package v1alpha1 import ( "math/big" - "reflect" "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" ) @@ -103,20 +102,6 @@ func TestIPPrefixPool_Total(t *testing.T) { }, want: big.NewInt(0), }, - { - name: "invalid prefix - target too large for IPv4", - pool: IPPrefixPool{ - Spec: IPPrefixPoolSpec{ - Prefixes: []IPPrefixPoolPrefix{ - { - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/24"), - PrefixLength: 64, - }, - }, - }, - }, - want: big.NewInt(0), - }, { name: "mixed valid and invalid prefixes", pool: IPPrefixPool{ @@ -146,72 +131,6 @@ func TestIPPrefixPool_Total(t *testing.T) { } } -func TestIPPrefixPool_Allocated(t *testing.T) { - tests := []struct { - name string - pool IPPrefixPool - want int - }{ - { - name: "no allocations", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{}, - }, - }, - want: 0, - }, - { - name: "single allocation", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/28"), - }, - }, - }, - }, - want: 1, - }, - { - name: "multiple allocations", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/28"), - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.16/28"), - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.32/28"), - }, - }, - }, - }, - want: 3, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - if got := test.pool.Allocated(); got != test.want { - t.Errorf("Allocated() = %v, want %v", got, test.want) - } - }) - } -} - func TestIPPrefixPool_IsExhausted(t *testing.T) { tests := []struct { name string @@ -221,12 +140,8 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { { name: "empty pool - exhausted", pool: IPPrefixPool{ - Spec: IPPrefixPoolSpec{ - Prefixes: []IPPrefixPoolPrefix{}, - }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{}, - }, + Spec: IPPrefixPoolSpec{Prefixes: []IPPrefixPoolPrefix{}}, + Status: IPPrefixPoolStatus{Allocated: 0}, }, want: true, }, @@ -241,9 +156,7 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{}, - }, + Status: IPPrefixPoolStatus{Allocated: 0}, }, want: false, }, @@ -258,15 +171,7 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/31"), - }, - }, - }, + Status: IPPrefixPoolStatus{Allocated: 1}, }, want: false, }, @@ -281,20 +186,7 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/31"), - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.2/31"), - }, - }, - }, + Status: IPPrefixPoolStatus{Allocated: 2}, }, want: true, }, @@ -309,51 +201,10 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/32"), - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-2"}, - ClaimUID: types.UID("uid-2"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.1/32"), - }, - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-3"}, - ClaimUID: types.UID("uid-3"), - Prefix: corev1alpha1.MustParsePrefix("192.168.1.2/32"), - }, - }, - }, + Status: IPPrefixPoolStatus{Allocated: 5}, }, want: true, }, - { - name: "IPv6 pool - not exhausted", - pool: IPPrefixPool{ - Spec: IPPrefixPoolSpec{ - Prefixes: []IPPrefixPoolPrefix{ - { - Prefix: corev1alpha1.MustParsePrefix("2001:db8::/62"), - PrefixLength: 64, - }, - }, - }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "claim-1"}, - ClaimUID: types.UID("uid-1"), - Prefix: corev1alpha1.MustParsePrefix("2001:db8::/64"), - }, - }, - }, - }, - want: false, - }, } for _, test := range tests { @@ -365,97 +216,19 @@ func TestIPPrefixPool_IsExhausted(t *testing.T) { } } -func TestIPPrefixPool_FindAllocation(t *testing.T) { - tests := []struct { - name string - pool IPPrefixPool - claim Claim - want *ClaimAllocation - }{ - { - name: "empty allocations returns nil", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{}, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: nil, - }, - { - name: "matching claim returns allocation", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "uid1"}}, - want: &ClaimAllocation{ - Prefix: new(corev1alpha1.MustParsePrefix("10.0.0.0/26")), - Value: "10.0.0.0/26", - }, - }, - { - name: "different claim name returns nil", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "other", UID: "uid1"}}, - want: nil, - }, - { - name: "different claim UID returns nil", - pool: IPPrefixPool{ - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - { - ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, - ClaimUID: types.UID("uid1"), - Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26"), - }, - }, - }, - }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "c1", UID: "other-uid"}}, - want: nil, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - got := test.pool.FindAllocation(&test.claim) - if !reflect.DeepEqual(got, test.want) { - t.Errorf("FindAllocation() = %v, want %v", got, test.want) - } - }) - } -} - func TestIPPrefixPool_Allocate(t *testing.T) { tests := []struct { - name string - pool IPPrefixPool - claim Claim - wantErr bool - checkFunc func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) + name string + pool IPPrefixPool + existing []client.Object + wantVal string + wantName string + wantErr bool }{ { - name: "base 10.0.0.0/24 prefixLength 26 allocates first subnet", + name: "allocates first subnet", pool: IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPPrefixPoolSpec{ Prefixes: []IPPrefixPoolPrefix{ { @@ -465,22 +238,14 @@ func TestIPPrefixPool_Allocate(t *testing.T) { }, }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) { - if alloc.Prefix == nil { - t.Fatal("Prefix is nil, want non-nil") - } - if alloc.Prefix.String() != "10.0.0.0/26" { - t.Errorf("Prefix = %q, want %q", alloc.Prefix.String(), "10.0.0.0/26") - } - if alloc.Value != "10.0.0.0/26" { - t.Errorf("Value = %q, want %q", alloc.Value, "10.0.0.0/26") - } - }, + existing: nil, + wantVal: "10.0.0.0/26", + wantName: "test-pool-10-0-0-0-26", }, { - name: "10.0.0.0/26 already allocated allocates next subnet", + name: "skips already allocated subnet", pool: IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPPrefixPoolSpec{ Prefixes: []IPPrefixPoolPrefix{ { @@ -489,25 +254,17 @@ func TestIPPrefixPool_Allocate(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "existing"}, ClaimUID: "existing-uid", Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}, - }, - }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, - checkFunc: func(t *testing.T, pool *IPPrefixPool, alloc *ClaimAllocation) { - if alloc.Prefix == nil { - t.Fatal("Prefix is nil, want non-nil") - } - if alloc.Prefix.String() != "10.0.0.64/26" { - t.Errorf("Prefix = %q, want %q", alloc.Prefix.String(), "10.0.0.64/26") - } + existing: []client.Object{ + &IPPrefix{Spec: IPPrefixSpec{Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}}, }, + wantVal: "10.0.0.64/26", + wantName: "test-pool-10-0-0-64-26", }, { - name: "all 4 /26 subnets of /24 allocated returns error", + name: "all allocated returns error", pool: IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{Name: "test-pool", Namespace: "default"}, Spec: IPPrefixPoolSpec{ Prefixes: []IPPrefixPoolPrefix{ { @@ -516,23 +273,26 @@ func TestIPPrefixPool_Allocate(t *testing.T) { }, }, }, - Status: IPPrefixPoolStatus{ - Allocations: []IPPrefixAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c1"}, ClaimUID: "uid1", Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c2"}, ClaimUID: "uid2", Prefix: corev1alpha1.MustParsePrefix("10.0.0.64/26")}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c3"}, ClaimUID: "uid3", Prefix: corev1alpha1.MustParsePrefix("10.0.0.128/26")}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "c4"}, ClaimUID: "uid4", Prefix: corev1alpha1.MustParsePrefix("10.0.0.192/26")}, - }, - }, }, - claim: Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}}, + existing: []client.Object{ + &IPPrefix{Spec: IPPrefixSpec{Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/26")}}, + &IPPrefix{Spec: IPPrefixSpec{Prefix: corev1alpha1.MustParsePrefix("10.0.0.64/26")}}, + &IPPrefix{Spec: IPPrefixSpec{Prefix: corev1alpha1.MustParsePrefix("10.0.0.128/26")}}, + &IPPrefix{Spec: IPPrefixSpec{Prefix: corev1alpha1.MustParsePrefix("10.0.0.192/26")}}, + }, wantErr: true, }, } + claim := &Claim{ObjectMeta: metav1.ObjectMeta{Name: "test-claim", UID: "test-uid"}} for _, test := range tests { t.Run(test.name, func(t *testing.T) { - alloc, err := test.pool.Allocate(&test.claim) + allocs := make([]Allocation, len(test.existing)) + for i, obj := range test.existing { + allocs[i] = obj.(Allocation) + } + + result, err := test.pool.Allocate(claim, allocs) if test.wantErr { if err == nil { t.Fatal("Allocate() expected error, got nil") @@ -542,8 +302,11 @@ func TestIPPrefixPool_Allocate(t *testing.T) { if err != nil { t.Fatalf("Allocate() unexpected error: %v", err) } - if test.checkFunc != nil { - test.checkFunc(t, &test.pool, alloc) + if result.GetValue() != test.wantVal { + t.Errorf("Value = %q, want %q", result.GetValue(), test.wantVal) + } + if result.GetName() != test.wantName { + t.Errorf("Name = %q, want %q", result.GetName(), test.wantName) } }) } diff --git a/api/pool/v1alpha1/zz_generated.deepcopy.go b/api/pool/v1alpha1/zz_generated.deepcopy.go index 42e3bb400..6e5bc71fb 100644 --- a/api/pool/v1alpha1/zz_generated.deepcopy.go +++ b/api/pool/v1alpha1/zz_generated.deepcopy.go @@ -40,35 +40,6 @@ func (in *Claim) DeepCopyObject() runtime.Object { return nil } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClaimAllocation) DeepCopyInto(out *ClaimAllocation) { - *out = *in - if in.Index != nil { - in, out := &in.Index, &out.Index - *out = new(uint64) - **out = **in - } - if in.IPAddress != nil { - in, out := &in.IPAddress, &out.IPAddress - *out = new(string) - **out = **in - } - if in.Prefix != nil { - in, out := &in.Prefix, &out.Prefix - *out = (*in).DeepCopy() - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimAllocation. -func (in *ClaimAllocation) DeepCopy() *ClaimAllocation { - if in == nil { - return nil - } - out := new(ClaimAllocation) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClaimList) DeepCopyInto(out *ClaimList) { *out = *in @@ -101,6 +72,21 @@ func (in *ClaimList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClaimRef) DeepCopyInto(out *ClaimRef) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimRef. +func (in *ClaimRef) DeepCopy() *ClaimRef { + if in == nil { + return nil + } + out := new(ClaimRef) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClaimSpec) DeepCopyInto(out *ClaimSpec) { *out = *in @@ -127,10 +113,10 @@ func (in *ClaimStatus) DeepCopyInto(out *ClaimStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Allocation != nil { - in, out := &in.Allocation, &out.Allocation - *out = new(ClaimAllocation) - (*in).DeepCopyInto(*out) + if in.AllocationRef != nil { + in, out := &in.AllocationRef, &out.AllocationRef + *out = new(corev1alpha1.TypedLocalObjectReference) + **out = **in } } @@ -145,21 +131,64 @@ func (in *ClaimStatus) DeepCopy() *ClaimStatus { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *IPAddressAllocation) DeepCopyInto(out *IPAddressAllocation) { +func (in *IPAddress) DeepCopyInto(out *IPAddress) { *out = *in - out.ClaimRef = in.ClaimRef + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressAllocation. -func (in *IPAddressAllocation) DeepCopy() *IPAddressAllocation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddress. +func (in *IPAddress) DeepCopy() *IPAddress { if in == nil { return nil } - out := new(IPAddressAllocation) + out := new(IPAddress) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPAddress) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressList) DeepCopyInto(out *IPAddressList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IPAddress, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressList. +func (in *IPAddressList) DeepCopy() *IPAddressList { + if in == nil { + return nil + } + out := new(IPAddressList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPAddressList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IPAddressPool) DeepCopyInto(out *IPAddressPool) { *out = *in @@ -251,11 +280,6 @@ func (in *IPAddressPoolStatus) DeepCopyInto(out *IPAddressPoolStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Allocations != nil { - in, out := &in.Allocations, &out.Allocations - *out = make([]IPAddressAllocation, len(*in)) - copy(*out, *in) - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressPoolStatus. @@ -269,22 +293,108 @@ func (in *IPAddressPoolStatus) DeepCopy() *IPAddressPoolStatus { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *IPPrefixAllocation) DeepCopyInto(out *IPPrefixAllocation) { +func (in *IPAddressSpec) DeepCopyInto(out *IPAddressSpec) { *out = *in - out.ClaimRef = in.ClaimRef - in.Prefix.DeepCopyInto(&out.Prefix) + out.PoolRef = in.PoolRef + in.Address.DeepCopyInto(&out.Address) + if in.ClaimRef != nil { + in, out := &in.ClaimRef, &out.ClaimRef + *out = new(ClaimRef) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressSpec. +func (in *IPAddressSpec) DeepCopy() *IPAddressSpec { + if in == nil { + return nil + } + out := new(IPAddressSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAddressStatus) DeepCopyInto(out *IPAddressStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAddressStatus. +func (in *IPAddressStatus) DeepCopy() *IPAddressStatus { + if in == nil { + return nil + } + out := new(IPAddressStatus) + in.DeepCopyInto(out) + return out } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixAllocation. -func (in *IPPrefixAllocation) DeepCopy() *IPPrefixAllocation { +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefix) DeepCopyInto(out *IPPrefix) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefix. +func (in *IPPrefix) DeepCopy() *IPPrefix { if in == nil { return nil } - out := new(IPPrefixAllocation) + out := new(IPPrefix) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPPrefix) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixList) DeepCopyInto(out *IPPrefixList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IPPrefix, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixList. +func (in *IPPrefixList) DeepCopy() *IPPrefixList { + if in == nil { + return nil + } + out := new(IPPrefixList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IPPrefixList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IPPrefixPool) DeepCopyInto(out *IPPrefixPool) { *out = *in @@ -392,41 +502,121 @@ func (in *IPPrefixPoolStatus) DeepCopyInto(out *IPPrefixPoolStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Allocations != nil { - in, out := &in.Allocations, &out.Allocations - *out = make([]IPPrefixAllocation, len(*in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolStatus. +func (in *IPPrefixPoolStatus) DeepCopy() *IPPrefixPoolStatus { + if in == nil { + return nil + } + out := new(IPPrefixPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixSpec) DeepCopyInto(out *IPPrefixSpec) { + *out = *in + out.PoolRef = in.PoolRef + in.Prefix.DeepCopyInto(&out.Prefix) + if in.ClaimRef != nil { + in, out := &in.ClaimRef, &out.ClaimRef + *out = new(ClaimRef) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixSpec. +func (in *IPPrefixSpec) DeepCopy() *IPPrefixSpec { + if in == nil { + return nil + } + out := new(IPPrefixSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPPrefixStatus) DeepCopyInto(out *IPPrefixStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixPoolStatus. -func (in *IPPrefixPoolStatus) DeepCopy() *IPPrefixPoolStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefixStatus. +func (in *IPPrefixStatus) DeepCopy() *IPPrefixStatus { if in == nil { return nil } - out := new(IPPrefixPoolStatus) + out := new(IPPrefixStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Index) DeepCopyInto(out *Index) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Index. +func (in *Index) DeepCopy() *Index { + if in == nil { + return nil + } + out := new(Index) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Index) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *IndexAllocation) DeepCopyInto(out *IndexAllocation) { +func (in *IndexList) DeepCopyInto(out *IndexList) { *out = *in - out.ClaimRef = in.ClaimRef + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Index, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexAllocation. -func (in *IndexAllocation) DeepCopy() *IndexAllocation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexList. +func (in *IndexList) DeepCopy() *IndexList { if in == nil { return nil } - out := new(IndexAllocation) + out := new(IndexList) in.DeepCopyInto(out) return out } +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IndexList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IndexPool) DeepCopyInto(out *IndexPool) { *out = *in @@ -518,11 +708,6 @@ func (in *IndexPoolStatus) DeepCopyInto(out *IndexPoolStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Allocations != nil { - in, out := &in.Allocations, &out.Allocations - *out = make([]IndexAllocation, len(*in)) - copy(*out, *in) - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexPoolStatus. @@ -534,3 +719,46 @@ func (in *IndexPoolStatus) DeepCopy() *IndexPoolStatus { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexSpec) DeepCopyInto(out *IndexSpec) { + *out = *in + out.PoolRef = in.PoolRef + if in.ClaimRef != nil { + in, out := &in.ClaimRef, &out.ClaimRef + *out = new(ClaimRef) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexSpec. +func (in *IndexSpec) DeepCopy() *IndexSpec { + if in == nil { + return nil + } + out := new(IndexSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexStatus) DeepCopyInto(out *IndexStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexStatus. +func (in *IndexStatus) DeepCopy() *IndexStatus { + if in == nil { + return nil + } + out := new(IndexStatus) + in.DeepCopyInto(out) + return out +} diff --git a/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml index e9a1d1399..854bcbd97 100644 --- a/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml +++ b/charts/network-operator/templates/crd/claims.pool.networking.metal.ironcore.dev.yaml @@ -6,7 +6,7 @@ metadata: {{- if .Values.crd.keep }} "helm.sh/resource-policy": keep {{- end }} - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: claims.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -20,7 +20,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .status.allocation.value + - jsonPath: .status.value name: Value type: string - jsonPath: .status.conditions[?(@.type=="Allocated")].status @@ -102,32 +102,40 @@ spec: Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: - allocation: - description: Allocation describes the resource reserved for this claim. + allocationRef: + description: |- + AllocationRef references the bound allocation object (Index, IPAddress, or IPPrefix). + Set by the claim controller after successful binding. properties: - index: - description: Index is set when the allocation is sourced from - an IndexPool. - format: int64 - type: integer - ipAddress: - description: IPAddress is set when the allocation is sourced from - an IPAddressPool. + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ type: string - prefix: - description: Prefix is set when the allocation is sourced from - an IPPrefixPool. - format: cidr + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ type: string - value: - description: Value is the string representation of the allocated - resource. + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ type: string + required: + - apiVersion + - kind + - name type: object - x-kubernetes-validations: - - message: exactly one allocation field must be set - rule: '[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, - x).size() == 1' + x-kubernetes-map-type: atomic conditions: description: |- conditions represent the current state of the Claim resource. @@ -191,6 +199,11 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + value: + description: |- + Value is the allocated resource as a string, mirrored from the bound allocation + for convenient access without chasing the reference. + type: string type: object required: - spec diff --git a/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml index 9c052658a..02f162bab 100644 --- a/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml +++ b/charts/network-operator/templates/crd/indexpools.pool.networking.metal.ironcore.dev.yaml @@ -6,7 +6,7 @@ metadata: {{- if .Values.crd.keep }} "helm.sh/resource-policy": keep {{- end }} - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: indexpools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -22,7 +22,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -89,44 +89,8 @@ spec: properties: allocated: description: Allocated is the number of allocated indices. - type: string - allocations: - description: Allocations tracks which indices are reserved by which - claims. - items: - description: IndexAllocation represents a reserved index for a claim. - properties: - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - index: - description: Index is the allocated value. - format: int64 - type: integer - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - claimRef - - claimUID - - index - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IndexPool resource. @@ -197,6 +161,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/charts/network-operator/templates/crd/indices.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/indices.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..0672a8e9c --- /dev/null +++ b/charts/network-operator/templates/crd/indices.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,211 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.21.0 + name: indices.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: Index + listKind: IndexList + plural: indices + shortNames: + - idx + singular: index + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.index + name: Index + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Index is the Schema for the indices API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + claimRef: + description: |- + ClaimRef references the Claim bound to this index. + Nil when the index is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + index: + description: |- + Index is the reserved value. + Immutable. + format: int64 + minimum: 0 + type: integer + x-kubernetes-validations: + - message: index is immutable + rule: self == oldSelf + poolRef: + description: |- + PoolRef references the IndexPool this index was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - index + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the Index resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/ipaddresses.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipaddresses.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..b5ffa7587 --- /dev/null +++ b/charts/network-operator/templates/crd/ipaddresses.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,210 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.21.0 + name: ipaddresses.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPAddress + listKind: IPAddressList + plural: ipaddresses + shortNames: + - ipa + singular: ipaddress + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.address + name: Address + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddress is the Schema for the ipaddresses API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + address: + description: |- + Address is the reserved IP address. + Immutable. + format: ip + type: string + x-kubernetes-validations: + - message: address is immutable + rule: self == oldSelf + claimRef: + description: |- + ClaimRef references the Claim bound to this address. + Nil when the address is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + poolRef: + description: |- + PoolRef references the IPAddressPool this address was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - address + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the IPAddress resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml index f817b102f..5bc9b05fa 100644 --- a/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml +++ b/charts/network-operator/templates/crd/ipaddresspools.pool.networking.metal.ironcore.dev.yaml @@ -6,7 +6,7 @@ metadata: {{- if .Values.crd.keep }} "helm.sh/resource-policy": keep {{- end }} - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: ipaddresspools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -22,7 +22,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -87,45 +87,8 @@ spec: properties: allocated: description: Allocated is the number of allocated IP addresses. - type: string - allocations: - description: Allocations tracks which IP addresses are reserved by - which claims. - items: - description: IPAddressAllocation represents a reserved IP address - for a claim. - properties: - address: - description: Address is the allocated IP address. - format: ip - type: string - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - address - - claimRef - - claimUID - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IPAddressPool resource. @@ -196,6 +159,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/charts/network-operator/templates/crd/ipprefixes.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipprefixes.pool.networking.metal.ironcore.dev.yaml new file mode 100644 index 000000000..d550b3809 --- /dev/null +++ b/charts/network-operator/templates/crd/ipprefixes.pool.networking.metal.ironcore.dev.yaml @@ -0,0 +1,210 @@ +{{- if .Values.crd.enable }} +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + {{- if .Values.crd.keep }} + "helm.sh/resource-policy": keep + {{- end }} + controller-gen.kubebuilder.io/version: v0.21.0 + name: ipprefixes.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPPrefix + listKind: IPPrefixList + plural: ipprefixes + shortNames: + - pfx + singular: ipprefix + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.prefix + name: Prefix + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPrefix is the Schema for the ipprefixes API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + claimRef: + description: |- + ClaimRef references the Claim bound to this prefix. + Nil when the prefix is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + poolRef: + description: |- + PoolRef references the IPPrefixPool this prefix was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + prefix: + description: |- + Prefix is the reserved CIDR prefix. + Immutable. + format: cidr + type: string + x-kubernetes-validations: + - message: prefix is immutable + rule: self == oldSelf + required: + - poolRef + - prefix + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the IPPrefix resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +{{- end }} diff --git a/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml b/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml index 2303236a7..22bb783fc 100644 --- a/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml +++ b/charts/network-operator/templates/crd/ipprefixpools.pool.networking.metal.ironcore.dev.yaml @@ -6,7 +6,7 @@ metadata: {{- if .Values.crd.keep }} "helm.sh/resource-policy": keep {{- end }} - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: ipprefixpools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -22,7 +22,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -105,45 +105,8 @@ spec: properties: allocated: description: Allocated is the number of allocated prefixes. - type: string - allocations: - description: Allocations tracks which prefixes are reserved by which - claims. - items: - description: IPPrefixAllocation represents a reserved prefix for - a claim. - properties: - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - prefix: - description: Prefix is the allocated prefix. - format: cidr - type: string - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - claimRef - - claimUID - - prefix - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IPPrefixPool resource. @@ -214,6 +177,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/charts/network-operator/templates/rbac/manager-role.yaml b/charts/network-operator/templates/rbac/manager-role.yaml index 9827cfe11..35f34b3af 100644 --- a/charts/network-operator/templates/rbac/manager-role.yaml +++ b/charts/network-operator/templates/rbac/manager-role.yaml @@ -189,7 +189,10 @@ rules: resources: - claims - indexpools + - indices + - ipaddresses - ipaddresspools + - ipprefixes - ipprefixpools verbs: - create @@ -203,9 +206,6 @@ rules: - pool.networking.metal.ironcore.dev resources: - claims/finalizers - - indexpools/finalizers - - ipaddresspools/finalizers - - ipprefixpools/finalizers verbs: - update - apiGroups: @@ -213,7 +213,10 @@ rules: resources: - claims/status - indexpools/status + - indices/status + - ipaddresses/status - ipaddresspools/status + - ipprefixes/status - ipprefixpools/status verbs: - get diff --git a/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml b/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml index 2946d5456..7abcdbf3e 100644 --- a/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml +++ b/charts/network-operator/templates/rbac/pool-claim-admin-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml b/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml index 5368cd726..3632e0602 100644 --- a/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml +++ b/charts/network-operator/templates/rbac/pool-claim-editor-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml index 2784ae071..c14a18d14 100644 --- a/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml +++ b/charts/network-operator/templates/rbac/pool-claim-viewer-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-index-admin-role.yaml b/charts/network-operator/templates/rbac/pool-index-admin-role.yaml new file mode 100644 index 000000000..7350c8e9b --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-index-admin-role.yaml @@ -0,0 +1,31 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-index-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-index-editor-role.yaml b/charts/network-operator/templates/rbac/pool-index-editor-role.yaml new file mode 100644 index 000000000..2073144b0 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-index-editor-role.yaml @@ -0,0 +1,37 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-index-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-index-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-index-viewer-role.yaml new file mode 100644 index 000000000..0ee40d6f6 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-index-viewer-role.yaml @@ -0,0 +1,33 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-index-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml index 4254997d0..e27645c7e 100644 --- a/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml +++ b/charts/network-operator/templates/rbac/pool-indexpool-admin-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml index aee2deb29..6433ec20a 100644 --- a/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml +++ b/charts/network-operator/templates/rbac/pool-indexpool-editor-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml index 98bf42dba..8f278608f 100644 --- a/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml +++ b/charts/network-operator/templates/rbac/pool-indexpool-viewer-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddress-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddress-admin-role.yaml new file mode 100644 index 000000000..5cf9734bb --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddress-admin-role.yaml @@ -0,0 +1,31 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddress-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddress-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddress-editor-role.yaml new file mode 100644 index 000000000..6acc08bdf --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddress-editor-role.yaml @@ -0,0 +1,37 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddress-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddress-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddress-viewer-role.yaml new file mode 100644 index 000000000..413a19701 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipaddress-viewer-role.yaml @@ -0,0 +1,33 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipaddress-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml index 951068496..03a0b080c 100644 --- a/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-admin-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml index 7bc59e1e2..706481777 100644 --- a/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-editor-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml index 9f2ea5342..4809a354d 100644 --- a/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipaddresspool-viewer-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefix-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefix-admin-role.yaml new file mode 100644 index 000000000..e568c9b69 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefix-admin-role.yaml @@ -0,0 +1,31 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefix-admin-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefix-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefix-editor-role.yaml new file mode 100644 index 000000000..85f3477aa --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefix-editor-role.yaml @@ -0,0 +1,37 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefix-editor-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefix-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefix-viewer-role.yaml new file mode 100644 index 000000000..b1f2e6a94 --- /dev/null +++ b/charts/network-operator/templates/rbac/pool-ipprefix-viewer-role.yaml @@ -0,0 +1,33 @@ +{{- if .Values.rbac.helpers.enable }} +apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} +kind: ClusterRole +{{- end }} +metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} + labels: + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/name: {{ include "network-operator.name" . }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ include "network-operator.resourceName" (dict "suffix" "pool-ipprefix-viewer-role" "context" $) }} +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get +{{- end }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml index 4e6925f03..32c6a2da8 100644 --- a/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-admin-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml index 558aec9b9..b8bbede1c 100644 --- a/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-editor-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml b/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml index 4c4096d45..f6848c9db 100644 --- a/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml +++ b/charts/network-operator/templates/rbac/pool-ipprefixpool-viewer-role.yaml @@ -1,7 +1,14 @@ -{{- if .Values.rbacHelpers.enable }} +{{- if .Values.rbac.helpers.enable }} apiVersion: rbac.authorization.k8s.io/v1 +{{- if .Values.rbac.namespaced }} +kind: Role +{{- else }} kind: ClusterRole +{{- end }} metadata: +{{- if .Values.rbac.namespaced }} + namespace: {{ .Release.Namespace }} +{{- end }} labels: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/name: {{ include "network-operator.name" . }} diff --git a/cmd/main.go b/cmd/main.go index 6420ed247..2e2ac3cf7 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -731,13 +731,37 @@ func main() { //nolint:gocyclo } if err := (&poolcontroller.ClaimReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - Recorder: mgr.GetEventRecorderFor("claim-controller"), + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), }).SetupWithManager(ctx, mgr); err != nil { setupLog.Error(err, "Failed to create controller", "controller", "Claim") os.Exit(1) } + + if err := (&poolcontroller.IndexReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(ctx, mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "pool-index") + os.Exit(1) + } + + if err := (&poolcontroller.IPAddressReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(ctx, mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "pool-ipaddress") + os.Exit(1) + } + + if err := (&poolcontroller.IPPrefixReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + }).SetupWithManager(ctx, mgr); err != nil { + setupLog.Error(err, "Failed to create controller", "controller", "pool-ipprefix") + os.Exit(1) + } + // +kubebuilder:scaffold:builder if metricsCertWatcher != nil { diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml index 44dc5b582..ade259994 100644 --- a/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_claims.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: claims.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -17,7 +17,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .status.allocation.value + - jsonPath: .status.value name: Value type: string - jsonPath: .status.conditions[?(@.type=="Allocated")].status @@ -99,32 +99,40 @@ spec: Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: - allocation: - description: Allocation describes the resource reserved for this claim. + allocationRef: + description: |- + AllocationRef references the bound allocation object (Index, IPAddress, or IPPrefix). + Set by the claim controller after successful binding. properties: - index: - description: Index is set when the allocation is sourced from - an IndexPool. - format: int64 - type: integer - ipAddress: - description: IPAddress is set when the allocation is sourced from - an IPAddressPool. + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ type: string - prefix: - description: Prefix is set when the allocation is sourced from - an IPPrefixPool. - format: cidr + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ type: string - value: - description: Value is the string representation of the allocated - resource. + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ type: string + required: + - apiVersion + - kind + - name type: object - x-kubernetes-validations: - - message: exactly one allocation field must be set - rule: '[has(self.index), has(self.ipAddress), has(self.prefix)].filter(x, - x).size() == 1' + x-kubernetes-map-type: atomic conditions: description: |- conditions represent the current state of the Claim resource. @@ -188,6 +196,11 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + value: + description: |- + Value is the allocated resource as a string, mirrored from the bound allocation + for convenient access without chasing the reference. + type: string type: object required: - spec diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml index 15f58ffba..7b74a3361 100644 --- a/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_indexpools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: indexpools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -19,7 +19,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -86,44 +86,8 @@ spec: properties: allocated: description: Allocated is the number of allocated indices. - type: string - allocations: - description: Allocations tracks which indices are reserved by which - claims. - items: - description: IndexAllocation represents a reserved index for a claim. - properties: - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - index: - description: Index is the allocated value. - format: int64 - type: integer - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - claimRef - - claimUID - - index - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IndexPool resource. @@ -194,6 +158,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_indices.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_indices.yaml new file mode 100644 index 000000000..5b55088e1 --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_indices.yaml @@ -0,0 +1,207 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: indices.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: Index + listKind: IndexList + plural: indices + shortNames: + - idx + singular: index + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.index + name: Index + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Index is the Schema for the indices API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + claimRef: + description: |- + ClaimRef references the Claim bound to this index. + Nil when the index is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + index: + description: |- + Index is the reserved value. + Immutable. + format: int64 + minimum: 0 + type: integer + x-kubernetes-validations: + - message: index is immutable + rule: self == oldSelf + poolRef: + description: |- + PoolRef references the IndexPool this index was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - index + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the Index resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresses.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresses.yaml new file mode 100644 index 000000000..a7ccfb856 --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresses.yaml @@ -0,0 +1,206 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: ipaddresses.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPAddress + listKind: IPAddressList + plural: ipaddresses + shortNames: + - ipa + singular: ipaddress + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.address + name: Address + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddress is the Schema for the ipaddresses API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + address: + description: |- + Address is the reserved IP address. + Immutable. + format: ip + type: string + x-kubernetes-validations: + - message: address is immutable + rule: self == oldSelf + claimRef: + description: |- + ClaimRef references the Claim bound to this address. + Nil when the address is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + poolRef: + description: |- + PoolRef references the IPAddressPool this address was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + required: + - address + - poolRef + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the IPAddress resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml index 21f5918d5..fce75f177 100644 --- a/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: ipaddresspools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -19,7 +19,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -84,45 +84,8 @@ spec: properties: allocated: description: Allocated is the number of allocated IP addresses. - type: string - allocations: - description: Allocations tracks which IP addresses are reserved by - which claims. - items: - description: IPAddressAllocation represents a reserved IP address - for a claim. - properties: - address: - description: Address is the allocated IP address. - format: ip - type: string - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - address - - claimRef - - claimUID - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IPAddressPool resource. @@ -193,6 +156,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixes.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixes.yaml new file mode 100644 index 000000000..d6b3cf8dc --- /dev/null +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixes.yaml @@ -0,0 +1,206 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.21.0 + name: ipprefixes.pool.networking.metal.ironcore.dev +spec: + group: pool.networking.metal.ironcore.dev + names: + kind: IPPrefix + listKind: IPPrefixList + plural: ipprefixes + shortNames: + - pfx + singular: ipprefix + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.poolRef.name + name: Pool + type: string + - jsonPath: .spec.prefix + name: Prefix + type: string + - jsonPath: .spec.claimRef.name + name: Claim + type: string + - jsonPath: .status.conditions[?(@.type=="Valid")].status + name: Valid + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPrefix is the Schema for the ipprefixes API. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + Specification of the desired state of the resource. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + claimRef: + description: |- + ClaimRef references the Claim bound to this prefix. + Nil when the prefix is unbound (pre-provisioned or retained). + properties: + name: + description: Name is the name of the Claim. + type: string + uid: + description: |- + UID is the UID of the Claim, guarding against rebinding to a recycled + Claim with the same name. + type: string + required: + - name + - uid + type: object + x-kubernetes-map-type: atomic + poolRef: + description: |- + PoolRef references the IPPrefixPool this prefix was allocated from. + Immutable. + properties: + apiVersion: + description: APIVersion is the api group version of the resource + being referenced. + maxLength: 253 + minLength: 1 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$ + type: string + kind: + description: |- + Kind of the resource being referenced. + Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name of the resource being referenced. + Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - apiVersion + - kind + - name + type: object + x-kubernetes-map-type: atomic + x-kubernetes-validations: + - message: poolRef is immutable + rule: self == oldSelf + prefix: + description: |- + Prefix is the reserved CIDR prefix. + Immutable. + format: cidr + type: string + x-kubernetes-validations: + - message: prefix is immutable + rule: self == oldSelf + required: + - poolRef + - prefix + type: object + status: + description: |- + Status of the resource. This is set and updated automatically. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + conditions: + description: |- + conditions represent the current state of the IPPrefix resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml index 7b22549b8..571982f57 100644 --- a/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml +++ b/config/crd/bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 name: ipprefixpools.pool.networking.metal.ironcore.dev spec: group: pool.networking.metal.ironcore.dev @@ -19,7 +19,7 @@ spec: - additionalPrinterColumns: - jsonPath: .status.allocated name: Allocated - type: string + type: integer - jsonPath: .status.total name: Total priority: 1 @@ -102,45 +102,8 @@ spec: properties: allocated: description: Allocated is the number of allocated prefixes. - type: string - allocations: - description: Allocations tracks which prefixes are reserved by which - claims. - items: - description: IPPrefixAllocation represents a reserved prefix for - a claim. - properties: - claimRef: - description: ClaimRef references the claim holding the allocation. - properties: - name: - description: |- - Name of the referent. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - maxLength: 63 - minLength: 1 - type: string - required: - - name - type: object - x-kubernetes-map-type: atomic - claimUID: - description: ClaimUID is the UID of the claim holding the allocation. - type: string - prefix: - description: Prefix is the allocated prefix. - format: cidr - type: string - retained: - description: Retained indicates the allocation must not be reused - after claim deletion. - type: boolean - required: - - claimRef - - claimUID - - prefix - type: object - type: array + format: int32 + type: integer conditions: description: |- conditions represent the current state of the IPPrefixPool resource. @@ -211,6 +174,9 @@ spec: required: - spec type: object + x-kubernetes-validations: + - message: pool name must not exceed 43 characters + rule: size(self.metadata.name) <= 43 served: true storage: true subresources: diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index da5bda4d1..85f58776b 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -30,6 +30,9 @@ resources: - bases/pool.networking.metal.ironcore.dev_ipaddresspools.yaml - bases/pool.networking.metal.ironcore.dev_ipprefixpools.yaml - bases/pool.networking.metal.ironcore.dev_claims.yaml +- bases/pool.networking.metal.ironcore.dev_indices.yaml +- bases/pool.networking.metal.ironcore.dev_ipaddresses.yaml +- bases/pool.networking.metal.ironcore.dev_ipprefixes.yaml - bases/nx.cisco.networking.metal.ironcore.dev_bordergateways.yaml - bases/nx.cisco.networking.metal.ironcore.dev_managementaccessconfigs.yaml - bases/nx.cisco.networking.metal.ironcore.dev_networkvirtualizationedgeconfigs.yaml diff --git a/config/rbac/index_admin_role.yaml b/config/rbac/index_admin_role.yaml new file mode 100644 index 000000000..926340e89 --- /dev/null +++ b/config/rbac/index_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-index-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get diff --git a/config/rbac/index_editor_role.yaml b/config/rbac/index_editor_role.yaml new file mode 100644 index 000000000..519356ea5 --- /dev/null +++ b/config/rbac/index_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-index-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get diff --git a/config/rbac/index_viewer_role.yaml b/config/rbac/index_viewer_role.yaml new file mode 100644 index 000000000..64bb44362 --- /dev/null +++ b/config/rbac/index_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-index-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - indices/status + verbs: + - get diff --git a/config/rbac/ipaddress_admin_role.yaml b/config/rbac/ipaddress_admin_role.yaml new file mode 100644 index 000000000..4a7462e77 --- /dev/null +++ b/config/rbac/ipaddress_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddress-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get diff --git a/config/rbac/ipaddress_editor_role.yaml b/config/rbac/ipaddress_editor_role.yaml new file mode 100644 index 000000000..5045b74f7 --- /dev/null +++ b/config/rbac/ipaddress_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddress-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get diff --git a/config/rbac/ipaddress_viewer_role.yaml b/config/rbac/ipaddress_viewer_role.yaml new file mode 100644 index 000000000..3549677e8 --- /dev/null +++ b/config/rbac/ipaddress_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipaddress-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipaddresses/status + verbs: + - get diff --git a/config/rbac/ipprefix_admin_role.yaml b/config/rbac/ipprefix_admin_role.yaml new file mode 100644 index 000000000..dd60a182f --- /dev/null +++ b/config/rbac/ipprefix_admin_role.yaml @@ -0,0 +1,27 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants full permissions ('*') over pool.networking.metal.ironcore.dev. +# This role is intended for users authorized to modify roles and bindings within the cluster, +# enabling them to delegate specific permissions to other users or groups as needed. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefix-admin-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - '*' +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get diff --git a/config/rbac/ipprefix_editor_role.yaml b/config/rbac/ipprefix_editor_role.yaml new file mode 100644 index 000000000..4e5ed72fc --- /dev/null +++ b/config/rbac/ipprefix_editor_role.yaml @@ -0,0 +1,33 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants permissions to create, update, and delete resources within the pool.networking.metal.ironcore.dev. +# This role is intended for users who need to manage these resources +# but should not control RBAC or manage permissions for others. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefix-editor-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get diff --git a/config/rbac/ipprefix_viewer_role.yaml b/config/rbac/ipprefix_viewer_role.yaml new file mode 100644 index 000000000..4f69482de --- /dev/null +++ b/config/rbac/ipprefix_viewer_role.yaml @@ -0,0 +1,29 @@ +# This rule is not used by the project network-operator itself. +# It is provided to allow the cluster admin to help manage permissions for users. +# +# Grants read-only access to pool.networking.metal.ironcore.dev resources. +# This role is intended for users who need visibility into these resources +# without permissions to modify them. It is ideal for monitoring purposes and limited-access viewing. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: pool-ipprefix-viewer-role +rules: +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes + verbs: + - get + - list + - watch +- apiGroups: + - pool.networking.metal.ironcore.dev + resources: + - ipprefixes/status + verbs: + - get diff --git a/config/rbac/kustomization.yaml b/config/rbac/kustomization.yaml index 80a8c1def..c3155fa85 100644 --- a/config/rbac/kustomization.yaml +++ b/config/rbac/kustomization.yaml @@ -128,3 +128,12 @@ resources: - indexpool_admin_role.yaml - indexpool_editor_role.yaml - indexpool_viewer_role.yaml +- ipprefix_admin_role.yaml +- ipprefix_editor_role.yaml +- ipprefix_viewer_role.yaml +- ipaddress_admin_role.yaml +- ipaddress_editor_role.yaml +- ipaddress_viewer_role.yaml +- index_admin_role.yaml +- index_editor_role.yaml +- index_viewer_role.yaml diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 52f76c5fd..a8101bcd5 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -183,7 +183,10 @@ rules: resources: - claims - indexpools + - indices + - ipaddresses - ipaddresspools + - ipprefixes - ipprefixpools verbs: - create @@ -197,9 +200,6 @@ rules: - pool.networking.metal.ironcore.dev resources: - claims/finalizers - - indexpools/finalizers - - ipaddresspools/finalizers - - ipprefixpools/finalizers verbs: - update - apiGroups: @@ -207,7 +207,10 @@ rules: resources: - claims/status - indexpools/status + - indices/status + - ipaddresses/status - ipaddresspools/status + - ipprefixes/status - ipprefixpools/status verbs: - get diff --git a/config/samples/kustomization.yaml b/config/samples/kustomization.yaml index 8a07a954e..6ad7cde59 100644 --- a/config/samples/kustomization.yaml +++ b/config/samples/kustomization.yaml @@ -27,6 +27,9 @@ resources: - v1alpha1_indexpool.yaml - v1alpha1_ipaddresspool.yaml - v1alpha1_ipprefixpool.yaml +- v1alpha1_index.yaml +- v1alpha1_ipaddress.yaml +- v1alpha1_ipprefix.yaml - v1alpha1_claim.yaml - cisco/nx/v1alpha1_bordergateway.yaml - cisco/nx/v1alpha1_managementaccessconfig.yaml diff --git a/config/samples/v1alpha1_index.yaml b/config/samples/v1alpha1_index.yaml new file mode 100644 index 000000000..bdb7311af --- /dev/null +++ b/config/samples/v1alpha1_index.yaml @@ -0,0 +1,21 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: Index +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: index-sample + # The allow-binding annotation permits a Claim with a matching claimRef name + # to rebind this allocation by updating the UID. + annotations: + pool.networking.metal.ironcore.dev/allow-binding: "true" +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IndexPool + name: indexpool-sample + # Pre-allocated ASN from the private-use range defined in RFC 6996. + index: 64512 + # claimRef name must match the Claim that will bind to this allocation. + claimRef: + name: claim-sample diff --git a/config/samples/v1alpha1_ipaddress.yaml b/config/samples/v1alpha1_ipaddress.yaml new file mode 100644 index 000000000..b08dbd988 --- /dev/null +++ b/config/samples/v1alpha1_ipaddress.yaml @@ -0,0 +1,21 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IPAddress +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: ipaddress-sample + # The allow-binding annotation permits a Claim with a matching claimRef name + # to rebind this allocation by updating the UID. + annotations: + pool.networking.metal.ironcore.dev/allow-binding: "true" +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IPAddressPool + name: ipaddresspool-sample + # Pre-allocated RFC 1918 address reserved for a specific workload. + address: 10.0.0.1 + # claimRef name must match the Claim that will bind to this allocation. + claimRef: + name: claim-sample diff --git a/config/samples/v1alpha1_ipprefix.yaml b/config/samples/v1alpha1_ipprefix.yaml new file mode 100644 index 000000000..1eba39438 --- /dev/null +++ b/config/samples/v1alpha1_ipprefix.yaml @@ -0,0 +1,21 @@ +apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 +kind: IPPrefix +metadata: + labels: + app.kubernetes.io/name: network-operator + app.kubernetes.io/managed-by: kustomize + name: ipprefix-sample + # The allow-binding annotation permits a Claim with a matching claimRef name + # to rebind this allocation by updating the UID. + annotations: + pool.networking.metal.ironcore.dev/allow-binding: "true" +spec: + poolRef: + apiVersion: pool.networking.metal.ironcore.dev/v1alpha1 + kind: IPPrefixPool + name: ipprefixpool-sample + # Pre-allocated /24 subnet reserved for a specific rack or availability zone. + prefix: 10.0.0.0/24 + # claimRef name must match the Claim that will bind to this allocation. + claimRef: + name: claim-sample diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md index c0fa5b13c..606a6456c 100644 --- a/docs/api-reference/index.md +++ b/docs/api-reference/index.md @@ -10,6 +10,9 @@ ## networking.metal.ironcore.dev/v1alpha1 +SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +SPDX-License-Identifier: Apache-2.0 + Package v1alpha1 contains API Schema definitions for the networking.metal.ironcore.dev v1alpha1 API group. SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors @@ -1315,6 +1318,21 @@ _Appears in:_ | `FloodAndLearn` | HostReachabilityTypeFloodAndLearn uses data-plane learning for MAC addresses.
| +#### IPAddr + + + +IPAddr represents a single IP address (IPv4 or IPv6). + +_Validation:_ +- Format: ip +- Type: string + +_Appears in:_ +- [IPAddressSpec](#ipaddressspec) + + + #### IPPrefix @@ -1328,10 +1346,9 @@ _Validation:_ _Appears in:_ - [ACLEntry](#aclentry) -- [ClaimAllocation](#claimallocation) - [IPAddressPoolSpec](#ipaddresspoolspec) -- [IPPrefixAllocation](#ipprefixallocation) - [IPPrefixPoolPrefix](#ipprefixpoolprefix) +- [IPPrefixSpec](#ipprefixspec) - [InterfaceIPv4](#interfaceipv4) - [MulticastGroups](#multicastgroups) - [PrefixEntry](#prefixentry) @@ -1689,10 +1706,7 @@ _Appears in:_ - [DNSSpec](#dnsspec) - [DevicePort](#deviceport) - [EVPNInstanceSpec](#evpninstancespec) -- [IPAddressAllocation](#ipaddressallocation) -- [IPPrefixAllocation](#ipprefixallocation) - [ISISSpec](#isisspec) -- [IndexAllocation](#indexallocation) - [InterconnectInterfaceReference](#interconnectinterfacereference) - [InterfaceIPv4Unnumbered](#interfaceipv4unnumbered) - [InterfaceSpec](#interfacespec) @@ -3118,10 +3132,14 @@ _Appears in:_ - [BannerSpec](#bannerspec) - [CertificateSpec](#certificatespec) - [ClaimSpec](#claimspec) +- [ClaimStatus](#claimstatus) - [DHCPRelaySpec](#dhcprelayspec) - [DNSSpec](#dnsspec) - [EVPNInstanceSpec](#evpninstancespec) +- [IPAddressSpec](#ipaddressspec) +- [IPPrefixSpec](#ipprefixspec) - [ISISSpec](#isisspec) +- [IndexSpec](#indexspec) - [InterfaceSpec](#interfacespec) - [LLDPSpec](#lldpspec) - [ManagementAccessSpec](#managementaccessspec) @@ -4106,12 +4124,17 @@ Package v1alpha1 contains API Schema definitions for the pool.networking.metal.i ### Resource Types - [Claim](#claim) +- [IPAddress](#ipaddress) - [IPAddressPool](#ipaddresspool) +- [IPPrefix](#ipprefix) - [IPPrefixPool](#ipprefixpool) +- [Index](#index) - [IndexPool](#indexpool) + + #### Claim @@ -4131,30 +4154,30 @@ Claim is the Schema for the claims API | `status` _[ClaimStatus](#claimstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| -#### ClaimAllocation +#### ClaimRef -ClaimAllocation holds the allocated resource value for a claim. +ClaimRef identifies the Claim bound to an allocation object. _Appears in:_ -- [ClaimStatus](#claimstatus) +- [IPAddressSpec](#ipaddressspec) +- [IPPrefixSpec](#ipprefixspec) +- [IndexSpec](#indexspec) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `index` _integer_ | Index is set when the allocation is sourced from an IndexPool. | | Optional: \{\}
| -| `ipAddress` _string_ | IPAddress is set when the allocation is sourced from an IPAddressPool. | | Optional: \{\}
| -| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is set when the allocation is sourced from an IPPrefixPool. | | Format: cidr
Type: string
Optional: \{\}
| -| `value` _string_ | Value is the string representation of the allocated resource. | | Optional: \{\}
| +| `name` _string_ | Name is the name of the Claim. | | Required: \{\}
| +| `uid` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | UID is the UID of the Claim, guarding against rebinding to a recycled
Claim with the same name. | | Required: \{\}
| #### ClaimSpec -ClaimSpec defines the desired state of Claim + @@ -4180,26 +4203,27 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the Claim resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| -| `allocation` _[ClaimAllocation](#claimallocation)_ | Allocation describes the resource reserved for this claim. | | Optional: \{\}
| +| `allocationRef` _[TypedLocalObjectReference](#typedlocalobjectreference)_ | AllocationRef references the bound allocation object (Index, IPAddress, or IPPrefix).
Set by the claim controller after successful binding. | | Optional: \{\}
| +| `value` _string_ | Value is the allocated resource as a string, mirrored from the bound allocation
for convenient access without chasing the reference. | | Optional: \{\}
| -#### IPAddressAllocation +#### IPAddress -IPAddressAllocation represents a reserved IP address for a claim. +IPAddress is the Schema for the ipaddresses API. + -_Appears in:_ -- [IPAddressPoolStatus](#ipaddresspoolstatus) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| -| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| -| `address` _string_ | Address is the allocated IP address. | | Format: ip
Required: \{\}
| -| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `IPAddress` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IPAddressSpec](#ipaddressspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IPAddressStatus](#ipaddressstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| #### IPAddressPool @@ -4251,29 +4275,62 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `allocated` _string_ | Allocated is the number of allocated IP addresses. | | Optional: \{\}
| +| `allocated` _integer_ | Allocated is the number of allocated IP addresses. | | Optional: \{\}
| | `total` _string_ | Total is the number of allocatable IP addresses. | | Optional: \{\}
| | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPAddressPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| -| `allocations` _[IPAddressAllocation](#ipaddressallocation) array_ | Allocations tracks which IP addresses are reserved by which claims. | | Optional: \{\}
| -#### IPPrefixAllocation +#### IPAddressSpec -IPPrefixAllocation represents a reserved prefix for a claim. +IPAddressSpec defines the desired state of IPAddress. _Appears in:_ -- [IPPrefixPoolStatus](#ipprefixpoolstatus) +- [IPAddress](#ipaddress) | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| -| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| -| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is the allocated prefix. | | Format: cidr
Type: string
Required: \{\}
| -| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| +| `poolRef` _[TypedLocalObjectReference](#typedlocalobjectreference)_ | PoolRef references the IPAddressPool this address was allocated from.
Immutable. | | Required: \{\}
| +| `address` _[IPAddr](#ipaddr)_ | Address is the reserved IP address.
Immutable. | | Format: ip
Type: string
Required: \{\}
| +| `claimRef` _[ClaimRef](#claimref)_ | ClaimRef references the Claim bound to this address.
Nil when the address is unbound (pre-provisioned or retained). | | Optional: \{\}
| + + +#### IPAddressStatus + + + +IPAddressStatus defines the observed state of IPAddress. + + + +_Appears in:_ +- [IPAddress](#ipaddress) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPAddress resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| + + +#### IPPrefix + + + +IPPrefix is the Schema for the ipprefixes API. + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `IPPrefix` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IPPrefixSpec](#ipprefixspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IPPrefixStatus](#ipprefixstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| #### IPPrefixPool @@ -4342,29 +4399,62 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `allocated` _string_ | Allocated is the number of allocated prefixes. | | Optional: \{\}
| +| `allocated` _integer_ | Allocated is the number of allocated prefixes. | | Optional: \{\}
| | `total` _string_ | Total is the number of allocatable prefixes. | | Optional: \{\}
| | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPPrefixPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| -| `allocations` _[IPPrefixAllocation](#ipprefixallocation) array_ | Allocations tracks which prefixes are reserved by which claims. | | Optional: \{\}
| -#### IndexAllocation +#### IPPrefixSpec + +IPPrefixSpec defines the desired state of IPPrefix. -IndexAllocation represents a reserved index for a claim. + + +_Appears in:_ +- [IPPrefix](#ipprefix) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `poolRef` _[TypedLocalObjectReference](#typedlocalobjectreference)_ | PoolRef references the IPPrefixPool this prefix was allocated from.
Immutable. | | Required: \{\}
| +| `prefix` _[IPPrefix](#ipprefix)_ | Prefix is the reserved CIDR prefix.
Immutable. | | Format: cidr
Type: string
Required: \{\}
| +| `claimRef` _[ClaimRef](#claimref)_ | ClaimRef references the Claim bound to this prefix.
Nil when the prefix is unbound (pre-provisioned or retained). | | Optional: \{\}
| + + +#### IPPrefixStatus + + + +IPPrefixStatus defines the observed state of IPPrefix. _Appears in:_ -- [IndexPoolStatus](#indexpoolstatus) +- [IPPrefix](#ipprefix) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IPPrefix resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| + + +#### Index + + + +Index is the Schema for the indices API. + + + + | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `claimRef` _[LocalObjectReference](#localobjectreference)_ | ClaimRef references the claim holding the allocation. | | Required: \{\}
| -| `claimUID` _[UID](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#uid-types-pkg)_ | ClaimUID is the UID of the claim holding the allocation. | | Required: \{\}
| -| `index` _integer_ | Index is the allocated value. | | Required: \{\}
| -| `retained` _boolean_ | Retained indicates the allocation must not be reused after claim deletion. | | Optional: \{\}
| +| `apiVersion` _string_ | `pool.networking.metal.ironcore.dev/v1alpha1` | | | +| `kind` _string_ | `Index` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[IndexSpec](#indexspec)_ | Specification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Required: \{\}
| +| `status` _[IndexStatus](#indexstatus)_ | Status of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | | Optional: \{\}
| #### IndexPool @@ -4416,10 +4506,45 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `allocated` _string_ | Allocated is the number of allocated indices. | | Optional: \{\}
| +| `allocated` _integer_ | Allocated is the number of allocated indices. | | Optional: \{\}
| | `total` _string_ | Total is the number of allocatable indices. | | Optional: \{\}
| | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the IndexPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| -| `allocations` _[IndexAllocation](#indexallocation) array_ | Allocations tracks which indices are reserved by which claims. | | Optional: \{\}
| + + +#### IndexSpec + + + +IndexSpec defines the desired state of Index. + + + +_Appears in:_ +- [Index](#index) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `poolRef` _[TypedLocalObjectReference](#typedlocalobjectreference)_ | PoolRef references the IndexPool this index was allocated from.
Immutable. | | Required: \{\}
| +| `index` _integer_ | Index is the reserved value.
Immutable. | | Minimum: 0
Required: \{\}
| +| `claimRef` _[ClaimRef](#claimref)_ | ClaimRef references the Claim bound to this index.
Nil when the index is unbound (pre-provisioned or retained). | | Optional: \{\}
| + + +#### IndexStatus + + + +IndexStatus defines the observed state of Index. + + + +_Appears in:_ +- [Index](#index) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | conditions represent the current state of the Index resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown. | | Optional: \{\}
| + + #### ReclaimPolicy diff --git a/internal/controller/pool/claim_controller.go b/internal/controller/pool/claim_controller.go index 4afbcf0bc..d9af25f0f 100644 --- a/internal/controller/pool/claim_controller.go +++ b/internal/controller/pool/claim_controller.go @@ -15,7 +15,6 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" - "k8s.io/client-go/tools/record" "k8s.io/client-go/util/retry" "k8s.io/klog/v2" ctrl "sigs.k8s.io/controller-runtime" @@ -27,6 +26,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" + "github.com/ironcore-dev/network-operator/api/core/v1alpha1" poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" "github.com/ironcore-dev/network-operator/internal/conditions" ) @@ -35,25 +35,18 @@ import ( type ClaimReconciler struct { client.Client Scheme *runtime.Scheme - - // Recorder is used to record events for the controller. - // More info: https://book.kubebuilder.io/reference/raising-events - Recorder record.EventRecorder } // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims/status,verbs=get;update;patch // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=claims/finalizers,verbs=update +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indices,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools,verbs=get;list;watch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresses,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools,verbs=get;list;watch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixes,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools,verbs=get;list;watch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=core,resources=events,verbs=create;patch -// Reconcile is part of the main kubernetes reconciliation loop which aims to -// move the current state of the cluster closer to the desired state. func (r *ClaimReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { log := ctrl.LoggerFrom(ctx) log.Info("Reconciling resource") @@ -120,10 +113,23 @@ func (r *ClaimReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ct return ctrl.Result{}, nil } -const claimPoolRefKey = ".spec.poolRef" +const ( + claimPoolRefKey = ".spec.poolRef" + claimRefIndexKey = ".spec.claimRef.name" +) + +// errAllocationConflict is returned when a concurrent controller already created +// an allocation object with the same deterministic name. The caller should retry +// with a fresh view of existing allocations. +var errAllocationConflict = errors.New("allocation conflict") + +// errMultipleAllocations is returned when more than one allocation object is +// bound to the same claim, indicating an inconsistency that requires manual cleanup. +var errMultipleAllocations = errors.New("multiple allocations bound to claim") // SetupWithManager sets up the controller with the Manager. func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error { + // Index Claims by their poolRef for pool-change watches. if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.Claim{}, claimPoolRefKey, func(obj client.Object) []string { ref := obj.(*poolv1alpha1.Claim).Spec.PoolRef return []string{fmt.Sprintf("%s/%s/%s", ref.APIVersion, ref.Kind, ref.Name)} @@ -131,11 +137,43 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager return err } + // Index Index/IPAddress/IPPrefix objects by claimRef.name so the claim controller + // can efficiently look up the allocation object bound to a given claim. + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.Index{}, claimRefIndexKey, func(obj client.Object) []string { + ref := obj.(*poolv1alpha1.Index).Spec.ClaimRef + if ref == nil { + return nil + } + return []string{ref.Name} + }); err != nil { + return err + } + + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.IPAddress{}, claimRefIndexKey, func(obj client.Object) []string { + ref := obj.(*poolv1alpha1.IPAddress).Spec.ClaimRef + if ref == nil { + return nil + } + return []string{ref.Name} + }); err != nil { + return err + } + + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.IPPrefix{}, claimRefIndexKey, func(obj client.Object) []string { + ref := obj.(*poolv1alpha1.IPPrefix).Spec.ClaimRef + if ref == nil { + return nil + } + return []string{ref.Name} + }); err != nil { + return err + } + return ctrl.NewControllerManagedBy(mgr). For(&poolv1alpha1.Claim{}). Named("pool-claim"). // Watches enqueues Claims for updates in referenced IndexPool resources. - // Triggers on create, delete, and update events when the allocation status changes. + // Triggers on create, delete, and update events when the allocated count changes. Watches( &poolv1alpha1.IndexPool{}, handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), @@ -143,8 +181,7 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager UpdateFunc: func(e event.UpdateEvent) bool { oldPool := e.ObjectOld.(*poolv1alpha1.IndexPool) newPool := e.ObjectNew.(*poolv1alpha1.IndexPool) - // Only trigger when Allocations status field changes. - return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + return oldPool.Status.Allocated != newPool.Status.Allocated }, GenericFunc: func(e event.GenericEvent) bool { return false @@ -152,7 +189,7 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager }), ). // Watches enqueues Claims for updates in referenced IPAddressPool resources. - // Triggers on create, delete, and update events when the allocation status changes. + // Triggers on create, delete, and update events when the allocated count changes. Watches( &poolv1alpha1.IPAddressPool{}, handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), @@ -160,8 +197,7 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager UpdateFunc: func(e event.UpdateEvent) bool { oldPool := e.ObjectOld.(*poolv1alpha1.IPAddressPool) newPool := e.ObjectNew.(*poolv1alpha1.IPAddressPool) - // Only trigger when Allocations status field changes. - return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + return oldPool.Status.Allocated != newPool.Status.Allocated }, GenericFunc: func(e event.GenericEvent) bool { return false @@ -169,7 +205,7 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager }), ). // Watches enqueues Claims for updates in referenced IPPrefixPool resources. - // Triggers on create, delete, and update events when the allocation status changes. + // Triggers on create, delete, and update events when the allocated count changes. Watches( &poolv1alpha1.IPPrefixPool{}, handler.EnqueueRequestsFromMapFunc(r.claimsForPoolRef), @@ -177,40 +213,33 @@ func (r *ClaimReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager UpdateFunc: func(e event.UpdateEvent) bool { oldPool := e.ObjectOld.(*poolv1alpha1.IPPrefixPool) newPool := e.ObjectNew.(*poolv1alpha1.IPPrefixPool) - // Only trigger when Allocations status field changes. - return !equality.Semantic.DeepEqual(oldPool.Status.Allocations, newPool.Status.Allocations) + return oldPool.Status.Allocated != newPool.Status.Allocated }, GenericFunc: func(e event.GenericEvent) bool { return false }, }), ). + // Watches enqueues Claims when a pre-provisioned allocation object with the + // allow-binding annotation is created, updated or deleted with a matching claimRef name. + Watches( + &poolv1alpha1.Index{}, + handler.EnqueueRequestsFromMapFunc(r.claimForAllocation), + builder.WithPredicates(allowBindingPredicate()), + ). + Watches( + &poolv1alpha1.IPAddress{}, + handler.EnqueueRequestsFromMapFunc(r.claimForAllocation), + builder.WithPredicates(allowBindingPredicate()), + ). + Watches( + &poolv1alpha1.IPPrefix{}, + handler.EnqueueRequestsFromMapFunc(r.claimForAllocation), + builder.WithPredicates(allowBindingPredicate()), + ). Complete(r) } -// Pool is an interface that abstracts over the different types of pools (IndexPool, IPAddressPool, IPPrefixPool) that a Claim can reference. -type Pool interface { - client.Object - - // IsExhausted reports whether all allocatable resources in the pool are taken. - IsExhausted() bool - - // FindAllocation returns the existing ClaimAllocation for the given claim, or nil if none exists. - FindAllocation(claim *poolv1alpha1.Claim) *poolv1alpha1.ClaimAllocation - - // Allocate reserves the next available resource for the claim and records it in the pool status. - // Returns ErrPoolExhausted when no resources are left. - Allocate(claim *poolv1alpha1.Claim) (*poolv1alpha1.ClaimAllocation, error) - - // AllocatePreferred reserves the specific value given by preferred for the claim. - // Returns ErrPreferredValueUnavailable if the value is outside the pool's configured - // ranges/prefixes or is already taken by another claim. - AllocatePreferred(claim *poolv1alpha1.Claim, preferred string) (*poolv1alpha1.ClaimAllocation, error) - - // Reclaim applies the pool's ReclaimPolicy for the given claim on deletion. - Reclaim(claim *poolv1alpha1.Claim) -} - func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Claim) error { ref := claim.Spec.PoolRef @@ -235,7 +264,7 @@ func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Cla return reconcile.TerminalError(fmt.Errorf("poolRef apiVersion must be %s", poolv1alpha1.GroupVersion.String())) } - var pool Pool + var pool poolv1alpha1.Pool switch ref.Kind { case "IndexPool": pool = new(poolv1alpha1.IndexPool) @@ -253,39 +282,82 @@ func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Cla return reconcile.TerminalError(errors.New("poolRef kind must be one of IndexPool, IPAddressPool, or IPPrefixPool")) } - preferred := claim.Annotations[poolv1alpha1.PreferredValueAnnotation] - err = retry.RetryOnConflict(retry.DefaultBackoff, func() error { - if err := r.Get(ctx, client.ObjectKey{Name: claim.Spec.PoolRef.Name, Namespace: claim.Namespace}, pool); err != nil { + // Allocate a value from the pool. Retries on conflict when a concurrent + // controller creates an allocation object with the same deterministic name. + var bound poolv1alpha1.Allocation + err = retry.OnError(retry.DefaultBackoff, func(err error) bool { + return errors.Is(err, errAllocationConflict) + }, func() error { + if err := r.Get(ctx, client.ObjectKey{Name: ref.Name, Namespace: claim.Namespace}, pool); err != nil { return err } - // Check if the claim is already allocated in the pool. - if alloc := pool.FindAllocation(claim); alloc != nil { - claim.Status.Allocation = alloc - return nil + + // Ensure the pool owns the claim for garbage collection on pool deletion. + if err := controllerutil.SetOwnerReference(pool, claim, r.Scheme); err != nil { + return err } - // If the claim has an allocation in its status that is not reflected in the pool, - // we have an inconsistency that requires manual intervention. - if claim.Status.Allocation != nil { - return poolv1alpha1.ErrAllocationInconsistent + + // Look for an allocation object already referencing this claim by name. + allocs, err := pool.ListAllocations(ctx, r.Client, client.InNamespace(claim.Namespace), client.MatchingFields{claimRefIndexKey: claim.Name}) + if err != nil { + return err } - var alloc *poolv1alpha1.ClaimAllocation - if preferred != "" { - alloc, err = pool.AllocatePreferred(claim, preferred) - } else { - if pool.IsExhausted() { - return poolv1alpha1.ErrPoolExhausted + var matched []poolv1alpha1.Allocation + for _, alloc := range allocs { + ref := alloc.GetClaimRef() + if ref == nil || ref.Name != claim.Name { + continue + } + if ref.UID != claim.UID { + // Stale UID — only rebind if the allow-binding annotation is set. + if _, ok := alloc.GetAnnotations()[poolv1alpha1.AllowBindingAnnotation]; !ok { + continue + } + alloc.SetClaimRef(&poolv1alpha1.ClaimRef{Name: claim.Name, UID: claim.UID}) + if err := r.Update(ctx, alloc); err != nil { + return err + } } - alloc, err = pool.Allocate(claim) + matched = append(matched, alloc) + } + if len(matched) > 1 { + return errMultipleAllocations + } + if len(matched) == 1 { + bound = matched[0] + return nil } + + if pool.IsExhausted() { + return poolv1alpha1.ErrPoolExhausted + } + + // List all allocation objects for this pool to determine used values. + existing, err := pool.ListAllocations(ctx, r.Client, client.InNamespace(claim.Namespace), client.MatchingFields{poolRefIndexKey: pool.GetName()}) + if err != nil { + return err + } + + alloc, err := pool.Allocate(claim, existing) if err != nil { return err } - if err := r.Status().Update(ctx, pool); err != nil { + + // Set the pool as owner for garbage collection on pool deletion. + if err := controllerutil.SetOwnerReference(pool, alloc, r.Scheme); err != nil { + return err + } + + // Create the allocation object. AlreadyExists means a concurrent controller + // grabbed the same slot — retry with a fresh list. + if err := r.Create(ctx, alloc); err != nil { + if apierrors.IsAlreadyExists(err) { + return errAllocationConflict + } return err } - // Only update the claim status after successfully updating the pool status to avoid - // inconsistencies where the claim status shows an allocation not reserved in the pool. - claim.Status.Allocation = alloc + + bound = alloc return nil }) @@ -295,31 +367,23 @@ func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Cla Type: poolv1alpha1.AllocatedCondition, Status: metav1.ConditionFalse, Reason: poolv1alpha1.PoolNotFoundReason, - Message: fmt.Sprintf("Referenced pool %s not found", claim.Spec.PoolRef.Name), + Message: fmt.Sprintf("Referenced pool %s not found", ref.Name), }) return reconcile.TerminalError(err) - case errors.Is(err, poolv1alpha1.ErrPoolExhausted): + case errors.Is(err, errMultipleAllocations): conditions.Set(claim, metav1.Condition{ Type: poolv1alpha1.AllocatedCondition, Status: metav1.ConditionFalse, - Reason: poolv1alpha1.PoolExhaustedReason, - Message: "Referenced pool is exhausted", + Reason: poolv1alpha1.MultipleAllocationsReason, + Message: "Multiple allocation objects are bound to this claim", }) return reconcile.TerminalError(err) - case errors.Is(err, poolv1alpha1.ErrPreferredValueUnavailable): - conditions.Set(claim, metav1.Condition{ - Type: poolv1alpha1.AllocatedCondition, - Status: metav1.ConditionFalse, - Reason: poolv1alpha1.PreferredValueUnavailableReason, - Message: fmt.Sprintf("Preferred value %q is not available in pool %s; remove the annotation to allow any available value to be allocated", preferred, claim.Spec.PoolRef.Name), - }) - return reconcile.TerminalError(err) - case errors.Is(err, poolv1alpha1.ErrAllocationInconsistent): + case errors.Is(err, poolv1alpha1.ErrPoolExhausted): conditions.Set(claim, metav1.Condition{ Type: poolv1alpha1.AllocatedCondition, Status: metav1.ConditionFalse, - Reason: poolv1alpha1.AllocationFailedReason, - Message: fmt.Sprintf("Claim has an allocation in status that is not reflected in pool %s; manual intervention required", claim.Spec.PoolRef.Name), + Reason: poolv1alpha1.PoolExhaustedReason, + Message: "Referenced pool is exhausted", }) return reconcile.TerminalError(err) case err != nil: @@ -331,10 +395,16 @@ func (r *ClaimReconciler) reconcile(ctx context.Context, claim *poolv1alpha1.Cla Reason: poolv1alpha1.AllocatedReason, Message: "Successfully allocated from pool", }) + claim.Status.Value = bound.GetValue() + if gvks, _, err := r.Scheme.ObjectKinds(bound); err == nil && len(gvks) > 0 { + bound.GetObjectKind().SetGroupVersionKind(gvks[0]) + } + claim.Status.AllocationRef = v1alpha1.TypedLocalObjectRefFromObject(bound) return nil } } +// finalize releases the allocation bound to the claim according to the pool's reclaim policy. func (r *ClaimReconciler) finalize(ctx context.Context, claim *poolv1alpha1.Claim) error { ref := claim.Spec.PoolRef @@ -343,7 +413,7 @@ func (r *ClaimReconciler) finalize(ctx context.Context, claim *poolv1alpha1.Clai return nil //nolint:nilerr } - var pool Pool + var pool poolv1alpha1.Pool switch ref.Kind { case "IndexPool": pool = new(poolv1alpha1.IndexPool) @@ -355,13 +425,29 @@ func (r *ClaimReconciler) finalize(ctx context.Context, claim *poolv1alpha1.Clai return nil } - return retry.RetryOnConflict(retry.DefaultBackoff, func() error { - if err := r.Get(ctx, client.ObjectKey{Name: ref.Name, Namespace: claim.Namespace}, pool); err != nil { - return client.IgnoreNotFound(err) + if err := r.Get(ctx, client.ObjectKey{Name: ref.Name, Namespace: claim.Namespace}, pool); err != nil { + return client.IgnoreNotFound(err) + } + + bound, err := pool.ListAllocations(ctx, r.Client, client.InNamespace(claim.Namespace), client.MatchingFields{claimRefIndexKey: claim.Name}) + if err != nil { + return err + } + + for _, alloc := range bound { + if alloc.GetClaimRef() == nil || alloc.GetClaimRef().UID != claim.UID { + continue } - pool.Reclaim(claim) - return r.Status().Update(ctx, pool) - }) + // Recycle: delete the allocation object to free the slot. + if pool.GetReclaimPolicy() == poolv1alpha1.ReclaimPolicyRecycle { + return client.IgnoreNotFound(r.Delete(ctx, alloc)) + } + // Retain: clear the claimRef so the allocation persists as reserved but unbound. + alloc.SetClaimRef(nil) + return r.Update(ctx, alloc) + } + + return nil } // claimsForPoolRef is a [handler.MapFunc] to be used to enqueue requests for reconciliation @@ -391,3 +477,43 @@ func (r *ClaimReconciler) claimsForPoolRef(ctx context.Context, obj client.Objec return requests } + +// claimForAllocation enqueues the Claim referenced by an allocation object's claimRef. +func (r *ClaimReconciler) claimForAllocation(_ context.Context, obj client.Object) []reconcile.Request { + alloc, ok := obj.(poolv1alpha1.Allocation) + if !ok { + return nil + } + ref := alloc.GetClaimRef() + if ref == nil { + return nil + } + return []reconcile.Request{{ + NamespacedName: types.NamespacedName{ + Name: ref.Name, + Namespace: obj.GetNamespace(), + }, + }} +} + +// allowBindingPredicate filters for allocation objects that carry the allow-binding annotation. +func allowBindingPredicate() predicate.Funcs { + hasAnnotation := func(obj client.Object) bool { + _, ok := obj.GetAnnotations()[poolv1alpha1.AllowBindingAnnotation] + return ok + } + return predicate.Funcs{ + CreateFunc: func(e event.CreateEvent) bool { + return hasAnnotation(e.Object) + }, + UpdateFunc: func(e event.UpdateEvent) bool { + return hasAnnotation(e.ObjectNew) + }, + DeleteFunc: func(e event.DeleteEvent) bool { + return hasAnnotation(e.Object) + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + } +} diff --git a/internal/controller/pool/claim_controller_test.go b/internal/controller/pool/claim_controller_test.go index a29e58e7e..786751c5b 100644 --- a/internal/controller/pool/claim_controller_test.go +++ b/internal/controller/pool/claim_controller_test.go @@ -54,9 +54,9 @@ var _ = Describe("Claim Controller", func() { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) g.Expect(controllerutil.ContainsFinalizer(currentClaim, poolv1alpha1.FinalizerName)).To(BeTrue()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("100")) + g.Expect(currentClaim.Status.Value).To(Equal("100")) + g.Expect(currentClaim.Status.AllocationRef).NotTo(BeNil()) + g.Expect(currentClaim.Status.AllocationRef.Kind).To(Equal("Index")) condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) g.Expect(condition).NotTo(BeNil()) @@ -64,9 +64,16 @@ var _ = Describe("Claim Controller", func() { currentPool := &poolv1alpha1.IndexPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) - g.Expect(currentPool.Status.Allocated).To(Equal("1")) - g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) - g.Expect(currentPool.Status.Allocations[0].Index).To(Equal(uint64(100))) + g.Expect(currentPool.Status.Allocated).To(Equal(int32(1))) + + indices := &poolv1alpha1.IndexList{} + g.Expect(k8sManager.GetClient().List( + ctx, indices, + client.InNamespace(metav1.NamespaceDefault), + client.MatchingFields{poolRefIndexKey: pool.Name}, + )).To(Succeed()) + g.Expect(indices.Items).To(HaveLen(1)) + g.Expect(indices.Items[0].Spec.Index).To(Equal(int64(100))) }).Should(Succeed()) }) @@ -108,9 +115,9 @@ var _ = Describe("Claim Controller", func() { Eventually(func(g Gomega) { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.IPAddress).To(HaveValue(Equal("10.0.0.0"))) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.0.0.0")) + g.Expect(currentClaim.Status.Value).To(Equal("10.0.0.0")) + g.Expect(currentClaim.Status.AllocationRef).NotTo(BeNil()) + g.Expect(currentClaim.Status.AllocationRef.Kind).To(Equal("IPAddress")) condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) g.Expect(condition).NotTo(BeNil()) @@ -118,8 +125,16 @@ var _ = Describe("Claim Controller", func() { currentPool := &poolv1alpha1.IPAddressPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) - g.Expect(currentPool.Status.Allocated).To(Equal("1")) - g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + g.Expect(currentPool.Status.Allocated).To(Equal(int32(1))) + + ipaddresses := &poolv1alpha1.IPAddressList{} + g.Expect(k8sManager.GetClient().List( + ctx, ipaddresses, + client.InNamespace(metav1.NamespaceDefault), + client.MatchingFields{poolRefIndexKey: pool.Name}, + )).To(Succeed()) + g.Expect(ipaddresses.Items).To(HaveLen(1)) + g.Expect(ipaddresses.Items[0].Spec.Address.String()).To(Equal("10.0.0.0")) }).Should(Succeed()) }) @@ -164,9 +179,9 @@ var _ = Describe("Claim Controller", func() { Eventually(func(g Gomega) { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Prefix).To(HaveValue(HaveField("String()", Equal("10.1.0.0/26")))) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.1.0.0/26")) + g.Expect(currentClaim.Status.Value).To(Equal("10.1.0.0/26")) + g.Expect(currentClaim.Status.AllocationRef).NotTo(BeNil()) + g.Expect(currentClaim.Status.AllocationRef.Kind).To(Equal("IPPrefix")) condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) g.Expect(condition).NotTo(BeNil()) @@ -174,8 +189,16 @@ var _ = Describe("Claim Controller", func() { currentPool := &poolv1alpha1.IPPrefixPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) - g.Expect(currentPool.Status.Allocated).To(Equal("1")) - g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) + g.Expect(currentPool.Status.Allocated).To(Equal(int32(1))) + + ipprefixes := &poolv1alpha1.IPPrefixList{} + g.Expect(k8sManager.GetClient().List( + ctx, ipprefixes, + client.InNamespace(metav1.NamespaceDefault), + client.MatchingFields{poolRefIndexKey: pool.Name}, + )).To(Succeed()) + g.Expect(ipprefixes.Items).To(HaveLen(1)) + g.Expect(ipprefixes.Items[0].Spec.Prefix.String()).To(Equal("10.1.0.0/26")) }).Should(Succeed()) }) @@ -202,10 +225,10 @@ var _ = Describe("Claim Controller", func() { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) - g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolRefInvalidReason)) + cond := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(cond).NotTo(BeNil()) + g.Expect(cond.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(cond.Reason).To(Equal(poolv1alpha1.PoolRefInvalidReason)) }).Should(Succeed()) }) @@ -232,11 +255,11 @@ var _ = Describe("Claim Controller", func() { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) - g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolNotFoundReason)) - g.Expect(condition.Message).To(ContainSubstring("missing-pool")) + cond := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) + g.Expect(cond).NotTo(BeNil()) + g.Expect(cond.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(cond.Reason).To(Equal(poolv1alpha1.PoolNotFoundReason)) + g.Expect(cond.Message).To(ContainSubstring("missing-pool")) }).Should(Succeed()) }) @@ -273,11 +296,11 @@ var _ = Describe("Claim Controller", func() { Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, firstClaim))).To(Succeed()) }) + // Wait until first claim is allocated. Eventually(func(g Gomega) { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(firstClaim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + g.Expect(currentClaim.Status.Value).NotTo(BeEmpty()) }).Should(Succeed()) secondClaim := &poolv1alpha1.Claim{ @@ -302,11 +325,11 @@ var _ = Describe("Claim Controller", func() { claim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(secondClaim), claim)).To(Succeed()) - condition := conditions.Get(claim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) - g.Expect(condition.Reason).To(Equal(poolv1alpha1.PoolExhaustedReason)) - g.Expect(claim.Status.Allocation).To(BeNil()) + cond := conditions.Get(claim, poolv1alpha1.AllocatedCondition) + g.Expect(cond).NotTo(BeNil()) + g.Expect(cond.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(cond.Reason).To(Equal(poolv1alpha1.PoolExhaustedReason)) + g.Expect(claim.Status.Value).To(BeEmpty()) }).Should(Succeed()) }) @@ -346,11 +369,12 @@ var _ = Describe("Claim Controller", func() { Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) }) + var allocName string Eventually(func(g Gomega) { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.IPAddress).NotTo(BeNil()) + g.Expect(currentClaim.Status.AllocationRef).NotTo(BeNil()) + allocName = currentClaim.Status.AllocationRef.Name }).Should(Succeed()) Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) @@ -358,11 +382,18 @@ var _ = Describe("Claim Controller", func() { return apierrors.IsNotFound(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), &poolv1alpha1.Claim{})) }).Should(BeTrue()) + // After deletion the IPAddress object should be gone (Recycle policy). + Eventually(func() bool { + return apierrors.IsNotFound(k8sClient.Get(ctx, client.ObjectKey{ + Name: allocName, + Namespace: metav1.NamespaceDefault, + }, &poolv1alpha1.IPAddress{})) + }).Should(BeTrue()) + Eventually(func(g Gomega) { currentPool := &poolv1alpha1.IPAddressPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) - g.Expect(currentPool.Status.Allocated).To(Equal("0")) - g.Expect(currentPool.Status.Allocations).To(BeEmpty()) + g.Expect(currentPool.Status.Allocated).To(Equal(int32(0))) }).Should(Succeed()) }) @@ -400,11 +431,12 @@ var _ = Describe("Claim Controller", func() { Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) }) + var allocName string Eventually(func(g Gomega) { currentClaim := &poolv1alpha1.Claim{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) + g.Expect(currentClaim.Status.AllocationRef).NotTo(BeNil()) + allocName = currentClaim.Status.AllocationRef.Name }).Should(Succeed()) Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) @@ -412,240 +444,21 @@ var _ = Describe("Claim Controller", func() { return apierrors.IsNotFound(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), &poolv1alpha1.Claim{})) }).Should(BeTrue()) + // After deletion the Index object should still exist (Retain policy) but have no claimRef. Eventually(func(g Gomega) { - currentPool := &poolv1alpha1.IndexPool{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) - g.Expect(currentPool.Status.Allocated).To(Equal("1")) - g.Expect(currentPool.Status.Allocations).To(HaveLen(1)) - g.Expect(currentPool.Status.Allocations[0].Retained).To(BeTrue()) + idx := &poolv1alpha1.Index{} + g.Expect(k8sClient.Get(ctx, client.ObjectKey{ + Name: allocName, + Namespace: metav1.NamespaceDefault, + }, idx)).To(Succeed()) + g.Expect(idx.Spec.ClaimRef).To(BeNil()) }).Should(Succeed()) - }) - - It("allocates the preferred index when the annotation is set", func() { - pool := &poolv1alpha1.IndexPool{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "preferred-index-pool-", - Namespace: metav1.NamespaceDefault, - }, - Spec: poolv1alpha1.IndexPoolSpec{ - Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("100..110")}, - }, - } - Expect(k8sClient.Create(ctx, pool)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) - }) - - claim := &poolv1alpha1.Claim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "claim-", - Namespace: metav1.NamespaceDefault, - Annotations: map[string]string{ - poolv1alpha1.PreferredValueAnnotation: "105", - }, - }, - Spec: poolv1alpha1.ClaimSpec{ - PoolRef: corev1alpha1.TypedLocalObjectReference{ - APIVersion: poolv1alpha1.GroupVersion.String(), - Kind: "IndexPool", - Name: pool.Name, - }, - }, - } - Expect(k8sClient.Create(ctx, claim)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) - }) Eventually(func(g Gomega) { - currentClaim := &poolv1alpha1.Claim{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Index).NotTo(BeNil()) - g.Expect(*currentClaim.Status.Allocation.Index).To(Equal(uint64(105))) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("105")) - - condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) - }).Should(Succeed()) - }) - - It("allocates the preferred IP address when the annotation is set", func() { - pool := &poolv1alpha1.IPAddressPool{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "preferred-ip-pool-", - Namespace: metav1.NamespaceDefault, - }, - Spec: poolv1alpha1.IPAddressPoolSpec{ - Prefixes: []corev1alpha1.IPPrefix{ - corev1alpha1.MustParsePrefix("10.0.0.0/28"), - }, - }, - } - Expect(k8sClient.Create(ctx, pool)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) - }) - - claim := &poolv1alpha1.Claim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "claim-", - Namespace: metav1.NamespaceDefault, - Annotations: map[string]string{ - poolv1alpha1.PreferredValueAnnotation: "10.0.0.7", - }, - }, - Spec: poolv1alpha1.ClaimSpec{ - PoolRef: corev1alpha1.TypedLocalObjectReference{ - APIVersion: poolv1alpha1.GroupVersion.String(), - Kind: "IPAddressPool", - Name: pool.Name, - }, - }, - } - Expect(k8sClient.Create(ctx, claim)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) - }) - - Eventually(func(g Gomega) { - currentClaim := &poolv1alpha1.Claim{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.IPAddress).To(HaveValue(Equal("10.0.0.7"))) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.0.0.7")) - - condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) - }).Should(Succeed()) - }) - - It("allocates the preferred prefix when the annotation is set", func() { - pool := &poolv1alpha1.IPPrefixPool{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "preferred-prefix-pool-", - Namespace: metav1.NamespaceDefault, - }, - Spec: poolv1alpha1.IPPrefixPoolSpec{ - Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ - { - Prefix: corev1alpha1.MustParsePrefix("10.2.0.0/24"), - PrefixLength: 26, - }, - }, - }, - } - Expect(k8sClient.Create(ctx, pool)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) - }) - - claim := &poolv1alpha1.Claim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "claim-", - Namespace: metav1.NamespaceDefault, - Annotations: map[string]string{ - poolv1alpha1.PreferredValueAnnotation: "10.2.0.128/26", - }, - }, - Spec: poolv1alpha1.ClaimSpec{ - PoolRef: corev1alpha1.TypedLocalObjectReference{ - APIVersion: poolv1alpha1.GroupVersion.String(), - Kind: "IPPrefixPool", - Name: pool.Name, - }, - }, - } - Expect(k8sClient.Create(ctx, claim)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, claim))).To(Succeed()) - }) - - Eventually(func(g Gomega) { - currentClaim := &poolv1alpha1.Claim{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(claim), currentClaim)).To(Succeed()) - g.Expect(currentClaim.Status.Allocation).NotTo(BeNil()) - g.Expect(currentClaim.Status.Allocation.Prefix).To(HaveValue(HaveField("String()", Equal("10.2.0.128/26")))) - g.Expect(currentClaim.Status.Allocation.Value).To(Equal("10.2.0.128/26")) - - condition := conditions.Get(currentClaim, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) - }).Should(Succeed()) - }) - - It("sets PreferredValueUnavailable condition when the preferred value is taken", func() { - pool := &poolv1alpha1.IndexPool{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "preferred-taken-pool-", - Namespace: metav1.NamespaceDefault, - }, - Spec: poolv1alpha1.IndexPoolSpec{ - Ranges: []corev1alpha1.IndexRange{corev1alpha1.MustParseIndexRange("100..100")}, - }, - } - Expect(k8sClient.Create(ctx, pool)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) - }) - - firstClaim := &poolv1alpha1.Claim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "claim-", - Namespace: metav1.NamespaceDefault, - }, - Spec: poolv1alpha1.ClaimSpec{ - PoolRef: corev1alpha1.TypedLocalObjectReference{ - APIVersion: poolv1alpha1.GroupVersion.String(), - Kind: "IndexPool", - Name: pool.Name, - }, - }, - } - Expect(k8sClient.Create(ctx, firstClaim)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, firstClaim))).To(Succeed()) - }) - - Eventually(func(g Gomega) { - current := &poolv1alpha1.Claim{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(firstClaim), current)).To(Succeed()) - g.Expect(current.Status.Allocation).NotTo(BeNil()) - g.Expect(current.Status.Allocation.Index).NotTo(BeNil()) - }).Should(Succeed()) - - secondClaim := &poolv1alpha1.Claim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "claim-", - Namespace: metav1.NamespaceDefault, - Annotations: map[string]string{ - poolv1alpha1.PreferredValueAnnotation: "100", - }, - }, - Spec: poolv1alpha1.ClaimSpec{ - PoolRef: corev1alpha1.TypedLocalObjectReference{ - APIVersion: poolv1alpha1.GroupVersion.String(), - Kind: "IndexPool", - Name: pool.Name, - }, - }, - } - Expect(k8sClient.Create(ctx, secondClaim)).To(Succeed()) - DeferCleanup(func() { - Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, secondClaim))).To(Succeed()) - }) - - Eventually(func(g Gomega) { - current := &poolv1alpha1.Claim{} - g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(secondClaim), current)).To(Succeed()) - - condition := conditions.Get(current, poolv1alpha1.AllocatedCondition) - g.Expect(condition).NotTo(BeNil()) - g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) - g.Expect(condition.Reason).To(Equal(poolv1alpha1.PreferredValueUnavailableReason)) - g.Expect(current.Status.Allocation).To(BeNil()) + currentPool := &poolv1alpha1.IndexPool{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), currentPool)).To(Succeed()) + // Index object still exists, so allocated count is still 1. + g.Expect(currentPool.Status.Allocated).To(Equal(int32(1))) }).Should(Succeed()) }) }) diff --git a/internal/controller/pool/doc.go b/internal/controller/pool/doc.go new file mode 100644 index 000000000..1472de5bb --- /dev/null +++ b/internal/controller/pool/doc.go @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +// Package pool contains controllers for the pool.networking.metal.ironcore.dev API group. +// It reconciles pool types (IndexPool, IPAddressPool, IPPrefixPool), their corresponding +// allocation objects (Index, IPAddress, IPPrefix), and Claims that request allocations +// from those pools. +package pool diff --git a/internal/controller/pool/index_controller.go b/internal/controller/pool/index_controller.go new file mode 100644 index 000000000..625a5d958 --- /dev/null +++ b/internal/controller/pool/index_controller.go @@ -0,0 +1,174 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "fmt" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + kerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/klog/v2" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IndexReconciler reconciles an Index object +type IndexReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indices,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indices/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools,verbs=get;list;watch + +func (r *IndexReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + idx := new(poolv1alpha1.Index) + if err := r.Get(ctx, req.NamespacedName, idx); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !idx.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := idx.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, idx.ObjectMeta) { + if err := r.Patch(ctx, idx.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, idx.Status) { + if err := r.Status().Patch(ctx, idx, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool := new(poolv1alpha1.IndexPool) + if err := r.Get(ctx, client.ObjectKey{Name: idx.Spec.PoolRef.Name, Namespace: idx.Namespace}, pool); err != nil { + if apierrors.IsNotFound(err) { + conditions.Set(idx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolNotFoundForValidationReason, + Message: fmt.Sprintf("Referenced pool %q not found", idx.Spec.PoolRef.Name), + }) + return ctrl.Result{}, nil + } + return ctrl.Result{}, err + } + + // Ensure the pool owns this allocation for garbage collection on pool deletion. + if err := controllerutil.SetOwnerReference(pool, idx, r.Scheme); err != nil { + return ctrl.Result{}, err + } + + if idx.Spec.Index < 0 { + conditions.Set(idx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Index %d is out of range for pool %q", idx.Spec.Index, idx.Spec.PoolRef.Name), + }) + return ctrl.Result{}, nil + } + + value := uint64(idx.Spec.Index) // #nosec G115 + + inRange := false + for _, r := range pool.Spec.Ranges { + if value >= r.Start && value <= r.End { + inRange = true + break + } + } + + if inRange { + conditions.Set(idx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.ValueInRangeReason, + Message: fmt.Sprintf("Index %d is within range of pool %q", idx.Spec.Index, idx.Spec.PoolRef.Name), + }) + } else { + conditions.Set(idx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Index %d is out of range for pool %q", idx.Spec.Index, idx.Spec.PoolRef.Name), + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IndexReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error { + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.Index{}, poolRefIndexKey, func(obj client.Object) []string { + return []string{obj.(*poolv1alpha1.Index).Spec.PoolRef.Name} + }); err != nil { + return err + } + + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.Index{}). + Named("pool-index"). + // Watches enqueues Index objects based on changes to their referenced IndexPool. + // Triggers on create, spec update, and delete events since the pool's ranges determine validity. + Watches( + &poolv1alpha1.IndexPool{}, + handler.EnqueueRequestsFromMapFunc(r.indicesForPool), + builder.WithPredicates(predicate.GenerationChangedPredicate{}), + ). + Complete(r) +} + +// indicesForPool maps an IndexPool to all Index objects that reference it. +func (r *IndexReconciler) indicesForPool(ctx context.Context, obj client.Object) []reconcile.Request { + log := ctrl.LoggerFrom(ctx, "IndexPool", klog.KObj(obj)) + + indices := &poolv1alpha1.IndexList{} + if err := r.List(ctx, indices, client.InNamespace(obj.GetNamespace()), client.MatchingFields{poolRefIndexKey: obj.GetName()}); err != nil { + log.Error(err, "Failed to list Index objects") + return nil + } + + requests := make([]reconcile.Request, len(indices.Items)) + for i, idx := range indices.Items { + log.Info("Enqueuing Index for reconciliation", "Index", klog.KObj(&idx)) + requests[i] = reconcile.Request{ + NamespacedName: types.NamespacedName{ + Name: idx.Name, + Namespace: idx.Namespace, + }, + } + } + return requests +} diff --git a/internal/controller/pool/index_controller_test.go b/internal/controller/pool/index_controller_test.go new file mode 100644 index 000000000..e12838f61 --- /dev/null +++ b/internal/controller/pool/index_controller_test.go @@ -0,0 +1,109 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("Index Controller", func() { + It("sets Valid=True when the index value is within the pool range", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "idxpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + idx := &poolv1alpha1.Index{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "idx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + Index: 5, + }, + } + Expect(k8sClient.Create(ctx, idx)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, idx))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.Index{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(idx), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueInRangeReason)) + }).Should(Succeed()) + }) + + It("sets Valid=False when the index value is outside the pool range", func() { + pool := &poolv1alpha1.IndexPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "idxpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexPoolSpec{ + Ranges: []corev1alpha1.IndexRange{ + corev1alpha1.MustParseIndexRange("1..10"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + idx := &poolv1alpha1.Index{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "idx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + Index: 99, + }, + } + Expect(k8sClient.Create(ctx, idx)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, idx))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.Index{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(idx), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueOutOfRangeReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/indexpool_controller.go b/internal/controller/pool/indexpool_controller.go index 558fa7ad0..1439fb6ab 100644 --- a/internal/controller/pool/indexpool_controller.go +++ b/internal/controller/pool/indexpool_controller.go @@ -11,9 +11,15 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/event" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" "github.com/ironcore-dev/network-operator/internal/conditions" @@ -27,13 +33,8 @@ type IndexPoolReconciler struct { // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indexpools/finalizers,verbs=update +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=indices,verbs=get;list;watch -// Reconcile is part of the main kubernetes reconciliation loop which aims to -// move the current state of the cluster closer to the desired state. -// -// For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile func (r *IndexPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { log := ctrl.LoggerFrom(ctx) log.Info("Reconciling resource") @@ -69,8 +70,17 @@ func (r *IndexPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( } }() + indices := &poolv1alpha1.IndexList{} + if err := r.List( + ctx, indices, + client.InNamespace(pool.Namespace), + client.MatchingFields{poolRefIndexKey: pool.Name}, + ); err != nil { + return ctrl.Result{}, err + } + + pool.Status.Allocated = int32(len(indices.Items)) // #nosec G115 pool.Status.Total = strconv.FormatUint(pool.Total(), 10) - pool.Status.Allocated = strconv.Itoa(pool.Allocated()) if pool.IsExhausted() { conditions.Set(pool, metav1.Condition{ @@ -96,5 +106,26 @@ func (r *IndexPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&poolv1alpha1.IndexPool{}). Named("pool-indexpool"). + // Watches enqueues IndexPools based on updates of contained Index resources. + // Only triggers on create and delete events since poolRefs are immutable. + Watches( + &poolv1alpha1.Index{}, + handler.EnqueueRequestsFromMapFunc(func(_ context.Context, obj client.Object) []reconcile.Request { + return []reconcile.Request{{ + NamespacedName: types.NamespacedName{ + Name: obj.(*poolv1alpha1.Index).Spec.PoolRef.Name, + Namespace: obj.GetNamespace(), + }, + }} + }), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + return false + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). Complete(r) } diff --git a/internal/controller/pool/indexpool_controller_test.go b/internal/controller/pool/indexpool_controller_test.go index cc4d9187d..a126e7e0b 100644 --- a/internal/controller/pool/indexpool_controller_test.go +++ b/internal/controller/pool/indexpool_controller_test.go @@ -42,7 +42,7 @@ var _ = Describe("IndexPool Controller", func() { current := &poolv1alpha1.IndexPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("10")) - g.Expect(current.Status.Allocated).To(Equal("0")) + g.Expect(current.Status.Allocated).To(Equal(int32(0))) }).Should(Succeed()) }) @@ -58,24 +58,38 @@ var _ = Describe("IndexPool Controller", func() { }) It("Should set Available=False when the pool is exhausted", func() { - By("Exhausting the pool by filling all allocations in status") + By("Waiting for the pool total to be reconciled") Eventually(func(g Gomega) { current := &poolv1alpha1.IndexPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("10")) }).Should(Succeed()) - By("Patching the pool status with full allocations") - orig := pool.DeepCopy() - allocations := make([]poolv1alpha1.IndexAllocation, 10) - for i := range allocations { - allocations[i] = poolv1alpha1.IndexAllocation{ - ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy"}, - Index: uint64(i + 1), + By("Creating Index objects to fill all 10 slots") + var createdIndices []*poolv1alpha1.Index + for i := 1; i <= 10; i++ { + idx := &poolv1alpha1.Index{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "idx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IndexSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IndexPool", + Name: pool.Name, + }, + Index: int64(i), + }, } + Expect(k8sClient.Create(ctx, idx)).To(Succeed()) + createdIndices = append(createdIndices, idx) } - pool.Status.Allocations = allocations - Expect(k8sClient.Status().Patch(ctx, pool, client.MergeFrom(orig))).To(Succeed()) + DeferCleanup(func() { + for _, idx := range createdIndices { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, idx))).To(Succeed()) + } + }) Eventually(func(g Gomega) { current := &poolv1alpha1.IndexPool{} diff --git a/internal/controller/pool/ipaddress_controller.go b/internal/controller/pool/ipaddress_controller.go new file mode 100644 index 000000000..c1a3d2e53 --- /dev/null +++ b/internal/controller/pool/ipaddress_controller.go @@ -0,0 +1,173 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "fmt" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + kerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/klog/v2" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IPAddressReconciler reconciles an IPAddress object +type IPAddressReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresses,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresses/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools,verbs=get;list;watch + +func (r *IPAddressReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + ipa := new(poolv1alpha1.IPAddress) + if err := r.Get(ctx, req.NamespacedName, ipa); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !ipa.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := ipa.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, ipa.ObjectMeta) { + if err := r.Patch(ctx, ipa.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, ipa.Status) { + if err := r.Status().Patch(ctx, ipa, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool := new(poolv1alpha1.IPAddressPool) + if err := r.Get(ctx, client.ObjectKey{Name: ipa.Spec.PoolRef.Name, Namespace: ipa.Namespace}, pool); err != nil { + if apierrors.IsNotFound(err) { + conditions.Set(ipa, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolNotFoundForValidationReason, + Message: fmt.Sprintf("Referenced pool %q not found", ipa.Spec.PoolRef.Name), + }) + return ctrl.Result{}, nil + } + return ctrl.Result{}, err + } + + // Ensure the pool owns this allocation for garbage collection on pool deletion. + if err := controllerutil.SetOwnerReference(pool, ipa, r.Scheme); err != nil { + return ctrl.Result{}, err + } + + addr := ipa.Spec.Address + if !addr.IsValid() { + conditions.Set(ipa, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Address %q is not a valid IP address", addr), + }) + return ctrl.Result{}, nil + } + + inRange := false + for _, prefix := range pool.Spec.Prefixes { + if prefix.Masked().Contains(addr.Addr) { + inRange = true + break + } + } + + if inRange { + conditions.Set(ipa, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.ValueInRangeReason, + Message: fmt.Sprintf("Address %q is within range of pool %q", addr, ipa.Spec.PoolRef.Name), + }) + } else { + conditions.Set(ipa, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Address %q is out of range for pool %q", addr, ipa.Spec.PoolRef.Name), + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IPAddressReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error { + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.IPAddress{}, poolRefIndexKey, func(obj client.Object) []string { + return []string{obj.(*poolv1alpha1.IPAddress).Spec.PoolRef.Name} + }); err != nil { + return err + } + + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.IPAddress{}). + Named("pool-ipaddress"). + // Watches enqueues IPAddress objects based on changes to their referenced IPAddressPool. + // Triggers on create, spec update, and delete events since the pool's prefixes determine validity. + Watches( + &poolv1alpha1.IPAddressPool{}, + handler.EnqueueRequestsFromMapFunc(r.ipAddressesForPool), + builder.WithPredicates(predicate.GenerationChangedPredicate{}), + ). + Complete(r) +} + +// ipAddressesForPool maps an IPAddressPool to all IPAddress objects that reference it. +func (r *IPAddressReconciler) ipAddressesForPool(ctx context.Context, obj client.Object) []reconcile.Request { + log := ctrl.LoggerFrom(ctx, "IPAddressPool", klog.KObj(obj)) + + addresses := &poolv1alpha1.IPAddressList{} + if err := r.List(ctx, addresses, client.InNamespace(obj.GetNamespace()), client.MatchingFields{poolRefIndexKey: obj.GetName()}); err != nil { + log.Error(err, "Failed to list IPAddress objects") + return nil + } + + requests := make([]reconcile.Request, len(addresses.Items)) + for i, ipa := range addresses.Items { + log.Info("Enqueuing IPAddress for reconciliation", "IPAddress", klog.KObj(&ipa)) + requests[i] = reconcile.Request{ + NamespacedName: types.NamespacedName{ + Name: ipa.Name, + Namespace: ipa.Namespace, + }, + } + } + return requests +} diff --git a/internal/controller/pool/ipaddress_controller_test.go b/internal/controller/pool/ipaddress_controller_test.go new file mode 100644 index 000000000..a33041902 --- /dev/null +++ b/internal/controller/pool/ipaddress_controller_test.go @@ -0,0 +1,109 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("IPAddress Controller", func() { + It("sets Valid=True when the address is within the pool prefix", func() { + pool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipapool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/24"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + ipa := &poolv1alpha1.IPAddress{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipa-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: pool.Name, + }, + Address: corev1alpha1.MustParseAddr("10.0.0.42"), + }, + } + Expect(k8sClient.Create(ctx, ipa)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, ipa))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddress{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(ipa), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueInRangeReason)) + }).Should(Succeed()) + }) + + It("sets Valid=False when the address is outside the pool prefix", func() { + pool := &poolv1alpha1.IPAddressPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipapool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressPoolSpec{ + Prefixes: []corev1alpha1.IPPrefix{ + corev1alpha1.MustParsePrefix("10.0.0.0/24"), + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + ipa := &poolv1alpha1.IPAddress{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipa-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: pool.Name, + }, + Address: corev1alpha1.MustParseAddr("192.168.1.1"), + }, + } + Expect(k8sClient.Create(ctx, ipa)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, ipa))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPAddress{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(ipa), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueOutOfRangeReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/ipaddresspool_controller.go b/internal/controller/pool/ipaddresspool_controller.go index 6bfbb6823..58357a57d 100644 --- a/internal/controller/pool/ipaddresspool_controller.go +++ b/internal/controller/pool/ipaddresspool_controller.go @@ -5,15 +5,20 @@ package pool import ( "context" - "strconv" "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/event" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" "github.com/ironcore-dev/network-operator/internal/conditions" @@ -27,13 +32,8 @@ type IPAddressPoolReconciler struct { // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresspools/finalizers,verbs=update +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipaddresses,verbs=get;list;watch -// Reconcile is part of the main kubernetes reconciliation loop which aims to -// move the current state of the cluster closer to the desired state. -// -// For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile func (r *IPAddressPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { log := ctrl.LoggerFrom(ctx) log.Info("Reconciling resource") @@ -69,8 +69,17 @@ func (r *IPAddressPoolReconciler) Reconcile(ctx context.Context, req ctrl.Reques } }() + addresses := &poolv1alpha1.IPAddressList{} + if err := r.List( + ctx, addresses, + client.InNamespace(pool.Namespace), + client.MatchingFields{poolRefIndexKey: pool.Name}, + ); err != nil { + return ctrl.Result{}, err + } + + pool.Status.Allocated = int32(len(addresses.Items)) // #nosec G115 pool.Status.Total = pool.Total().String() - pool.Status.Allocated = strconv.Itoa(pool.Allocated()) if pool.IsExhausted() { conditions.Set(pool, metav1.Condition{ @@ -96,5 +105,26 @@ func (r *IPAddressPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&poolv1alpha1.IPAddressPool{}). Named("pool-ipaddresspool"). + // Watches enqueues IPAddressPools based on updates of contained IPAddress resources. + // Only triggers on create and delete events since poolRefs are immutable. + Watches( + &poolv1alpha1.IPAddress{}, + handler.EnqueueRequestsFromMapFunc(func(_ context.Context, obj client.Object) []reconcile.Request { + return []reconcile.Request{{ + NamespacedName: types.NamespacedName{ + Name: obj.(*poolv1alpha1.IPAddress).Spec.PoolRef.Name, + Namespace: obj.GetNamespace(), + }, + }} + }), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + return false + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). Complete(r) } diff --git a/internal/controller/pool/ipaddresspool_controller_test.go b/internal/controller/pool/ipaddresspool_controller_test.go index c77d9896f..fd91cec57 100644 --- a/internal/controller/pool/ipaddresspool_controller_test.go +++ b/internal/controller/pool/ipaddresspool_controller_test.go @@ -42,7 +42,7 @@ var _ = Describe("IPAddressPool Controller", func() { current := &poolv1alpha1.IPAddressPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("256")) - g.Expect(current.Status.Allocated).To(Equal("0")) + g.Expect(current.Status.Allocated).To(Equal(int32(0))) }).Should(Succeed()) }) @@ -75,18 +75,32 @@ var _ = Describe("IPAddressPool Controller", func() { Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, singlePool))).To(Succeed()) }) - By("Patching the pool status with all addresses allocated") + By("Waiting for the pool total to be reconciled") Eventually(func(g Gomega) { current := &poolv1alpha1.IPAddressPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("1")) }).Should(Succeed()) - orig := singlePool.DeepCopy() - singlePool.Status.Allocations = []poolv1alpha1.IPAddressAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy"}, Address: "10.9.9.1"}, + By("Creating an IPAddress object to fill the single slot") + ipa := &poolv1alpha1.IPAddress{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "ipa-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPAddressSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPAddressPool", + Name: singlePool.Name, + }, + Address: corev1alpha1.MustParseAddr("10.9.9.1"), + }, } - Expect(k8sClient.Status().Patch(ctx, singlePool, client.MergeFrom(orig))).To(Succeed()) + Expect(k8sClient.Create(ctx, ipa)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, ipa))).To(Succeed()) + }) Eventually(func(g Gomega) { current := &poolv1alpha1.IPAddressPool{} diff --git a/internal/controller/pool/ipprefix_controller.go b/internal/controller/pool/ipprefix_controller.go new file mode 100644 index 000000000..67b4a1a8a --- /dev/null +++ b/internal/controller/pool/ipprefix_controller.go @@ -0,0 +1,173 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + "context" + "fmt" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + kerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/klog/v2" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" + + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +// IPPrefixReconciler reconciles an IPPrefix object +type IPPrefixReconciler struct { + client.Client + Scheme *runtime.Scheme +} + +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixes,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixes/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools,verbs=get;list;watch + +func (r *IPPrefixReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { + log := ctrl.LoggerFrom(ctx) + log.Info("Reconciling resource") + + pfx := new(poolv1alpha1.IPPrefix) + if err := r.Get(ctx, req.NamespacedName, pfx); err != nil { + if apierrors.IsNotFound(err) { + log.Info("Resource not found. Ignoring since object must be deleted") + return ctrl.Result{}, nil + } + log.Error(err, "Failed to get resource") + return ctrl.Result{}, err + } + + if !pfx.DeletionTimestamp.IsZero() { + log.Info("Resource is being deleted, skipping reconciliation") + return ctrl.Result{}, nil + } + + orig := pfx.DeepCopy() + defer func() { + if !equality.Semantic.DeepEqual(orig.ObjectMeta, pfx.ObjectMeta) { + if err := r.Patch(ctx, pfx.DeepCopy(), client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update resource metadata") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + if !equality.Semantic.DeepEqual(orig.Status, pfx.Status) { + if err := r.Status().Patch(ctx, pfx, client.MergeFrom(orig)); err != nil { + log.Error(err, "Failed to update status") + reterr = kerrors.NewAggregate([]error{reterr, err}) + } + } + }() + + pool := new(poolv1alpha1.IPPrefixPool) + if err := r.Get(ctx, client.ObjectKey{Name: pfx.Spec.PoolRef.Name, Namespace: pfx.Namespace}, pool); err != nil { + if apierrors.IsNotFound(err) { + conditions.Set(pfx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.PoolNotFoundForValidationReason, + Message: fmt.Sprintf("Referenced pool %q not found", pfx.Spec.PoolRef.Name), + }) + return ctrl.Result{}, nil + } + return ctrl.Result{}, err + } + + // Ensure the pool owns this allocation for garbage collection on pool deletion. + if err := controllerutil.SetOwnerReference(pool, pfx, r.Scheme); err != nil { + return ctrl.Result{}, err + } + + candidate := pfx.Spec.Prefix.Masked() + if !candidate.IsValid() { + conditions.Set(pfx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Prefix %q is invalid", pfx.Spec.Prefix), + }) + return ctrl.Result{}, nil + } + + inRange := false + for _, prefix := range pool.Spec.Prefixes { + if int32(candidate.Bits()) == prefix.PrefixLength && prefix.Prefix.Masked().Contains(candidate.Addr()) { // #nosec G115 + inRange = true + break + } + } + + if inRange { + conditions.Set(pfx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionTrue, + Reason: poolv1alpha1.ValueInRangeReason, + Message: fmt.Sprintf("Prefix %q is within range of pool %q", pfx.Spec.Prefix, pfx.Spec.PoolRef.Name), + }) + } else { + conditions.Set(pfx, metav1.Condition{ + Type: poolv1alpha1.ValidCondition, + Status: metav1.ConditionFalse, + Reason: poolv1alpha1.ValueOutOfRangeReason, + Message: fmt.Sprintf("Prefix %q is out of range for pool %q", pfx.Spec.Prefix, pfx.Spec.PoolRef.Name), + }) + } + + return ctrl.Result{}, nil +} + +// SetupWithManager sets up the controller with the Manager. +func (r *IPPrefixReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error { + if err := mgr.GetFieldIndexer().IndexField(ctx, &poolv1alpha1.IPPrefix{}, poolRefIndexKey, func(obj client.Object) []string { + return []string{obj.(*poolv1alpha1.IPPrefix).Spec.PoolRef.Name} + }); err != nil { + return err + } + + return ctrl.NewControllerManagedBy(mgr). + For(&poolv1alpha1.IPPrefix{}). + Named("pool-ipprefix"). + // Watches enqueues IPPrefix objects based on changes to their referenced IPPrefixPool. + // Triggers on create, spec update, and delete events since the pool's prefixes determine validity. + Watches( + &poolv1alpha1.IPPrefixPool{}, + handler.EnqueueRequestsFromMapFunc(r.ipPrefixesForPool), + builder.WithPredicates(predicate.GenerationChangedPredicate{}), + ). + Complete(r) +} + +// ipPrefixesForPool maps an IPPrefixPool to all IPPrefix objects that reference it. +func (r *IPPrefixReconciler) ipPrefixesForPool(ctx context.Context, obj client.Object) []reconcile.Request { + log := ctrl.LoggerFrom(ctx, "IPPrefixPool", klog.KObj(obj)) + + prefixes := &poolv1alpha1.IPPrefixList{} + if err := r.List(ctx, prefixes, client.InNamespace(obj.GetNamespace()), client.MatchingFields{poolRefIndexKey: obj.GetName()}); err != nil { + log.Error(err, "Failed to list IPPrefix objects") + return nil + } + + requests := make([]reconcile.Request, len(prefixes.Items)) + for i, pfx := range prefixes.Items { + log.Info("Enqueuing IPPrefix for reconciliation", "IPPrefix", klog.KObj(&pfx)) + requests[i] = reconcile.Request{ + NamespacedName: types.NamespacedName{ + Name: pfx.Name, + Namespace: pfx.Namespace, + }, + } + } + return requests +} diff --git a/internal/controller/pool/ipprefix_controller_test.go b/internal/controller/pool/ipprefix_controller_test.go new file mode 100644 index 000000000..5f79a3343 --- /dev/null +++ b/internal/controller/pool/ipprefix_controller_test.go @@ -0,0 +1,115 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + corev1alpha1 "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/conditions" +) + +var _ = Describe("IPPrefix Controller", func() { + It("sets Valid=True when the prefix is within the pool", func() { + pool := &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "pfxpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 26, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + pfx := &poolv1alpha1.IPPrefix{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "pfx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPPrefixPool", + Name: pool.Name, + }, + Prefix: corev1alpha1.MustParsePrefix("10.0.0.64/26"), + }, + } + Expect(k8sClient.Create(ctx, pfx)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pfx))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefix{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pfx), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueInRangeReason)) + }).Should(Succeed()) + }) + + It("sets Valid=False when the prefix is outside the pool", func() { + pool := &poolv1alpha1.IPPrefixPool{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "pfxpool-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixPoolSpec{ + Prefixes: []poolv1alpha1.IPPrefixPoolPrefix{ + { + Prefix: corev1alpha1.MustParsePrefix("10.0.0.0/24"), + PrefixLength: 26, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, pool)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pool))).To(Succeed()) + }) + + pfx := &poolv1alpha1.IPPrefix{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "pfx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPPrefixPool", + Name: pool.Name, + }, + Prefix: corev1alpha1.MustParsePrefix("192.168.1.0/26"), + }, + } + Expect(k8sClient.Create(ctx, pfx)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pfx))).To(Succeed()) + }) + + Eventually(func(g Gomega) { + current := &poolv1alpha1.IPPrefix{} + g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pfx), current)).To(Succeed()) + condition := conditions.Get(current, poolv1alpha1.ValidCondition) + g.Expect(condition).NotTo(BeNil()) + g.Expect(condition.Status).To(Equal(metav1.ConditionFalse)) + g.Expect(condition.Reason).To(Equal(poolv1alpha1.ValueOutOfRangeReason)) + }).Should(Succeed()) + }) +}) diff --git a/internal/controller/pool/ipprefixpool_controller.go b/internal/controller/pool/ipprefixpool_controller.go index 3e19578af..f8c506352 100644 --- a/internal/controller/pool/ipprefixpool_controller.go +++ b/internal/controller/pool/ipprefixpool_controller.go @@ -5,15 +5,20 @@ package pool import ( "context" - "strconv" "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/event" + "sigs.k8s.io/controller-runtime/pkg/handler" + "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" poolv1alpha1 "github.com/ironcore-dev/network-operator/api/pool/v1alpha1" "github.com/ironcore-dev/network-operator/internal/conditions" @@ -27,13 +32,8 @@ type IPPrefixPoolReconciler struct { // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixpools/finalizers,verbs=update +// +kubebuilder:rbac:groups=pool.networking.metal.ironcore.dev,resources=ipprefixes,verbs=get;list;watch -// Reconcile is part of the main kubernetes reconciliation loop which aims to -// move the current state of the cluster closer to the desired state. -// -// For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.20.2/pkg/reconcile func (r *IPPrefixPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.Result, reterr error) { log := ctrl.LoggerFrom(ctx) log.Info("Reconciling resource") @@ -69,8 +69,17 @@ func (r *IPPrefixPoolReconciler) Reconcile(ctx context.Context, req ctrl.Request } }() + prefixes := &poolv1alpha1.IPPrefixList{} + if err := r.List( + ctx, prefixes, + client.InNamespace(pool.Namespace), + client.MatchingFields{poolRefIndexKey: pool.Name}, + ); err != nil { + return ctrl.Result{}, err + } + + pool.Status.Allocated = int32(len(prefixes.Items)) // #nosec G115 pool.Status.Total = pool.Total().String() - pool.Status.Allocated = strconv.Itoa(pool.Allocated()) if pool.IsExhausted() { conditions.Set(pool, metav1.Condition{ @@ -96,5 +105,26 @@ func (r *IPPrefixPoolReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&poolv1alpha1.IPPrefixPool{}). Named("pool-ipprefixpool"). + // Watches enqueues IPPrefixPools based on updates of contained IPPrefix resources. + // Only triggers on create and delete events since poolRefs are immutable. + Watches( + &poolv1alpha1.IPPrefix{}, + handler.EnqueueRequestsFromMapFunc(func(_ context.Context, obj client.Object) []reconcile.Request { + return []reconcile.Request{{ + NamespacedName: types.NamespacedName{ + Name: obj.(*poolv1alpha1.IPPrefix).Spec.PoolRef.Name, + Namespace: obj.GetNamespace(), + }, + }} + }), + builder.WithPredicates(predicate.Funcs{ + UpdateFunc: func(e event.UpdateEvent) bool { + return false + }, + GenericFunc: func(e event.GenericEvent) bool { + return false + }, + }), + ). Complete(r) } diff --git a/internal/controller/pool/ipprefixpool_controller_test.go b/internal/controller/pool/ipprefixpool_controller_test.go index 0806ef33a..950a69598 100644 --- a/internal/controller/pool/ipprefixpool_controller_test.go +++ b/internal/controller/pool/ipprefixpool_controller_test.go @@ -45,7 +45,7 @@ var _ = Describe("IPPrefixPool Controller", func() { current := &poolv1alpha1.IPPrefixPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(pool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("16")) - g.Expect(current.Status.Allocated).To(Equal("0")) + g.Expect(current.Status.Allocated).To(Equal(int32(0))) }).Should(Succeed()) }) @@ -61,7 +61,7 @@ var _ = Describe("IPPrefixPool Controller", func() { }) It("Should set Available=False when the pool is exhausted", func() { - By("Creating a pool with a single prefix so it can be exhausted") + By("Creating a pool with two /31 prefixes so it can be exhausted") singlePool := &poolv1alpha1.IPPrefixPool{ ObjectMeta: metav1.ObjectMeta{ GenerateName: "ipprefixpool-single-", @@ -81,19 +81,34 @@ var _ = Describe("IPPrefixPool Controller", func() { Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, singlePool))).To(Succeed()) }) - By("Patching the pool status with all prefixes allocated") + By("Waiting for the pool total to be reconciled") Eventually(func(g Gomega) { current := &poolv1alpha1.IPPrefixPool{} g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(singlePool), current)).To(Succeed()) g.Expect(current.Status.Total).To(Equal("2")) }).Should(Succeed()) - orig := singlePool.DeepCopy() - singlePool.Status.Allocations = []poolv1alpha1.IPPrefixAllocation{ - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy-1"}, Prefix: corev1alpha1.MustParsePrefix("10.9.0.0/31")}, - {ClaimRef: corev1alpha1.LocalObjectReference{Name: "dummy-2"}, Prefix: corev1alpha1.MustParsePrefix("10.9.0.2/31")}, + By("Creating IPPrefix objects to fill both slots") + for _, cidr := range []string{"10.9.0.0/31", "10.9.0.2/31"} { + pfx := &poolv1alpha1.IPPrefix{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "pfx-", + Namespace: metav1.NamespaceDefault, + }, + Spec: poolv1alpha1.IPPrefixSpec{ + PoolRef: corev1alpha1.TypedLocalObjectReference{ + APIVersion: poolv1alpha1.GroupVersion.String(), + Kind: "IPPrefixPool", + Name: singlePool.Name, + }, + Prefix: corev1alpha1.MustParsePrefix(cidr), + }, + } + Expect(k8sClient.Create(ctx, pfx)).To(Succeed()) + DeferCleanup(func() { + Expect(client.IgnoreNotFound(k8sClient.Delete(ctx, pfx))).To(Succeed()) + }) } - Expect(k8sClient.Status().Patch(ctx, singlePool, client.MergeFrom(orig))).To(Succeed()) Eventually(func(g Gomega) { current := &poolv1alpha1.IPPrefixPool{} diff --git a/internal/controller/pool/poolref.go b/internal/controller/pool/poolref.go new file mode 100644 index 000000000..a9bc4cda1 --- /dev/null +++ b/internal/controller/pool/poolref.go @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package pool + +// poolRefIndexKey is the field index key shared by all allocation controllers +// (Index, IPAddress, IPPrefix) to look up objects by their referenced pool name. +const poolRefIndexKey = ".spec.poolRef.name" diff --git a/internal/controller/pool/suite_test.go b/internal/controller/pool/suite_test.go index a5b4d7e51..9a5022032 100644 --- a/internal/controller/pool/suite_test.go +++ b/internal/controller/pool/suite_test.go @@ -109,10 +109,27 @@ var _ = BeforeSuite(func() { }).SetupWithManager(k8sManager) Expect(err).NotTo(HaveOccurred()) + err = (&IndexReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(ctx, k8sManager) + Expect(err).NotTo(HaveOccurred()) + + err = (&IPAddressReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(ctx, k8sManager) + Expect(err).NotTo(HaveOccurred()) + + err = (&IPPrefixReconciler{ + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), + }).SetupWithManager(ctx, k8sManager) + Expect(err).NotTo(HaveOccurred()) + err = (&ClaimReconciler{ - Client: k8sManager.GetClient(), - Scheme: k8sManager.GetScheme(), - Recorder: recorder, + Client: k8sManager.GetClient(), + Scheme: k8sManager.GetScheme(), }).SetupWithManager(ctx, k8sManager) Expect(err).NotTo(HaveOccurred()) From d78ee8bda9d0ab5a6a1a371064ae697a9acec382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Wed, 22 Apr 2026 11:15:03 +0200 Subject: [PATCH 7/7] Update numbered resource allocation documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reflect the migration from embedded pool status allocations to dedicated allocation objects. Document the new allocation types (Index, IPAddress, IPPrefix), deterministic naming, pre-provisioning with the allow-binding annotation, and the updated claim status fields (status.value, status.allocationRef). Update the flow diagram to match the simplified allocation and reclaim logic. Signed-off-by: Felix Kästner --- docs/assets/numbered-resources-dark.png | 3 - docs/assets/numbered-resources-dark.svg | 4 + docs/assets/numbered-resources.png | 3 - docs/assets/numbered-resources.svg | 4 + docs/concepts/numbered-resources.md | 136 ++++++++++++++---------- 5 files changed, 85 insertions(+), 65 deletions(-) delete mode 100644 docs/assets/numbered-resources-dark.png create mode 100644 docs/assets/numbered-resources-dark.svg delete mode 100644 docs/assets/numbered-resources.png create mode 100644 docs/assets/numbered-resources.svg diff --git a/docs/assets/numbered-resources-dark.png b/docs/assets/numbered-resources-dark.png deleted file mode 100644 index f9c6f57ce..000000000 --- a/docs/assets/numbered-resources-dark.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef335eae390fd8cb443a3487d2e3960932e03a055b6b7cb31d5e20d4a0aaa123 -size 1196074 diff --git a/docs/assets/numbered-resources-dark.svg b/docs/assets/numbered-resources-dark.svg new file mode 100644 index 000000000..a32440475 --- /dev/null +++ b/docs/assets/numbered-resources-dark.svg @@ -0,0 +1,4 @@ + + +Claim(spec.poolRef)IndexPoolRanges: 64512..65534Allocates: IndexIPAddressPoolPrefixes: 10.0.0.0/24Allocates: IPAddressIPPrefixPoolPrefixes: 192.168.0.0/16PrefixLength: 24Allocates: IPPrefixpoolRef.kind =IndexPoolpoolRef.kind =IPAddressPoolpoolRef.kind =IPPrefixPoolAllocation LogicFind bound allocationby claimRefExistingallocation?YesReturn existingallocationNoAllocate next free valueCreate object withdeterministic nameCreatesucceeded?YesUpdate claim statusNo (exhausted)ErrPoolExhaustedDeletion / Reclaim LogicClaim deletedfinalizer runsReclaimPolicy= Recycle?YesDelete allocation objectNoClear claimRef(keep reserved) \ No newline at end of file diff --git a/docs/assets/numbered-resources.png b/docs/assets/numbered-resources.png deleted file mode 100644 index a6a2bbddc..000000000 --- a/docs/assets/numbered-resources.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a47c62a8ec62fb00e35f0f2fbf10b4fcae33b010a4f611ad38c3e327373d01e8 -size 1202192 diff --git a/docs/assets/numbered-resources.svg b/docs/assets/numbered-resources.svg new file mode 100644 index 000000000..f65cbe8f3 --- /dev/null +++ b/docs/assets/numbered-resources.svg @@ -0,0 +1,4 @@ + + +Claim(spec.poolRef)IndexPoolRanges: 64512..65534Allocates: IndexIPAddressPoolPrefixes: 10.0.0.0/24Allocates: IPAddressIPPrefixPoolPrefixes: 192.168.0.0/16PrefixLength: 24Allocates: IPPrefixpoolRef.kind =IndexPoolpoolRef.kind =IPAddressPoolpoolRef.kind =IPPrefixPoolAllocation LogicFind bound allocationby claimRefExistingallocation?YesReturn existingallocationNoAllocate next free valueCreate object withdeterministic nameCreatesucceeded?YesUpdate claim statusNo (exhausted)ErrPoolExhaustedDeletion / Reclaim LogicClaim deletedfinalizer runsReclaimPolicy= Recycle?YesDelete allocation objectNoClear claimRef(keep reserved) \ No newline at end of file diff --git a/docs/concepts/numbered-resources.md b/docs/concepts/numbered-resources.md index bb13257ae..11c9566ab 100644 --- a/docs/concepts/numbered-resources.md +++ b/docs/concepts/numbered-resources.md @@ -2,14 +2,15 @@ The Network Operator provides a pool-based allocation system for numbered resources such as indices (ASNs, VLAN IDs, route distinguishers), IP addresses, and IP prefixes. Resources are -claimed via a `Claim` object that references a pool; the controller allocates a value -automatically and writes it back to the claim's status. +claimed via a `Claim` object that references a pool; the controller allocates a value by creating +a dedicated allocation object (`Index`, `IPAddress`, or `IPPrefix`) and writes a reference back +to the claim's status.

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%0DAQCnkb>@!^790w#%v!qv|gtYtNPQJH1d?Aj#mc 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 V8x&T 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�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 z�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�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 MOTEt5De94pMzFZ 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 B(rdYJnkKpYdcZJm=FGli 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 z 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