diff --git a/k8s/configure_cluster.yaml b/k8s/configure_cluster.yaml index ebcbe3a..f42359b 100644 --- a/k8s/configure_cluster.yaml +++ b/k8s/configure_cluster.yaml @@ -1,6 +1,8 @@ - name: Configure cluster hosts: localhost roles: + # - role: gateway-api + - role: prometheus - role: postgres - role: csi - role: minio diff --git a/k8s/configure_postgres.yaml b/k8s/configure_postgres.yaml new file mode 100644 index 0000000..5ec7509 --- /dev/null +++ b/k8s/configure_postgres.yaml @@ -0,0 +1,4 @@ +- name: Configure postgres + hosts: localhost + roles: + - role: postgres-config \ No newline at end of file diff --git a/k8s/hack/postgres-client.yaml b/k8s/hack/postgres-client.yaml new file mode 100644 index 0000000..08a4e24 --- /dev/null +++ b/k8s/hack/postgres-client.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Pod +metadata: + name: psql-client + namespace: postgres +spec: + containers: + - name: psql + image: docker.io/alpine + command: + - "/bin/ash" + - -c + - sleep 7200 \ No newline at end of file diff --git a/k8s/inventory/clusters.yaml b/k8s/inventory/clusters.yaml index 0dd9972..193adc0 100644 --- a/k8s/inventory/clusters.yaml +++ b/k8s/inventory/clusters.yaml @@ -1,20 +1,20 @@ all: vars: ansible_user: root - k3s_version: v1.24.3+k3s1 extra_server_args: "--node-taint=node-type=master:NoSchedule --tls-san='2a01:4f9:c012:7d4b::1' --tls-san='k8s.icb4dc0.de' --tls-san='127.0.0.1'" extra_agent_args: "" ansible_ssh_common_args: '-o StrictHostKeyChecking=no' systemd_dir: /etc/systemd/system master_ip: "172.23.2.10" domain: icb4dc0.de - agola_image: code.icb4dc0.de/prskr/agola:latest children: control_plane: hosts: cp01: ansible_host: "95.216.168.169" k8s_ip: "172.23.2.10" + vars: + k3s_version: v1.25.4+k3s1 worker_nodes: hosts: worker01: @@ -23,4 +23,6 @@ all: worker02: ansible_host: "95.217.184.201" - k8s_ip: "172.23.2.21" \ No newline at end of file + k8s_ip: "172.23.2.21" + vars: + k3s_version: v1.25.4+k3s1 \ No newline at end of file diff --git a/k8s/inventory/group_vars/all.yml b/k8s/inventory/group_vars/all.yml index 16aed74..b53ffca 100644 --- a/k8s/inventory/group_vars/all.yml +++ b/k8s/inventory/group_vars/all.yml @@ -1,662 +1,670 @@ $ANSIBLE_VAULT;1.1;AES256 -39353561313338366465326635306139656365323563363364646337633939336337306563353437 -3461303664306339663463326662363735373031623733370a393436333762613634336239343962 -32316136383135313231386561343361613566643530326461633933313065656263666137656231 -3365373339396330300a663731653637383937343636393231316432373063376336633330633030 -35613762373961346434383664666635366338663138383866343638323332336632633534373637 -35376634326638626565633963353536656466626431323763663035356237373239643034373462 -38663030306536613735323037333365353164386361353862633435666664323636353237373536 -64613631343337373963613165336635333866623134383565316563376630356433353565323333 -66373434376536623032343135336435623838333738653266386436336338333831366239633538 -63326436666636663137623237333736623666343831336433613966643365663831333235356637 -33356639386437316631343161353962663533663333626631346436653565616533323666633438 -62356630323436616133353538653130366464626639643639643731643863336532623438623732 -34383535656361656531363031396365333630643563626530616265636636363439333037393737 -66323964623365616438313136376537303038333263646562323630323063323031633165613162 -38353733363834396566633437626166313165666230333630323038333638306563353838656466 -36386465396635613238376537323839376531616136373738616563646461633733383438393036 -39393362373965613438616532633439316333626165613338613437383561626161343034663064 -36323633366430363065663138303536656231326164613131663932353566393563643332326666 -66376161643631386461343430646436346137386339653332623961383434393363323232666662 -38373631356239303038393364343535383533616330623435323765343132633434626337626230 -66393831336564616434326663663334353639346664343032643337343365323930393737363334 -36633330363631333164393137663130616437653236313838363463613031323332393630373637 -64396139613663656430363264373331386163303634353335393837393964623039303636613639 -64353837333936633966303131373565646439663438653231633666613762376139633463303865 -39663631313739373866653666303666643736306636346463636431616333393463343564393966 -35396134623837303933653130623564316464316336346435653037373962326366373138303762 -66653831306133376634643930613963663430316437393539363634343332343933623932333434 -63646366636336323131363166626635313164613362653536373035353862326231663138623366 -32396337653037303666633935626439613530366566343937303265346363393761633737323935 -33343261363264353734303034343037363136666134393532663538623866363330386436323035 -64333262356431376433666237326236643435616231326639613730343633343834306561646235 -30353934633561663434616365323132636461353363616661646262326238363536663131336631 -39323036353834373664323733383361663333313236356662633935643461353231623665353762 -62383836613266613339643735316435616136343864376634653665343739646362303534353530 -31363063663733313337316163636362323562383062613563623338323930633366303337323661 -61613334643031356530383133346435626139393762303031313862633865643039613666656135 -61386233386234623734333338366165313830616261646536393466306565623031363338376530 -34356333316161313330663563376137616564353436646230336166353861373935363663316664 -63363962656431313963336362666264653338333931383436306466376231353866356531626532 -34613862643239613363643361343139343366383632383364373832393437336337343237636337 -35656535346164373161383439353665353739666565616661656563306531616139663635373336 -35663266373636613834393637363935666661393961363163373662336566373037623163373936 -35386363656136366463306165623631396235373239373934363364326466656263643137316333 -38326365323530373231656538633564323937313564323331373063366564336531386331313830 -61336663336463386231346666366537316234633465613630393366346433643765393237366536 -34653566346263386235666532653236303738393039333530383965643431663264326239326338 -63646436656435623231653430376434343233663736306265636439396262306438393639353263 -39383264363434303636306135363834383237333066646136313037653539313862663434363530 -38383838626461643635333638643737616666386365353333373037393930633337316631376365 -64666338336464323963656561656638633538653633663462363631666665623730303932616664 -33303165373333623637343432393434346233646637316639633739656464393539343035663533 -39393335643266306439663361633632366338316464663463343563373632353934336230333762 -35616134666137383137623233326538386239343263363134666661313664366264303933346138 -61396561636661663161653131363263623337613363366638653539323139383731336266356638 -34393138353766616436653339633764373535656338666464383333633063666362323330623332 -62383138326637363437643063643533613636356539363831353966653738633461666131376137 -35396631663134643961663464336666376339633362656661336465383039303765316534333733 -33643132646237303033346363646131613038376665663038646332656166363266613432353265 -64656264613030643832616563623061653366383435643061323637373231643264623061373966 -63656362306630323166636435653138393665653838353634623334356637313436623039626665 -35323761646163656231646166383464323736346333336433336136646131363139336136643066 -66393036373765356161336434326264366235643838643862666166616539313566353732386437 -31636132396366666631313762616333343333363639656262346563336561353165356663613437 -37336261353133643561646432396662633030663437643235393463383831623435353530626534 -64623130636136303535336133613835383162376339616661303663383434316236626539646630 -32343032333664373866363263373461373666643765613364393566303534653564366238363032 -32366664333130663132656330383265393662373739626239363339303363343465613562343331 -61336165636563346236383563333731303739626235616462396166393439333862306465363462 -34633234306536356539643731646534386438623438613335653930663862373662396464663735 -30613230363134326336353266623163336130643834316234636364623836653337303936633330 -64383665373837613166646530633231356137633534393930306137643933316162613765343237 -36366333333364386566623931303039613033336535663566313136336634643166343264646530 -32393034653437303261313137303931353962316137336431393536356362626664363362656261 -66386531393465356463616333323662393133653538663264326364336565303136643137656239 -62623531663834323533356461366533613832663931346461366136346366313939346232613637 -64333737633537613630386364313236633839376238303034373463616465656163326538323164 -34393233373865653830663139396639656430663935373930353234346561313865666462353361 -33653736653764393963646562633334613339353962363362313965393734643236393030313837 -61326232303432306534366163343633626232656231616532393738336566346638633064613431 -39393839323666313838396266326137363131613638366337393932336639356662616534373436 -65333434376633613133333166326665653166613838386433616139333234363533343661343136 -30383862346464616666323531656634313639376666613938333866356362393533313532383336 -64393236656636386435366131626262656530383932653734623561363935623466663933626336 -31316639613664396232623761396631643336643465326634383338346635616265333938383864 -30613663633963316331303533336237666663386332326536373765613632316165613635663533 -36346262303738613161643065356534633835386433383466643139343637646133626239333834 -66646532323532323234323466353836623331346561656166306265633162646162353464376532 -37336366323761313936303166356331363533373738373639646138366633623835356365373538 -39356566323134383232613835643737633266633861633935386236626365306664316231393237 -62373036393534313363303231326661343561653631653761616138383438343263653739613231 -30366431363533663832396333393136663165363931343838653138376431383562643230633838 -32363638643935373232336431643739336232336634373236323165373736656666343939336237 -63353231343134353737346632633266653166373132303763363736323036666634616137333030 -34633437323632663839616665383566313733336332343461386164363338336362653735316662 -66346134623065626564316339393538616130623133373263306666613466663364333936313663 -32633133383166316233656337333961623638373432326231646462666463393639396635626263 -33653566333164626564376666343137326334306333636133626638653332633436626133643233 -66326235373930353132383966323332383439343564613838633335363565383561373238326234 -64376434383066386235393830356437613533333366656234396336623136376431666237613164 -30356566383837333137326133363131333165373031383734383562643830616430313537653737 -37303566313636383265346566313937623364343031663137313661363239376434366339303535 -37643832323530383238656139333762643561643566346539376565386437383232656339373964 -64333432313033616530386565663261363330356466623230323239306166363761316531303661 -33383339373739663838633033363735353562383830633239333633393638383064346631663031 -65356434333134663365646238303435653133393431356139663861666634633564663865393361 -65663561366665663261663231643034666162623464366532643034336461613866376163393336 -37343934353961393035383263346334313562643337303030313164613831316665396430666631 -31653735326231653430313933383738623565613761323561373632306562353937363739613735 -66353261313934626365353634656537623964363061313339323534393534626465333966306430 -62353738353733366131623635643033343065626536336535633533636234663332633630376236 -38323937373965656334666633366661613062633836656562333061306632313638656239663132 -38353439303164376238373662313137653435323665316239656333653337373133313966323436 -35366130396639323264373166623765663231336538386261613466386130666461383936616337 -39303363346237393539366566356231323836323263343630623534306363656134373230616236 -66353064336561346631633930336566633563373432613765336263376137633134636539626234 -32396664383831343434623966363530643938393636343638383235393064393839333634323032 -65346132663836383432333238663634333362643637353663636633326437333466303038663338 -30336530366431336532373864386536613634623136393537343233663934643638663062666639 -63353566353762613361643537663331326133633263393538393064396163646138333766636464 -36636235383438653065306361373865326533623363303661643766386437383766656561373864 -30323664326134616232653864643830366433343636363639363136303131646662343635386564 -65393135343834336539313938303261366161303831373733656435656365643866366638333536 -62363833383537346436303330623864303630363362313562623638363738333261306132376437 -34353630343763336539366330383866323865343761623639386534623733313464383661373031 -35313861613563333265366639333066333036306331323231613765656632666664633665303232 -61316334653538393631623161646633666165346138303532303163316539343139643363383565 -36323962623566346366323239663561383732656166363533613837616662343138346537636363 -61323063306132326466303131653066333864303363616236643831356432363666306261313039 -66383333326636393065336331383264313366386632623262363933356230383739633261626239 -66303131376262636433383931666538313861343064636132373930636139396238656531633132 -62636136663437623163373635666435313062336135613939643565326266306231336433616538 -65343561303561653362306564613335333231323435316333343436333834303863383631663365 -32356561366130393066353162393931613836306264346234333362366266666130643738393264 -66356166626138633466633633333230373038626364613734393161646231303032343230316530 -39613065663463393037643263636264346538316132326462356439316464313137663534366263 -38663463346131313538626164383465653736653839313535366334623763636464303035306262 -32373836346266666365333165633866663239386665356331646261313962623636346138343865 -34353966633930373166363236373466643963656535626131363936336564636231393061306566 -38366437383533333535313439326661646138633432346363383139343564643731623165326235 -64346130316334663034643735366337323061633737386164623365366662323636323637653163 -64656533616265343337313833663061356461663537336364363031373938633763666630376262 -64656630383239316363333737633465646334326564306537613461666664636363616234316662 -35363332373663353433383962366362376434373337396164653434626335653065636133396337 -30663464626230653038613634336632386230393536353932353237336434376236353738626463 -34363037343136613439323865303362363666333338636433336237656636633364653064366162 -35326164323734346636656432336234636638363639663865353132373237303432323965336633 -37646434666163613234393837646666626339633339646235343866333032393865616662373439 -39656131663730626638646664376236313362393766343336326662643236373033313262663336 -65363733636639396666363066313136613161313937623737333364616433616564613466323935 -39666431653064326635376637363132366662393532656133326666643765663337366263306439 -65663138373263666630646138396337303061336637316232663437626530393065396231613466 -39376639616333343236636165396134633635616236396230316662396232356439303030383731 -33393965636461373133316438343264336434623161356266656234313565393465396338643763 -37306630643630396634303232623662613235653962636633623465626535306261353532383130 -37663334313535343732643065386639303831626130313766636332383731623935646236316237 -36363462616638383236353831343632626439366137323562646561326230626631306262613934 -37323362646137653730393236356635663865366135663339353866666464616164643538383561 -34656262306162393434626662333934656538353032366262366361373430626562633862623762 -61373136663239633865373034316537383564653135376661363934343130653939303966373035 -33366537336231323466316163333733656130383463336230326235333037623933316330343937 -32386530376234386330626464343837633039313334613634663233666137333733343537336330 -65383262383966633133386239336232363036663334343262343637623164323535326362376366 -61386263356136306132363438303032396632616632336664643232343066623637623738613734 -64333031353233613539343162353364343061373765326236623238346339613066343833616363 -66646362613765363531363833663363313637646466623061323130623136636135646565353431 -31616430396330373833376631363236366232653265343935303964363164303561326435306139 -33656137623861663938623366623062333730636463363162663135313337323332623364633261 -39333339623364306332663363623630393063373835633038653265306134333135323938626234 -34346364666263386430303336633561386365633530356134633432353131373738663363323933 -34643862396134333763653661353633623933396238383965313962633630646230393263353633 -62663334333035336431626566363763363364303065666565313938313162376638376366363436 -33396464616664623032646632396361363865393764626563326234313438353264353563363031 -64623363376232666432303139363231643232643665333431303135383766346534303463386265 -30363532303539613831396264373266346135333839376266666363306634333134353061336535 -35643838333961313339373863336535326138356232396566666166646636346437663937333135 -64613037313563383662343065623663363565393135616630326566633464376130343963373536 -66633465373332383366636432346235633966353465633537633532333236636266363864356361 -63353532326561613033393338343161313538613762303764333538393737613839303134306435 -66306438313537396131343465316437633962353636373732643362653031313337626238613964 -66313433643437343563396264353361373961386433323434646465646639643664313462303563 -30316339356263623532393163633234373437303839363336386439363432326562346439666564 -65303230326130353663366666396439666561616535303136306533343133633335323035313336 -61343266633339643737366333656464366530353061626537633762346134366135346364646566 -30646564383832616265643564353637346364663431633364386637303562323865386531323439 -33376362366563393663333338326339343139613339623235383066333765663534616338643164 -64623235343565386264623934343039363834353636363261356336663863373430353532326131 -61393339666332383530656438336634646138643834646436643933333730363065316137373732 -36373131663633643935316334303763366633666265343436626233346337356264373930343435 -63396136373437613363633735666432663865613466306133636336363932393730633563343734 -30656137613231623663306232323361653739383266336466366139316166626230366335353263 -30643733363033353031633736666530633366646333646334623334343533303335306464333261 -36313238653462643035383138626637373436333637383535363133333539656563646565613335 -31313138316635626233653861376261393330366235653865303139323832343636366432613834 -65666531653166663237623934633066383536396265333235376637636634326537333636646137 -62656262303764663630336539373435323232613964636430363732316135333330613836666130 -34643436323463646335396634366436653439363166343961656234653038373163366433643437 -66306561356362316163336166633935663965393333386531383534376663333163383334383365 -66643963376132636234303833626436373866376261376533306634333861623439653439653934 -30323863313930383563383864646362303261663464343538376361336632306434346366663463 -35353830363035383962613036336631343765646161376330636663306432343162633034646533 -34353433356564623761343034376263363836306435633732646333336564616363626530636364 -36313237613631306236633638366435656262393262643435663837366563653962663034613734 -32666134366233616561653736366462396232396532313966336539663630333062346335353566 -61646233326361653762623533663464393166353932613735633539323532663765653364363663 -63396430623737353432393263313233643137613037363031373435653536386134313137646539 -37383439313234303135653539336162663933643636333962303035626565393236646234343333 -31316334653564663631626330383632303164343533323331623763316461663061633262373464 -39356462656564613363396264336165663062323939656630366365396434396436643235633132 -63613161623137316232303131356136383366666366653131646337383366646631316638656265 -61643663613566633031303566343962363764626536336635356337623965616666613061393130 -65306139353637346633626334373138343134656333646364316636396636646166653337643236 -66663266316435356537313061666262646438646165353634363864393362623937363261633536 -35623763666633616465353735623661623539306266363333383937626636613764393266633862 -65343765333263383164303535383434316132323737343735303532313335633232633062343939 -36653662393039616235383031646563343563393362303133313833373762366430623166626636 -32626330326635363637343731303265343666373735666266386331346663383432383931313663 -62636134346435663235386137656334386437656631373432623339663064643462373339333938 -32333836613161383065333030616631353333323537343966396330623264323861356632646431 -39366630636661306137346332326232303862356231623031323465353763633537326661636332 -33336366633439623264306663393834326664623332303263613638336566346134653238326239 -32626661386231666361373732383865663563376338346430633462393063393037363766353465 -64656666616263393464346462653565376638326336303832633536363337643834343164386163 -61343961663563343331323665396464313365373762333130646633363937323562656566643732 -31393264303035366132323335613062383663653164363039313065303233313231313232633733 -39363633346264653638346236366638633239643237323561346339653330643333643039353230 -39373466343961623333613562303062653938323335623738316237306135623135663637326166 -62323862653863343362333463396435316234313565346531643538353632373161656161323035 -38343432306633326439363636653733653437326463613364636139663935343863323030383932 -66326439323036613162343931313536343536353862323334386463343236343639613039336530 -34633265616164623637636539626137396137396638353736373132396366363433623539396636 -34383365373032346235623237363139653337323033653331343635613331666139353863613139 -64323465333266623432303162366639333438643966393735643230633666633933613836306336 -33623938386466643362373564633837376562653064333961646430366363336363363362373431 -30653063306136306365336437663431303463656166626437646236326635313961623334653935 -66326232643439306462623366393131316264376230353362363139303763653834376237306534 -33666431376562376665323037346631356362363664306262666561323637323064386364316535 -35333264313533386231303566373262306236653863353138383835323034613038346332613530 -65383931366366333265303561656366616239383730663434303534396538333430633832323136 -62316239333866636131373831313862386136326366326630313961376631356532353862396563 -39666432636133313135643030346464323137653835326533383761623831363239663164316235 -36616165613262666132316263333265633834336563623862333538373036386563393036333339 -30346366366338666265373861313531613739653335666530653539636466326535616535663439 -38303332306363613361663930663437666339613865633362393435613264643931643336393261 -35613862643832306563386566623130663037343739323432646564326638336634303735333164 -34383162643030366533373933653438636230303234386230393630616236663331303065643035 -39366530346662376339356630653565326466313266343539613932356130623036626263636666 -37613135353333393839363939383836326662656639653163633534353265313634653032336539 -38363661613839656466383233393433663930613839323439613666393437383830346136326431 -62336365643432626134613162363963383333393635346231303766666337383964303232353464 -39363734393733656332353235653535363431343533396265303663666635336562336562626535 -62663632356636623230316231343966616566303537383461306630316438363439383935366363 -36633336643665626237343534623865336563663836333634623266353439656334653739653064 -31646630333837306262313437383631653037383133313333323638643865373834626536333865 -37373230643239326139313430666461343765326537626330663964626661613139613061393261 -34343363336263626335343838396237636237373635326362336532303431316562313537333530 -62326363316537333335306261646638306430306161646434373962303761303434626433626561 -39343731333063376438653064333030323864613031633263303533373365663761336237396132 -39646661346239393635353839636233353461383337343361313038393266383862333765303863 -34633161353062653332393233323437626463666536323433383864653330633964316630303361 -33396238346633366564366439353232613438666162666661353762616138393461346633393562 -32323165343665333532346232303830303233636535633435366536616461363430333836303234 -66353930653430636561663336613762623531346232663932626464646234323230356636666663 -66363263363538326565373032623135303633653865333231623736636338373331656161633365 -32646233363639303465636639303135356662666636393339316333316361323934303434663737 -62316565323763313333613962306637653762316166386366363233383838633061373065326238 -63333436356231333036303535346537323230666536393530393037363536633336653031626235 -32363930323061653239396630356262383732386436613935623639613432313237323630366436 -36393638343761633436626563343864326466306132393163643764666532353030386531376633 -31626232376165396234643835643836643032323865396630373134356166616138343765316138 -30323864303661666361376339646139393932326461666431313461643330653964613636663265 -39353930653263343932386231393135643938313865616531613931363137353033356366363661 -30373864633631333930376534663732363135666137666464313963326662386139633538643463 -31643737326561393834616336366166343965663730616361656230383030643264626335323337 -38366164353361356464643663616265326634613963333638306332376365343962336532353730 -31636535316236323535373432336432323037626335313832366636366232373464386231383134 -38323834376165366236313561656131383063393832326162323161316464356130396239653636 -34323031353332376261376365656264363736343166363863373037346139363036363966316565 -64666462363734366162363963363063343765653138623537346366663263346235333765303731 -62373837376566633231313262346236373438383663623439643561363865333033663031336537 -36383366653862333235646633376236353436633438373932623466663638643364366366346265 -65366638323862613463643335653364303665346464326461613761313035373531356363323434 -36616432313564353264633435363734373066383936336539373766353130656466643231376632 -37306265346538306461643231623764356230666631353364393836333433643739326635636338 -31623134313766373530353364303939373662363732306230656437336463663461336261393932 -39623539396432376139393562623835636134363365656630346564323761636535323132316531 -63356135386232366366373730626433313966306133666134363938666634303138333363623932 -33306439373739636632666138356131303061633031613862663735633531623134326663353666 -32333835323936303338306131386134653130663734393438383536613166326663663863663838 -39393961373131613530666530633066356436373362303536643439626665626339383761303830 -31363837396239326661386139613134613738353963303565663566616334356132333931306636 -61376639613634626330306630663364656666336536313137643333353461323938396431643435 -37326531666133303839633732336363393737393933333332626636643835383431633237303736 -35363935366236323364656166333738386463313464336133366365353239306364626437633266 -62653732343538336539313430313961663966356661356566383230663631636466633439623737 -38646137323765663532396363346438363262633237386537656362623165653637323332303637 -66383336633533383162623463666162383761346632613936623234336534643964653236333462 -63333933376635613361633534613064303034656535333866353139626365386530333462343561 -62636538623336313362343632656530656138393762613037643033623261643839393364333631 -39383030373564636135386461363466383239326537316235616163386663366362396365323761 -64643738663431653065303861303534386661353363626638643263303661613463373835626162 -32313337613039366165346463306164313135633633323833343165316537333733316430393934 -34653463303939656562366131656162373133643231616663323362303461646663653136353132 -35613236303165616232653939636536636164626364373661336538373464663339343161303937 -38326637316161396263623932303831663966373963316130323339366561323965613964623862 -63376436376362356565646261386265656537373735343638393465336137326535303634356133 -35333532336630373335316562303263643837393638373735313366356664326161313763613763 -39396436323633643734653937373931303739303334643937323666626535613062316666323335 -66333837363364386564636262656434656365633263356365613136356334656335656236323831 -30353461303162346233313163373864363933613139356662376465616165313633306539666333 -35386335363938386532313831363336323063643161336236613335663232386366336364636430 -61646139626539616630356334626163336162343435333530613536333536333333323338323538 -66653736303963336465343031393238306364643139663362393538383064376130326465323862 -36613534626231353933623633363430336232653863643766623035323133633335623261643665 -33303734383261346539396261366161393633316365353838363664356365376631396133393738 -37346565376630303030363365643433363539666230326134616132663465646532313338363563 -34323233623461653364366364383038303363623461346539336638303136366637663635326634 -36393731646239383232636166326361636633343763353730353862356531376566366231363265 -66353630366461323630666238346236626463363535323636343231663161616365353433346130 -38666264356563366439363865386333303639623361393035306433343139353935663564373736 -63636638383365326634306335633235623538633530646238353861623237613739383666383262 -63643539373231646437653762346139386132316631356465353861623330343039626136393962 -35316538306130303033326664663936343536663266336462353165333330623036393066303364 -61616234623461623836323331653230613961313265666239363539306338636436393664323436 -38656463366435306435633063356563366466353934363335333936386434316637613861363962 -35363738643664313565396434633764373937336662623165326262383466366462616561353862 -65393966653064303236373464396661376632346432396333643636663238386662323765656162 -39353138386238353735653834303637343163633135643162376164326430313537363361353434 -38613263643833383964393636623862643666663135366436336532373538393264653663646537 -62666432333931653430393333663464343362313737373165636138613466303765666466626138 -31613032356230376633653433653232623636386435353764373536626530373336373761303262 -66646335366131653561623138636135623931653737346131363837653530323633353230636535 -33313265336537303030303263393039646638333634663363333737336662356466636335613962 -62653761633862363135643165666562633664323931393661393938303266663733303165323261 -34646534373632373639323034373465326234333433333030313136353565633833383734666661 -66366332373065396266323336303864643638613137663661376233316631346263626164306436 -35386131613461306263333962363362343063656531616565303430613133663762633961663364 -31333830326163383835373330663139333363373737323066636134373630623566666533633831 -31636235323666653735373462663066633439343937663066323835633530383730366264623533 -33363061663163373361373262626564333036343063626537376130323836653462663337303038 -62666130383164636437353437663636613733316162366238616630343930313334616464653366 -35306433313262383737343438643636383335633761363264366233396162343335383932616632 -62393233373661653066636537653965643231356539353263633439356163343632633930623138 -65623264323135353030313661393934383836386531353862383564623230636432613963393836 -39323261326131336565646632626632346165386263363861336364326430323934613736653236 -32323531386661346431306635356434626363303066303834343864346466346661313263373934 -39313034306632393831363334656162313638643137643733313332383337326563333564633737 -30363862376230356364663733386635396232396337316433353830616635353235363639336132 -63333661306232333263656165666564343934323865616135376437353234653930616637313864 -31613237363839353237333866626536336339663731316138623231653039383334343863646636 -35393165376561316639633730646330383161313037653639336435386565633065643838336461 -61326466366230313437656465333733393561643532386637326437323461386164643739326234 -31373064353436383833313338373463346363613831653138656231383837656333363361336136 -66383639393566356363343531633139323936656634366239393261383134343065643132663163 -36376431616162623836613834653236656236383762663938316334323661356639343239633566 -33646233633435333237636533376664323135396663366431646564653837633439303437353631 -63613166376262313465666661313038386566303433653331363235343163386231323866313533 -39373363656231636262623533346635336661333966393665363531346163313538613965303963 -62396665383136356365393164653665643437343539653334396665303230393735353739363134 -33646662626163376664376566366230643031613534396630346562643565643531646266323233 -63663662363638386266393935326365613133643064616562323334353862373739343235336136 -34393630646665643633346363336364633364623864366535323430316639353861396135623365 -65356437333061643066616465323531646434626362336466636233333332633539363536643732 -32343061316630343539373263376533633435336431656238333835663133303530653338336630 -62393231646436626462656139633763383131343131633661373962613666376666376662383866 -30613136336563346437623538393131393963646134363739386134363163373866353664303734 -31613263353463353033353530323164623530343433306265303334386137353235363263396134 -38393837333862616264623866326261346561393135363332333733316339343137613461363566 -31383662383663383936353930623138373834323235393237396364336564646461646434363339 -34646261383238373165623736336336636136363838343930323564663434323330376430393466 -61626334326664353461343835303538643533626637663938383931636433396661356331353639 -30386162653131313731636636636534326364636630663236306337323235626363396130653764 -62666135623936633866623238666563663065393731386536303730663730366636666533633637 -63303163346536656235393739313739643938366265643333343434386334396330656235663735 -64383735316238393466313637626331636263616335383863386664393461313630663039343561 -30353763633235393438653236383539383039386464383561333966356262393035363131393131 -39633539633333643463616662313834383037646165633035383432616662643133613738363637 -35616438373335313135373163343738333633666437336461363530643631613934613532303933 -32666665663638613439663037376234626161396466383233646563343239356337653262666332 -61346533336266663338383034333239336232306134623862393535306235353365623037343866 -62666461343031346365623563653330306333613333333830356230656432626461383333353435 -64336330313965396634333337363339663065343235666333386532383432633736306431373930 -36346339303131326164393337616562616238616333373766316330313635396339376331663964 -38373965643532346363386531396664363030663834333532383033313339376130396365323438 -62346130306432373939383935626534633837636466656238623433303636633365383964666532 -33323539313835626364343036376434356434366531653937326166396465376564356464363761 -65373565356335653935373166303435613230383464353762656564333839313738623163613161 -65323538356237303839636235663165366434643562663737643931323136393535333764376263 -63333233326537366664396439363762316666643264306539333266393930323662313364653163 -31343664353766393132356261316430313961386335323165333966333536373433616666313034 -64373861636365373630373033313433316165616230343437653635636566353265343039653334 -30623863353263653232326232313162633138303261366666663762373235346665336635633962 -37343266633339383637653265346166393334303932613533326464313431343634363366623065 -38646232366335386565376566636437646130653864323930306363643066353335383661663331 -32663336646166353964633830666536326138356161373063356366666335313865306233323962 -34613336323965656137333964633738663065663330306138383735373238613430333562653262 -64306130666331663266396634366665343139666136363936313839323962396332643536653532 -38623637613631356463633331646233666264313734323561366437666332643839663565306166 -62656533393331353738396338626361626664303530393363343331653966633861363165313638 -31343336663934393266306234636536666437653531363634663563313838666533353838656638 -37303365303138653836383932316537616139383231383163303034616433396666633361353435 -39323666306465643237646533373862376439636263306138393339653433633464376261646134 -38396538316330386131643537626336326436386631326564623462393230313564346165653833 -35343333656430306332393236373531393737303663333365363662313730633061303562653465 -63643138366335303361663733353132306664633235306333666238343939386531376334376238 -63623630633563633533376232393164616261616264343431613434383931333765373037613865 -32353435376365363332346562303861646466303738396635393263313363396135366632393461 -39306563363762316663376336303530363532366538386234326437643063656436636361623038 -32303930623336316631623537303332336365623461383535353834613563666336343166373437 -63386364336264613436326161623637623933303861653965643430666437663536343937393562 -39656638343436393636363239313736396562393038336234363739623865333533373065353665 -65333864653864656539616262353061623362326135333764363464363664356333383663323236 -65623664343330393739393932316166623438373436663661336564303565366536386131313632 -64663532313362643064653362323139323835396233666666376537653130333931353861623162 -66333039326638396266646331633861343032373139356637656232323436316639633530643636 -30396230616563326364646636613334396666376665306262306533643862306238353734373862 -38626238376139306235333436386534616437386433303631343364336537373463326635366163 -31626361373531393138373236353037343365333935333735386363633738626238373935313030 -33353432653761316237643330313762636166326135623030386436623562343866393838663938 -38303834633062323139343366386133313964316539376535323131313734656662363335386431 -31353661376164323937333966643661303863306339306662356238623365626135666264396264 -66323737633064373234393332643762623064653230626636396664363463643666373030666561 -63663465623532656633623735623339316339343535383336343736376336646438306461333339 -61613661376163363531323764393835656538366361613364646631373630636238666365633530 -62326533336434313831636533313339333035363139303037643736386430633866363564353964 -39636532363833643962306631393461653731656137306239356330623532343337316131636436 -37323363356462326562373365643833616633343032623736393039373861333431303232623066 -39613833633066663264666362663264626662303938333938636232343464313736393964326236 -62653335626566343033303230653163663136313138396161626437333838326635366264396565 -66613563363565326636663066393330333831323735616433633832336330613335613438363631 -66323336646639303037393030393166303038656536376537356165356338366537636431666232 -37633532323666303435396539363766643665353036663834383035386439646335636365636132 -66353539303330336564303533633030396339626337366130313137313236383437343964333430 -39353634316266666431643965333239333061346133656338326461373934613065653234383033 -62656631306336636262626430653765386332373631613363306462323737323634633232633766 -36356165643464343836363466643936353437373837303438373966653238343537633833353665 -64333732623564306539623662396134393930323030313866333135646233306361663830366435 -35633230633163383861366632306164623632353633383263633832636566653664396630373433 -63356336393666383164643532623938343539613438636633656263626362313430656263343465 -62616537626136373365663638613337613164356566326239636462653930306364366161663862 -30363965343339333761396631393864383965623834613462376534663261613039633434323730 -36336161663137636137656335396566376266646134346261386661373731366334373266313930 -34613930376465313334353461386363343966376564653364663033613362353165323738646662 -63383861653063663330363564643466333739656636323133653665323937623366643139323432 -39633563313464346337666239323931303737643337353732393931646564366465356330663061 -39656262323532346432663331383064333766333364393130653531316661626666303561383261 -35386630306131633533373161636439343464653063663934646531666362626538346263386438 -30613665363561303561303861333339363236616464393338326439613962326138623166623565 -34666339326436646330303032663466343733393239663262393932336337303337323436313631 -65663834623938653132313337353166663433653261623038623531343130333936356639353962 -33393436623031626666303562383037633466366566333033346237393138363462633130623334 -62353635626264616234653163623337643965333230373237636635393634343138373933626234 -32386638303238653933316266333061343364396330326164313563323264626563623332303762 -65373935313135363833376633343265633730393439643935316665623263663032386265303064 -32366565353739363935353665313335643663333039643764343833333366366235663361636634 -61313065326332313063386662303233386462303964346361663338666236663639383330323639 -38336362656264356366343735633930373332613363376237643138323437653437306431356532 -36393564336336346637326133616662666635626364366636363734303131376563376139353939 -36303136623062343135343133313030373765396365626562366337636165653664616365306165 -37316239346230323864396463313833316563303764373364336165303637336461326265356138 -32373934663161316465666238653637616630383963376431376462323561346561363963393336 -64353937376134303538393335633665366134663363396233623639373561656164313832613961 -63323732613337623238636237633737326165333436346539366233333938663539343035643563 -32616339393838353633383930353237393032616338313434363636653666333833333261323235 -62653066643336636532666332313766643264663038376163643732323865386534376361393765 -34343166383632383037363365626238383232636132386534366161363263333137653835376535 -34366266373161336239653361336338653964306266653732353962323438343431626339646264 -65386630363361386233666264333032653461353437643030343764643366313039303639376335 -37323765383339663236663264666234393731663931626461336433626231626531323534613536 -30393636656262343037663430636562613762363133653364396530656335326137613265343761 -66653766363234386364313335393564353837323563353163336637343738363362343531656239 -66393434643761313636363035346362343138396537323865346332303964376637336664313735 -61383338633439353864333665363131336231346165333064383638366134636637366464313539 -61633132353562346133313830353639366161363337636630363133356130663862366364633262 -65323761333062326266386431303239336430343732363161653664663937393439363065383865 -39323965353831393061646466633931373763643430336663626134363937383633336161306564 -63393766396232643165326439663563363966303764353364353764313265393665343533363635 -37646136383031653534383937356564663065386165333537333161666461306636653465613931 -37623730323465336566333661383937323338323036303963396139636438613838363661626537 -61613066326133613635353161633639393137626639326631383566376333646535663837663461 -31336133363064306235326361383966333332336434613135653438643538323961316330373538 -31613862633335346465316633383365353864383466366464333830366236666236343732636366 -36633462373630306234326230376163666461363639363261653536636561333039643561366232 -63376162326638393961373039376266636632333632326639336261313537643937353830396166 -38313261643438346465643938646633633763633136393866343438323066393330643532376561 -61363839383430343765353161636634306664336232613334366332636361373138383337393733 -61616636353032316539323663383736613237303733643138663934653362643566626362363436 -63623162393334336431373937303134356463633362363231326434316131323138396537643961 -39626461353462633235336537393263323966326566383535616131666161616237316431626336 -33353462633036636437363431393534643531363036666530666161356637646164633764373031 -65613262313437323133316633323361313632333636323431633763396633356664643531656665 -66613533653365336334346135326537616562363637626132666466333533336264326632386231 -33383262663836643537303830613130353864316365633238373032626138373139326635363937 -61323363363635383661633562326532386262613839393164346530653436363636383535356634 -63343931396633616434306136383431643366653537303333653639643663316138363162313966 -33643832633438636534666135633763343935366465356161666331623764333631643132376539 -39343233343138643030653831353931393032336435353735326538353861326537653464633936 -35653739396463336262366230313233353066333736643737633933643266383835363430646338 -64343333616130336538306461613032306234633439613239656162663938393962353563323137 -35653561303862616338396238306432393338636630653463623861616534636361316439373632 -38616635363465313561656262656431623536383437313832643961623766623661626332373233 -35653937363261316632316231326330376161366432613737383166646436393261383439323164 -61626461356334663663383234313263363338316463356634386436323938623534643437383539 -39643833363236393261376231303036626435346633643166363733623632336530623938623532 -61366165616238363834633834663538383962313735663366326664393963663633373465386263 -36306132623361393832333035633239666434663133636366393233303466393364366430306637 -39336234653838353663353936316362396465356235396462306232623262333361303132666661 -39353638626135616266346235633265616566383436346534393730613064623561363139643932 -36636636363533353066626534653732323937343366653637653339643139666134656566353465 -32313339613763626133373431323535396363646364616339343063346464323666306663373733 -36386566336635323930613735363939386162363238343463623236613765346335306235373665 -64323230666634666433383132383231326131306137336338373466363465663865656238373931 -63313137316534353264316666373763646161356330386237633430623439346563373962626463 -33396362643331633462366365633831333332363538666337326461373665383264613663323038 -37333339333732623939393663613161363132323064336134626234376532313465303336393562 -31636239623164336562656333333932633162313134356665366465343062376433316563646361 -39373261316232303436663035333537643734353731633539396431393739353332383161396536 -30623764313837333434636230343965623365353461353733396363616564396333663931643363 -38643932663233306537646464366435383234346566313637336462643130373933643134613934 -34636361643063663530633862313861323366613065366166633430316635663965643566396563 -63346661643963396638396365386263653463623861636634323762633764376539373538333538 -64323835613030666136313238323336363331613633363131383230323939303162356538383539 -34646631393464336135356433636263366332383632653530663865326332343463323939373935 -34653833383866656665616437613833663237386337383430346534633837613932336231323461 -63626364356231623636386131383266333562323732363030343862393730613032363963396261 -33333235393864396332616631653330613662363066373062323466623265313331303635633030 -63376430353264316363363738326461343133363531396162333932346365353764366461323638 -36383063666131346338393731313536376462643364306437643832353332613636616462643134 -30653832666437386665613065313962616130353464616237383366626235633966613836323236 -61386362666233646239313031383833393064336636396132303530656335366466653632646363 -31323837346534623938316635613436393437306530326362353039366536626236383339363939 -36343361396663373434343931656238313263313833306461386637396161366361353833356531 -39653634663664656166316361383961356534643566393335663963623432393762353039356261 -32633938643332383261666365356563303536373362333039613530326535663639313365306637 -34393734393534303661336561376536366662313837656133376561363232666239626135653432 -38323037396239316439353038316362386463663838336465313133636662646239386537346263 -34666330363665326664643166386136663064373933333534306337613533376132333939306532 -63316563363930383964393932643637306536396138363231343232306234313639363365313636 -65333730646332393230316666323438396438653136353065336134356137613031376233306562 -32306264346664666133376535303836626533383435663238326437343937656437646364646261 -31653033663435356361663439356364613064336635353162303030633038343739373566613366 -62393231393863653434633930323237376631653861366661353438336438623132343266666132 -66613535623062356535316639346364396533393461356566366435336531336362346533303331 -37313462643661366434366634363365386361636166613031663066623563346465363138396162 -35313034323462356334303761383537366532356232393733393532343936636565333731336434 -62326362336462366132616366663431306663396131333638356266333836623364643435663632 -32313738663262366432346233623937623935386437666165353438633863666337613230393535 -31393565663235393036323562346331346361373833346564383233653361303266613437343339 -39323133646538363764363962333663356665333335306132353564653332663033326137343131 -35383935363565656161373836663039306163386164376438356462663033343932663765373530 -34316266346130653132393536343362326137656136653965313533373166313939393233343161 -39386464643339636430323933623464343239346336363631666134666263626130393138396131 -37333734666237396231396464653236396633656366666432316462666165323030356232653734 -62616139633335653064366363386331393162633863343635643364326130356430613237316265 -33373463666331386166653333356438626666313861383661396133323633353263663235393136 -33333362333639336664343532353165633632636262623534346536303835373162306566326166 -37393366346230376461313262353233356663386663353931653861363630343061663563323762 -35646438363430366431363166356536383639636436393464666532633565323565353161313930 -34333766626165643233326265306261343631326134636666353835653937343264646365623430 -61333561613630303132323263663831386237613230663161663431313035373330333238393231 -34316664346461316637323963386164313331646661633063303265653462336366613337653865 -35303264363963323232396464326339666364303761303836656562393563633635363761383632 -66343432313162623563623861373265346334376465616163303964303233633363306362356630 -62346166646265356631633762346364663761343934663764376230646561613333663566313630 -63323732376363646135383461616539333830373033346533663339653736653731613266626336 -62376361633631623966393862346632356637306566623233353838626364626232313263333134 -30666166383437316632386464616231656661353537383132316238376537373964383032303332 -61373630616464623536373935343034346330323538636664653832313362313830313338313864 -38366664646164353039383262353037663038353361323530353364396661313239306334323865 -65343134663036653539366138306233316161633239643464623734316531316362656162343831 -39343233663730626462313765633938636463313461356339633333396136623663303462363739 -64656331653864323632336666383830353734366264666563353164316265363535346165353134 -36303134623262323836656338366638376236613038353264363865656338346230313831336336 -64396633636231366435383438626235326431333031383561653366656666366438313437633230 -61346264356134383662363039616538343038633730626261656666383966376164353935626262 -62333166373361613163313764643366346434393863303731393634353361313933613935333636 -36316130613762343562313630653333333137313362343062616632643132613064366531323961 -61663034643836313532316230333231636561623063366239316562666634393563373137623137 -31623837643164356564303237666232626165636461333466336336346338393539353061626234 -61663039396431643033346430626636333066383832623266343933363132623837333436616261 -64363836353936623062646535343733623731313864333637616461376531326265646135636133 -66306638613637613332373030306136396435636163376164323532323630393838333765326636 -63623936356437306535636466646434363139393463383161653730313566353562333964326631 -36353138313434363037343436316135333965393436373434633135313939636461373165343933 -66346631366166323237613039636631383164373739363763323362393733373031336630663530 -32643666396463366263663137303933343734613536356565313430366563363361313363303331 -35383563316563343238353938646566353662313063306632333237633134333330633835633239 -30633230373665383537383066613161663533656438383330386132316532613965343333343436 -34323963363934353562323862393365393164366563643631613535343834386431336537313732 -63313738383536653836626138363838366230363433353538316165393335383663373632626662 -38386336313535656339346639613835343964383831313963643936353462633130363161663730 -38653061323831313731316232633237653362643832333631306363386531613735643562393631 -31376264633261663538326261643638393730316535323766653330373434393436653665323331 -33666465653764313362376637346364363861393261303830663261623434383466633939643234 -35346439383338306530376131373837353938353139383139353634373039643265366464363265 -36343932626339613065313135383331616436646331636261623530373431353762303633626338 -33306632363939313235383330336466636333663963303162656465326163663134646639383031 -64343936306162356231353765323431666437633261326133393030616466383434353533346464 -66393035396132656364373737613532633636353731333534353261396462343461623432396166 -38616137373839633537383863356666613565353366333664383738636533633164353961343062 -65343137386465343031303631366466366563323731643535313034616463653636383632363065 -63663038383836636164316166313731326461313863643030396630626634313031613266373936 -33613630393439623537626438366434316464393132373136396430336461346262366232663433 -39363836643963373338616538353533613634393636336265663935336265663838306438623232 -61396432623438663031376232346662633135633435643166346333656163393166646565363639 -32303361323439653139663932333631666162626162653438636632373133346662653031376337 -66646230666266373233383235616637336135623434383537346366396562346331656363303365 -66373465643635323963613461333962663664383365356431313637636332353864363038313765 -66303938373865623538646637633133623534666633613934373339326432333737366534353132 -35623430656336313361396462303737656631383736333065393262363666323665646534633931 -38373235666135376634343237376562343532323431316263393765343831343164323133366539 -32663361636233643435663836663566616337323738363866653433393133323366303033653539 -38666338653862363166623930636336356132633563626238313132343030633066646264623338 -61646337353564356133646161366335363034376136653232366533646262373238306639343562 -30366233363932336337623830363562643533386337363532666262313365346439303032623863 -65346330303965623266346637633431393339346662336561383665643837636638393562303832 -33373930663938623033383339393334343539616237343565623663363631353231623566333361 -30373266363238646134323437623439623631643561396361643863356237626134636339626133 -64323061346665613936356138653165306533386635376163643235313035343035346162366332 -66353238393338373439396461643833383439336232363635653635643866613738303963376530 -66636661336637303331383735333139353432363365646131613232326464343437336233626132 -32386265316137353731353431383330393764653330663737663137356438316562373738393334 -35383530376362353466323665656137633961363836333331616435353063626538363464393364 -66633063346435393537393965666561336164366565643637346333343265636265616363626636 -66383937326530396464653666336534616531623137366231646138376439643439366165633637 -32343530373161336134663536353164353563316663613838626662303530313265343161393338 -33656238316338393036633336623063613239383765383837393663346634656637373032316632 -62353439316639646562613762303634656661373030663437303335323930636436646230636136 -34623830653230643236323362613264363139663531326336346661636266633166356134333236 -65366263333339353838666662643965336362633365613064336436643635383335356232386633 -61326131366261303130336430373433643536653530343935623531326636353738376464616434 -63353539353838336236333263653563643833376232353136393639666139633364353362343434 -37313932343235343333323839306461316332613031616131643661353866646463333834383332 -39393730656139323461643561393561363934633662653861303963383532633665303462313334 -34356433393466396637363435653066343962316535373537346162366561623132643731363061 -38653364303531643433653135356139646237353135393866643163396436306562396433323039 -31343062306136396234653035386461373438653136303532336437653339376638313936656137 -39363332626665333865326531663031373965323666666336626561376366383262613135646539 -30663364366666316461383361656139396233393261383536303035323964386433303435646561 -62316332363136613634616230356336656634306330653636663436303962336564343034363361 -35383531386536363465386233663530343931376632306231366635393261326265643766333663 -31373763343831653831303464623035653432396664356530303164326162653166643766373334 -63613839646532323331643463303163343431323335316639646331373831653736356665326565 -36643935343637643963313065363838396134616363316637666330613661636261326430383436 -37663239393361303832313932393666626638386338663961366132663138656262313936346134 -32326365306230346330313430343736666338343661323534393838336337336661343239313763 -61633730376430383633613731643631376530303462313139363037626133313261653637383964 -38323464326662353635663533346333663933383864363763633339626164383934303130373838 -31373964396661336661653032616133303230333432303265616139383032626233366235316233 -66613833376565653137343538303934653164373063366534313331353336393531626262633733 -35666135616233363937633765613864373032333665333163653863666535653763333266643135 -34636530613636373466303330666262666561323234393237313730633231336233636234623830 -66356161393765653733646266323162333439396161333834383037613235613239633932623133 -33396431316266626632636633376532656363663831343963623064623237383239323061663532 -34633837383361626165346131643032323764363466336563323861626639303166636364626436 -63303634633066333037303731306162316335333732303031626536316535303931343761663738 -37636334303633343731663539633165636364323065366533393235396535376239313536623436 -39373265356165653339383832623038383161666532663530373034613866376664623361623866 -62663163333166363438386231313033326536373830386562323233326236343437326533663135 -62643036643037623634623138353164343939626432643761326130633230353039313762376333 -34623763336166346266366261313336316266623135343662366333323465346235656536313734 -6439 +38373230613831643737643839363265383666626463393036613533303761326438306438326238 +3866326264613462346632653962393162313062643433380a653836393235623433653639376165 +38393964376338303032376630653534626564336666626434313034343265623863663662373963 +6534323939666563390a303535353333363833396231383836646639616534386161393262643964 +65343563336262646533373033303938303864333162643266653437383062316632396533356139 +37636237616536613635633863383761303939346334303063383065316162393864613762643262 +32303739386230353364373330633532336365316333356266316231623865343661393731643535 +30316164633466313436613132313463333239336239356632633430373736306633363431393634 +33643834326665346437356463366630386234666336666239343439316162396664326333356563 +62666138396534326162393035346163313064383232316630326566303030653863643437393766 +64346538333130343636663963373635613738653933396433613364386534356365376633346534 +34396637363834383863353265386133343638396561383337346636646632343634303139393839 +62303164303534303365313131633437363538666538626363363265383666666464303463613961 +35666639653063383534393431316532383234326632386636653137313233633662656263313261 +31323566363864343337383136666536386534653632376265363938313937623136373361646137 +33336266393732333063646236663561623538343631656364306632373434313133666531326163 +31333232613465373964383364633633343862633035346234363539663463396162353532336562 +62333732353466663563326539323134316266383530396331333965623431653161323139373364 +32653863646431666166353665356636616630356535613438303463306534653065636462306433 +37326639633733663164666630313833653034646235383365666161313961663835353830363230 +34613639366639316339356232636435303731353337643036393130616336633535316235623365 +65396666313539643562626330313932376238363237366637386631626134323132336637326636 +30353837396339623237373265316466346565313432306363613538653536396538393765616337 +66373562613966346461653265343631373537346137663465343363316161616430383236306537 +63343339353236646239613334653863393233633435366566333162633234626265626635366162 +30616637656430663430366361313737623466666166663261363537373630313564633037643734 +30316334663335356561313936363564663930306338353263336234363862646664623535373963 +37313336336532363762326666383366383733633961333939643338623939643763386634653561 +30663164643932373861373264336236663763353331626131623836623562626166356531373739 +37303263316261373066626562333535336633336139623062326263353561643865373462663236 +33336333303365346663623163386164383239616531643034333661653764326239383061613534 +30656562343536353861373365656131363664383533613139636361373634376130336566626638 +32336261363664666161633833653731633531626436323062663932373461366634313835313364 +66336330643138613932303132636430646135613237656638623534646332356436313161306631 +61336630663430386665356563323033396566396137336661343632383138326563303639633831 +65333538346465343636386464306537363239396534356432323933376562663766643161366537 +37323337616663366434636363313962303162386664343962363461393332336336313036393064 +35313232636232393936323532386665323630616639656431326461633434393931613331663231 +34373430336431346531313864306630633466356632393436653333343966323261343635386164 +61313965333966633232616235623930366137386531383438303833396136313139613363343037 +61613631376634636430366437323736356535383863313765643766373734396639353265356236 +39396466396665316434376235386438356433323835346339633563616462653863626266323564 +61393366643439333833373736613033353264346231616437666364393039663933323262353430 +38343932616133633965393461636135316434663465316234373039643934303361343636313132 +38633732393332666262393035643231666366633430613261306236656239333131373463656632 +65303464313164363332343131613266626164323765356635613730396434356161333334623161 +65306138313538653533303037383037373964343034376439343239346534363663313739393539 +36393632313965656563316161653634636465343162333539303335663032316137643738343930 +30626165356431316364656333356638626639333830353862656461396465386133656135353635 +30613936326635666334333434393838653165343730396562353765656439656638613332666562 +38616436303039313534346665356132613766376561353463306331323135393337653437306365 +31643363626536616133303864313330323033666337393463663831313635626262646537663162 +62393663653864363139393233356263383534346136616638363762363463386639376231396562 +65663135373036393463393632656166353866383734353739363235343463653831643438363738 +33656362373766353764323861343965326135326439333861623032316135373366346661626437 +36613634323734616334326238353932323131346637303332356536366333383730303733313465 +37323166363265636265303135613066613365373537656663656634616132663130383938663032 +32306535616163356539363362616138363762393030346637303265316463313733323430326661 +64646565396461656364626431656532303233363436656561386133636466653362396630303530 +31656136626139623238373364633933656237393437356135356162343437613461633465623531 +39633935633230633436376664316161396266393766316630613031353932663266396565313265 +36656633626232656134353637653536366534633566303830343037333334363831616439626466 +33313839323333623136653861313865383834313363343561373064336438383762633964333065 +62373664626630643266376330636437616162333039386534353038363236383662313537333436 +32366436306163366665643037373135353735386661646135613737633438663464663232376661 +30613962353539323530633830616339643737656333653333396130386664323330393037306461 +31656631383736353136336463663238646638303731663365333837323861353435333362616336 +62356263623235386463316635316139373036616664366632383830653161643633396362663731 +35653565383463643465313962666465346435626365386235316263386335393331373837306138 +61303765303661396161613632346434363937303763613030383865346537373766333566633162 +37613135663962353866656432366263646436306163373038656265626463306562666636323466 +35643265653334643330316365373766373465373563346561653838323265336439623038336663 +36333363326265373835623162656330373462343337613962323732656637326430663733373763 +32303934623036373439616532336462643231316232626334323632363364326130613764636164 +37363261306364333035343038373738623766616434386432373436373838396431333265626163 +39623330643265303664316564373331383736343539373831356361343664643063333539393334 +36323935316436626137663832633634343535623465623065333536333030323234643262643434 +62343436396363303237663832306332333861393964313433616133663133386365333866646439 +62636437323633306538356463316335313936383335386230353361366463663665366165653730 +38653639663064323533336261373962383932656339636633323734363339633335303832383234 +37326463396131343861366362336663326261643837373634626261376534313833303664636465 +62303934373030656535333039656232336230316661353638383762616337343633613061653738 +34333066363132373338366562356330373762306638616432306137336234643233613230613065 +31646364353463623434363463643337343232623533363230626139663163386534333136636538 +66323334396661343532316437663330313239376634346136353536633230366365366435336334 +32653939366264303938623835663730373364353239396565373766393562316338636435636637 +30383065656566396235663364646234363065343062326465386562623965613934353938313464 +64616566636230636532313338373238623063656466643038613734363330666135333065383834 +36323334653566346262656463616635636530333531326632663636323164653366376362343437 +65333732616366333334663237333264383530333464363164353331313839353365323136333939 +39663838326231636338636537633633383632653164383961633166363231363436316464373164 +61363132626333376536623334613463643830366565396162383363343865653832336434353266 +65303762303262636232623533643862396239616665663863306361623266396362636163393661 +65643665313666363037663934373234393034626338666662393264353761656337623461333036 +34623863343266303763316433353430323133636161626434383034366230376634663435393863 +62343963333634643766393061366434636537373462636365653965376339326331376237343538 +30323962366236336133313763663664623137323034343638643061663161363963653131343234 +62303261353762323638343636303431336264616430363138363238616435633637623363386366 +38373331633961613634346631643630646632333665303232393064333934343665373833323365 +63373039396562613038326333616232323762613436643131323165333061643263373066336638 +32356234323033326434396338303866323331653765613736613133636361326661316364363938 +39343764643263643037643237336530386461313862623831353266363033336538373931313135 +37373666393936393564393731316161643462663538396638666630353564663862336337626131 +33303564323330653434313337623437646139623166616466373735643039323361346365313034 +33326432356636353765396165383762623336396231396331363566376535366539383632336262 +33666166663937313532323736306637613565396138663833336332623131616531386262626137 +63393138653632356162356433396635346632643236613765343332376364333534656661656438 +31343764363638306230653831373332343962653865326163366666343131313437383839313136 +63656162313263393966393135373935663032653264333530323562386265396536303132336139 +31633334336664373365386533613339313333363139393032366439366365323936336433613931 +39323562633662343833363264313837656631373835383431623466343864666466616364646266 +37333839343530353636323838643165386165306636653835303261616331666161346337646333 +64373237646336376133613535633766396266613964313532656362383432323432336431636366 +35336338383563663538623232353832376438363436353063643262333339643366373836343136 +36313631306565383263346538663465306563643066633164356365623463366165363930383135 +65656638316466336530373165653564336238393161663365643363383563343663653536303735 +35626638613539333034653834663835636335393034663830383033653034666163326631303430 +64646430336535333038643132386565393933346435373037343762653263333762663764316630 +64613062333939373739326233313933326639336132396131303134633063386137636264356233 +30323532356636353364333438396334646661333438383434373334306236356163646230663166 +37303465623637303862343665323538666430613062306637376634383134366564623164333862 +32333930303764326166363961386265643238383264353634396637343966393930653831663231 +39653639653163653232353866613536373063663136373538336231323039623861626363373266 +39343764626535613335336635363436306563363237396238353461313666393861346562326362 +30646635323735373262353865666662393864373938313165666533333735323231633837663263 +30373139303635333061326363306231376361323130396335643430353232626339383038613834 +36343166336166326533383039616238386365393331323430643135396536326632353637643332 +39646163663431653931303565333366613362663465356431336663303162396231653536336462 +63633538653933333335356331323866613136303938613662616463653131316232393965663434 +61626466333330386561313737613935316661646533353236616362306334353138363035663531 +35643039613537333338386566353063323233633737333762303732383962646435373035333663 +36643462353435613436396633376161313463366536353637326631363437333164393537633339 +36333031663435336335323862366633366562353366373830613265656230393232373461653336 +39623535336339646235336437353036383636363939333861316563316666613637663361303534 +37333661636332656164353032646164316266333437613166383037633431356236376337633263 +38333635393738386534666662326166306262313433373636363631316432363066353666633133 +63623536633030623561366361623633333065383136346166613736316161346465623264663630 +62323434613466353965373238653030396561303436643833393335633364303739343434643965 +35316663366233626337643463313365303634343930666162306230616534666461336537653163 +65386664386539326630666331333663363937393936356665633030353436646666363333653836 +36643938613366633631343237643837303637396435383030326433613538353666363465666465 +38666166363938303938373262386130613965373966646438613138663062656265663039383033 +31666263366233613133336131663437383961316163333439313366656235396234393831353634 +35306133303064653938613661653934636362346633353932363632363935666230303330626538 +35663032343961316332373839333537343266383035333766353932343063613663646336623163 +64646563313466363939303366313164616236303139383164313234333237646561613938306233 +37333730653132626136633433633864346266343732643939663462343138613332353461366132 +34343663353666303331393362306433316238366634326431373864393934333338306138646239 +33383332313364363463323064333031346435653665396461646630643866653962306130343335 +65346133663636633535623532346535363438616138343533313831356436663461636333363339 +61333238656334646164336332313338336262303466316164313233373264383238633865656138 +62653136623237323134653633373136393830303533353964346538656532306639393332623734 +35306337613339353066636433386430663134643131323739323239616236396466653631633836 +32653638373436633431613632306537633736363630396435626663363465303531656433616236 +62303263386330376631343935353232623962633532643963343836663733636133643465333066 +34313465653238613065336236336130366133626131323666636366646438333538353863376136 +31306135613534353665316461633939316466373538643664353464643535313664383937656235 +61383434653836643832313933333036643563396533363864636166303537326361363434383963 +39646163656133663733363831326331376230363361643961663163666238393438333533313230 +37623933353936373735656564353431393331633338636130646533633539313362363133613461 +37636366656138316265306265623966383034326161633730313861626338323564326238323665 +62653339366433643466623836343434343335656537613636663931323139633134356236323863 +66653535363265633238313364393737306464363434626130363762666161396433356530323031 +32353037323133336235356563393063636665373835343632323630653338326464383062666561 +31306230376236366634316434663062353132396334663237366337656534396261633731323639 +36636162663135666337653762393865333363636239313363393938646464636136653730396230 +64366331623937323239303538646638326530363736663265626561393032343763626161633235 +63333261663166333464346661333734316131646639343339343232643633383862643161626238 +33663561383262623238656534326161376533663664346138656333663865626338356331336130 +64333565353861643632323132663136613063396633616236623762373766323330626266616536 +35346434353866353937323064383065353564386237616439656231633964346136616461373430 +61653063333834333861656436613931376235623139313063313534653438336236383839383738 +62343334616366653866396234353263353262616133613163363538343565653433333938636431 +31303961393665623661313463383230626231373266653335633661396439633939306161396632 +61623764626162393064326635366563383734613935373536323665653239366334333237666234 +38663334356437323038386134323565643332633136626130336435303865333739383531623532 +36356264383536633432646565653638396662313161316533373530383861643936633162303134 +34313537366565333330366235616433306334336266303364636433343930383161343430373830 +35356538633939313638666536363665306336626430643736623663393531383031383033663033 +39626633346337636663643466656665363733656330633562333365666435383163383230333266 +65626665336239666261663633316564653133313236613031323162313564386436303733646336 +37663239633737653231633037636566643539623730623731333831363137656330666333373939 +61306535313362323461366530643331333133333137386439386664396137313064346136656438 +32356535636237323039343064306661303666343564383963616563313964383630386331663061 +34353961303339323133353638633761343935373565333161623035343661323263653563643563 +32393434633836396436346136623565336634383035373266363634336534303134643536636438 +66363735653265633034333534353665336437343330616132386630373532376530356237356661 +33636466303036306232303535373966366336613635336137343661353039363961623765386331 +64386566373065316136383433356633623732613162396666363262366233343839333830386331 +33623561643332613032353233623363306133363135323461346539306135396231386634633532 +34393163363863653934643432616261376335336366393065666333326365323239393033666231 +66303164633665373931613630363534303531626439353836323733626566386164353366366437 +34643336356436353330636337316239383838326637393939333262323435663230636531656462 +36323731626637623738626165653934383637623964633836396534363166616131376139383661 +32613133636235623132643032616561613638383637313761323832386437303635343739623366 +35323632346663343138316561326161393931666538393935306130643236663732656636323263 +32343166323836396433386365383162633735653066616263636364623031353761653236656132 +61366532613365666161336262363635613631653332636564363865653961623666626536353435 +36616166353164313237373262306264393664373136303237333263613532653166643230396239 +63326333316462316139323835346431626537663366653765306164643866366565646265663165 +33346163333530353865613666376138306633383031373631623463353166373861353831313132 +34313161346530323038363462323432353364346239343231326236373938373632326235313737 +64303338393834663266306133623864326533643332653161336461646366303732623535613961 +31323265626363626362333164393361336133376138613635343239643735653665643361373133 +63303930313562656163623864323365643435363332393964643962353966366232373663373164 +65316438363162343566346135363331346665663435303461656435316333653437396132326632 +62306131333435336430363733356265333734653061303730386665346230393334643163643636 +61653964633237626638326630663361323864316134396337333833646538316132376330353966 +62623261643531623435383630346336323237346233633631353930393734363736663630303339 +33306462386165343265653934336536343232623264366436373536656263336561626666343061 +64666530373537613135653330303166306137643264396364323461386438393438613732623633 +33626463363934636464643463383735623066356161383737303566383933313430363061313634 +33353230646561373636326436613232613765313537373334366563623361613962346162343935 +32346230326461333837313736383030393434383537323166633230343137386439383534313766 +65376466366465613863643834363165336565323433643933343361306463363933323637656337 +38346232653464306563636131396134666337646462393738613461366566363835366137373965 +36326366393165623738633932373461653831313366373163626331313265336262376133356235 +36613964643639623562653434333339666634376338393565663330353238326137643136383537 +65363734313863393639343733343365663039343361303234623565383036666632343333313561 +66663964633462396636666231353266663931373535653538386235373135323736666130616231 +36373138396433633739373562313935643838636463643264623337343930623665383330323333 +30383135636362636265383735643732326239303334343136353066396161363133323038646632 +35383534626232326264623237643138653132643961313635303663366436393030376434656436 +31613634363933623733313939613939393164376334383562366262316333313161336332653961 +34656564666232303234643236643031363535353663336261373035633630363162343563333166 +66363537383861313966303538643936623265396331383061653862636161643864336135373337 +32326664326466363530376361623339623765356139303262393536343863616132613261643435 +64303834333434663334666538646639313636633233623433653139356137363030636232663363 +36323737613961353534306339343161323563346361656333613063663731653535333737663439 +66303765386232366464613334323438313636386338373566313938313135333638313737626536 +61643861613837303034373434616266326163343663646237643165386338316335643934356361 +30646434633865383138653464636237336163346133323837643866653939623563633963656532 +32306563646366653830363164643663396162343331613061623739306235343534306432323039 +34356433303333653738616562376234363066363730343730393966316364306261393030643030 +33323162663735333965633462383263353137396166636137383661393439356237623061323135 +35666339623434626633666564343863373361303238336136653136653561653465373166356361 +66616533303333393435373735336366646163356461666462373032666235373761636464663230 +37366163373434663161616138663836326463363762316533343266643632663336383364643764 +30636263386639336430316461303635386561636565373530643266623564656632303838613266 +66666464643733626339653535373166353231313939363964303762363439356233343565306662 +61316362643338336534356233613332323431333461663534616432323461373431333530663236 +66363337616636623262323537653930613338383934663766643264343666616163646466383030 +62333266353262633437343462316532646165316536306264613634393063366266383732386165 +61313162623564626662653331386163616565656335663232366230363733653833626263366236 +62663465336231326561643236356134356530373166363138303439623066633030353764313965 +62616536643461346262386661653238336434313737663863616636376363306338663332636463 +31663938386465393732626262333633366132373035383338383535343334653330343564323931 +63653335376161363638376136613239666634323239653836353431313334346335636239316230 +32663464623766636165623866306337316335376635633463633034636664396266656230613237 +30663234313638373336383031326332343937316163343330313464626634363335366235646236 +38316534386566643565363564663139383335626633396237326331616236386532373437643031 +38306364666530393861343035363736346161646639333237623066393361376133306164323038 +30333238303738323939333132636537666365326535326239303561653739396466646638313063 +37633864303266653531353334313765636437646631306432613230326230353166383238373235 +38313231623939613135313533343933303231653732363835343433623064633763303439643338 +31323839343632643535613631353832643632336264643162333864303863616235326431653163 +39363836303237393932323330303335653339666366366531613331333366353766616632303737 +63313535643738666266383531393537343736393435626532323632633266613938363862393336 +38393063386238393335336562336662323665393963346139353562633639323462626262343262 +64386230303363643639326538623563336533613735303232366665393333383233316166353964 +34373366646133333438333361383464353136623663356164643536633930613562313764626161 +33393831316532393264316534633933373730666634656337633530386432306231663339303137 +66653731383266316230623930636138316530643463393266346262326334343236643431313834 +39376536336466643533316466653439326535373865636330356638326339666337396134616466 +37613433343434333937336239383764663331623733613634366563643463396336386232653832 +31666566303336636532376565353532393836376437653937663630373866613435616663613237 +30326437363630666635353139613932303163396462303438383235653732613132323464396461 +63666536613233613862643236663062623561663939343231626535323232643431316161393863 +32323439323863613839663964303835366537316661353562326262396564616265313862626534 +36643538623162653938393961363761623532396261313261363032363933616535656665643164 +30356264616135663233666231343232653337313563623261333139366533663432383136643831 +32343138396361383935343134316635336266613733616361636163336465373164313730323265 +34623232363565653034336463393132656238373961313964396630303064323966323964323062 +32323236663436643563613234353465643866666564303436306666336165613838336538623837 +65326137633037316338663533656566383630636465353333363431383935333161613138316335 +39353763333766616438626336333764336530316435343361396337333661623232303032333762 +39643766633235353464653363386137343363393862613566323138643032393631333236373732 +66313033363034663337316235376131326231323439316437666438386231366433633836643064 +33633039363766366134636337366362613236653634343732623431313738326138633836613732 +62353930396635643064613733333637303039363362643164643261616666633236396233636263 +37356134396634613165646138343938633538343362623434363638353834343666653364326561 +33643130333231633065633663353037363235316363646565326338626433353638343631616564 +30316264396131373435663365343030343438323661613637376436346630623065333330396363 +33363836626564663965386263613135653962346263333864346635623539396132303661643836 +62343665323633623934616630613933313366636430623934363437663363616461353963613130 +61643961646130323638633630653130346163636637376665333864383961613434613336356436 +38393238336637623362306564623930303434636561643731386365343539366432346131363037 +61373463346265633961333566376432373337613733346361333932346164623931666163393638 +63313061663231616533646366323937336237393234343130346236613438623934633561323731 +66376636306464323962356138386364393630616665393232326263336238343766633562316638 +31376538633166303532376538373965313538386132613238303234626339343934303466393538 +30636330363864393635633133633132336165383561643038643636343531663361383933396635 +36623861616461386533333939336133336531396565656231383036623238313833383238623262 +65666563616565646663663266623434353535306164303236376532303961663966623730336534 +36343731396463303931613034363861363734623031626638653464383061643432356161373466 +33646561636436626139353733313466653461626531366639646361323031323765666163643462 +31613438343431343531653938386561346532386633646634323863626333333833353266633439 +32323738383233393061346131653233613935656563623931343431396236636534343164316363 +66383763356361343731663063343939623134376630323632643932373863616231636365383338 +39376637353230653839303035333366653965316337303966626564616238333661396237346334 +64666562656566356534306238616336643566643636383437656530663039386335343830633662 +34303832363339376465356366356230316638626232333263393737346664646330613664653136 +34383062396563393231303664653138626365383633313332383735386564376334656362356130 +36326265633662326635343737343131393932346565306433666135316661323230326234323463 +61346536323237343039323536613532643365333930383166303464326666316463643666373764 +38336330646531323834343336353364353361346232306134313966643165656562663933666131 +64653533623634393834346438316266656264643766353032623563343434646231333565333234 +32303033373734333762323538396331376266306236386436343638323865386333646439633132 +66316435613634353738383631336235363864383039616339303838633965353531636363643137 +32336636373434623662343035663937653734356463643834656337666361633165323135366630 +30356666353233613238333932343134326663623266306330623661616166613130626531633036 +64613231313361633630303430303230633536373735396661353331343633626263643065376236 +61343737653936663065623438653338653432303633643930646530353335386661393932633532 +37343036373330393232303639643861373564303435343234346430316361326633316634653431 +65646264386630316361303861623161383362616332353432323034356361613734623863373131 +64663031396663613930373731656333333737396635613861623139373931353139346466396635 +65643132643161326437626430313737613238323539373631343064656231383161653738656537 +66336135356238303562396534386564336664643662633639636131646336336363366238363537 +39376532363434303464616133653164613232616633626363653466623437346232353764306131 +30653932373863313333356663306537653030313131396334303336626363613666613237626138 +66323537636165626362333764333133343036656232303934393532663133373366323530366234 +65663238336637393563636639343266363233333232393965393561363766636362663063666430 +34333930643765363263303233653665363136323564393535323537663961643364663933363734 +31626533663933643733346636356332623736646138653864333039626637376536643233616232 +31333032396532383735626430376263343639643734626666353866353130306234363838346565 +34373661363833633064303465623461383931303435343236343663623165656463613030396230 +37626436356465313665656537666162363066623839386139323937303265623263633637653830 +39343966393466383361613663356161633864386465613437323737643765393330383831613961 +30623263356362346138333939356636653235396131326336393165393439373866323461373735 +34343431363638386263336366346332316438323731643865353338336630613961666462666466 +64386233393432383033323233393032623637306339373936623035653937373164386663326639 +62306138396235396361646630393166323863373839643334376635346666303130343931613066 +35386363346161623063356462333666643265633639376461366166663361653265613531656638 +63376462663439613066653836373434623733376462386664343130623139353262343237353766 +64613937636437373732643530313361373064366236383264316539303365363464303763346232 +66333831366638636265363566396332643734343639306335623065303963363432306635333934 +39343065336439633437303335636365356563656166633532633365353133373861353264343766 +61316661373735636138353566633939323539353064616336663539616630363561323131366162 +34616432356236666364386365396235326566383166643066373835663639616431396138333464 +35623037333235343531663830333637353862666561656661633362313330303531626131313233 +64353630356466656138336466363533613865346239646266616133666238623031353564303837 +61656637396334316235346336373733626237666237376439616663366238316239663961316635 +37383264666138623561353839646532323465323366666330363533666338326138376163336530 +30633936643831663665333462623832613332316230376130613663643562323435303035363634 +34383938616330656462326235623763633863393431353933393566363330373161346439303766 +64343962313432366238383730643831643862383933643831636661646338316265336166623934 +32316333383832383763303538623266396139636262303537366431303934393938643466373935 +65656531353065633438313135623564383066663463333461386335623336366462373064616537 +37656239363535383262306262663133316135303235666565336636326536356635353063303964 +37323137313761663066636265663263366134623535633534633735363135636337313639646164 +33626561363735346533616361363730396362356164353362363062393465396263653033653739 +37643339316331636437326435346332353965636530363833343031333966363662376134343139 +65663238663338663163303765373231633265316263646431356437326662646339326230626463 +31353264326136343936633230343139663838656439623036346162393839633762663530313464 +36323737303539613433313432363232646330336664386334303532643533643437653066643234 +38623063613066393439313665616364383731636233303239396432363339633437646266363730 +39396536353465653762616164633932636536663763356439373730633739363265316562393864 +37383837363735343764666239636538336463323965653164353139323264393836393866353436 +31383862383938376639343362396339356263623165366234316630343733373136303364376363 +36666438313737623262363661633536626434653333323366306561613938613361376566656430 +37616335353631303338643065656164356664636264383661623833646530373239376230303336 +64396364326163323739343366333362366134343238646233303361346535303065643437383339 +36616163636137616161666136346437346230323536633263333132313838383664353531306465 +63343339626363386334356535353333613865633237356465613638663839663264396230663035 +31333363313861393138643566303464653461313332396131636530346563373532393365346365 +64643262306237303665313662653937366665613435336537623937653735343164346532386133 +30663131393531316333616539326461613632623165653663363962393965306430323430376331 +38343466316132623039396639343830343732363736396434623561663234323831323933313634 +62653434313562353039366538303431323466616539306531313731663031653661333133313765 +30356535633466656163313739336335633037646435333766613330343435363166666631623362 +33646438316130613432323932353232326335633462376235373039333136646138616438373435 +65663966383833316530373134623665643632333034306531653461393862353934623239616635 +38636534626265653964613238316533636330363332633737633739376437666263666333656363 +65306463396338373832306531326564626564313561613462376134393665306431383032663666 +65336162646661663064613463313338646637303464313935623665633034643065643935366436 +35636461313132326265383561323539343330613465346338393561363536373735643061626264 +37383636363165306662333432393361323932356137303839633133383438393962613865316434 +32303364623333326466333439633339333565313039346634396439613565363266343431353736 +37663931646231383336636539373539646338366665616633396334616462656365313431613836 +38383438653234373863366265326331336232653532623566623164663933303634373335643130 +63623838346339656466626461326238623566353632653933373765636338633939373638633432 +64323463626633633338383538633733323630616664326335303632623637333432623237313331 +32333736636363656333356232343537363635616435616335323666313935346336373030363664 +63333561373866633366323839343336393161306237663532663163313832366232656466343865 +66313238613630636139363839373930653831343264353631633462326631393030386162326538 +33373538643064313934636461643861613863346136616634343463623439363663666462646238 +64356535656635313731633533316137666132353136383964663332623766353136623037646462 +63323434623833333862616534376632313332313166643831363062313637653631333165623031 +64666261356634326265363461373937623930323536383838386235363633353438646162653536 +65303463616235646261663731313033336563323637383436613462656362633034386135663163 +37616462616434363264643432326333383732356133646138383762373835633465346234643235 +37353338333839383661316137663962643930366439663930393639363435633662336466323433 +62663638656530353265333566366336636166623365336238616236623732343834353936346465 +37313237643432626564343837316461626366326432633964396337626363363432656438666266 +64666535336463303163613164653066383431353765623564663038643964333339353536393835 +34356339613034363264303331636462663631373663376365353962323365613963393266383632 +38386336373833626635623761633662313666343432333634653832336539626165383361363236 +32303033613435313861313137303630646266323464663830643737643264326235363664323837 +32326162633437626238626233623161316232313138383565336433626466613861316533623163 +62363434366539393336663436383035366635346439323664393865353665326262386135326263 +64306439643730653739653261663464633062616332323262666339643663316665653631323964 +36336463363533363539373564626536326330373732633235323661383634353138343339366238 +66393966333133663230383735376461363865346238333937623132616231656364313530366238 +39323338316330656139633836633962616630386366623362666336653032393562626334623963 +37326566663437313831343933646561303261326536333364313231656363353233373264346162 +33613330373336363234356463666462323239346135656132386162383134336365643439333062 +31376534323238373765613462303961363836623133653035643864356534363735343061613062 +63323637333464326638613062613831633661366132386363343566616231646665663664376531 +34333336646534343237653431363265663637363834316632656661383164653532623837666665 +39306135613737653831303937353334653433376161336135336235393337663866646239663566 +64643834343131626337356631616530303839653137373838393562363034623830383436363936 +62626234363064396434336365646233346336343638663833666164653066633536636138623535 +31303636643034613037656263653039633563666532356365363362396433653138613736313236 +61333534653731616561666166616234303535666462303563353861323566646231633961356563 +35366335386364626130333538633764346238633636386562613732356536666133306563366536 +65313865656333313861303937326235373335613035333962333839653366343563353737653731 +37666165613362643530323537316433336664386163636431323963343931613035636137323038 +61643536363135383134396339393863653266336334353632363365383934316562323066316661 +32626536653566346666633166613562353430323133656332323463366362323265366365393339 +34363836376634636262623461663937396433633465663063663738336437326164613434303338 +65363436393063663961363835306565336165303536343434653339353032313534316562656631 +35616438346166666361633337663762636337653531666566396666303162383961386533353966 +62616362383732326563386464616363343239313939383137613833346530376137653731613235 +36386637323333393937656534366133623037623166656465326436313139353834636135623832 +61376130336161643966623763353832643435303465333535316663333830383434313834396366 +35633032663835646135326261356433636164376366316231646264363965646565323964376663 +65636661353763653063636132323362303339366261343963636430336132343366393430363137 +31353762653837306235643163666262393561353233623030653665363766643565393030616465 +62363137313039633936343533366461613733623735653731326339333663303238666236383934 +66656661323330363138633561323861376562333237336338653736663764303536373434366435 +62666230316639373337343162303935366636386236646530656364336135633431393139306262 +31643433373438633735316661613731383765396537653531333064363338653133303532316130 +61663435313031323363333834633065616339623361393139313435653939336230336461366432 +61313033613631303138643133373339373465393733653933373033306665613433386663363732 +33313031396366643437663331303562313834653563353334303862336263316236656132383733 +32373666313638376631336333363630303535643637663864396333373230396437333330363031 +64306162363531323537626138376139646236356535663232616139333639323137623433653962 +32316163376431623962323134643936333366323835306636396364646464393366346138313531 +34656533303836343666336363323232333735363535313030383030393766326330356332636432 +33393862346262643435623562366430343466326436613763363630376233383261623061616631 +31323037386630653661343965363238626131623734633332393038633632653838313536386130 +63343239613437373064666539613466646536396634656435323565653735316466656162323637 +39623035323664383963393636343261303066346465353165643462373038626132306262356539 +63303935306261623739376562323037663531393534373465353562353930323066623565363064 +36336366306238376538616537643030383030366435346662393833363262323835666232656235 +37396636303665336164393364383033376539333035306661373631376634306234613031343830 +61646435306131353063346438613438323065346232663239353237376561393632623464396561 +61393931633433376261303033373731653232636532363038376636333330303164373964393034 +39346563616533653330626531623235373036346564336166356330646465336466373633323431 +33643464306332653164393037373139393962336165323835626232373863316165363662663630 +35383935616436376361626532323037346165623435343630646137373838666339353730396531 +63653762626139316561383338323836643434663834613237653162356664306261396639383035 +66663264323761386366396438346238396665356138383864313934343337353261653865323462 +33616463373861393464353537633431656162353136613934626634386666316234313335333763 +61316564386638353164316165656133393136313931623336373037353666303838353865366135 +66666538643435663661303565646364303065656663656234393739353337336636396366313263 +37323535393561666533303533383462396331623461613130313132653162393763663866353162 +31613762653965633631303735626232383030353538353633323532356334633734643662393239 +30616264383536366563353031633066343637376539633163626130333132313731343133363265 +35396339343062316138336436366565336435626332663964356233623334393161666336366536 +31303162396634396535666464323562666363393563366134633662653035303838326534666336 +33633339356435323362653335323132333262643330376633316534353161323130383132613166 +31633565383663343735613133303239356335666163633637376231643462343533643234373261 +34643830323239366466363833633339313037353532356466323035316130653430343561313435 +38333363353135366334336666633265623730663535316561333830656333343435656462663565 +36323830363134373364316534653061636466386438303965383463313066636338633039373232 +38363339646530326664363266663165383030313463313037306464656438323834323834383132 +30363737633931623437313462613664666338376539386237346665333163663335346536343736 +66663831663730386136343432356663346631363331633038666232613563363933663138643439 +30396562316538613462343365616464656434383539353333646131626266396336356164633165 +61386338346365383130383039323237306231656162633230613266663532376330653666633539 +33356238653039363936353133633430323737343162336238633330333661323362393233626163 +34323137623137303063336566636330306636363831313737386266313834363166643537613332 +66396462343039393832306665303333313738616231613330636134666137313536663237623136 +38653062626139386130633230326336353432656232653535353638303330623665636663366433 +61356335303938343332646262343066653963663033383061383862373330373266353331313631 +30646335333732616237353636333064626263656161373465653030633463626364613534373236 +32353563373434653062353463383632666266643163386634616263666535363764376563333135 +62343138386561393837663134663137373764666531343134316361373963313431343964353938 +32353662363430623861626132326230626266383265386561386664303032366461363530646233 +32386437656363636530623039313132346664646330383237313538376231303739656433613362 +62396565323366383665663133353738636335303732346262643834383361613638666132323437 +32366561356462646463366466313564343266333564313163383738383834356434306134386563 +32366463313463636236313135646138633330636231636338353338633538373762373162623563 +38613365336231366339626237323531313065313035336566313337646230393238346232626137 +35333836363266316235663135616633326637613339383834336163366339383931306137336337 +62313030666332393931613062376466303237613365333738353562383839346134383636336630 +31613032396137376236653632313264616433653337376262316464633561323462363837333737 +35663134643730363633636263666133613939396165663263366464316166366261653266373862 +39613761663032383463633132346166633530333532333763333966326166363766353865373566 +61356561366439343238326332623132343333613863316261353431656261636136636136616138 +62353361353365373631326237636363336139386138633937393161356533343966313232333834 +61663061663738636364343161663437336338616438333662633437333532656139393164616566 +34393935323364623964366335386437303234653364616563393136303639363535656164363662 +33303334623132313461623166303933363763386130313139366337663665396662656337303561 +31343630666535376435626230306163646463636666623862333633623463343362333030353131 +30376539356332616531663361333664666639613035363636633265663161646335643239373130 +39326638353232323362303433353466353764316264313764363236636131353732643237633130 +36616634376139393962623265353961396533393361396263356239613232383763323465346562 +35376166613832653930646630373266303233613032373866366137353166353865386433666334 +62373931633433306631363338636163396336353937386166653937363366663464316563323762 +30393862323665663335333563396265653962636136613362333739336466333461306164333632 +61386133336561356162343132396238613632316166636435343764353634326431353534356437 +33343966633731663866323434386531623862363063363239323061336364663162346233613737 +36643036356538636634336163633963393630386233343366643737613637623538373637653335 +63396436336138636566343234623834396631626465373366623439326663313939623663336662 +35366534366136623039656233626135636663613963613733666266666137336639383530353432 +39346132623531666135326134653366623336646235313533633730633164353063653366353235 +32336236633332313233643134616333353361633364653764346638656165313133363566383533 +65613263636566613233373762633934666637373065653564306164626434323939393364353534 +37393436363834373634376331323737396466613565393433613463353130306534653231396330 +62666337333732326366366266323766636230353262633963663463363333323763353838303561 +61666565343361333035643534336635326437366630356163663933326439383033303433343135 +35343563396361336630623435343530333638313863386530303233656631363535643231666662 +36343863643735363036366562383037616532326163356531396437386230653466316134386237 +31396533353565303738373261326233366131623063626264616230616334353736326530333638 +38373535656137343966653132643735373866613962333839346331373365363837306436313134 +66373836353231366335316239316137313566393131343061313433373932643034373963616339 +30316164346465643730383634383631623530613634313030316637366431353830623332383163 +37393461646465303530626339353230306663316332626635663232646262623431306431316530 +38386464333732626131623165383432363265333138626333366135356533326266663631663565 +33316636336166343034363230643139653963313733653934383238313533316464346639323033 +63633461343936393262616335636364653561646237643564613933323335646635623764326161 +37333961666264653336633061626431333336373665633162353561623538626633323962393166 +62383237353835336662313434353266356138393062653064613930626536303363373165346432 +32373133343834646230373433313261656132656436663432316562343364646663636231333263 +64613062393261626233663632333236366339663438383961333366313965353039646362306231 +31383434663636373861653861303133663235316439303339643066333330383338333632663965 +37373731653036613636353339313763623136656561353462663333653335343263393966646139 +61353236323866393530616666323538373130363163356334373636336462313034643235613131 +36363732663436326366363937613731633738653964653964303237663233666531396332626335 +37303763303935376262666637366266363435343833346365626330656337326339353061373438 +34663666373961386539396139623731326135313734316536336263636632626364663264613262 +35373333326536663665306438613136653133356432666239363930306166313636326463363034 +63326338393136663432306434313838613434346134363936303536393039396131643863623866 +32323262383235636262663832363163393430396166643566353362323633653832353634316662 +62626465373436613664333936303861656664346136373136663831666661303736363931396437 +37313733353161633636316435616339653034383339626137656163643134386536326165626162 +65386663393736653636336530646434613861333364376365316339656366326439636463383131 +63613333633330323836363332316231663764373665366331323934626537663062363131633833 +38363565373139623563396539363463323933656262353737626564336431663438613262626539 +31383963363266393138616636376138323132643234373130366239613465623630373664623938 +61366563333362646464333163643863663135313665376636623264313063613135636364353438 +66643062353934636534383763616566303966633338623130633032336635616461353964383335 +37636336616263383864353137383363373231643364323966303130303731636539616364343338 +31396231313563343136663033353737323530383763643538333133383662383338356139333836 +66306366383765303134313461346664643364336631346632333039663863646466363238306239 +63346661373830323663653462356437656361613935636331396135386535646165316434336236 +61656131366338393035333562663863313833386235653930356562643063383531666533316133 +63346464623238363531643833616631656465663461656164323835646134356632366234303663 +36366264663537636136333832363832313665376631333531366636306634393833376637626334 +37653833303064326565623337643037316432333239343836323963336333366437623839386531 +61383366613664376462666135623537326362363264303639336535303430663635303462303535 +36353838303261646138303366616234353532616132366137313964303232343830333535303730 +30323833306638376362393563316231333337373538656536373666616136346134633732333735 +36633564303864393165636637313437643961393238326162356232613034353537316437363539 +65336335303631303333306432356335323836356233663061653335356666393832363838373833 +66626135393363333533356339363931613038306530646337376637633231386431383463333465 +33636365613064623966396233303234643136313364393533303965643862663634623831333833 +62616338333864653134333766356432306633373238346135643964346564353438383433643230 +36303439353761663836333431653465323539356138343538616333343164376234613230626666 +66613834653631653738303532616664643533666232626462376334363835333665666563356662 +35663134343235393637656638663763363737313333303730643131373862326130623832663262 +30633932343432383331363461643034383262663936636437353933326332396366353134383863 +37383966333664663234613634663365623535626465316533396532353434356636386333396262 +65616139313962303864313633303039646262636533666136643765626639633965323435613739 +63616432666431643134633862623234383739396663643938373839393230363436663663653835 +30353033306431306134623366343064663065383332343762663661666339356437613534643037 +32386538316563333663663665613738653631383737633365393662366132643362336233376231 +64323162656233666235336265303434393261383330643636323533336239633465656134343861 +39366361663166626135613863366631303138653266643332326335356230393034316162366338 +66343033626534343231383565656461666162656536653064343730613763626537633961333233 +66363364373737643538623831646262616238343963396136333862366564316665343635626130 +36643763616436313062373166613765363661373366663966623930616639666432303162623666 +66333939313836336466623737656338326164313336303662326532376432373335323932373631 +30316166306239393462663339346532633437613337333564346364386635376362666262303134 +37303836363565336634333462663730646564366133356563343564346431326338363231616439 +35363862633339363030623161666534363163306137633763643165666236643531346438333034 +35323036373032326261663432363837303439363837666334383536626332313063373538366337 +34623334343733636432393333643838613139613934396562646139363433353530373964303564 +33386165343266643032336465383830646133366636356337396433353633653766366131366336 +66393536323465313732356331643533393663373937393738663865363736306366353734653862 +37333265633635373638633763636339613866333761333266303161353037646632373466363966 +65656562366231306536313635386264346265343835396532636636353861653737396566306638 +33356434656534623662646266366131323365333432343638636566383264653430643835623032 +32333134393538323262303235376465623532653134316364336662656366323166356233623465 +62303037306235313566616535383065616535623831393831386633643634323239316239326633 +30306537393031396233626334316463633132313930623961323538393431613531306431366237 +39336464643162373165356363313832366330653762373566643233306331306239393164646237 +37393734623735356331386639346133353564373162323236373632356163306532626163303634 +30373463386633303562333830303363626635343134626131396637616638373161623232396638 +31326530363830333762333931376533666436656335613962653334666165646565393338623238 +64623666646232346637333962626166323562656531613436346462326331326531666131393737 +31356636646638343731623664653430613732666238666334363462616631663236316434346435 +61653061623430333662383033633564333035386563353636393962653363613365336332333261 +35303235316637303232306564383031373531363465376662356264363931346639343965343265 +36353635633237643965376336616132366261643061653162316666353161643731303463346461 +65383739353833393463313432316162613033626235393633366365616133353732356166323437 +30653164353662363334636466323062326566613964373530373838646632323338613737323334 +66316339656265613733666662333066616333623838343039303932363833326664396465363237 +65343334633938353466623666656538396430323932323430383632313032343030363837633261 +64393163363539653537643262373531356338353065653730333631373338383938363661373065 +64663836366662353963616636353966646361636662373438646539643264623762613132323562 +66356665613231656639313964663434353733383163306264643933366661623366656661356430 +62333438363538613366356538383939336161303864626665326564303966653131653934303831 +37303331616333363733313864316631663230343235636331633763313333373563653334306239 +35353534313032646136346262363031623135363032633239626132383333333063376466353464 +38396430386338653364396661333461303161353134646235653739316261343434313338643131 +63643137323935656663383861626264376230353631666234643438613038656363353464393138 +38363939653035313166653639306665326138636130653162313532613263353364363636306666 +34643864383065626530306139323931343465366365303234386630383465383036313536376636 +65666336316337303163373366373737346437663365383161316334626338653837626435366232 +37623838353066383764633031326461373033383632343261333965633861373439373363376166 +36343931313666363333626362653236346362366365386430633532306131666164396662343439 +64623230303930323461666130653463383639363161613434336139336637633035666565313936 +30396262633537376232626662313661356234666139313835313934353931346234373531353764 +66613336653266633737666137336138386166343130626135376530396635626666343737663635 +32383665356536343136393136623635383262613861646237643061613537636637616433393731 +66373133396563353337356464363832366434353466666161373732616464656162393164643834 +39303635666638353763316363366466373538643162633565363835373064343434396665663937 +37313864383135373334333063303439393365356665373863373837653165666264636262353734 +61303462356264633663356463633939343431663461396664396531316331356663333836356563 +65333738373565323730393138363566303265366639326237666664383738623534396264313631 +37306463373535636338323162346432346131393663356161663637623036383533303362316162 +36613462393530653333636432326231623130303465366338656366626635363334353364313338 +63346534633061376437336635346230636538333266666237313337313163393535343537393862 +66663739336664303238373530663932346535623232643831303065613961386333393639326332 +37643166323839653934333235373437663062366163633833396461343135643531363032376165 +34313233626561363330313164303163326535303032623735336234613462383238373634306262 +64623832623437316463303235346331313037363461363162613933653332613535316562343665 +65623734633463633766326135326464393332393831376435383363306138386264616463656265 +64653765653765653131613137396130343761343433393165656237643866646464653631663461 +38363430343930393732393433626466643765653330323236653435353831633636623363626262 +64643361666239663335663662643162663936393466623938313131303031653736643438623435 +64343039366234323338336631353166636335666139386134353735633438373265663533626662 +62336134613063396139343139376536316566393365346262313366326237393666653933363735 +31613734633363313832336339616236376433393230663962616239313234383862626632663361 +37613735626539646364613634326462313930366134383463316135613836643039663438366430 +61353237666132353531333736326239333936366665633239626432393361393830373961636139 +37333561396537666338356539313662333332323038376338373534326439666666326165343736 +30353939396639646337613834643835636639333063306662613063323164303733316135373932 +31616230626566333333633836346166333862306630323038376563393935373834376636663934 +62376564666138666364643766646331353839323736653263336436353261666339353137313065 +65623861373866623738383565316566356462376135666635643337646438653332353831343337 +66363462363033306366356335623766323163616661393130346538613365333762666563653835 +63646537376238646236366436366533306634363363663861386433323139643561383332636136 +30656564356665363064313064663262303865346135366239383561613839623031656361623730 +62653832313266336365656130363938653535323863333335396464613631323234353137313436 +66653435633131313535613235336534663436613931346632353663303834666433326661353262 +35373438386131643432386332613466303365653663643862383766613562636332386361343531 +61343535633333353664626434663865623330343130636435393733353863386164623366333963 +37383436363162356533663832353962343463353462633833636362633737353036333564346538 +62376132333165376335636566363037343235316134366133633431643266316637333166666235 +65646462633863623034633865396234613166636537356631343833643631323834386333366664 +63366138333564333030646366363632646464383134663862356262346365383133393331616635 +62346466646661313332323232356336643865613334393363643736653661663438313236616334 +63393964333362646533366437373933616563316631663830613033373464646361306239316236 +61396263623861653633333435663563353838376631626236396432303536303837306535363265 +31316266653733313166633266386263623938643766336337636462386663356630313538373437 +39646461333663333030393263626363303762346639623434613238663537333965393934343537 +63333765633935386438313232396636363930316436333635613238346234373764613639303439 +66343437366133333036333562356563336635363433653866343464383834663162383838643335 +39633034636137613961393862613735613530373035626536633062343633356530656536353763 +65353639323363313765383936306563623962613939383963633461666366393339323064373163 +63373662306231303163383766323664356238323437323130336338343136383666623237626637 +33316530343936346230663836653439613032653261663632663963636532306637613633333333 +30653664313165396162656234373033323430626431616466616264623338313936376364666233 +34316363333534366461316134373939313365323332656631313236316261326535363635313365 +3933 diff --git a/k8s/roles/concourse/tasks/main.yml b/k8s/roles/concourse/tasks/main.yml index 08a7e07..acda4b5 100644 --- a/k8s/roles/concourse/tasks/main.yml +++ b/k8s/roles/concourse/tasks/main.yml @@ -5,6 +5,10 @@ api_version: v1 kind: Namespace state: present + definition: + metadata: + labels: + prometheus: default - name: Add Concourse chart repo kubernetes.core.helm_repository: diff --git a/k8s/roles/concourse/templates/values.concourse.yml.j2 b/k8s/roles/concourse/templates/values.concourse.yml.j2 index 046144c..105d008 100644 --- a/k8s/roles/concourse/templates/values.concourse.yml.j2 +++ b/k8s/roles/concourse/templates/values.concourse.yml.j2 @@ -33,7 +33,7 @@ concourse: disableGroups: true skipEmailVerifiedValidation: true postgres: - host: default-postgres-postgresql.postgres.svc.cluster.local + host: postgres-15-postgresql.postgres.svc.cluster.local port: "5432" database: concourse kubernetes: diff --git a/k8s/roles/download/tasks/main.yml b/k8s/roles/download/tasks/main.yml index 0fe0f64..6bc746a 100644 --- a/k8s/roles/download/tasks/main.yml +++ b/k8s/roles/download/tasks/main.yml @@ -1,23 +1,8 @@ --- -- name: Create temporary file - ansible.builtin.tempfile: - state: file - suffix: temp - register: k3s_binary_tmp - delegate_to: localhost - run_once: true - - name: Download k3s binary - get_url: + ansible.builtin.get_url: url: https://github.com/k3s-io/k3s/releases/download/{{ k3s_version }}/k3s checksum: sha256:https://github.com/k3s-io/k3s/releases/download/{{ k3s_version }}/sha256sum-amd64.txt - dest: "{{ k3s_binary_tmp.path }}" - delegate_to: localhost - run_once: true - -- name: Copy k3s binary - ansible.builtin.copy: - src: "{{ k3s_binary_tmp.path }}" dest: /usr/local/bin/k3s owner: root group: root diff --git a/k8s/roles/gitea/tasks/main.yml b/k8s/roles/gitea/tasks/main.yml index 3cd9a4d..d3b8338 100644 --- a/k8s/roles/gitea/tasks/main.yml +++ b/k8s/roles/gitea/tasks/main.yml @@ -5,6 +5,10 @@ api_version: v1 kind: Namespace state: present + definition: + metadata: + labels: + prometheus: default - name: Create Gitea admin credentials kubernetes.core.k8s: diff --git a/k8s/roles/gitea/templates/values.gitea.yml.j2 b/k8s/roles/gitea/templates/values.gitea.yml.j2 index 861f5be..f4beabf 100644 --- a/k8s/roles/gitea/templates/values.gitea.yml.j2 +++ b/k8s/roles/gitea/templates/values.gitea.yml.j2 @@ -27,6 +27,12 @@ persistence: gitea: admin: existingSecret: gitea-admin-credentials + metrics: + enabled: true + serviceMonitor: + enabled: true + additionalLabels: + prometheus: default config: git.timeout: migrate: 3600 @@ -50,12 +56,14 @@ gitea: MINIO_USE_SSL: 'false' database: DB_TYPE: postgres - HOST: default-postgres-postgresql.postgres.svc.cluster.local:5432 + HOST: postgres-15-postgresql.postgres.svc.cluster.local:5432 NAME: gitea USER: gitea PASSWD: "{{ gitea.dbPassword }}" log_sql: "false" + metrics: + ENABLED: true postgresql: - enabled: false + enabled: false \ No newline at end of file diff --git a/k8s/roles/k3s/master/files/traefik.yaml b/k8s/roles/k3s/master/files/traefik.yaml index f91f29f..d1bc522 100644 --- a/k8s/roles/k3s/master/files/traefik.yaml +++ b/k8s/roles/k3s/master/files/traefik.yaml @@ -4,6 +4,9 @@ metadata: name: traefik namespace: kube-system spec: + chart: traefik + repo: https://traefik.github.io/charts + version: 20.8.0 valuesContent: |- ports: web: @@ -12,3 +15,15 @@ spec: expose: false service: type: NodePort + experimental: + kubernetesGateway: + enabled: true + metrics: + prometheus: + serviceMonitor: + interval: 30s + scrapeTimeout: 5s + additionalLabels: + prometheus: default + service: + enabled: true \ No newline at end of file diff --git a/k8s/roles/minio/tasks/main.yml b/k8s/roles/minio/tasks/main.yml index ce3094d..61560b6 100644 --- a/k8s/roles/minio/tasks/main.yml +++ b/k8s/roles/minio/tasks/main.yml @@ -5,6 +5,10 @@ api_version: v1 kind: Namespace state: present + definition: + metadata: + labels: + prometheus: default - name: Create MinIO secret kubernetes.core.k8s: diff --git a/k8s/roles/postgres-config/tasks/main.yaml b/k8s/roles/postgres-config/tasks/main.yaml new file mode 100644 index 0000000..da517be --- /dev/null +++ b/k8s/roles/postgres-config/tasks/main.yaml @@ -0,0 +1,29 @@ +--- +- name: Create users + community.postgresql.postgresql_user: + name: "{{ item.name }}" + password: "{{ item.password }}" + login_host: "127.0.0.1" + login_password: "{{ PostgresPassword }}" + loop: + - name: gitea + password: "{{ gitea.dbPassword }}" + - name: "{{ grafana.db.user }}" + password: "{{ grafana.db.password }}" + - name: "{{ concourse.db.user }}" + password: "{{ concourse.db.password }}" + +- name: Create databases + community.postgresql.postgresql_db: + name: "{{ item.name }}" + owner: "{{ item.owner }}" + encoding: UTF-8 + login_host: "127.0.0.1" + login_password: "{{ PostgresPassword }}" + loop: + - name: gitea + owner: gitea + - name: concourse + owner: "{{ concourse.db.user }}" + - name: grafana + owner: "{{ grafana.db.user }}" \ No newline at end of file diff --git a/k8s/roles/postgres/files/values.postgres15.yaml b/k8s/roles/postgres/files/values.postgres15.yaml new file mode 100644 index 0000000..254fb36 --- /dev/null +++ b/k8s/roles/postgres/files/values.postgres15.yaml @@ -0,0 +1,7 @@ +auth: + existingSecret: postgres-credentials + +primary: + persistence: + storageClass: hcloud-volumes + size: 8Gi diff --git a/k8s/roles/postgres/tasks/main.yml b/k8s/roles/postgres/tasks/main.yml index 4188bb9..3af4bb3 100644 --- a/k8s/roles/postgres/tasks/main.yml +++ b/k8s/roles/postgres/tasks/main.yml @@ -5,6 +5,10 @@ api_version: v1 kind: Namespace state: present + definition: + metadata: + labels: + prometheus: default - name: Create Postgres secret kubernetes.core.k8s: @@ -30,3 +34,11 @@ release_namespace: postgres chart_version: 11.9.13 release_values: "{{ lookup('ansible.builtin.file', 'values.postgres.yaml') | from_yaml }}" + +- name: Deploy Postgres 15 + kubernetes.core.helm: + name: postgres-15 + chart_ref: bitnami/postgresql + release_namespace: postgres + chart_version: 12.1.6 + release_values: "{{ lookup('ansible.builtin.file', 'values.postgres15.yaml') | from_yaml }}" \ No newline at end of file diff --git a/k8s/roles/prometheus/tasks/main.yaml b/k8s/roles/prometheus/tasks/main.yaml new file mode 100644 index 0000000..37b24be --- /dev/null +++ b/k8s/roles/prometheus/tasks/main.yaml @@ -0,0 +1,37 @@ +--- +- name: Add Prometheus chart repo + kubernetes.core.helm_repository: + name: prometheus-community + repo_url: https://prometheus-community.github.io/helm-charts + +- name: Create observability namespace + kubernetes.core.k8s: + name: observability-system + api_version: v1 + kind: Namespace + state: present + definition: + metadata: + labels: + prometheus: default + +- name: Create Grafana admin credentials secret + kubernetes.core.k8s: + state: present + definition: + apiVersion: v1 + kind: Secret + metadata: + name: grafana-admin-credentials + namespace: observability-system + data: + user: "{{ grafana.admin.user | b64encode }}" + password: "{{ grafana.admin.password | b64encode }}" + +- name: Deploy Prometheus chart + kubernetes.core.helm: + name: prometheus + chart_ref: prometheus-community/kube-prometheus-stack + release_namespace: observability-system + chart_version: 43.2.0 + release_values: "{{ lookup('ansible.builtin.template', 'values.yaml.j2') | from_yaml }}" \ No newline at end of file diff --git a/k8s/roles/prometheus/templates/values.yaml.j2 b/k8s/roles/prometheus/templates/values.yaml.j2 new file mode 100644 index 0000000..9f33ede --- /dev/null +++ b/k8s/roles/prometheus/templates/values.yaml.j2 @@ -0,0 +1,66 @@ +commonLabels: + prometheus: default + +admin: + existingSecret: grafana-admin-credentials + userKey: user + passwordKey: password + +defaultRules: + rules: + etcd: false + +prometheus: + prometheusSpec: + retention: 7d + serviceMonitorNamespaceSelector: + matchLabels: + prometheus: default + serviceMonitorSelector: + matchLabels: + prometheus: default + storageSpec: + volumeClaimTemplate: + spec: + storageClassName: hcloud-volumes + resources: + requests: + storage: 15Gi + +alertmanager: + enabled: false + +kubeEtcd: + enabled: false + +grafana: + ingress: + enabled: true + hosts: + - grafana.icb4dc0.de + grafana.ini: + server: + domain: grafana.icb4dc0.de + root_url: "https://%(domain)s" + database: + type: postgres + host: postgres-15-postgresql.postgres.svc.cluster.local:5432 + name: grafana + user: "{{ grafana.db.user }}" + password: "{{ grafana.db.password }}" + ssl_mode: disable + auth: + disable_login_form: true + auth.generic_oauth: + name: Gitea + icon: signin + enabled: "true" + client_id: {{ grafana.auth.clientId }} + client_secret: {{ grafana.auth.clientSecret }} + empty_scopes: true + auth_url: https://code.icb4dc0.de/login/oauth/authorize + token_url: https://code.icb4dc0.de/login/oauth/access_token + api_url: https://code.icb4dc0.de/login/oauth/userinfo + persistence: + enabled: false + storageClassName: hcloud-volumes diff --git a/k8s/roles/requirements.yaml b/k8s/roles/requirements.yaml index c130ebe..ff33494 100644 --- a/k8s/roles/requirements.yaml +++ b/k8s/roles/requirements.yaml @@ -2,3 +2,4 @@ collections: - kubernetes.core - hetzner.hcloud +- community.postgresql