Commit 0a7d8a85 authored by Jelle van der Waa's avatar Jelle van der Waa 🚧 Committed by Jelle van der Waa
Browse files

Implement gluebuddy role

parent f4425b61
Pipeline #15080 failed with stage
in 40 seconds
$ANSIBLE_VAULT;1.1;AES256
38326435396539336139383762626634363962383031303030633464323433656634343639366564
3139366461336631626537623866336362336337633062320a326136373934633930656538363633
39636137336436363233643038663935386633383433353533383134636532353139303239326332
3465626434646334620a356161303939666163306564663937303532333363376631626463613132
64336337663939633538346165653839383366643137666635323239316431353332386661306436
64323239386263323865643232633635323264613863636465653062373937383036366233383035
32363061333938656639626432333538343130656165653330646461663665386264356136343564
61643730353136616533613536313539386636366262666439323666393661373030303637636537
32623634353830326337346131613739306336656562313339363230353630633334363635333566
38303462663132323635616138363435633766623461663962376262623130646637636364386563
33636230383939336531363562323065363634353731373662663639373734356362636530313166
65656333383739356564363365643337633230616563366461386439376238363062373637393762
37356566326531303939333664396133326634366461333632636664626261333064343335646263
32663335663665316538313662383039626433613739363230643561313734316263626464396133
33303335353832306232656664636437663163373535666136643635663930663562313065363062
38383837396631333939363539363237333261313330373464303339633961356239386132313763
36393566663535633138616137373266366465616537353461623566643961326530626366383631
35316336303562643439373166646639323837336531373133393464323236353235663235346161
35323634373135313865303133646366356630363034386235656531386465383430316432343932
62376537323962373935313830613437386138396339643437633966363930366339396462353736
61336631373062343439316261383265356135643238363036343435303932353033393431616634
39376464396432633635616133323435633461393537656634663139653032313065626538383961
30316638633065383836353061336437663462643765613863653863313863613830613531643030
30653133373365313530316637653838636237336532313835363838616639366331303266663632
62646561656231653536626231323364313836643633623132613239626433323433366138636332
32653264643736626462323065393163373261663561373236306133646337386335656262313262
30346265303161323265363431376266313864653763306661316632623333306531303732326561
63313537636462623366376235373237636536366238613434363737616465636162313832633738
61323732373566356133646566316536393931303439303863656361616664366133306435633237
66316339383537376130623537303563333331353937623536376138646566303564303632343363
63633561643465333331623736353263616438376431376431356538373766356465616130393430
31646539306564343734303664616132376130313164663431333566366165643132303632373063
62326463386363656462363830656666336365396165643235613436353665323230313765383266
34383433343166316366363665333762376463623334626565613530653035646565353135333736
65643632366565363636613765356162376261643633346661613636323435306135353330386262
36306165653165333732343032636565366662613131323332306666633835613631393662666633
65393735333734356539323663373230366265343138646565663631303332323361663435343331
30623935616366643837383138393764393763663763646238303865613939303965376639663465
30653432333332643135613934346361613332323732643765656333366135623232353535663862
63353461343638313738316234313961353864643832383265633561306136333966633338373932
31393237316138376531363836333239353066353561633539613636643562373537316666306434
34343339396435646262373134323130353431623435383137373761616164353662313138316235
66646134616237353031356339643064343936336433663938353834633861613762323862396533
64613333306436353839613231373736333331323266643532396335663336663530396138393861
32613163646335343564666634316636353437656466393431356334356164393861363562663836
38656430333339303161306134303637336535613233653634303235383136393931376262613738
65343337306433316339616632373032363835646439373934616662383566303063393538383334
61356236313762326262316265613266626533643238626630663162386532333264356133663366
35383539353962633062656463616537363137616130353465313639663037336565363831326139
35313363326634336361303834373764363666383834346365633563373762363965646533643062
65623130626537653836623262343832323165323539356130616461356131353636316465366662
39623432356432326330303766316365323237653064646565343833396435333134623635356439
34613637333939393432616261383439636238323566353138626631643937666165343330663761
66663064653139663633303736343433633363633062653339666331373862393732303761383639
37373735643432303366663238383562396534356433663439376563366639613934306430653633
65626233636639613332633435363066393862363232666236383830646438646463626539393838
66323364643265333336633263383433656330353033343033356565366361323862353439356435
34616633666439666661653630616630373032623235336430326366306430633732666337313435
30656665323736313363663036646462646430663266316231653238643133643134363639613435
63353239353735653438323964386135326663323939306534306663393931363163623831626631
31643132376463643633643163613862633832313535343561323734373733623435336339613939
39306432313638613235386361343738663633613133643964353163366435646337396231656463
39393435303232393763343237393661626334626263343038343237353736343431306431646432
66623732386561316436396162383130663065303531313935633864323261363666383364363130
35303764633265386538383263363039383866376234373536376563366537343833626235666462
38356666313964666139346632363733396439626363313665643135663061316166636339376230
35366132613631646130393135613030623962306538323134643539323133393934636666643762
64326636363865323936636135383565656466663037346235313230366164313361386635316562
63353038316430373737616231353262653033343730643363353530643936333166313866323933
63363562346332396164363330346162366333663736643761316361653039343763626133323030
33333831323363316333663961343661373666353065616165663232346230393966633063366263
30636362666463643036326562313833653431663262373432383232396561303961333536613762
62343032646164303762333635376465643735353038303337633865663830643133613039636432
66393762346336323339383233393539353739663961346362656161306238353766343930656363
62663830323833326366353539623863333962363366393137363831616537613932346534393764
35643239373330313866393639393364343939313931633339663932376461613039396430626263
32666238393565323562663336363339303235333064656130313434643934663566306563626166
66343032616463393666366361653631373661363938656462373364656636303638396532396365
30616539656364373032396231303634653261323433333734646262323639323330616264346539
30623965363335323164646263346332353566396366306639303265373863663062653732386339
31643862653134613532616236313730366431353962396133613565363564326463616131613739
37626331643633623934646465653237326366623734623433363534386661343537663736386133
61383961643066646534653331626330623831383935383361353630383236393632333162343861
35333533343762643933363234643836333138643566636236663661376562616133626330326435
37653933313537353562336237653732653431626266663332653764666538363335313161353539
30633961306337656636663435303535613234303661353438353364323331643861396163393365
63396433643661373138636664313237633762333731393963383763626631363163633430323633
35636666383866633231303538346438363932326665323231376162643335636639613866633639
66333736313233393362636165396233306633386530313737376236613432313833386332613936
35643633383830346233616162353435323238386364323663626537393738623032323032303638
61316161356238666235343861373531613236363437613131653761356234643938306430336463
39373537643431323138
62613736633165323131306431383535383930616333346638643034343036646363353337376561
3834393838373239376230626162333036353761663536650a393137313532353766343066653630
33626439613636396362656633333231303934313639353633633538363439656131653464633766
3032656462623061650a616333623165313666303237366263623862313561613230383032373136
66356538633566353232346166353134636131653736393531333630343730333862383535353439
64333166383862646231393535303534393934393163343130343535656164363365623737616336
63616566393932623162386234643439373138663231353361616161616530346462353966313935
61643831323561383164396234633164363335363230396338386637613237353838396366656332
63316565383234323861623661343665356433333038663164316366643434656233393136656566
34646337373839616264383031376461643034613663376239363835393263336666666137393632
63623730383361343037353138313261393163653366323764383364333062666336663661616437
36333637313936373930663334353031393564386665303230386661326566353664363164633435
61306564336335363638393838303164393565383163366330376531643564303537643130323636
66383136646338616161666364326162343164643031613832383935363866393230633930623833
31646432383735666131303638363866373961396634363762303438613331313934653136353536
64326338393761316562313266393238633161636230363136346466306138326533663464613332
31306365353364643936366432346237303862356536666463383364623839666435383231353837
35386635353033373262386138663164616664343064356163383539343735326637363432326565
30333633363131343464356539373538333139623566633862656633636436363366373765343062
30363966666666363938613962393864346431363436633032613432663562383166663962323332
37343532343433666465323863653234313432613066373831386362653934623431336138316136
63373566613564366536343664353230633633626631643434366631313535623931363535356231
36346566643736343262653663626636666362623564366661663164623839633130346338383334
62313036633961386163373136653630303866636664656234306339306563643330306664303461
31366133643231613738623435333566613332643062626637353133613736613463633737353464
62303835613362336461313363386439663839393236656463366561316433633861363035326464
36623031366664323964653665306564316366386661666533333264656262653163356564633030
39346339623535636133613630306665333865383763363936373463313934326262613364383734
32643037313730626263356366653032323832303736323864373334636633313134623163393937
61373839346661376265643435313535663637643165343862323839353965393138346264396335
38643365326638363632343731396563316233343038356633666164613761353338306264333735
62613031323065353961366130303965316463643665663438326639363332376438383364303234
37643037633035323366303034306235616139306466343862323339343763376563373162633833
38393431366264376339666133393165376663616439323963643136313162303134616631313232
30666130623763656533383530326136336266386637653533303066386634306532656637663431
31336463613161656330636335393061303461323033643965376136653666346537646464346164
34656632333961383535383232643038353539626339616163623763383439633661353963666539
33633530346338626438663338613133373832306365333437336631643430333561613339616261
32333339623636343336373563656438666531393161323665333235313062653966376464666163
37626236316634666465326634336666313338626361313138333031333431616162616364376164
66333961343231613134396531306336626366333936326138636566303132633265356566343463
39303935326236303437663532653733333232353164393137313238356461353731396231623838
30353631653536663765326436373534336130316632363965363638363431356262643931396565
64653366323762376164643834316536626434616330326336303933636239653462373165656436
65623235383466383236666233326331613662623932636232343534393531353234383333396230
32626364623165666436323361663330343135653765313563333630323838326264646537653333
33653163303961386563616466666566306430656131613134653235303661396235353932363937
36366439626534663939663262343237303531643762333861336165366432353666626561353237
33396361373933636636356462326561393935316362613532623464613230353161333431613532
65333864613738376639633530323064336135376261333966613262313134316365633665383937
61313330356664353636333265383133333935653665613337323536323661316539613164623939
33616138396662613438633963393562323964373163356662386632393366383535333938333235
37386466306634633738363337393066353939663665613963616436613265303533323439343336
30383663666166326536306139633466613432653838393039653839636563316437616436346236
36396637326537313934623939626634316337313031313434303335643630386536646538343132
35623865363462386332353233316665643861653836656366363064623539653965643466616536
38363237366238626161353966303935343461623333353463353161303337346337646134626534
33353631363838383731323863393961633266346461326337633461313863656530656331663462
61656264623032303134396633336630313433363132633939653266306262353861366266636632
63663931313164383337666239633963653430383235333337636464623133346536613330393534
62343030316338616332613961623034366536363265363437363934386433633864393263343161
30623866373332303266333530363939666238646563653864636539363938333831383234386236
38323632623337646665356565313562653237636632663362323638643638663339653633333038
33653332346631346465333463383438343862643635343930393631363132656138383138376464
32623435623761643435623033373536313664373664333433336563323262643963353634306461
62376161656630653336326666646431396334353866353436323366386536643663373631336664
64363865613065393237623737663239393062303464313364616563613734396332653836346134
31643661336532646130363830363530323061343366643934373461383634363930623839326262
65383464333930643062663634636365633561646363326134616366316631336165643666393665
61636334346430666134373665303162643566343133646632323135656461343365646232633533
37386437313633626362653331373138383962396433383332346663623031616634343735666366
39653338303630326466373438356433663764653035333136383439343766623665643263306231
65333163326434306235613436623265323761616536316362346236626634653534316237323530
64633237613739386535363134323930316637396262393538363463636437643964383564373465
38376335653963646635626630386566306564386330323431306434666139646435626533393765
36303539323763636365663038396364663866666636366239343563613363326363643565623031
66343239303733336538396336376433383539633832633737656266326466383164626135353366
61373330613363626362303236616261646663363863353666353539333238386165663362346262
66316333623834306463383739333564353431393136626237623637633965366566363831353764
31616565326336323632386663336531303836623639376165303064333931353238373833303761
32393433363539333635663936336538353530396262353431393762346536363630666262383166
35383731373034393037353032363937336138373935383033363263353532656563383064636335
61613236623061343461656135616164363933383135323564616364373461396662336133396537
39353462653831653036346662363261376263373963306562616636313836343333363336373463
36383866653162346664346134376537313730366637373765323164393564633330336633633030
30316461353034363661323761313763366664366637313732623035333730396638636262376634
62633065353664626465383831653930626162393261383537386331386164366664363837666361
65343632313135303039666566613966663961626264663935353865626561663963353832326638
65616336303962356662393536616365333539393131643835303538326335303631646563336362
63343437656138636661383037613766396662643032306238383266316661613231356361326637
38316561666266666234353761633634363937303664663734346537613863353134303031393031
35623230663630646234623337343762666261303163316437623139326361313933353230623761
37643066383834336437373133663031383135346436376235663030386133336461306232336533
6132353238383465636635333937656365313638393066653631
......@@ -5,9 +5,11 @@ After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/gluebuddy
StandardOutput=journal+console
EnvironmentFile=-/etc/conf.d/gluebuddy
ExecStart=/usr/local/bin/gluebuddy apply
DynamicUsers=true
DynamicUser=true
NoNewPrivileges=yes
ProtectSystem=full
ProtectHome=true
......
......@@ -2,7 +2,7 @@
Description=gluebuddy timer
[Timer]
OnUnitActiveSec=10min
OnUnitActiveSec=30min
OnBootSec=5min
RandomizedDelaySec=1min
......
#!/bin/bash
set -o nounset -o errexit -o pipefail
NAME=gluebuddy
LATEST_GLUEBUDDY_FILE=/root/latest_release
readonly PROJECT_ID="archlinux%2Fgluebuddy"
RELEASES="$(curl --silent --show-error --fail "https://gitlab.archlinux.org/api/v4/projects/${PROJECT_ID}/releases")"
LATEST_RELEASE_TAG="$(jq -r .[0].tag_name <<< "${RELEASES}")"
if [ -f $LATEST_GLUEBUDDY_FILE ]; then
LATEST_RELEASE_DOWNLOAD=$(cat ${LATEST_GLUEBUDDY_FILE})
if [ "$LATEST_RELEASE_TAG" = "$LATEST_RELEASE_DOWNLOAD" ]; then
exit 0
fi
fi
readonly TMPDIR="$(mktemp --directory --tmpdir="/var/tmp")"
trap "rm -rf \"${TMPDIR}\"" EXIT
cd "${TMPDIR}"
RELEASES="$(curl --silent --show-error --fail "https://gitlab.archlinux.org/api/v4/projects/${PROJECT_ID}/releases/$LATEST_RELEASE_TAG")"
ASSETS=$(echo $RELEASES | jq .assets.links)
LINKS=$(echo $ASSETS | jq -r '.[].direct_asset_url')
links=($LINKS)
for i in "${links[@]}"
do
curl -O $i
done
sq verify --signer-cert <(sq wkd get anthraxx@archlinux.org) --detached ${NAME}.sig ${NAME}
mv ${NAME} /usr/local/bin/${NAME}
chmod +x /usr/local/bin/${NAME}
echo $LATEST_RELEASE_TAG > $LATEST_GLUEBUDDY_FILE
---
- name: daemon reload
systemd:
daemon-reload: true
---
- name: install sequoia
pacman: name=sequoia-sq state=present
- name: install systemd service/timer
copy: src={{ item }} dest="/etc/systemd/system/{{ item }}" owner=root group=root mode=0644
with_items:
- gluebuddy.service
- gluebuddy.timer
notify:
- daemon reload
- name: enable timer
systemd: name=gluebuddy.timer enabled=yes state=started
- name: install conf file
template: src=gluebuddy.conf.j2 dest=/etc/conf.d/gluebuddy owner=root group=root mode=0600
- name: install download script
copy: src=gluebuddy_download.sh dest=/usr/local/bin/gluebuddy_download.sh owner=root group=root mode=0755
- name: download latest gluebuddy
command: /usr/local/bin/gluebuddy_download.sh
GLUEBUDDY_GITLAB_TOKEN={{ vault_gitlab_gluebuddy_token }}
GLUEBUDDY_KEYCLOAK_USERNAME=gluebuddy
GLUEBUDDY_KEYCLOAK_PASSWORD={{ vault_keycloak_gluebuddy_openid_client_secret }}
GLUEBUDDY_KEYCLOAK_REALM=archlinux
GLUEBUDDY_KEYCLOAK_URL=https://accounts.archlinux.org
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment