From 3999db2eff4c444e35030aecc536536c04378389 Mon Sep 17 00:00:00 2001 From: Jesper Hess Nielsen Date: Thu, 7 Oct 2021 13:20:30 +0200 Subject: [PATCH] Add keycloak service --- group_vars/all/secrets.yml | 183 ++++++++++++----------- group_vars/all/secrets.yml.contents | 5 + roles/docker/defaults/main.yml | 4 + roles/docker/tasks/services/keycloak.yml | 45 ++++++ 4 files changed, 151 insertions(+), 86 deletions(-) create mode 100644 roles/docker/tasks/services/keycloak.yml diff --git a/group_vars/all/secrets.yml b/group_vars/all/secrets.yml index da3bf9d8..aaa40eb8 100644 --- a/group_vars/all/secrets.yml +++ b/group_vars/all/secrets.yml @@ -1,87 +1,98 @@ $ANSIBLE_VAULT;1.1;AES256 -64303966386637656661643830646664613862383261303937306662643035616533633636633465 -3630623631653063336236643438313762353365383632380a363435316136363832306531333164 -36373436666631383031663231396630653836316639343435663864376339303634353438643738 -3234656530343866610a353365613237613365343338343866306537323561363530386637366161 -30663665663863396334653930316630313930363335653832366264613361386130303831646463 -38353233633635636638383033343665353339316464666538396562323030353636353434626430 -66323066353863383261656665336264386461326564353862346237363734386630626330356336 -38346234313336656430623630343965626234303964313663643533343433376636366237333764 -34353730373866613265303332326132333464316639333930666661316266613032386231306665 -39643533373165396363336636616561633961313666613438373431666230386634393137353637 -34386330643433623161643261656231613461383264353161356561363163396530386465353365 -64393732373735343931323437313066353636366565626232643438393462613834383533626237 -31616462616230653239303237343538663064373938353538333266653165646536306238626434 -61643131376162383636353730666362653537383866303763316531363361333539383034336166 -61303663353966636664383033666165623731663466646665363161313661343737643332653739 -30333661326430393234306337646163363930396263326263653333643130623138326465336164 -61326133663038343566383131313661323666393335326437356537613235303432323439333362 -31396535386439383961343865316665356564323166653937663732623139633163396436376164 -39633564656264323833303638633033353262386565616439316461623039346165663464616664 -33313931633166393330386263386166306465613136363263396336646265323932633831393032 -32623565336430353861616537633632366539353432386164343532616530313862373565373663 -33396234666435623938303066326265396331303361316364306334656132363061373063633633 -65303539346166343161623961363262623936363265383338303463373330333634326231366631 -30303565353663623833316230366231306664653061383535373739323735656337363537306261 -30393964303430626231616330326161643063626566613961383236303563663035356134323438 -39616662613437316234656331326562633238316265393464306135393130626632313361393463 -62643562643434303437653134376132346332613934393839333561613636613238383931323961 -65633362313064313061383864346362313332626137313264643433656562313663303536386132 -63393533636236663262323462396537373730663432346131306536616531633135363132336637 -35373734333061336532356532356436643538313764653562343635303731386632393338626439 -34636434333539353166616237636233633936396661373731376263623930656534333666386563 -34306465363465653738653633623030626665373239613163666563306230333438613934303164 -34613665356662313965323265343364343761306237363263346339336536343937626461373132 -62323766373432316331353661626132313262336635663562636538376634396264636430346465 -39616431333135383538613332333836633066323462656338633330383830343033643033336534 -62363132316664643432633664323633333933356131353839653530663166663265363136626532 -34363530323564336262373863643361306461633665656535636362623334336161336131393730 -33666230366563303334616133363536383761336637363037386530303534313332363861363138 -34396638623431616264333937366633663062326262613633366361363831646535376333313631 -35356136393335663230313439353233366134323465366639356434303932623633636530346334 -66396138303262616336653039313135343762643538626137376130313966336265373133373837 -35643937333963363335323737306363626366633064633537323362343930663932613437626434 -38363836383437373735336165313536613536313261653364313463653334346534636138646230 -65643635386336653134666237626637623861623264333633333063316637386335633462616536 -32373933386466616634373432613132623436626637393466633865383966616639333533346337 -37366565326138383632613161383162623232636138353464363638663439666231376262643431 -34653934616461323434343335333138653861323136333262636535366662663865306631343131 -34316537383438653732363031373337373433333261383466646431323932383466623633396661 -30623832636563646634326130393135313866646265653862326564313665313934363762373430 -37656236306531613261333330313931303637363861623163323238666133656565323163353563 -66386562383532373637393361363730323365393736633432393336383236343864383331663063 -33383732653338326233386466373136393761303861653933663932653265333862353536643538 -33356331613865303362646637303465373439363435396535626262303331346238383837656261 -35316462316161663165343465623064366633643139386633653166323763303632376532323735 -37333435343934663332306332376434643164643937363263343866393832323438643864623036 -33326362656164366136646338383830616530613565663438653461333738313361393633346432 -65626638373236353337343639646437613666663537373932323534303766303532663362323863 -37613335653631313830396335313538303335353861316562613733633664353263636566666438 -64633734663463623935353034316130396463323662633761393530306535343635396130306637 -63663766656665616330346264333130656662646133303739646632626433356633346661613862 -64333934643861386539383763653663626639373734636464323832646462313235663431623631 -38643462326363396561626436373963643665633162633230356261343533346335363437353738 -30393331326266613139353837636364346534346636373339303638363534393461323563623938 -39336563333166303736666635643062666166376132646364383161353933396665666530313433 -35373534636662626236393663643861623866666535656162663538313530303165326235646432 -34653061363665616232646430353438363537373236633434323134303536333464363237316238 -38663537626334306135623262663165626130333936336639356335343434613134636462303534 -66396139646633343238356265326361656532633966653766656636623664383136623134333266 -39613433336436356338633163383235653838313837636665646466353938383534396337613332 -64633733623962643832356338373266373130633361633133666566663832613830356463373630 -61643933373737623566313539333462623839616438376530643961396464313138323163613865 -30306436663662396434633139623066373833633938303630646435373662316461333732393238 -38613930613566616561626464353135303139323864313734306232656334303836653763633665 -37366464323538326261353930306232633030376233326563343930633632396330643037636433 -61346365383535336232396639646135326464343035353932636465613130613464376464363037 -63373739636330323161643937383163383535663335616366663338373262306534663366366336 -63376565396330626666383865653365353331396163643064353161646565323566316235336363 -33393739316134353965633533646233663737353936316661313932656331323331323562656166 -35363834333361643361356238643535623432626237363062656562633531376265633934613437 -63636464623435666533613062613030666239333562623263373031386434353039643362343562 -65333139653735376130656166333935343936663666303838633137376330383061373537633536 -39313161623964343731393639653365343338373862616665313732393966623436303034303163 -36373439333566663835313463313033396562626364636664383936323230323939633830306239 -30363533326233666531633832326561343663393436313633383365363038633134303633396463 -36613230323233346264366331363330616533323366653238343064376631383039313931656233 -6661306536363836616235623039353632623537316337623235 +36363961663263636233623434613466363839323137343335633832356132393837386630323139 +6639336261613439373330613033613132343839646330370a303036366338643231623863353364 +65356638326633363535663065613666303236393266336438636132653463303231623261316234 +3830373762636635350a373561643539616637333965353961336266366463343536613432613966 +31653732373438336136646335363036333137316139346362313937373731616134323730373330 +66306664306133333836666137386432383535623730333835323032656266666364336661653838 +36666361613738623837623833343161613562646261366539303736366139326664653332656261 +39333861336432653831653736306464356665396564656636626563666333303831333534626630 +34316133303666333735343764313164303632376236616536623062636234666337376534326635 +36323432306137623138393533356136663363656166353035363663306638626566396139306365 +66343631656262383231356336373630333732383962633433363930366139373532373839393463 +33386438346662616137643339366339396566363832613535333665323664323162396662656138 +37363264386539643130653566376532353737323939323537626166333862383031653036323063 +66393335366662373665386538633433643864663937326239383735376437653364383862653730 +66326164653137666538613263326334613237376562663730313633623162313066353131313465 +33663665336166316636363362376432623832346561306361313563303439633230356462643461 +34323631633134346437643362376565386265386564623337326361663539666538653031373935 +64326535356339336638363537343936636261646435623130343134633766336364333837383234 +34333532376435333434393734393434363134616137613235613332316164663935383764363831 +34376166653137376332656265386233306663663637303763386634663435396535613335343163 +63666464643334336462323764393738653330316466636264313439363561616130623666663337 +36363432366230656436363335313436666365633162303839623730306563623061396361386538 +65336138353938666162663339383266616233653636643665323434313062636466356139323161 +39613666366662303362386165386639386337303133336130383961343932366232646162666235 +64623563633639633466333430353964313034306437333033386238343063356238373535306665 +35643665316138336136663865333230613963303064333265386130366433643765663737623566 +32626666396636643030363361616462386330643866303466303838353461353437626235613663 +39363335303530336661663437363163333163613030366162383637326132393335653433656463 +33306536643136636639316139346238373862346530393265633732306439653963663531323539 +65393731656366636132333163373033303232363065656364333536363632373139626534303464 +32626331326364303765363039393831616433656534636231653434636236383332663330313465 +31653366656637353131383266613338386532626364633765363632646561336436626636623331 +66333935653262386361383035393133333238653565333266396537363162653763306338313162 +32666164383734333964326136666539633261646437336530346535613332343732653264303537 +39656139356464326463323933323632383861663561376634336238306630623839626537336130 +61336436666666383133393262666563666431356663633566313663396336336236323036303164 +65656539393536616661643063366138623438333363616364626432303530623833613837343138 +38396234366238326131653935383939353033373439336163396234396330313739643733333430 +32386336616231623532353162393863656435333762633139633233353035643638626263333535 +31313630373831383136613364396538363139326366363032363332636463373139323532616461 +61363961376334373233396663343832363165386430333731313938343263636663383965343631 +62363564326461393263323265656164613663666465336332393336306133336433616665656566 +31326438613736653264333433633433633565363937333338636131303833326261663135623062 +33616364346639343330646330643932383166313838663665386364373966383836636137623839 +63626531363530396435363837393036396466306132393466616337633532346436303331376466 +36636531626137303462396436363864336266663237326531616566353261386639623965343837 +37393538616661343032346533346437383436366331326636326263393735373863343461366630 +62386562343139666166666464373736363430663464646562646236633339316664323934383464 +33636233353030373632613333326262366265656532616337636238346639303463303838613834 +39656463383837643738366661333265306164616435343662666131356164353737636362626538 +39313237346161363038636333613464356136303166343831383131653935346230303765383366 +36386133393139383232623162653238636465653366313035653534643635646230313664646266 +37316136616333353766303537386663633134636536643436336362303463333135653234313932 +65643361386565393862303234353766373835646539663231356435366266636337623639313161 +61633236313831356637623534616134306561396465623337373032653763636234316632313035 +32643332333866333864313664356436333163666363613034616562633466316363636366653438 +35616535383665346438633935306435313861623930613661313166313332323030643736643035 +30643338373365346234386663623965633238353139616564316233356266373862373237663735 +61353035626631623436666338616337366165386436623736613939393532363236636631626465 +35626162663965623434313633613664616237323930643734363039643733363831666336396130 +35383635656138623836326566386663303735626165386363363634666361333961323630373861 +38376530306162333633333765373035346630323662653131313239356130396230346364313861 +35306465656434313130373237623265366338386235306364663735663630323837656136333232 +35333736616135363632306638396361353533663434393764613861646532373738313638343536 +62653135316437653533663835616136313133343331383764333237656536326334343430356462 +36636638623830306365666431396338306661663065613939343264353633623735653833393437 +36353338633339663434343033373033303737303333343234396365376366306330623632306661 +61363061373239616563306565313630366565663663653763633066313636396233663536343466 +35366639366637306161313264633439383536613465363265303932363463663532313338626638 +66613064613666626666343665316334393733323434363165636638363964623533333962346630 +37356439336561383961386265393063363234643466353463326231316139353138363035333362 +39343265393233313764663965646438306365346434626334366661313836613963663236373261 +37616235396539356138656139313339323631636634366366626236393234323062633430643835 +65663763356334633431666230323835393138623735656234356635373735303432396365363831 +63633634313735656632623739613636313434646530646363323664323930656534343433376366 +39633032666161656435343334613962613565346333303662326366323035653663336466303734 +63356638623832346238636339663139323832366134623833336661646134613337623264363463 +64653731656433303634313164356338636265396265663865373065393433323135386364623034 +62313637303430313764636335656136626239313363636638386236373234363638306661343931 +65663464333530323837653636353639396533306661343263313333303534383463333533666238 +34393461396437653864303733306333633230313337646431303064313036303039303431373762 +63313231363663353565663730646332633837313061373366306336346436363532323834373731 +61323465363131656137363936383035313035303230663064656332356566303636343436663937 +66373731376635323463616334336139333235633434313963303364616166363330633866653065 +33646162626464313237313338646132316637386261626334306461663334333731626361393565 +34616139666264613332663230343638326465616632663430333431323532653262643032393239 +61306462383263333330613534653636363230353563333766303266383761383866663331303365 +62353939376161623661343437373737346330616435373766353166323138353862623835303833 +63373463393738323134346262393832656339326532376364616235613339333038323464646366 +35346634616634366131643066633638313835613333383631666264326636353537633334636138 +36373036386439353833626562656635636563623863393733656631323435373538653538306666 +38323464343161396330353865376161336130343432623533386134393366646663363031313365 +31643931353165633733633831376534326532376565343337343838656463666262623163633264 +36393836333733303631363262653361313063643630356631633131353731646336646534373565 +33656433383966663165646263323535636561316662336262316634346363623837343561376238 +65653361643865356330613034633866613531353137363032373130313734666464626665613535 +6566 diff --git a/group_vars/all/secrets.yml.contents b/group_vars/all/secrets.yml.contents index 9488759c..71b6a3c8 100644 --- a/group_vars/all/secrets.yml.contents +++ b/group_vars/all/secrets.yml.contents @@ -10,6 +10,7 @@ postgres_passwords: codimd: xxx mailu: xxx ttrss: xxx + keycloak: xxx fider_jwt_secret: xxx @@ -35,3 +36,7 @@ matrix_secrets: registration_shared_secret: xxx macaroon_secret_key: xxx form_secret: xxx + +keycloak_secrets: + admin_user: xxx //used for setting up the initial admin user on first run + admin_password: xxx diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 2e1cd681..341461f2 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -90,3 +90,7 @@ portainer: ttrss: domain: rss.{{ base_domain }} volume_folder: "{{ volume_root_folder }}/tt-rss" + +keycloak: + domain: sso.{{ base_domain }} + volume_folder: "{{ volume_root_folder }}/keycloak" diff --git a/roles/docker/tasks/services/keycloak.yml b/roles/docker/tasks/services/keycloak.yml new file mode 100644 index 00000000..383b3711 --- /dev/null +++ b/roles/docker/tasks/services/keycloak.yml @@ -0,0 +1,45 @@ +- name: setup keycloak containers for sso.data.coop + docker_compose: + project_name: "keycloak" + pull: "yes" + definition: + version: "3.6" + services: + + postgres: + image: "postgres:10" + restart: "unless-stopped" + networks: + - "keycloak" + volumes: + - "{{ keycloak.volume_folder }}/data:/var/lib/postgresql/data" + environment: + POSTGRES_USER: "keycloak" + POSTGRES_PASSWORD: "{{ postgres_passwords.keycloak }}" + POSTGRES_DB: "keycloak" + + app: + image: "quay.io/keycloak/keycloak:15.0.2" + restart: "unless-stopped" + networks: + - "keycloak" + - "postfix" + - "external_services" + environment: + VIRTUAL_HOST: "{{ keycloak.domain }}" + VIRTUAL_PORT: "8080" + LETSENCRYPT_HOST: "{{ keycloak.domain }}" + LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" + DB_USER: "keycloak" + DB_PASSWORD: "{{ postgres_passwords.keycloak }}" + DB_ADDR: "keycloak_postgres_1" + KEYCLOAK_USER: "{{ keycloak_secrets.admin_user }}" # Only used for the first run of the application to set up the admin user + KEYCLOAK_PASSWORD: "{{ keycloak_secrets.admin_password }}" + PROXY_ADDRESS_FORWARDING: "true" + + networks: + keycloak: + postfix: + external: true + external_services: + external: true \ No newline at end of file