From 136902c8ec3421838301f878923f96a346dcbbfd Mon Sep 17 00:00:00 2001 From: Tobias Manske Date: Mon, 15 Jan 2024 20:42:58 +0100 Subject: [PATCH] Add gotosocial --- .../host_vars/host.nc.chaoswg.org/vault.yaml | 811 +++++++++--------- ansible/plays/services/gotosocial/.env | 1 + .../services/gotosocial/docker-compose.yaml | 77 ++ ansible/secrets.yml | 1 + tf-stage-1/dns-unruhig-eu.tf | 3 + tf-stage-1/secrets.yml | 1 + tf-stage-1/service_gotosocial.tf | 49 ++ tf-stage-1/user_rad4day.tf | 2 + tf-stage-1/variables.tf | 5 + 9 files changed, 556 insertions(+), 394 deletions(-) create mode 100644 ansible/plays/services/gotosocial/.env create mode 100644 ansible/plays/services/gotosocial/docker-compose.yaml create mode 100644 tf-stage-1/service_gotosocial.tf diff --git a/ansible/host_vars/host.nc.chaoswg.org/vault.yaml b/ansible/host_vars/host.nc.chaoswg.org/vault.yaml index 9698031..124fc0f 100644 --- a/ansible/host_vars/host.nc.chaoswg.org/vault.yaml +++ b/ansible/host_vars/host.nc.chaoswg.org/vault.yaml @@ -1,395 +1,418 @@ $ANSIBLE_VAULT;1.2;AES256;secrets -31383237636366343438323664636362666166393333646565303139376464663338663437313634 -3236656363383934343532626636386565333430613837630a306565643664303230333834303365 -30313665613833373765656539616132306237396163313637303735636230386130373231326236 -6265366563636132650a383230366566373836316361343830336530666261623737356461353234 -31346235313461373563613061373538323631383132343236353232666434356663353630383435 -65646135353839333532383362303734303432656262363663306135323066316363316236666534 -34306431303863616463393863323136383461363235376131656265326339306639336236643937 -38396539323163323765393963323166373035613063346262393831616562643939333132373038 -36346466383864633765363437343166633263343338363230633264623631393237396564373830 -37343862346265393237316365363065366438616331623139643533353135393466663439383837 -64623835303061636430646339396432643663616133616633613139363038646365623066373735 -35393133323538633238666132323464386266323630353563373830363739613531616531323938 -30386365623265633264633632333432323336633165373263313338663339643432646131326331 -39663065656263633462363939333930383062623133333931393535353162363263373838633037 -63383632383635396332626264653961646133616362353662356533303264613032626536356437 -65376330333565353038663237343063656563313264366539663061663966613863666262633036 -32393731616538623839383537636430383264613535376462653930303564313964393161636436 -31636134643438643566633833616166343831366235343932396536366335383233353361633537 -35656133383263653730383535316563356435626134393333353637336436356461646636656535 -63336361313132303637663438393331336638363130633364613565333562613933626339653037 -65626561643262313438373337363134646136386336343231616635343335303832383366613534 -36616130666464633935373038333134633233376532626630636536346439356332353132326531 -36656134386530323335656334346561633362666632663461663166306233343061376131643233 -64393761653233663337333566353032613337643734633365326361353466636363636666356465 -65353562653339313265626434393362323465613739663933363962646238316438363731396630 -36613332643736633236323038366662613532623163343937373335373833316631353934636362 -30316230373136343437313132313439626265363962353961396433626363383739643438346666 -64663564646335333364363864396233353730313763313564376362316133373839343637616333 -66316437383032643831346131313839366234663838653766343663646631336637643135633539 -64343662356134633534613365633431656162633331663564373332336163313762363365333233 -39623734643862646236313638306632343739633431303263373365623561663330376263336566 -61336539313139373163616432386235363830333661643630613136316637646365613766306334 -65663235643264663862306536386136623235313863306339616339393639306436386634306265 -65376366353563353331653631663736663564393061346163626636343061373863333333393862 -37613539323364626336636632326663646166643834636339383137643866313238346662663136 -38306538626361633136373737346463333662376639323265386464636436356631646638336664 -30306665383738663331633733393266316561343237383639643566383231613339383162376263 -61633035636566643663373531663634336333323231656366343565633562363039323964633131 -31363839656331306266623935363431396130626136306638393734323732363339323266343837 -34613538343766616139643164666633623333616233346437346637393632396566663665613264 -36353331376234366262656634393339613566373466323033313230626265303531323430656334 -31376130616634343561623030313736633964643332636362316530663237646464353733393738 -30373564393434313139313839643232663833373131363230623562353830383330376534356231 -63363738383462386334343766633537666366653731363638353034346461323363663262373363 -62393433366262616438376435366435396531636566336163316362666166376165316638643730 -65303264663432303339646232636363613961663630656537343230666637343837373966333461 -61613362303034666336643265616333386632636331376564656430396532653830613263626265 -34633331326635383766653332316432383438396436613263646262323635633062303262646538 -39333933616665323139623038363166613363363861666332393164303561613935346261623734 -63646262373036383538333732613733306662623536643464633033663830373335336538383363 -31656530333236313462316330313031653639366563646533346530366533363536353131333138 -39623437363732666131626133653762343432333531393534316634306632643938353561376233 -35316430333061343761623234326631383736333263393663363435306531646537313863333265 -34356430656263613864653562643035336163393835323631643539656666376530303935656631 -33343364356333356636633563366566663430313935386463336139666132386264646265353465 -61353135393162336661346566636533313564386531323662366466623030333134343430353036 -65393661363566373335343537316630343737666231383335653639643434613736626164303362 -31633966386263346261366230653330633931633535383531333935666235323838373762643232 -36663566396433323035386136623039373730333839303737646436613236393533313465333333 -36356133313562396264313066326130373561663864376563336436336564613061356462396166 -35656438353034386535303534646665383139613137353365343061356134323261313562656565 -63643538333132653865333564633033613734373865396361653435636163636134356434643361 -31316565633365343563303230333331376161636466643635666639353036326238333931343265 -65383362323831336563643361383233396364646535323733346239336465373965636662333330 -64313037353332643338343130356433613431626433343731313864353961663263623964656162 -65336133623137353038653131653137633132646565326635396236343133366463656336346330 -66616663363035393434363266383462396137303331636130366331633234313634383861316237 -66633531636436396564323331346166393934383934616165373438313064323234623438613262 -31386565366631393165303330396138366130393133303737393835646230373136653666653063 -39323263343632363132333132306433383538666339386631643464373931343966656637303563 -65653433656265366361646233643839636162333263303066323863323935306365356666363834 -33656561373233393934336638373533663361313432626566356130393337366538336330303635 -35303466656262633763643264356534313562383735373131643834386531653535383636356438 -65303235323032613930303239383132336437323261626330333733383833386664646563616265 -39306264633561613439346334333234353138366261636238393630653234333035326636386363 -30623437633533353465663966386235373931636564373830343239633462616630396536613363 -30633564346661336435636561633366326164643863393934366262343361353631623734323161 -32386534386236326437656130636436653139306462313237313135333964643333616231386538 -34653963643934613562323538616436623661643263373866313061333761313266626130306636 -62306566653061613064396539376665623566643136636162613863393634653933636662323137 -39376564376162363230383031643263633061653164633438643039393435356161373765333963 -64663133633461383736663037626466623461623337333638396661663831373030356138333663 -65653966313238666235643232386538373065313666353634623831323039663235656537383530 -36373833633439336662643432386566393566373163383963653164306661616231366362663763 -65386261336435666136333533326438653531316564346465633239323738636637323439313366 -31666261356439393430316232373630306561333232623363356163386632613539316230376637 -34366435656232366465643839613333313138343064326463646230653239646262616533303362 -62343537306238343464626566623062636463343833633235653131616161313033646333373965 -62636661393139353463303462636331383932323032366230346331663131616164306535356135 -35333463393962613433303932303532323266346164643031336235663638636130373030643034 -30363466336463363634643434346133626434383162343264613032636335643338383633613062 -61396337383363336439343134323131626431393633316361303738653531383064663635663663 -37613234393638633335373932363634643535393662333038666166363539666537386632303365 -38373934623530303464323937363239653836623131366362623634336231336163303131316338 -32613639333461393066316665376663343464636431376632386434346134346466616538643633 -64346361356239646437626237303266343636633461626637663931623433353766373531333936 -65646439326432663133613432346465373163343838363363626332656161646433663538376265 -35303565346330313733366131346136386263386233393235616164303338393665656538653638 -30653465313233353234343264383662393033383538366435633331663930616364353763326636 -36383833306536616531313935366561383133313330356431636439616530343834393836633533 -64386332616133633034373839643534363763623030323364306262346635306165663261343832 -65636130363264366536633566363636393765363438623532633037626231633235383730626662 -30666236653766363931383631663639653631646465346134303863613163356461663631636436 -33653332306138376563326136353236303431333232336131353330623434643834656137633432 -66626163643234613638666136323637393636346538316637316266386632643561386139356632 -62336233653033383635383036666339633666306661373837306166326262316630386265613864 -66323834343463386331333361343335303532393963613566316361336662316366336531333263 -31613461656132613131663461626635333639333965663066303331386432373736386138633666 -61623132323735623562656166633636366165626566653361636134633032333137646664326366 -62386232356464623764633530373839636666386634303232323864333564636534353237373662 -66383362626332633663353065646636656131356661613639633037316635333030323435613732 -63383032396561393637643338626137343833316335636633333235376235383163326336386364 -38356363623139303737323133393735376661366666636536636236316638323030383737653239 -61313064316332316262313531323263373436373630373036363634653830323061626637333261 -30626666356430393862613630356561643634326363366566336532313262626637376635366535 -62363738316330366335653932316639363465306335396138353063616461376261656365313664 -37633437646235346331323634646533303864346133326664343138373436636662396563323863 -35613565313635656233653665616632356534346636653933373666333161373435643062363266 -38383662333433626666666164653336376631326539346138653264303334386534316463346361 -38623762383833356434373430323833373166356434346562383031626431363761623438656334 -36333238343635653434306431363166396134646435343637393236353330646233383331386333 -32333631373136383536666533666335343265323930316136346138303930306564613636633939 -35363236326235353737626131356533383130636231353931386263646662303136663831343832 -39343936346664353763373961666465313437626533346538396330343533386438376530363862 -39316266386235623834313964383962323037636261303135353636656636306163613161376334 -61366233353838313434663936623765373662396566323931663832316337343235616364636263 -62616562376435326363616665653263636665353839643336376164666562636232383530353165 -34326136326665333732336233353661336166643061366261323861633333613465666334386335 -37663964306538356561643539333661336337646461656461363530616231663735393738666135 -66613961393065323131653333626437616330346433363032636339653736623433616162346134 -33656332333162376438643531306634303330613539616131616639373462613764626134383039 -37316134326230346539383931643461393462663236653338626133303161313435613232306166 -31393064646462333830363430373237656566356537663736383237383636356232363338656366 -39346430656362653334383366313565366232316566386633626632303066383831626535353138 -36616338623132626437346661363232656538633138373338653565356536356562306533636563 -38366466326239356232366237613037363266653136633361633830386238646662333334616135 -63333632343131383931323634383665636234303538623664626364353064613065366264613035 -33366461633530626136653935363262393038653465333431363161326633656165623933346535 -61643163396364323462303838376238653835313666653066333762643931363537313161303831 -30333839366530613531653334303064363338356130323030303936376135323930353062623563 -38663961383263343533336334623434656661393631396562366336613637653633383463333236 -39653932383235393233633331376261346661323034626433653432666537643764663565373831 -32653931636462643465633033353466303434383231383034336135363863663565653633396265 -37633231323930663632313364353964633635336133323431613935616565303061353862316239 -34623266653837373264316636373062656430633761393736356435303434656637666461383638 -62653938616531336566663236313831666662623164646337303363376465353336666431393366 -37303030663736616232306361336666383834396662313032393334626565323034333961646534 -33333361396437386262356366346435613638333436313439636366623438626164376436653332 -64363364306634323935336566336166323632333937393435303838336238323931313264383234 -36303761383138323531383231363134646163373032323663316464336438613638346164323137 -37346539323865386335383730396265633437386566616534663431316239376363646334366332 -39646563333238326438303938353662373234643965396639303138653430666138386365663364 -30616365653964666666343937633832336430343436353035653239373638316136643862643737 -36303730386233323439353432313032386366393631623861663865653934303738373138643133 -63303633653837316634373033653061393236373031623462363465356538363434343534353466 -66633937663165306530616236323233636336323938663833333931616237313038343963663536 -66376265623031303862646430326631663834646165306337353065373566323936616466633436 -33313030613663333563653737393831646463636163653639623137636538323633353035316236 -63333037316565663561353234623231333664343163653964336438323662316535393766383830 -31633731383466383934343862633161303964306166343262626331353838613339313730373766 -35626562306434316636333030383439366666333161663962343564636465353562346533333731 -38653738363566303531373233326136326662643133316433333965346631383432666433643838 -35653964333739336564373361333439383565623434393437373734626665336162633466386265 -34383462336639366534366366626539326263353238393736313532373564396336663465363066 -66613132343437363637333935346435623431366266353364396366393766633034323630303338 -39326334396239376631336264343962663338613463613330643035306462623933616662313137 -30346338656530663737316434653931646264626464363362396463356163653130313639343738 -63323438363939343465663631646133393464613863643834363835653164376234616534386535 -34666334343932653965373763336236323735303333663030316135323762643431343435353861 -63373765303632373539366138613865356137323263646639343431343234656535356139313763 -64313132613536313834373034626161323534306636386338616264373832383232393336653666 -30356534633963613133316663363330303830303262633533353065316462653431306531636137 -36386137323732613934663733666561373930356633313439623461303338656263366433316230 -61646630303836373335303461383461386563326438313165353561613165303738343139346436 -32343764616265323537393638333833306262613364386662383130336365646639326433663165 -32356366636633393434636438653937316532663432633632623631626563303830333866383866 -36333935663665333831333334343330663431356134313761383739346631623235323638616339 -39343464343133373934346430623038656366323734613635343862636132313165626537633363 -64353131323339613664323133376663613935656537326237656136653131623539323434316233 -39666437613863333834653466303931313537316232643135666232333839626333313936393163 -64636232643661643032373436663733363034393530303435303239653338383737666561313535 -38356663336436303833356565663038316137663561333139376464316332356562363037353564 -37373231633739363830316139316561346137323034613733636431353339346433393733636539 -34663136316336323930323930306339323361303761616365303035623736366636616131643564 -66306630303430393364633731623532613764366662643365366165656533376464623361653964 -37663136353430303762336339623165306432313633373366633333386466353437376136653661 -32323236393339326236313833373362333736326365393665613230363835633133353336383836 -31393165343065373361643861363566353166386137333634393765303563343861643563333134 -35343763303265336532633633353931306538386637353036353161353438656163663364643661 -36643433353166323334323133646638336665333063633061356461616132393430633434323761 -38663463666464616234626566663638346566383331616564643066323565393365353264666538 -39643739383738353466303963356363303561623661323734333131653132313237353063376234 -34343964376162636232613262393733306165633934353530633464633066306330616434623363 -65613832346633616135646133613062636238643365333833386634353531343832383465306133 -31313764346133643530373931386435636562613530653233353238323065633635363336663163 -65396464316564653531396533633263396164393537363265663166323434383664303865663239 -37313962666237616265373139313737366639323965353465363237303561366332623432633966 -63383037353539666131383365363935356138366532373564303437373939353133363266626238 -37306236643062346266653934333862376436633036353839343735366639363234356130306633 -31363333636463666663613137313036333137313532333733333735363834616362306332663732 -62666465633463653961643435343434646230333465383236356566323262323137646664336433 -64313534326131303430353539333161626639363235386663666630363733663739643561396135 -32303337383333343530363536623432613134306634306562623330613931363261376564303936 -63623734343830316265366563306263323831326631653861663031386130343861353762663166 -30633761633638356631353566613931373161666137386636323134323739636437363533343161 -34623961646433656162323032393430643334653930363434353237613362643238303736333931 -31396135656362343431356162653030666332323966363531633165663866653738666636623033 -36336161393233323765306334303432613361303731666363346264333262353764613762626636 -37323565326330663366313365623132376361383833363234313638373864616362303366643732 -33303133376430373464663163346263326339396362353339316234313931363034636238303438 -30363261386430643532363938346136333433306135393937386262373834303038613264346663 -62356334306434313266613833393232653730346136346635366639626230393763373233353263 -30376465363733363963653964666533326436336439363737373737356439653039333333623734 -34366362353936623835306133613263353166316535333334626133653635323535353231666438 -62643232393736666162393762333064393565363133306135346631326531613036343231373462 -65623666613032613330653733336434363932383131356466393339313532303237383666653034 -63613962333131356666653061666334636232356363366337363433616235396639633738316665 -62666434303536353566616266376133313262656638646333616435386663636331333562333437 -35356434356532303664336465363761346333623730363534616435346432383461343165363333 -37346431666663663439396338633638666534333538366434373736363733323466393162316330 -66333734376365356438366535393333313632363037356365343638656337306334353530386665 -62303561313763613464376264646630613761363934323135363664663762366165383366373962 -31326139626366336566616633636161343466386365376635353962643462623036643334626338 -36303039653938663464346139333262376439396163626366643031653731333135656236363336 -62353364653233656362343035623731636662336666396630346130306661613036653437363963 -35633962646538306537333964346665663835643531346161343336643931393431373764376431 -39366165363664663161623663323537653532336638303465616561353266366263363461666434 -35616463303137633335326530663734343737653935323637393137653433633363373165653139 -62633831346434393039383164323434323735626430393935623737356637356638383361393662 -31396562663561663436383062653039333037653562386238613539666539303163663136353531 -63616463343265343964643161633634616330336537343934326636396630303465383138633362 -66653939316661636230356537343563373033383766353863376565613366656362306263326633 -61653466343366646364343464616662326630653933316165346132363136313061366636643532 -32353230663863326464306539303839393265366162373061666461633930376536666330306363 -34616636336135303963306331623732386264333766616336653039303632373662333334376664 -35636662633639306139306361613733336664313166623262343134623161613330616163366639 -64326365643439393635636337383535636537353761343431373935333565303566653036336438 -63363932336361326361333864343032353536353331646266633635303162323936626266393138 -36343732356638623763333333353837633534396236323037313033613131366462613336353830 -63323662613235353038373836363966636638363836346233643939393132356430393735646262 -61383338623936323238333330383863356634363162313430323134306436316664303466386439 -63636330336535373432386434373839313263326165306163343063323932356436343965646362 -63366533323761633238396534333835643234393866396363626238633234303764333038353934 -36323164346238316561346564346632353361303732376439346261663730653164393432343865 -61386563393737366235316535363638633334386438626134633238396234666362666465623234 -63376631346561333939303364363533653063656436616561363838323033613539353635646633 -65633239386630623536323862376337653934353061636366623034373862666237356332353435 -65393531623837396661326139633535656131333538323639616466306336356330626265336161 -32383666303535373935313063333864613761346631646462633735623961346161333564636365 -31656362353837363161343261393162356637653038366232616532326561366161356638373561 -62366566646561613663656536333063363933353663333031613236326639333536663334656465 -32396663326432666530313266653436333031323664636466353462346534653733313663353339 -64663139616464666636663537303636316264326634626337666666323332303234653835313864 -34343537623032323937366261316535363537363264653332646234623766386131336238366665 -31643966643432353836616366366339663732663332333936396533646461323939656462363735 -63646566353233393866633537363239393464643137366334323933623862323563666530666230 -64616265663236653837623034346436613830626162306638353666343766303633356363613031 -35353533613238366337616665393938643566363433353638626161656435656565383836343233 -38356431636362383939363433303139643365643438663761353566303931313334383437383231 -32346566323066346465653635653233303830653761306165616634623865626161396331663763 -35353939353530326238633932663137636263393638383032303531633961336664373538616439 -36623734316361656239633839613661616665313234303638656332656139343761323637336339 -64393662386531353032323735393862656638353134366262383038323835323365356635386361 -35343137313334613231626365393636313162383238383636653762346566376232393139396437 -61376562386162356131666231633739323039353136623563633238343437366533623831346163 -30386439393563326335643132343133363663353236393034643562613931663739623466646232 -64316430393836663465623235386430356135623466623165383039316437333039636436396435 -34626266323031626432383731303730373461623665633039623631626530343434626531316333 -35613037626366366566613637396463376133346632396333633335613237663338363663633130 -38376439376266666661356462646436323238666336336430386436343636636662613364353439 -31313931323038373461376438373664393933383866303664383930643464346234346563333131 -33303639366331643539323339666432356335363164343231396231323536376366306166383162 -31386432353166363135313339646339646531386262323162313333303037366430353561633834 -65616131393563663032396433363738373165613033366466613566353936366633383737313861 -36623262623833353963663363666531316135636232626637643332623635653761646632313831 -66343934633532663138613432346435366234633964373066646532356366613132366634356334 -32333330323365633837346332396536366563616566366362376639333636303464363232303261 -30393437616465656637626234666330346264643434396165633862353834363762333762633364 -32623363333936653131646334626334306531376236323832336434323062643136363531316339 -32303531383636316361386664633866346466646532663865306138376264343837386434363966 -36623965646535623963353136383461663933653738656463616430333031396433383933343635 -36363139663534626331313430633266666464336533616366643562643830663731343632326136 -35313733306439633536373931303563386635646539353936353865366262323834373937653135 -65366437303961623361383962393431363465616635623235353661373336323537346437666539 -64323063633963353032306361386566383366663139336663343234616465306161383763643561 -37313463366363326263313861643337623932326162643565376531633866613038663235373464 -63316565376535613263396537663533616637613338323236646630626130303065626463313265 -66663661363538346662623066376339623832633335346539663266323738333364663530613936 -37393336636363323565313137653238323439663932363463323439653666343934643538303662 -34306230623064666461613439313839616130346563313433386433316630336436656337303631 -65303533616636393831633034333034366135666533613232346238356339333839326638303962 -63633136616131613666303431613964393061363133653761363535313665646635613463626135 -65373734656537353638666234303538353066316432613035643638373037323663346137326532 -30336361613364613535336235363962376436616261383936346439633737383233353361383066 -61633936303331656161643631656139303332633966393063353430396439313834396639366332 -36356135623266373039663631346235636539663830303861326532633837323265373032346434 -38393966663139313634646433383730353865363931303238663032613534353834656461343432 -33636130346338356339663332636565396537666434353833343363373335656334393135303634 -61623335626237333432343637663731373439633633393563623737323863636165623035303066 -63613235623461633164353938373334346531323264396236333338366139626534303734653363 -65313666623931643761663638323131646265343430336633663064626333373936643738366164 -63336437633733373265663861353364623832363430343862636632393939326331396430323461 -31396365313661363133336635396165313032303166653464323531623761366331363763386530 -39393236366232633332323531316339323235346334626565393265643738363161336633623136 -35313061323434386136613430343238323765643261323532356339633032343661623730306461 -32386133333536646663306436613865313130393937633366333332323330383139306336656533 -34366434623964356539396539316637336630323039353664383264646365323231366566646164 -65616465663536613030653430663364643731353766336561393530306436323435373532343438 -64613734633132636464613533656431633235653338326163663336306161623333613665373633 -66323966653362323438633235656638306530623432393536333863353735343234353266343663 -31343363613333356662306566303330386234323464656566383062383534386532633966356365 -65383866386133386533663035613432316663656639633831643062396533623931343163636337 -34613738353361623737646638643366666238373135346465393834346333633961616264363333 -63316237633433383362663339363231396537353662323336313838313635343536613638373566 -37333034346435343666383138343364613439656565636534326530316565323361306231306264 -61643662383636343961653139343033393334396238393931373466616463636636313138646263 -66376339306634353731616665303065643937383934356137623731653733346436393664306639 -36316462353237646335373132326338653237353333306261326538323764353033626564636534 -61386232376565636561313130666237326535366534663466353430353065646630626264313464 -63353536653431633233313831326362666165343733666563643830636436393238346231316338 -66613936313039313463663036643533663536623130346566393665323838383939376139353063 -31356330336331303064323237323730643534336132303930623166393238326264313331383230 -33643261336639643961373765396264393364383532393465336564343737646365323138636665 -35313832313162323838316563633731613562343062356532373638346439353234643439663838 -38366531313730653965393932633630333732323036626135643663303136666663303933326162 -38353230396161646434616631396266316636666438383234636538636638336139613335636138 -66306635386438636666343038393462373134663637646666363330363030353736303763643366 -36313566326264393039316561323264616361376233663236633030393763343333306564626236 -66306437376432643637613737633265333236336132646536386366373537353862623039313231 -64666635366430663034313139353261666239653635666661316139336263346264613235656231 -35326265646362663335343132633136623662373239376333303637343339616337343838333663 -31313239646436363835376166666439636564336635623933633833616261343838326564393465 -31616661663539653738383032656134313231623935626636383162393230353230316333616463 -30633935323961656165626364323465326133383132306436313433633336346433323330646230 -32373935653335373666383434336261643466626639663536616665306265366562623832616333 -38623861666661343638613465336238376665386562623564396539313432363061316431343462 -65323938623231313236653961653166326131303138373430303034323933383265363834663533 -37663735653765623365386630346331393864363534616339626462396562613863303937323962 -39626234326633353035393337613833343831353261646463373239323031643338393935643932 -31336134646463343064613466616132306235633534393964393830303530393463316563663338 -66316665633961323661336532663432653333356361383635323439656266393966363863316236 -37616535623738386366383930366532313362643335336231313035613734343834336362636662 -65656161336665383332363464306439643133363664373135326633626436376233356237646230 -64306532623464616135323630643438633238616565343334336465376362306664653138613336 -64646163643637336564353564636466346237316631336232656530313637636634376330313637 -36323166363061633532343866643039616566616265343764316163666563366561373563356561 -34346662313935323431313537363538623363373939343733666130376131383531386435626565 -36643463373134303865303436643833373062313761316336346337373234623036383036353862 -33333738663662386536656563663061363236663338323033623566323765393464656630303633 -36353661386137653337383634653962396434326231316265333465656561633438626335623130 -66646334663336343266323938393765383034636662313731343563626261303265386631303232 -61323334656137356134376430643732316561393664666163323831376533613330633330336661 -36376463386263346462636161626161663863626333636232386131623466363931396164343864 -37323730653165333837623066643864623562613333653364363332656437613331346232663731 -34393539633363393337313439336365663531343561633132643333373363656430633435383638 -37356662653561646238623239376166626361646164376538346439643134646365386461633263 -30653839323866376263356630373732626363386663353065323837343863623032333336643065 -65313034306164386630623664613138373936316331643365336661323438313533376661343939 -39346366626631346331666263326239356434343935346133666334386431323134323731616534 -33326464633138316162373136366365663237663564623331316564393734303235613539663833 -34316465356461323064386465626662646364353139363431366564353833613739616465376433 -64323835353438653230323734653137393166363766376566616363366138386665633339643634 -63646234336262376232326535336630396566633961383562313263353863663662383434666662 -35366164393062626162336135613133333862336237373235316232323038323465323530383764 -66393537303636646661613439396235373931306361343931396431663132383262386635646565 -31623733323732353839336236633239396266356638633062336665613131663361316630323164 -65396264306562363961663530643766336138623734386430336436373635326132306134333133 -61343037326138313537323137636236643830643035643065613135396233333264323739663165 -61346333313166353830636362313038626363633263363739626562366134386265636466343864 -31666563396464393964353365383839313832666661613664643634643263323666303134303662 -37336135396662623532333733613330353834313766356134626164343563323739313465616661 -62366134336234383731313035316134656164626635353566613636393739633364396132386164 -33333034336239366638313935333265346130363531303537353465666533353664313637633738 -62323765303563653537323331386134666163333663376661623339333665373366636530343166 -37393433633238376133643831393064323138633231313933346334343266373539386237653466 -62326261353865346630303464363164656538353562636266306563306265653130303266633737 -37613139386132366366633032383639313061353930383134626461323763393937313766666366 -61616530303334393430353739376336393934383466363538646464306363353930336633653532 -65613735373039363437393762636466616534633962313139306438333433353939626133326536 -64376261366261616261636336396235303066373262323436636665343264313362633136356466 -61306461383235313136303338656663373065303634386535376265353038303334306239383434 -64656561633739313636646161396339613134386666333161636266656138363436383265356433 -38653637646338326630313335646561336561653839346462656332393139356632646139376434 -63616331613262316166646134633239323232313261333439303361643361313338326632663363 -61383436353861366165323661363766613338313836313430623038313234626164653837613066 -66373537666331343761653533323034643135656238613139376666306665313837343137356436 -63343933613135353737326364633765313562653030303036653236366533313332353164343066 -37616664643131613363633736616562353065663933633839663361366661616666386533313566 -35343233646337323531313661333363376531343035303339626631633732333133336134363135 -39636561613762353731386365346166393461303034626130653939653934343865316533346437 -36303564366464373031643838366365326238313663366230336137373435663466643065333635 -31636165623862613032663036306535313862356131313666646436383866633331613635636461 -30633730343166393665623662393562323035343037663431323531613334393962373730396263 -3132623065313062646538333335343535653135303830346565 +35363566626539663638343063313962633435333461363562623237663535353331613334343161 +6264363235383562363262356139323936326336616438310a383137366164613339376137366265 +32623464313765626636666134333665396661383432653533646665646562623135346136373864 +6536323039383238630a353566643435326166346265316530383036653064626364643739306233 +35633831653039363039333964663534643061653130663634616231613639653736313363306330 +36306136653532393838306531333866656536646136663565316630373963643366666462303933 +61316435336233383435366664303331396164363239326432616662343336303736366361353963 +34363532373831353365373539363630353735333233633238313532333266313335643938643638 +64386231356437646630386133323730656238303364653366653138373337383036613333343630 +34346330303163386230343033303238303334343461333039616335303035306238623463646635 +63663565393666633162633238646166633561363265336162346437363661343431323734343932 +32653338663061653265626332366338383065613736306561306462316435303234363264656534 +64643864306335313531633235363366346232313437353162663364323365383263336235353666 +62386232653831633765346633393332376538643239306164336534656332366234393538386564 +35313930353362336165613335643465656138626430393464313765313534303634633739656232 +66643535663336613865373339663664343166633534326434306162366635386366663230373464 +62303937393435633237373239666231643930626432663361346166356533366530303234373561 +61636132316362633136353062663231663738313265376532643631633162613264333963623235 +61393661623232396463326666653231363030656565336565346334336138633165323064343564 +35303831303262343831363466646265376231616237666266393537356365383466303662336336 +38323633376261633431386662646664386161613463343962313134303537306439396363373230 +34613935383165643163386135383830653562303264626331326136316464383938626532623730 +30363562633335343735623230633132303162323264323932663831396431333830353137396132 +30333736343639366335393763623739393233343065646237396630643634663066383866323737 +61613836363461633833363562323335623132353035343539613630356334396463386137663739 +35653065613031653766326235666334303965306434363330366262353539326365336131666362 +33313164653838303565346335643136323734633231343131623534653633653261353063633862 +63353139383562643731343462396635326537666636303337313038313862373639643036623333 +62323439633438613961396631363332353761653563313037326132303634633036633136346238 +64653566663936616236383534363966313133396237376130656332396562656564353032326331 +36336238366636336237663737373637306132643462336337383034383533666362333636663737 +38323262346334326339353937386164656332366264313832326463616235343535393631643530 +38373332613561656562383263386662316439363362343763663139623161353163383035373339 +66383730306231323334646666623432643032343531363862353762636265373232333431306134 +62623334646438383337323762623338383537343733616666376238333239393364303764656561 +31366632663535623936646161363063316263643835346336376538383734383733613762336466 +34643132333432393432376235396666663934376566396338396164636533316434346135626163 +39316565393139356439323538383164323835343633646637386137653931396238356666313535 +34396365616235313533313730366463323235326134313837363465363237333934663934393130 +39303163383862646633623236303361393537666239396230323164356139646262396536303437 +37336237333265626163626635303331653365613735373364633961616130616537376330353566 +62383437383465336338326130653163323465616232613331316566623130646466363163373031 +63333261343264333338616633613663316661393831383338386237633839613765653630386638 +33623665663739666634316238353735363231336165376438383966613661323132306562396464 +32363131306137303536326131643434326535656631613735323736653533373839666134336463 +31663939613236326564303939653431653931663134643436333962636331363064643939333239 +37353539396563333266396233306231336630363534343034306134336533313035326636363264 +39346361356366383037383765336636633531616538363639383232636536313561666333373863 +35356633656638383430303364663962306230386163623261656131366438376131613930326533 +38383231646162333937393832323231356461616237656534306266353263333561323566363933 +36663063316436326566646233643762396332383366383565633438383663643832626533666235 +30346532613833333761613437386564393635656537313166643865636437333436393337663335 +38643065386632626163376565626164653235633337323364633837613665393866653230313734 +64636563333137636436616464323839633133363137303734386261323034313437373238653535 +37373361663765333434316565626532383338303736626239366535616635313639663834653931 +33356139616265613262343730346664363034646133653333366666343333373339346663353262 +39626532386232393533376232613964316636316237616363303632386538363038643033373361 +65323339343333663863323262353336643934353438363965343665633432323832666139653430 +38383334653031343063393463643834663064343265626566373662393163363330383237663333 +39393236643638396633383439306365623639646130666337353765656337643832616363313432 +63343066333863663734363866363965376536396530633966316535643237653363383965363339 +61646263386661343733616637363164323038646538653136666232386363653735343539323434 +66613263646332386264323431326462303862303561393831666363333037393232343761306662 +64303837393363353538303564353465333330306432643934313233336131653931343538623763 +33303163663530386136323632376238303232343238396666353663383261616337383033336138 +62303233393261396339383462376336623866643664636233313138313964376266343535346666 +62323765343663623264326234366431616633316139386234623963393166303936343732326166 +35623661656461306236323231666138316161613534343863633039653837623935333063353738 +66373834343233336463373832653836326565333731363133356333363636653261313731393732 +64613730626464313736376133333465323464363536643736353063633966363536653437656533 +64333464643339343637343634386630623961373565306630373038633866343365323833623962 +65666330633539323739373636623238346237643732663736623330353038303830396666656261 +30356531376235643661393566333033653238633639353935643535313134316562343536336639 +38303463383037303431383764323238323463646430366233323433363535336234616566363531 +32306636353136326335643865393462663465633634356437663865383765396135383038656234 +66336336353864373231353032313236323034633534376362323461636263363436313430323133 +66613564636137306266376566633930353036623161613530313563336432373038343265313733 +32656332373733326636333936383235353535363636653335313766663536613162303564613437 +34663366373636636465623562633339376334306232656630643635376136396131616533303466 +39353531326536393663306338306630336534623935666564333730393330373330653532313230 +38393230333964623763316266353932316535376633666237373339653433303762653835336439 +36316563366638396437343964663433623531343061313439363630623933636538323034643832 +65643632623332393733383166313563636266356233383639323830303661363161333261383630 +65353237376139653839323438343965313735353436336561623065646466343139656339373163 +66303064383062323266623634386263653765353166633261353666323430346330363739613038 +64303837393533663633623837356438636166646435343035396633366238663661336565643065 +65353230323731623534316364313464616335663266663263326266373162623561383530653963 +64313664333839363565303030316666333365333335373339313032303462653531386136643966 +32373537373763363361316435626463393433333563633735353562356435353937303364396136 +30383339613238306237646566383232373432613336653762303934666231626432613933653966 +31396436356166653261663330633036633963613433373436383433666632663231643935396262 +65633266613261626234393934333837613033366338383839623231663366373231306337373336 +65373132663964613334376332316466363032383536623239386164313532656530663266346162 +35333063373137363536663761616133646162353139313364386235323537393462373562613962 +38353630653436633030616664633462393039363665623362616663356234336266306261343230 +62323864376334376161346437376536653532346265633066306536346439373834656465626661 +32393837363161386435636538666265616365333366363834366634333239376463623736643163 +36346135643937386566356362336566313165383630353634353133623137663332393261356462 +65613564666666343163386663613262653161633165376165366465373532383736333165396662 +33376133343332353839313139323363383134636331386239656661366536653434316362346235 +36666439333661303266333934363332383235366165613561333239343233363065313538363334 +36633530666230376532626466656432383436636636383035663838366331363362336139646664 +33346230383939306161396263346661333165333866353635633233323934313435386563363363 +31343765656336626335303636346366613265366138623331663735383739396338313337306538 +36656337663033623330646538303436623466313233343330303262376433333833653865363634 +39376438613531343332316466633465613439646631323061383230633564316331346137376665 +61663962343134386438376137393031656563303634336566303635356238383936366133656361 +39323834316432303232323833623738356462313537623739333539393331303463303336613235 +33366132343435333832323864343137663361353839633239623738316261333366663630646134 +61376431376637356664376465663136666461393934333161343461373634356532326165396430 +30393933383063373963366562616439656535353565396635656432613163306239323036383263 +31363237393730323466386238646165326530643131636436303262363432656135633633656435 +36323861393531336534373364326262366465656433633163323233616230333263393835643230 +63313039353566663463393334653939383937633539306435666636616339376164653737336531 +62303430633532323266336633656437666163653561343566396565393533656637373064333833 +36666430663862353837623662333236313463313937323732366535383664393261363765343837 +33373037313531343337646134356466393964623935386430356239336565316166363730616532 +36666631353439656138393162303764323737633966333665653634353433373434653439353865 +36323536363431303361646363646463643336316530643961343034643230653635613133316437 +34333036373039633937656562623631656363376661623536623438373839663066663730623933 +62356132373637333534636532616337383931626431366539383466396562303733363537356331 +38393765653638306537363264336233363134663462396530643262643965333432626437366633 +38333135653464643832323263323139663063333433356465383039386561616661666338646131 +35653730393030326431653432313135393132313061613664323433373331623265303230353163 +31616630623936643732316135333838343131636565393234663033613163316138336436393262 +63333963393537626230376562383237633736333337643063383632343236343633313336336338 +37343638666534616164323638646539393166373736363566323161393463326233383832643266 +39336639386230373166386638613935656163336538663030313738353735346262653437643762 +63306166386662356265326637306139373532343666343239373130643537396438613465663466 +36303435393033326563626665646665303831633266313364643534303366366266366439356166 +63333262643637643165343632663666663739306230346336346364376161323461633163383865 +62613036643063383237616433383830383932623931633337373436636461373362333962343432 +38333236306330323566386661373961656338663561303833383136653363363737303966393937 +30396138633363613964343832653830653066373334303836346535643633663334323738333535 +66396234613530666431353963633638373238303037613566383562376665663138623263643161 +37363235366332663038323638623262336331653066343635366162613037323061393865366466 +38353466356366373362366630373535323733333930343061363363623439373063363261613237 +62326531353736303432313136353732396336383436623861346134666132393265346632613361 +36346361356332363966356465373962636435323939386661643934343466313430386162373132 +32646336336662626338323334633462653861336262316633663731646365636266613664366165 +64333233633534303434326638373866353661633330623261363366343363666562376331633735 +39333464653031623865316436616366653263333938306335373062306563353138366663376564 +37653161376332373234313761333261623665306436386362386566393566306537663934663465 +32636634373966313536623430343335386666396536383838643931366664616435313266373338 +32666134663132336466356463643938393137626439323863653135646430303265393462313066 +34613430653135646330316535316439626331326662616237616539343262666431396335616665 +30393039326661633737303734383538663261616462636437653464663333663235383761323831 +30623435636662316662643537613632343138343435386161613866383031646261303635343431 +38366265356338626431346230306635303837303833613365643638356363303533363837323462 +32333232313130376132303235636432356432343339653635396530653236343636373261343661 +39383239313137333065366137636137363930313932623030616336363463616464663833613534 +63626165316433303333376566633463646464633063396637663631323038386461303962633465 +30353230663132653035663837383832646239646539636361326165336131303631396539363935 +38356130646463633238613734626261323032333264383631656465313361366663643636623238 +37623038303739626235613365316162613065356538366531366662636132383265343764373661 +63356137623365343337643937663933373164613866353765626364316338376136316439636461 +39346132383165356638383638663938346363636364626566373962396562386539393762316131 +39376264323463343238363432316163643935333430386333313633353434613561313736386337 +66643532376465356462323032383237353562386162613465656234383938336439393763646133 +36613766333032306464646431656566363464356161383162383639333139666237363163393033 +31313265653766323563393937653862323639386639316465396334386163656663616464336431 +62393830626632326663626461663530373163623430316332306138363433613463666462373162 +32323066346365653162636430303937333865376166626434633165643633373237383264316164 +62653931636630626635323434346336616530356333303735646232353461653539666361343439 +39346564353761326163386466356461616439333061623034373831653534636466323438313662 +35633239376232643830633139316531386164333034353266633232613136333364643033313264 +38653935626530313238626462643462666164303861613266663166373539303432396337393934 +31646232643538636432613763383335393739623832336633663733613938303461306234356566 +65356438343865643166356464636333633634366430316664323430646431363532656561366431 +30663531373638343936393164393137303335356661663835336638376666353039396565353164 +30613462636663316138393363353631393362613638626535663435666330626161383464666533 +64633335656237353239363633653530653862393837636366353731653033363365643039633463 +61376431626461616664313737353538396562326566626461623930373861303161353434626634 +30623631363132636566353437343964376535663461326662303330626562313738636163613131 +37303731633966386434363736356634663165313163346335356362643336616435363261653937 +65626536396533386262386563626366393930376437306333663165643034623461633936663264 +37386365303730613965326138646132356234636661343765383030396561333965656162616566 +63343637353265376631663266313766353135326465663561323761336663623538306265366564 +38616563313636383630376638323239303666306238353861363863626134626434383864376265 +36383832333031376665366232393338343838656562303866616664616362613765393234383130 +62333065396639646239313832323365643935653235333935383464643736356162336332633363 +34333330373833326432373665633634616532396434653630306163623762396338386162353931 +39636531363833616234636565313132353164353930653465363831363634313135363430613035 +39613438633665366264366265316538613239353036346231643234323837623335373432373730 +62373061633361323362373233626564333135303436646363396661323130336565373630653732 +37363730663737346234316530383532326537616131643234383030623366326336333733663062 +35366630386233366333656463643531373937316463383462626662633963396662633338363166 +65616438326132336438356666633938626365616361636465636433623664363933656337346161 +38316462366536353966326637323663343533393061323463303231396664333061343064363964 +37626336323863343761636561383333636162343935613832613662653865343061393033373039 +62613064613135323637396633303964356136396535333638383165653532656363656362663034 +38373139626365396165336562383363656431393336653130613531633032623036653365393037 +64343532343537353866636430343162643562373438636666663234306437666266323763336230 +38396565373161393832366630343063323637656433336431616532333161336562353138653764 +66333433303539373831656632643166663136613263356266363037383737643836663565386634 +30326334396632353131633533386461656166633066636235663566313035333337373961383161 +34346331363738653265313763383137643363633361313963353961353333373837366235663666 +37663163363833666461613562323039343361343163323131303365663634353536356365333264 +32626162316665373436313632386636656439653562353238386436363830313731383337306464 +35303135636335643764666465373637323034336566343431303030663565326162326231383464 +66303330316266336662656234303234393136366665656130656131386139336139313630386432 +38666364613837386565663733626363313665663865623165313834666466636261646236333732 +38303366646537613663363362663461653363306130353862363732666363323261356662653763 +36333938653763636561646464656566336335343465666562323066646330343037363563343434 +63643032613932383637323036653864656166336630666430623835353332653731393662653136 +34333339346636636537643765353235373737643636386663383362326561343831643661343439 +37633364396166303533386235323234653737313430666435343039366235393537663033656634 +34346533323562336264323436626435623637383161313737646561376161633439323661343662 +37613238666464333563363230643631323666323330643235623330383462373265373933633531 +61643634333133376539313166623762626139303865653665333330353765363934613038363530 +38626665383732303336326237353365633164373238633732663933636662646531383435366238 +63613538323539336362653835363939393037353066303330323365613135396630623132313433 +63653161353035383335666436613463636133366433366666313732633965396236323533313963 +33626633336163373436613034663333663762386263373438303662333031316138333861333132 +65623239313634333035613833363263623834303639343538663262313232623263353165303963 +61303137656465643234616234313734313663303537306265323265656634653136343537313433 +64396566353363636434393938333566323238336562646632383137343638386564626663663733 +63383765353965666633383934373135303134366661633164616337343639613261646661353461 +63393933353238623961633230366538343233333632383834363237636261333764626531356265 +38646335646234386532653038646438346437656637333739373137363861626462306461393239 +63336532393638363061663337373463336539363730636332643838623133653931643433373136 +31343335373662663865393863633433356163663139616563393365656662336161363938623265 +66393731663234356665353636336465353464383066353663633736326464353034616366666265 +33643530383133313436326166323138613866356361386632373862313632323735313733346231 +39393831346463373534363565613361363661633666666631633731373935316561613030373130 +31333539386361336661393537663066383962663139376266376433393762316161313661656332 +30366265343435323132356233306231393265656464333237616534623331363335623132343366 +66633463643830666536633738363036343932393036383162303261356139356633343363623739 +36383330323962313937666131636364306461653763626433363831633562316335306630626236 +34346536383037663835373761346139666336656465366362633138333631326331313830656563 +31653765636239343561653137323032303634623362633564636262383665663436666234396436 +62633765643637363434316536326338663463346661343762356233613163633631663038323033 +63636665363766663163326663316331613232636238623330643234636239313035656565366132 +63323434616537383633653763316237643032363038316533313766343530653335383935656134 +36343033316136653738376233393834383561356462393765636639353333346465373539393462 +36393638656130653037353765336332633030373536653135663138393463626335366562346366 +37663737396237656232643630393566366365613839663830386631323664393138316234366262 +64623337396636323163303638636635643061353530633764343831623536643163316230386338 +31373831633232326336663763633165653265646239343838343838396535396631323535376163 +35653262366432363363653966343665383139356435633462346263323966316235646639303336 +36643039343035393965386661393761353335373434373931636365386430363764306339393436 +64356636653934313135643865393737393238623730626533323266373039316535613538383165 +64373337633362366231333932373633656231363331333335383564373337303864336431393938 +63613637666664363735393365353663383862376531373433353237613861323339343465376331 +36383038623134623835396532356537323063353934656435633631646138643633626232386433 +34316538616238643735323864623934363732336238623965316535353934383430323036333235 +34373938326534626535336433383066656335323430613735346365643130383932323333343931 +66306233346366303664303266373735353264636433356564663935623563666663366135306535 +39313361303365643764613064303063333436626561636432636333666638353161313734643865 +33343734323064363634633430343339643262326565323133376635323463346135313861333232 +39623935316136616239353264353663343431306239646161633439633839336239393430363438 +36376335333633343838353763363635636136643037396539613638623938303164623634336537 +34323630333635303937313334356633333636626265306636646437663664663936636437373030 +34393731333335303663393135393861386130646234333061613034656233323032326530353730 +33656366326666343230663561663033326337616330376636633963346533613839376439366664 +63356232663866616362323065323364373663386462396530663537366332636634316434613765 +61393865613965386331643339663735316165303761336232393837393034303361643466653237 +31343334663133363562353135306334616236353961326335663766366162346565393262353031 +62346565313935376239613865376431356432303437623038656234623836633463333331376366 +31326235396166313031646164363231653662636463613164396266326239303435613463396361 +63653639316538653662336236393432313531316663333633386262636562356531336338326466 +62303737313765356566666433666464663065646338393930656439393163646532666331393239 +37666263353534623465346463376439653665393530326539663331626134333637313461633365 +38643035373665363032613830343630663765653037656534656131613333393763363736336630 +63383163643765343735663934613230636363616535353761663861323230343564623434316132 +35373063626365646332386535376466643932663336633062326136666565306330353031316463 +30343030333664636635303638343864636333373662313330373138326330663135343538373932 +31613364663130353263353465643264613534633061623363376361623336313463306662373132 +33313561663637373139366233613738373336303533343530396238633832363538323530313435 +37623162636362313366353563346334663764373137613638613036653531333733323932663532 +33356630353666636138303461616434396139623838316130396138653638303334613962366334 +37386563393461326436356638303462376536343464383338313234626531613962663731333562 +65393266656565666139313465393836313037356338376161313337616663623232366163633134 +66356662313065326364313130356331393233653336383936373530626465616237656332323833 +66303331346538373063373132393639313765353766366464393037323333663830316134356435 +33616538343764633861303531646161343734343939356166623337363331333032323133346332 +32356236326634343931633536393865313633353735343434623262396331393162373733353630 +30663365356631396436623833613537643830643363373533313832636266613435636166316264 +38393464323263333339363338383233353061303239393263663262646531363535313562363831 +63323633636430623337656335356635613339353534303663363066643332633637626538356662 +64646561366531343836353662353365323363353132646531616430363937396333646139313564 +32306362636665336337613063626166336336643536383935323436326534343161303664613661 +37376262393465343631653639663339613238366136393437346230306539663231346633333836 +36633361346132336230353239353337613863333837343836336539656330383263323037666364 +39643133626139383632383433386133613563643633356665663032343161333361633034356236 +64333031663130656633363436393136343539376239383834633330646433336633636239393166 +36346563623038616539373330363461323865666365383936313333333932326632393665376565 +66353433373666353533636563343633316563333163333537316638376463656366623831616436 +65303135663364383237363632663562373563393735643631353336316632373231326431343637 +65346535303563656666353066306330396134343535663966303965343232316339393933363731 +36356235633864393032393138643538313835323730306462333564666166663335636463333766 +63643439393962373063316531326631346564643132373937666335363166353435366339623438 +39353464346538646436306665653538636265616533356163366631623162386531643265366266 +66383239373836336664376431393765383462623334386634656338393330383264383037643032 +34396661353834346133306430333163623636363736663131303664373033353161336138363637 +31313663373534613531376231373737323739343435393530373966303232646364323831646461 +35656635636364313231343231396262373530653831663737333036313634366262303338323165 +36633233396161653339383162633036663735653439323138306666376135653162336339636438 +31636236303537346137376266366532613338653038653861356139323335653866303966316634 +31383538633930303939623535373131623631373266613762313438323437336666343564653164 +66643430303762646563386363356636366439396261326637306137653531333730373030646434 +66383931643961613136613739343066333035623731363632306338393939626562336633363332 +35613261303530653964363032653837323536373137656665646365626635636437653266316433 +33336539303761306635383363373733613463643436353730313563373765363261366263366634 +30376237653865366366396266306566383063356566653963646362646339626238313834353733 +66323439373862353964393633316264633635323039393631333237356261393062633161646663 +63343763373836613036396666376262363165636337646337313032373437333561303933616566 +63393631343130396261633231643330396335373963646563393964376439336362306634636563 +38313864363361303533313738633139643663363166633632376638326535356264363832386436 +66326366636434343530646137346235373636323330633032326137653364643634366239626664 +61323130613966343966623564346464643066613933626565323036653861306538303733313664 +34616339663364383735656639303562303536616334346362613739626132336635326364373935 +66386335646438623533383538636435356231616534643930646461616261306265343563633262 +37396436373830303638623032623863393731336566356165326430626461343231343538656338 +66613530386165343033346163353863326333393333356564386636396232623961363037333937 +30386666656235373664313665633530366434366466323735336630383438343331393763656434 +66653133356465353939366538316662326262333863373233396135323464363763313735623665 +37356237636365396266653766326535396162653165326362363134316263313462323933313763 +35333933313331613938323130623965633932346134356262313930333563656136316336653438 +39393766353338323035306534646539613039333764636437613534623265333832333231366366 +61396130623231666632623363626430666636373234303030396439333665343165313032636135 +36336338323438313134333965306662333363613734336337393661626632343239333364666534 +33313366633036386563306538633762643866633739393535663630303663343038666666383666 +61376139393065316166613032343063643037323363646165343663646635343736366164616537 +36613336663461316531653136633639363832376464666563323264663664383763366635316431 +39393736306163323830643163613762373134303664653765356532663637383834386535336231 +30353532346239333433386537396462626634306639643863613365636433626561656539353662 +64366333633938643464636231313130303035393439366638386139373537386433373334306636 +34613838623732346266333463346161666631336366656532386463333539346137613463386330 +39363662333466396563623162313837346563623166343865373734666137386664376633306439 +38386363313931393366633937356133323430653138323238663236363235643831653835363966 +37326264363361653837323665646436316464333563383538393661626665356261666631383733 +32356362323137636362323131316634653733356333316336353063636463373139613338353237 +32346466343232366338616561643163613337356238326237663866396561303335656538366561 +61346166323962353435656265613038656131303539346132646139386339653437346461616663 +61643634646434343131656139336532653433316333626661613161613762336438343861383331 +65353238626436343636663666636333396463636538303664393137643033363461373363383738 +32613434333239376439323666626363613937373739393130363166353664363436386435323661 +37363438353966653833326132646565613734336234396662663566396561366334376231353830 +65393465393539333162383332663230323437323930623762636239383431333433353862303335 +64633463663239363230386438393965663636333735626532373031393637626665363265653962 +38633231613037306130336162343939616266623430343536663038656238356435643230356563 +34346631376464326264663764356363626431313961303230396432653332303863393761386164 +33396237643461346437653432376135646562613139636530386132396537343235383634666135 +65383565643739666536373737616133313163393362393762656635663334373532623965393835 +65396233346237343832336665366465643834333837373834313963333332323734323130666463 +61663437633836353664626336363639656362343533343538613031373032343762636435303632 +37373435623633376262643336316431613830393266393363343332636439393938333433633362 +61323133633539636630656631613336393136306661363738346339633534613837303735396138 +33346137356134303362343863643264323565306561326438336235616432363232373235653565 +30316262653765363534336131656262376365663738643631346630353164646438363935616563 +33316338643238653265376363656533383262613061343965373862366439646534383866663331 +65376435366539396439653632316361636335323661306262386232353733373762663633396638 +64333661393438663938613631343565333437623963313032346134393738653434383561643066 +39663331613864656434626166366530363534353037623134333930383930383630626664346634 +64623034623335343061646239363163396461306331653539393163393537623233393230636439 +34643936303764393564363263373934363866343062623733313435643761303465393232613266 +33316561386238306334303565333435303539353230636563343162333661353464386632666635 +32616631306334633736346166623437646430383761346638616635363034306535336665613163 +62353761383639356337653262323339363866616635623734343232626533393638353461336333 +37333962313031346332393832366435383533393066656637646338386430633335346464353863 +66353066643561613935613331666261396165646332356130343438336664623132636536306539 +35343630336464313638643332363462623138323933646231383963353135653866373061366462 +63373164386530373938393066343331303662333266666133636464313063633233393665623835 +66306634623238616438613835386338653935323762653936666130653637396435346532373866 +65303337376562303364313365343733343739663937313333356561373764636435663934653338 +32333737626639306262623935303563303438383430306236666661643031306230383262373032 +34383065303037393137363235653038626566653930353733396461333339666230666532303162 +32616234613739616265653665313232323236666266613965346136663134373437633463323362 +61373761326635313862643831643363616465653333306465336530623135663639343565383064 +32383231663735323739353937333165333031383039323438343964633832333234333332366661 +62323935383338626131316334643933666666636263383837323637356631376134643266336331 +35326163646639616362633236353261653466323363393864653138656534383631366133333138 +62383435636365633530313936366462373136623262336439373962623465336637336161653561 +64396561336233326232656538363936656637326438313866353537313435653062393662363638 +38626138636239396665343435363939393962343035386338653166636366653433323266343533 +36366564353037313766316639376663363538343264333266323064313234646662366438633732 +62323934373039613338353330373235346461393463663832643366303461363738303632623336 +64666362613736653635616266613333333439653235393464383462623661666631336332386663 +63613435353865393166366430653464316439643363643030336164613064346265393136626263 +33326133353631346237353962633539383439346531613035616239656665336463366366386237 +35333231373061323234326337353461323236356636343332616563343663666165306139363163 +61366465333734386137623739303832366465343064626131373431326561643464646633313835 +62383464336165653861346462393332393133373465323062383063633339383831383764666232 +66306566666431613631636366373266346466326139303539363737643662643931323739356230 +33623331666638346539396137383532633035373761346336393933333966356633383533333463 +65316231353838623138656338626230346163633432376238396433386134353963396538383962 +37633438666262386539346633666334323966353133653534336333316464366163346537313133 +34366133393834636565646665633566646337373063313532373035393236626430623332656261 +64323763616463313231333934636664666139373436353239643032313835373633666634626635 +34633431633233646534386261666632306430356336666632656362383332636463363730336234 +35383031663232626562626464323665633634623664363032333932333832636164663561313965 +64326639643038613633303834353863663333326536613036663434356239633662663933376635 +36303131326430623666366363393132393662396231653337323133333161623338373561663632 +62636266316664643333626637386535313130376336636630393363313831333566653562353939 +32626337626531353435646462313161663033663263393436613266383662373539666465366637 +35613862636538633432353330313536356265313964303133623639653938396462616263383731 +36346536613536633038326363306465396266303333356262386130656234333631663738363439 +61613033306233343931373262303339333432336331366237373164363363353838626263373865 +37623966343864313836363437323530633461643831383238316132323032306336343833663861 +32663363626330313862366261626463366365666335643532303436336130373061373737346261 +61313937383762633463623337313562383039313165643436336465353261346639346466336163 +31313037306264663462316535623333376264643662373634353335303766346233313738323964 +62366439393066336136373437663666353765623663376261623730323639363732626264376563 +37656162666265303335363231626364623630373664356330653132316461376231623033653565 +32386138303264346430373838373764613835363161666362616630353264393632646432323639 +34366264636266633832623037353364666336656561323661333061623131356237363362393030 +39336134346564313263396333636366666538643961623835656638323439386539653237383630 +35656365633363386461383038383931633166373266663864636133323536326561643335393938 +32363438656630646134306237393233376634613263303762383034616137333833373337343330 +63323062303562343836613939326230363835663636643531616530396636363438653762643566 +61623034396665373437363631393566363638393462643337643733653034623536653462393861 +33616235316666646563623139636336363661356433663132316134346131613931623630366431 +39616162333965363264336662303664333638646631323633326432626434396636376338303163 +37373436656239346539383134643638623738373835323335363034393434653335313461306365 +32653037626162326135346437633039613334373430633662343231336335326663313362393839 +3661 diff --git a/ansible/plays/services/gotosocial/.env b/ansible/plays/services/gotosocial/.env new file mode 100644 index 0000000..c94332b --- /dev/null +++ b/ansible/plays/services/gotosocial/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=gotosocial diff --git a/ansible/plays/services/gotosocial/docker-compose.yaml b/ansible/plays/services/gotosocial/docker-compose.yaml new file mode 100644 index 0000000..ee22f1c --- /dev/null +++ b/ansible/plays/services/gotosocial/docker-compose.yaml @@ -0,0 +1,77 @@ +--- +version: '3' +services: + gotosocial: + image: superseriousbusiness/gotosocial:latest + restart: unless-stopped + user: "1000:1000" + depends_on: + db: + condition: service_healthy + environment: + GTS_LOG_LEVEL: "info" + GTS_HOST: "social.unruhig.eu" + GTS_ACCOUNT_DOMAIN: "unruhig.eu" + GTS_DB_TYPE: "postgres" + GTS_DB_ADDRESS: "db" + GTS_DB_PORT: "5432" + GTS_DB_DATABASE: "{{ gotosocial.db.user }}" + GTS_DB_USER: "{{ gotosocial.db.user }}" + GTS_DB_PASSWORD: "{{ gotosocial.db.password }}" + GTS_TRUSTED_PROXIES: "127.0.0.1/32,10.254.0.0/17,fd64:2::/104,::1" + GTS_INSTANCE_LANGUAGES: "de,en-gb" + GTS_LETSENCRYPT_ENABLED: "false" + GTS_METRICS_ENABLED: "true" + # STORAGE + GTS_STORAGE_BACKEND: "s3" + GTS_STORAGE_S3_ENDPOINT: "{{ gotosocial.s3.endpoint }}" + GTS_STORAGE_S3_BUCKET: "{{ gotosocial.s3.bucket }}" + GTS_STORAGE_S3_ACCESS_KEY: "{{ gotosocial.s3.access_key }}" + GTS_STORAGE_S3_SECRET_KEY: "{{ gotosocial.s3.secret_key | mandatory }}" + # OPENID CONNECT + GTS_OIDC_ENABLED: "true" + GTS_OIDC_IDP_NAME: "KeyCloak" + GTS_OIDC_ISSUER: "{{ gotosocial.oidc.issuer }}" + GTS_OIDC_CLIENT_ID: "{{ gotosocial.oidc.client_id }}" + GTS_OIDC_CLIENT_SECRET: "{{ gotosocial.oidc.client_secret }}" + GTS_OIDC_ADMIN_GROUPS: "gotosocial-admin" + GTS_OIDC_SCOPES: "openid,email,profile" + # GTS_ACCOUNTS_REGISTRATION_OPEN: "false" + TZ: "Europe/Berlin" + labels: + - "traefik.enable=true" + - "traefik.http.routers.gotosocial.rule=(Host(`social.unruhig.eu`) || (Host(`unruhig.eu`) && Path(`/.well-known/{a:(webfinger|nodeinfo|host-meta)}`)))" + - "traefik.http.routers.gotosocial.entryPoints=websecure" + - "traefik.http.services.gotosocial.loadbalancer.server.port=8080" + - "traefik.http.routers.gotosocial.middlewares=deny-metrics@file" + - "prometheus-scrape.enabled=true" + - "prometheus-scrape.port=8080" + networks: + - backend + - default + - metrics + + db: + image: postgres:15 + restart: unless-stopped + environment: + - POSTGRES_USER={{ gotosocial.db.user }} + - POSTGRES_PASSWORD={{ gotosocial.db.password }} + volumes: + - database:/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "{{ gotosocial.db.user }}"] + interval: 10s + start_period: 30s + networks: + - backend + +volumes: + database: + +networks: + backend: + internal: true + metrics: + external: true +... diff --git a/ansible/secrets.yml b/ansible/secrets.yml index 0b9e792..f4855e3 100644 --- a/ansible/secrets.yml +++ b/ansible/secrets.yml @@ -6,3 +6,4 @@ SSH_KEY_host_nc_chaoswg_org: !var:file machine/host.nc.chaoswg.org/ssh_key SSH_KEY_mon1_hel1_chaoswg_org: !var:file machine/mon1.hel1.chaoswg.org/ssh_key SSH_KEY_infra_unruhig_eu: !var:file machine/infra.unruhig.eu/ssh_key SSH_KEY_backup_unruhig_eu: !var:file machine/backup.unruhig.eu/ssh_key +GOTOSOCIAL_OIDC_CLIENT_SECRET: !var keycloak/gotosocial/secret diff --git a/tf-stage-1/dns-unruhig-eu.tf b/tf-stage-1/dns-unruhig-eu.tf index b7fa598..33721c2 100644 --- a/tf-stage-1/dns-unruhig-eu.tf +++ b/tf-stage-1/dns-unruhig-eu.tf @@ -24,6 +24,9 @@ module "dns-unruhig-eu" { # Other { type = "CNAME", name = "index", value = "web.tobiasmanske.de" }, + # Goto Social + { type = "CNAME", name = "social", value = "unruhig.eu" }, + # Mail settings { type = "A", name = "mail", value = "202.61.232.207" }, diff --git a/tf-stage-1/secrets.yml b/tf-stage-1/secrets.yml index 61e84a7..164164b 100644 --- a/tf-stage-1/secrets.yml +++ b/tf-stage-1/secrets.yml @@ -1,5 +1,6 @@ --- TF_VAR_grafana_secret: !var keycloak/grafana/secret +TF_VAR_gotosocial_secret: !var keycloak/gotosocial/secret TF_VAR_hedgedoc_secret: !var keycloak/hedgedoc/secret TF_VAR_miniflux_secret: !var keycloak/miniflux/secret TF_VAR_synapse_secret: !var keycloak/synapse/secret diff --git a/tf-stage-1/service_gotosocial.tf b/tf-stage-1/service_gotosocial.tf new file mode 100644 index 0000000..686b300 --- /dev/null +++ b/tf-stage-1/service_gotosocial.tf @@ -0,0 +1,49 @@ +module "gotosocialclient" { + source = "./modules/kc-client" + + realm = var.realm + client_id = "gotosocial" + client_name = "gotosocial" + client_secret = var.gotosocial_secret + description = "https://social.unruhig.eu" + root_url = "https://social.unruhig.eu" + admin_url = "https://social.unruhig.eu" + base_url = "https://social.unruhig.eu" + valid_redirect_uris = ["https://social.unruhig.eu/auth/callback"] + web_origins = ["https://social.unruhig.eu"] +} + +resource "keycloak_openid_group_membership_protocol_mapper" "gotosocial-membership-mapper" { + realm_id = module.gotosocialclient.realm.id + client_id = module.gotosocialclient.client.id + + name = "Group Mapper" + claim_name = "groups" + full_path = false + add_to_userinfo = true + add_to_access_token = false + add_to_id_token = true +} + +resource "keycloak_openid_user_property_protocol_mapper" "gotosocial-username-mapper" { + realm_id = module.gotosocialclient.realm.id + client_id = module.gotosocialclient.client.id + + name = "username" + user_property = "username" + claim_name = "preferred_username" + add_to_userinfo = true + add_to_access_token = true + add_to_id_token = false +} + +resource "keycloak_openid_user_client_role_protocol_mapper" "gotosocial-role-mapper" { + realm_id = module.gotosocialclient.realm.id + client_id = module.gotosocialclient.client.id + multivalued = true + name = "user-client-role-mapper" + claim_name = "resource_access.$${client_id}.roles" + add_to_userinfo = true + add_to_access_token = true + add_to_id_token = false +} diff --git a/tf-stage-1/user_rad4day.tf b/tf-stage-1/user_rad4day.tf index 395af68..fe38e47 100644 --- a/tf-stage-1/user_rad4day.tf +++ b/tf-stage-1/user_rad4day.tf @@ -17,6 +17,8 @@ resource "keycloak_user_groups" "rad4day_groups" { module.minifluxclient.access_group.id, module.synapseclient.access_group.id, module.seafileclient.access_group.id, + module.gotosocialclient.access_group.id, + module.gotosocialclient.admin_group.id, data.keycloak_group.proxypass.id, ] } diff --git a/tf-stage-1/variables.tf b/tf-stage-1/variables.tf index 33b8b46..c3f0ba0 100644 --- a/tf-stage-1/variables.tf +++ b/tf-stage-1/variables.tf @@ -7,6 +7,11 @@ variable "grafana_secret" { sensitive = true } +variable "gotosocial_secret" { + type = string + sensitive = true +} + variable "hedgedoc_secret" { type = string sensitive = true