Compare commits

..

14 Commits

Author SHA1 Message Date
Christer Warén
c9425a79b4 Font Awesome 7.1.0 Update 2025-10-04 03:53:01 +03:00
Christer Warén
f8f71ef9f0 Deployer: Keycloak - Add groups to users 2025-10-01 02:17:30 +03:00
Christer Warén
82aba2e352 Inventories Update 2025-10-01 01:20:13 +03:00
Christer Warén
2db35ab086 Deployer: Nextcloud - Change config directory owner 2025-10-01 00:35:01 +03:00
Christer Warén
e6f3eb3655 Add email address to Keycloak users 2025-10-01 00:09:45 +03:00
Christer Warén
1fe2b0eae1 Deployer: Keycloak - Add more delay before configuring 2025-09-30 23:36:54 +03:00
Christer Warén
9f9ed5d029 Inventories Update 2025-09-30 23:17:18 +03:00
Christer Warén
870ecc035c Add Python 3 interpreter in some tasks 2025-09-30 22:58:39 +03:00
Christer Warén
86285e9af0 Inventories Update 2025-09-30 22:56:13 +03:00
Christer Warén
228a22700c Migrater: Fix typo in copy secrets task 2025-09-30 14:38:06 +03:00
Christer Warén
b3a4646e49 Change interface to variable instead of static interface 2025-09-30 12:49:39 +03:00
Christer Warén
da74f99bb7 Move Ansible to different directory 2025-09-30 12:12:04 +03:00
Christer Warén
d8f5a8fd77 Init: Move Ansible to different directory and remove sudo 2025-09-30 11:59:45 +03:00
Christer Warén
61e167e43f INSTRUCTIONS: Kirjaudu pääkäyttäjänä tai kohota oikeudet 2025-09-30 11:58:07 +03:00
13 changed files with 400 additions and 247 deletions

View File

@@ -18,14 +18,16 @@
2. Vaihda oletusarvoinen käyttöjärjestelmä `wsl --set-default Debian` 2. Vaihda oletusarvoinen käyttöjärjestelmä `wsl --set-default Debian`
3. Käynnistä uudelleen käyttöjärjestelmä `wsl -t Debian` 3. Käynnistä uudelleen käyttöjärjestelmä `wsl -t Debian`
4. Sulje ikkuna 4. Sulje ikkuna
6. Avaa Debian käynnistävalikosta tai suorita Powershellissä komento järjestelmänvalvojana `wsl -d Debian` 6. Avaa Debian käynnistävalikosta tai suorita Powershellissä komento järjestelmänvalvojana `wsl -d Debian`
7. Asenna curl-paketti käyttämällä APT-paketinhallintaa `sudo apt update && sudo apt install curl` 7. Kohota oikeudet `sudo su`
8. Lataa ja suorita Init.sh skripti `bash <(curl https://raw.githubusercontent.com/cwchristerw/tjas-infra/refs/heads/master/init.sh)` 8. Asenna curl-paketti käyttämällä APT-paketinhallintaa `apt update && apt install curl`
9. Lataa ja suorita Init.sh skripti `bash <(curl https://raw.githubusercontent.com/cwchristerw/tjas-infra/refs/heads/master/init.sh)`
**Palvelimen asennus** **Palvelimen asennus**
1. Asenna Debian-käyttöjärjestelmä 1. Asenna Debian-käyttöjärjestelmä
2. Asenna curl-paketti käyttämällä APT-paketinhallintaa `apt update && apt install curl` 2. Kirjaudu root käyttäjänä tai kohota oikeudet `sudo su`
3. Lataa ja suorita Init.sh skripti `bash <(curl https://raw.githubusercontent.com/cwchristerw/tjas-infra/refs/heads/master/init.sh)` 3. Asenna curl-paketti käyttämällä APT-paketinhallintaa `apt update && apt install curl`
4. Lataa ja suorita Init.sh skripti `bash <(curl https://raw.githubusercontent.com/cwchristerw/tjas-infra/refs/heads/master/init.sh)`
**Verkkolaitteiden konfigurointi** **Verkkolaitteiden konfigurointi**
1. Kytke verkkolaitteen Console (Ethernet) porttiin serial portti adapteri sekä yhdistä siihen serial portti USB-adapteri 1. Kytke verkkolaitteen Console (Ethernet) porttiin serial portti adapteri sekä yhdistä siihen serial portti USB-adapteri

View File

@@ -1,7 +1,7 @@
{ {
"Dhcp4": { "Dhcp4": {
"interfaces-config": { "interfaces-config": {
"interfaces": [ "enp0s25.20" ] "interfaces": [ "{{ ansible_facts.interfaces | select('search', '^enp') | first }}.20" ]
}, },
"control-socket": { "control-socket": {
"socket-type": "unix", "socket-type": "unix",
@@ -69,7 +69,7 @@
{ {
"id": 2, "id": 2,
"subnet": "192.168.2.0/27", "subnet": "192.168.2.0/27",
"interface": "enp0s25.20", "interface": "{{ ansible_facts.interfaces | select('search', '^enp') | first }}.20",
"pools": [ "pools": [
{ {
"pool": "192.168.2.1 - 192.168.2.30" "pool": "192.168.2.1 - 192.168.2.30"
@@ -161,7 +161,7 @@
{ {
"id": 69, "id": 69,
"subnet": "192.168.69.0/26", "subnet": "192.168.69.0/26",
"interface": "enp0s25.69", "interface": "{{ ansible_facts.interfaces | select('search', '^enp') | first }}.69",
"pools": [ "pools": [
{ {
"pool": "192.168.69.1 - 192.168.69.62" "pool": "192.168.69.1 - 192.168.69.62"

View File

@@ -8,16 +8,16 @@ auto lo
iface lo inet loopback iface lo inet loopback
# The primary network interface # The primary network interface
allow-hotplug enp0s25 allow-hotplug {{ ansible_facts.interfaces | select('search', '^enp') | first }}
iface enp0s25 inet dhcp iface {{ ansible_facts.interfaces | select('search', '^enp') | first }} inet dhcp
auto enp0s25.20 auto {{ ansible_facts.interfaces | select('search', '^enp') | first }}.20
iface enp0s25.20 inet static iface {{ ansible_facts.interfaces | select('search', '^enp') | first }}.20 inet static
address 192.168.2.10/27 address 192.168.2.10/27
gateway 192.168.2.1 gateway 192.168.2.1
hwaddress 90:1b:0e:5b:18:fb hwaddress 90:1b:0e:5b:18:fb
auto enp0s25.69 auto {{ ansible_facts.interfaces | select('search', '^enp') | first }}.69
iface enp0s25.69 inet static iface {{ ansible_facts.interfaces | select('search', '^enp') | first }}.69 inet static
address 192.168.69.20/26 address 192.168.69.20/26
hwaddress 90:1b:0e:5b:18:fc hwaddress 90:1b:0e:5b:18:fc

View File

@@ -16,8 +16,8 @@
<!-- Link: Preconnect & DNS Prefetch & Preload --> <!-- Link: Preconnect & DNS Prefetch & Preload -->
<link rel="preconnect" href="//cdn.waren.io"> <link rel="preconnect" href="//cdn.waren.io">
<link rel="dns-prefetch" href="//cdn.waren.io"> <link rel="dns-prefetch" href="//cdn.waren.io">
<link rel="preload" as="style" href="https://cdn.waren.io/frameworks/font-awesome/7.0.0/css/all.min.css" crossorigin="anonymous"> <link rel="preload" as="style" href="https://cdn.waren.io/frameworks/font-awesome/7.1.0/css/all.min.css" crossorigin="anonymous">
<link rel="preload" as="font" type="font/woff2" href="https://cdn.waren.io/frameworks/font-awesome/7.0.0/webfonts/fa-solid-900.woff2" crossorigin="anonymous"> <link rel="preload" as="font" type="font/woff2" href="https://cdn.waren.io/frameworks/font-awesome/7.1.0/webfonts/fa-solid-900.woff2" crossorigin="anonymous">
<style> <style>
body { body {
@@ -67,7 +67,7 @@
</style> </style>
<!-- Link: CSS --> <!-- Link: CSS -->
<link rel="stylesheet" href="https://cdn.waren.io/frameworks/font-awesome/7.0.0/css/all.min.css" crossorigin="anonymous" media="screen"> <link rel="stylesheet" href="https://cdn.waren.io/frameworks/font-awesome/7.1.0/css/all.min.css" crossorigin="anonymous" media="screen">
</head> </head>
<body> <body>
<header> <header>

14
init.sh
View File

@@ -38,27 +38,27 @@ exit 1
} }
ti-header "Haetaan pakettien tiedot..." ti-header "Haetaan pakettien tiedot..."
sudo apt update apt update
echo -e "\n\n" echo -e "\n\n"
ti-header "Asennetaan Ansiblen järjestelmäpaketti riippuvuudet..." ti-header "Asennetaan Ansiblen järjestelmäpaketti riippuvuudet..."
sudo apt-get install -y python3-pip python3-venv jq git curl lsb-release apt-get install -y python3-pip python3-venv jq git curl lsb-release
echo -e "\n\n" echo -e "\n\n"
ti-header "Luodaan Ansiblelle virtuaalinen ympäristö..." ti-header "Luodaan Ansiblelle virtuaalinen ympäristö..."
python3 -m venv $HOME/.venv/ansible python3 -m venv /opt/ansible
echo -e "\n\n" echo -e "\n\n"
ti-header "Asennetaan Ansiblen Python-kirjasto riippuvuudet..." ti-header "Asennetaan Ansiblen Python-kirjasto riippuvuudet..."
$HOME/.venv/ansible/bin/pip3 install cryptography dnspython hvac jmespath netaddr pexpect /opt/ansible/bin/pip3 install cryptography dnspython hvac jmespath netaddr pexpect
echo -e "\n\n" echo -e "\n\n"
ti-header "Asennetaan Ansible..." ti-header "Asennetaan Ansible..."
$HOME/.venv/ansible/bin/pip3 install ansible /opt/ansible/bin/pip3 install ansible
echo -e "\n\n" echo -e "\n\n"
ti-header "Asennetaan Ansible kokoelmat..." ti-header "Asennetaan Ansible kokoelmat..."
$HOME/.venv/ansible/bin/ansible-galaxy collection install ansible.posix containers.podman --upgrade /opt/ansible/bin/ansible-galaxy collection install ansible.posix containers.podman --upgrade
echo -e "\n\n" echo -e "\n\n"
mkdir -p $HOME/.ssh/keys &> /dev/null mkdir -p $HOME/.ssh/keys &> /dev/null
@@ -97,7 +97,7 @@ then
fi fi
ti-header "Suoritetaan Infran asennus..." ti-header "Suoritetaan Infran asennus..."
$HOME/.venv/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d $HOME/.ansible/pull/infra --accept-host-key --private-key $HOME/.ssh/keys/infra --vault-password-file $HOME/.ansible/vault/infra tasks.yml -t installer /opt/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d $HOME/.ansible/pull/infra --accept-host-key --private-key $HOME/.ssh/keys/infra --vault-password-file $HOME/.ansible/vault/infra tasks.yml -t installer
echo -e "\n\n" echo -e "\n\n"
echo " echo "

View File

@@ -1,6 +1,6 @@
$ANSIBLE_VAULT;1.2;AES256;infra $ANSIBLE_VAULT;1.2;AES256;infra
37346434333731323663613365373335333165306332343435316232313862383635623437306531 33386430326363383437666438386537326335363734643930613236613831626230643064356334
6463663532653930306564343466306236303539333462650a376635313636313439623632633261 3135626438653437383961306332336232656231313435390a346433363530366262653830363231
33316335306266643365653938643933356131396436393832643466383866313630396466636331 65313965383261326366633238613662316663333735616136316332326534376331316364633633
6432643738356130300a663031633433393865636264616338333562623231623030356339316266 6531653864313533350a306437396165373635313063306636663761303762623633346536666437
3564 3961

View File

@@ -1,148 +1,151 @@
$ANSIBLE_VAULT;1.2;AES256;infra $ANSIBLE_VAULT;1.2;AES256;infra
66323263653830373236363236663539393430656663356266613864333262623035353165373165 66646230653763333733613633343366663932356161303735316330396335626533613935623464
3239613965316461313062353738633734643631386339650a663465646165376430623963383439 3731306166663664633633343864666464376466353638620a313738393261326239383363366264
62666366633435653864306364636432663965623334386666366132373439316466623135383736 66386264666265653937646439646531643431613665393830343939333339376636633265376261
3435626231313834390a623537343764663235656562376361303137653864643562636436343465 6563393338386236390a346233613363373337313335373139323433356161353231346336306632
34393862633566363462613665613632313935353663313033316538623466356637386337643662 38393932323338343461373834626163356565353765366437636137376136356230366335616438
37633232653932653030363762373139633761303362326163323666363738623863373932613462 38346437306161303331366537356630623566666566393364383161306663663837653430326232
37613031333461646363633534366237383031353330316165653136376163636262616637626539 35313064313531316263333034316266383561666539313936363539646435646463346233616565
39336436663738393034303436666432363630316636316237663663303737306166316230353664 34613962623633356232343838653435656365656563373637653131653336646139343862613831
63666136376164363232636330386134323735303266636566373139313265333335343433616664 33623061656439383833346334396461643661626366326263386238396330646563333535643432
31353166643539376338396165376461393935383231396237376362663561393161633661303438 35353335653463306237633961363431333734333638613462306365616635646130623239373732
62383062646561346431323136323963353465323361353161653566316165616532353766313164 30323832313562356131663539343239643633323666363461356434373634633938313639626261
31633136366139656364643139363934373631336336353032646233316236376162303737623461 34346561363962386666366565373435303130326534353039613831666366393863333439303331
66386261633863333462363163383633646661346262336638343035326363373331373365633035 66363132326230626632306635363937656236626262646333623534323037356233333136643664
38613263303466333764313463393832333439646534373564356237623232363335356435653238 30316363623835356334633230303961393230626161316661396166386638653836323330333933
64356465353538643163643833346538376166343562363935646239373863363061363563633833 31323039643039353062636437646262663662633430636563613461313962343163663239366233
39303663373832343664666236356161666331616661353966313938303233316438373337336338 62643665333363326239633064323033386136303831336230663831343633356535383330316262
38356334316238326534356262393432393432636632663965363463316439383133323562366666 64353661396563373036653165383462626432653636316337373337373364636530323339313266
63306633393231646363373932343434313836383633326437303431666262646661363361623162 61363238613966646464303934393161623463356132386562663066363564343363653734636565
38616333623838663566373531643866653664316534326133313339366434346530343130633831 35616137376363373031346461633931336164323638663137303230373233366132613739386238
66343561643861303438343835343935633333303961306561666164333736323466623662386332 36616134376263663561306461653637363835353930636165613439373265386462623736656161
36383530663265376366366665383637656362353235643165313936393131663636363161356365 30333066383930633139616333613965636162316634613739633463616163653132623033666563
37653264323366646534343731393433613235613266636538623538636166316439333061303765 61656466636130323937393334653464666636613631656239656263636339306563396162366637
39636466363963663664636237646661623866393636386538633562313437663066323961343166 32613036323631643038653561383733663561363162656435626461356532323331636332316665
32313466363238373531313531613834373531663732373963343832616633346431353234616662 63393637306661663231623061323138356166323534663630663239653034316538623763633435
39653863336233663934663830643935383763373762393438313463373465316239356639373763 64633162623831636263613939643939356634306636616263323139333430663038336335663232
39656134663765333538626532376433623466366161636563346364353631383364366262386132 37636537393835333737393365303530646666386133393732626235346133653138313432663734
31316435316637613635396635366339613263353463626631356433343464326565393334363930 37386634633763356130343732363134393430656133373939623834646362343431663964373262
36306339633132646161666233313638386234326566623633363633646139393636363130383366 33326361393433663266643636663935313066326561643765353061623832626166323337313835
31616166366664326464346138646635303664633366306333303465646237333163626663343133 61303235626639346162373566343639643030333436323064376365343733623866646465636233
33383339303431653132663937656634333566613835616536613361336231333933376664656265 33343930376534623663346136643739353963326163336538336530313061333432383664396432
36306662396239363662633832666165356361366163363739353337393235346562343336633138 31393936643762353965653962666330323062633166346462646335316534656634383762323265
63353364666131653535653430396361633130393130353035363733346238396165653066636362 66346436393836633064646139346433373436613533333133333736396531646564363135346436
32373634393034346466396439303365303962376164383030626532343339663863376366373163 65613430353133313663386166386163643835373730353531343135396339346162336562623032
64326262313634613832353633623663656235303366356261623531393135386230656561383038 64613033616466626437353036653530633037653332313962623466303436353039616133393261
34663536343339663435313465613131616665646133656463626132303139303361303531666636 31633537343430316365366161386237353930633861626161303461626636373037336331356139
36303566643161366230343739326563663165653338623234643332323565326636383334616137 61326532646230383535613538323735356639643834393837646638313965356262356532313562
63623263303861643266326565336261613934616432623031636430396333613830323761623732 35333534613033653633303731353231363931346335363561346131353964633531326364303663
34383162613732363930366132373038313735636266623737613262383132373265376661383865 30633336306334666535633030306334656130336161633637636163383066383330336664326561
65663831343137333438643961646232366435666134353863613932633465313264316163666234 36383963656430303739303463366639643466636132323433323439383037323565636262346363
33653038323733333663383735323238373536333535313166353939636634653464656262626431 39623637306233353836636639323639333832303563303364653763656235663963326466623630
66326539316633323634343366663666386566353063663531663037323964303265623034326266 32373363313164663130666138333361343838316130623835623631373533386437663034376562
39306630386330653138376138646265633833626365313566346365666466636537666436346463 32383533333832653361363333356266376666613661653632373562326561313837666263613464
36366166383333633865373764653838313838623131643662646166646337306233663235356633 66646432633564313639656666306337313135666538396166396266633137383264313664613063
30383833333438616536636665396339316639353539356339373133323439643636376134306130 34326563613335626564656336383434613133626232333733393233306365333039393138663235
64303734343665656436343964353937646334333733643365396631313538636533663138363865 61396564343830386636643366393332636338366562333061626334636335626364633938613932
63363932396431356234653062633636393831636334303030326130633133646133303739623463 33333139356537373966306565376366343765663434343936633930653033353564633165393065
63373530323735613138333336323435396433623634653664666438343135643261323730633432 35646434643566333035303730373761616130653530636137353333323139663363636135343666
64626166653438363434663133613631393939373438326337326438336263393538336362656138 34386662303136336239646263313366393762393664303030623934663861326237346536376239
31386531323530303864313763376363343035633834393661383835643738313439636436303065 61643530636138626631626664343033363734366466386530666435336632363534616363333561
31313665356333636363363939656536313066393666303364373437663433376164313966663431 62373936356637313334623064393865343264363932663839653936643365633161623764386562
65663734626132376266623435353939643934316533333034326538626336656337323435356233 65363737653737333738646262336365386534653636336434636639366139616163386333393463
39383565376534666663356166366165646634323162316131303065313438373632646635373064 32613566353564376334653735343034663630376364393532313233363837386639303666343136
38363163323938353339326537353465373335383539353932336137343534626630663265393863 65623561316335303166643630383363633438373634653731633764346166323061333237363237
37656265373937393632623265336365633739613963306135623036313934653537643166613737 35356564353339323636373435393661303633333338343063663335333163666430613137343565
39376337656132376539393432613064613331316265656537616437373162316132613762626165 39373537636137383931376639666236343039353362623861633639313931323862376463626239
63633732306439303239613636363137393364656436326138356132366336353838626464363139 39643239653030383737633132386436356631626263396166393834663936616563366661633666
39623865393338336461323137336437616362303362636634636163646563323563356239613761 38363633616461623133636438333833363562653863323363373136313566393738333961396131
62636666343533323432643132306564316161613364633538356131366335613662623537316339 61626564306537383434333931633839323663346565623765636636336266336366323137303232
39613132666532383438393830633232393435333262633066616663343833326465663331376235 66323537353631636262373930386538623964393731653265383462666664356330663238346334
30316539316131316634326138333865646662333232343263353939656533336362636363303166 30613539316163383165363732643665316462326534316138363963363563373631326633653766
66386236663638613237626230336464343236343666333739666366653631633037373931666433 63343137393136663166373035333130366361666364373732316161383065646238326233383665
34383137383733626431633433393135306562373935613263396535616661613839396163373464 38323133313863656431376238303830653935353762386537353539333534373337323230616131
39343430353531343962333466643833343866373531343661346237663233613637323739623739 61323739393663643562363066373663393135663238353765633264666537626639343939616463
38613236383537626234393932653239353836383732623537633863393561373962623239626561 63636339396366313835636466666536346465643536366434653534396465626261656263333361
38643761303061396633323061373637613462383837393638353030646362636136663534343239 65326435383165343964623363646536356366336335663262386362393432653063363736623861
64646237623462373232303338623064653065663039343164333761383730656235306366646436 65353036316630646163323439383438303638626562376134633363643830656561333163303466
65303064356130613533323730366536376366333134663134373733343863383431383332646238 39363561306263396562646464623030623431393764393933393663343361633162353136626534
31316662643636666365336230666461393238653535396463383765306437636133346162643035 35613465313063323531653365373361633866636161616366386230396232653863336663313064
33363137343363326638353634663266396330373662626563656563643762383863333136363633 36633233656638643035316539366364613336303138643461653133323662666337323933643838
37373635356665353036643761326636663130343761383733646536343065643731633364343063 30306335616132313634646332346565383638663062643439653461303062373439313631663738
38396135386633393762646664336239656565636334633765626134383132646537366432326438 36353538643430663463396365636136383731646363633065623532396333326166643436373839
33316638386430623935353864386562386234333061656465616463373430383735323933643838 63613735646230633635353130613130303362306661376361343632373661616364323037303435
38346162396130303564336261653831343462346466316666353633383636633330346530656333 37636632313733343236323535663136633434653164373962303865373565616131316434646164
64353063653563666663326662323738353331356165343839376666616235393362313333613466 33303865393864633439623366616335666439393261353634613532306331323261356662623031
64373465303132326661343039623031663263656638393131363239313235373931306562646332 34333939626633623963383939373464303763316532393037363338393839653238663635656165
63613231643932346661313365363766383065633161336264303761396336303934343362623836 32303132653235303762326532343436643763636232386162663834333635663761396532643165
39313535366538383032356461326461666232626562303462386639363434363035333530373161 38326262653565626363366463663233396464356166393661366432383037663034346366653038
65366139303936383936663630623037333839613138626532643637646138623263306663333139 34656633373933386661343030646362323032343736616461656166626432313633626239346132
38653232343234663665616461376234626163363466373437316561383264633934343837623164 32366661643761376639393438303665633266653233303433346461313538343333393962613632
66643966313338313338366431333263636437623730376530323032303735393365316565636636 39666231386535393366333965646363336636376565383732373133386462623763386666343938
36346538376338306331383535363435616638386265383334363536656231646330373335343636 37363962346238386161356238626538646533333739633938643065313435396336323534616137
63613962616333643935303939663364363935323639343539393530653836316636643339363331 30363665343832326136633662623966346235383739666431393161383238313933656464396264
63346632613962363962393835393935656363663838333466363064666639623364653962323865 33343731363734386530663731623864663139343730343063613038323564343461366438366165
37383364633730616439666236626633643639643832323938396661333931653763663739653365 32343330656436373033393538613334373462303434336562373263653838383138343564393639
38326236386130373731313662306336346463613437326433343336386633313261383234386236 66306538616333616138326666373965616563323739663363303036626439633761316538663132
63393132363030343338663133373466363738663539326238636132376137353264663731643738 62636633383936663436636637633863633561646339396463643031653338383465333336386166
64666235613937643064666638346361303236653765653666316131373132643034353061633630 64303435353661383663303466633732373236656134623965623237623737626363656232346336
61316135343830343938336464346330373761383632653737663861333836643337633039326332 36376663316630386265316135653334623564623939663138383266396537313532663839393366
65656365366563303037366263306261343662383637303830306465643765663136346639313439 31623033346564623633343166646330386536333937626630343338396235663166623164386335
36653432396234373532366236326530613136666463623037323162366662643235316663613839 63666437363439333866306131343831616434613033636431646263323039663761663830656431
39363734303838393365643832643534643235616263303464346636643335303933613038393663 33633537643130373662386439656564386136383539386564646438353130363130313836316631
33643661316562336535613231343631353039393832386338626334646563393930333561623538 31363365316138393734373666313631393331636136386364303131386231623838333863313337
30346133356566646664393738366431613264396564386333323966656165376566393930303239 30343832336561336234616537646630633937646530666664623531366664343866643765326265
62366530353137326563653430396637383765303232343832653664613834343262313235383335 34653764646237636563306134613762333235313362396662346261623035313331313435663536
65313235663738663433643335376533646261336535636139623037393962653435613137663533 63643031353230653462333064383636383464393438396365633964656334376638366164343437
39326238653738613039313735396666646132376639343534643834626561613863613138626334 34373766636665346361363064663962363161393464656566393630373831386235613837396138
66353233306633333034323463303538643166633661633363636634613166346663353939626265 63656336623466643663656264353666363038353661653732393537653731646362393439653962
35306464323462666435623330376339336436343263336437663763613464386131656262396437 36356663613638636139636530376363333132656135333531323735366338633730663366366335
32303536343138623531396637333537366566666564363334643531363965383765633439633563 37653063626537373066653733326638336234393136323036313763666134333661636230393139
35656239656435373663346461343234363661383265303666373939393265363263393634653638 34623038656435393466363836623566663732623135306437396435336636633166313337633761
38323961636162336137643735333163353831366464663034623565316132393131656636656366 38346534643339616265333463373264383139323565353933623666353535353862633463373962
66333935343934653532393132643732656263356366386632386161343034653362343935633539 36356432623431346235653231383664623466306635663939646362366663313362316561343239
33363537353030346564336433643338616535643763333363366462376463653137386239633537 32663766356161353163666136663061653866656562383931336337316663396534616261336466
34646562636134323964326632653466336663633065386636316238386135336262666131363666 31396130336638663232663031326461303939376463636633393830393566343630303934363365
37333035366366623561343065646637613261643063376231356365313739626539316332643733 36313631643066393536346261336133303135333032333837303735303231306631336135303462
31353536306162393236376639393464386232393734343735333665663133376233346434333161 66623962393936366665623330373133663630633730353336373165393138616565303432663066
35643835373162383139386266396463376163666435353733633133656265613339303536656431 39633134643137326165353861336265316435663534616638663733353037633239643635363434
33353033643062333135613031316633633965376637393833396264656336353431366364623365 63376538663163333336313433643133616262663036363164636334303336333563623339316237
32333764656564323264313031613736306163303038323339386432646363323738333363623762 66643036366337303066356131643964663861626266333764663763313133373463343465633238
33386362656361353436626337666138656639613136646331396531313364653331656563393931 39313930386662373638383831303264333537343064303365396166653135303235323861666638
61633961633934346533333536313063613764326237313163353463643766363465356337366562 33343036303733666536633534663166343437656664303439373330643062663263343032653939
64633465306232346130396338623530303033636535363635653131633035333638623134633035 64346365633934663536646562366133643665373636356137623161326433356336663836323436
33666635303939383130353064373565613134633162336637383661376465373032306131643239 65636432366531373063383138386235373761393661613737346237303937303433353036393533
65313633626636363034333936646137636336636166333536343833656563656339353437373833 34613233623964643961623335613934343665323062613963616435663833346465623061353161
35643766633134313330333238393664323932303030643532313139313035316365353733333433 39643064303332643536656166313139623933653466353063356134653538366161636661663733
31366266303362346338323262383439663530373130356130663038613465346432666461336632 38303536326333316366333339306538336334356365656661363861623130346337323063303138
36386435666237333738383864313765363130666433383966313832643961373164633535393234 36376634386534313432326435633732303562326366636135653234333366643730353763313931
34646162363062613563633165313262313534383138633862363134356337343836376564613138 30323365613436343733616330623734316262663165336537306635653966663764626463643764
62663437323936393832633536303833646361393839323763623666666361363737653030326166 31393635323332363265666237363365326434353764306162303937613231386262613665333838
33636362366561613837376365386431626665373864663931643462646139666466323939656662 33646133373663626161356566633333326165313461623131343539396430373463366539366634
63626561633737333466316433323939383365393636653762323233373031666462303134656564 31643238666438306434383934363065643031613861393830663532643361613363353230356666
33306539303138383562353532663333333739633061613031366264383933383833326432363039 65326666386264613135613664623834656234376431346665313235393463356536366132356239
35383036353031656230646565346666633663663635343564643331363934303662306465323030 36613562376265346234623434643635333761376335363161353934333137616230383630323363
62356666303763643536313264616133313165383432336563656439323139656339393564366438 36643433656139316364633566616161363036343537643037343632306331343864656239343536
36326538383862313737346131346462363264343338626462386563323530373732393336306262 34343839326638663365383362656262366361313830653735336633623232616233633733656465
61373037616162356665316536393234343861333462613934626533323238373232666262323861 65633333343261356563356434393361303162666335336335363361663362353466393233636638
66383039626131386466373734643463353863393035376365376136303466333234643539636466 31316162303631306465383865353262336633393637613534313238623436623165643439353865
30323735393234643632393238666635643466383163363165636433343432363730373434636262 36633364383839626134326661663037313336613835646232323236393838386438613134383432
39663633353133346561643463383461623831616666363536343261353639643166386565336432 64663166616438623663633438343663646161633137353438393839366466663862623739613536
37303839656137306437346437616339356339663239656231386232633764646264653334613762 66383232373434666263333136346434303637303164306563393739313038343031376630316138
30313333376335326166353334623336653833393166396130613266343763383764393237376161 34303636363837353031363134633563366633373636363830663530623862656365336238623232
34386431666438313834636138303430396332373830636661393432643464663066623437666439 37613063656531666631303566393461656266303839656266646563373135383930393231333065
38633535386461646335336666376163376266656534313730333866333036613132616166623338 32396339636533306335633965633264633634613233336165623062363965643135363133376430
33343133396462316666336664343266633930613833306331333161383632363534383736333637 30653063653736326164613833313036343236343838313036313035333361356132373439623865
63336661636539666661383939633134663931656661383137376432343030333730363438323133 61616662383139663466353264373835313934623765623237323030613036346161646461613732
37393337356234353935633665343032623436346637646264646436663564613034373831366331 36376236383463356565353830323335623238376533336636383539336539643134663234323930
64353331323463646235646562346234323335386535313833666139666231653830393937383439 63373431326138396566313034613536643737633465663632623136376138663937383961653536
31656536613564316334643765626464316264346137313539646438343639633763343266613338 38396339393434626436383530366130323864373131343038636337373437343263353561646132
62353862353234646364383762626462306364313334396635623961663566366634363834323962 35613866366639666361396530303266383233646638333232366261653837643766363939383437
33323034346265396133613135643635623633633934356561366266306336323366613333373465 38363732333166616331386562383933633964386433613136353034656231306237633238323261
65643031656539333631663665396433303931386432356638636264303334316365323665636265 64383037333837323037646464343063326361333061613634663739363634653137363362636531
38393237313336333130646630383638303830313932363236656165383532323161376636356138 33633033393665306464373238376535386435313831613861373130343661336638376237306366
37633939666565343136653234373236616365623736646334636531393661656633303435623431 32343438366666646239343133333562333037626363316163626438663534633366383961626431
66353730626236616230313865666234333865303736396231306638343332346339333834353538 61336534396163343062316330626431626433313563393638343365306639383861343437353132
33343431643139653934343838366138346364633932363231366434343363666132373630626330 64376433333764656662323265343861643266366130623365353032373861363238643662616666
39316432363936626232373535633363643538626230326666353966326231363132383133646236 32376534313364376461393132306633383266326534633034653331396466343537373931316235
363635336431323162633239393562623631 33646563356661393639663934333465343361303361393166356664306264353063313635343465
30626435333565636637353539306264393166343936363066373861396134653435626262353139
63363831363837633962303264393461333736363639313031323564333335343838393039313461
3234353366373830613739383537393336353061306534336566

View File

@@ -1,17 +1,18 @@
$ANSIBLE_VAULT;1.2;AES256;infra $ANSIBLE_VAULT;1.2;AES256;infra
63393564633938366631613466653062643963353265373536633864643366613232373731376433 39633132376130303332653737373230626537373837343436343262663632626635633634653232
6333616239646333346331643831393830636134353465360a396431626662313831313331666161 3032316237633864646435336637353135383637653565640a323432326439303363643533636361
31343439373039623330656437653964326637633330383261663165316430386564613534633161 35343364663632663366306465353138663036313131633366613463643337633233323436363836
3031323966313030350a666630373139383836346161313232386235306235656161643834396339 3564313436633339320a346637343865303138306562613965373762316331623933633434616538
65663138333037396163336163353634363239643261623630333162313737336265343661336435 36393165643062303336323639326535613936363131383566633061323564393337366331366539
31366162313137313266316462636262613630373464393736323361356238353765643039346563 38333037653139336361313931353861396361616364333230343663366361346634613765346233
66626338666430393733303038616434353337306632623665646432323166336165326663303032 30326465353139643133626364306263383033336463333639393338613936343862636339663231
38373336326565303832383536623337346465633335386531633365616565393635383631643038 63616361363861386164373135313265343338313038333962656535383139313830373939303730
39623663353736343638613538616530353964383765333430383337646664343230646438623231 35373936613161366163316132336132356238313735663834356366373233633938386136656630
37376539623364633563373039383636626363373861613862303566646336633730353661643265 38383361316565306164376264363239666663363134613336656366613863636335376431656239
37663631633934656132396363646430313363636463613936386435663933613339386166353264 34336235653166373265633438386138336238373761366163326664616537643639663434363036
35616438663262366337326361373961666539333135663833346636383961326635373531653735 34643335663835383336316664323963386464643061636461643732333534356161633234313361
31616664353362383532353866336237313439616237353835653662626537346232343131323334 37396161333065333636336133616131333735366535663864646633643231396337356462353835
31633263353739303562303537636566326161656166633766393762323539396634343632626335 30383831356236616564663739653031303638363937313965663365663464313138396231623134
62643639333138373565303261613062313435613837616665613037336566306561646361383337 30353735363463623132323965333730303030393631633638386561396630316439653466626339
61306633306132363739 61363165656561663236343463613066336235666631343365303663333535616337666637323166
3965

View File

@@ -8,8 +8,6 @@
tasks: tasks:
- name: "Installer" - name: "Installer"
import_tasks: tasks/installer.yml import_tasks: tasks/installer.yml
vars:
ansible_python_interpreter: "/root/.venv/ansible/bin/python3"
when: when:
- inventory_hostname == "olympus.juva.tjas" - inventory_hostname == "olympus.juva.tjas"
tags: tags:
@@ -18,8 +16,6 @@
- name: "Maintenance" - name: "Maintenance"
import_tasks: tasks/maintenance.yml import_tasks: tasks/maintenance.yml
vars:
ansible_python_interpreter: "/root/.venv/ansible/bin/python3"
when: when:
- inventory_hostname == "olympus.juva.tjas" - inventory_hostname == "olympus.juva.tjas"
tags: tags:
@@ -28,8 +24,6 @@
- name: "Deployer" - name: "Deployer"
import_tasks: tasks/deployer.yml import_tasks: tasks/deployer.yml
vars:
ansible_python_interpreter: "/root/.venv/ansible/bin/python3"
when: when:
- inventory_hostname == "olympus.juva.tjas" - inventory_hostname == "olympus.juva.tjas"
tags: tags:

View File

@@ -198,8 +198,7 @@
- name: "Deployer - Kea - Install" - name: "Deployer - Kea - Install"
ansible.builtin.apt: ansible.builtin.apt:
name: name: kea
- kea
state: latest state: latest
- name: "Deployer - Kea - Configure - DHCP4" - name: "Deployer - Kea - Configure - DHCP4"
@@ -909,11 +908,29 @@
ansible.builtin.wait_for: ansible.builtin.wait_for:
host: "127.0.0.1" host: "127.0.0.1"
port: 8080 port: 8080
delay: 15 delay: 30
tags: tags:
- keycloak - keycloak
- sso - sso
- name: "Deployer - Keacloak - Configure - Groups : Create"
community.general.keycloak_group:
auth_keycloak_url: "http://127.0.0.1:8080"
auth_realm: master
auth_username: "{{ config.keycloak.users.admin.username }}"
auth_password: "{{ config.keycloak.users.admin.password }}"
realm: "master"
name: "{{ group }}"
vars:
task_vars:
groups:
- admin
- users
loop: "{{ task_vars.groups }}"
loop_control:
label: "{{ group }}"
loop_var: group
- name: "Deployer - Keacloak - Configure - Users : Create" - name: "Deployer - Keacloak - Configure - Users : Create"
community.general.keycloak_user: community.general.keycloak_user:
auth_keycloak_url: "http://127.0.0.1:8080" auth_keycloak_url: "http://127.0.0.1:8080"
@@ -922,11 +939,13 @@
auth_password: "{{ config.keycloak.users.admin.password }}" auth_password: "{{ config.keycloak.users.admin.password }}"
realm: "master" realm: "master"
username: "{{ config.keycloak.users[username].username }}" username: "{{ config.keycloak.users[username].username }}"
email: "{{ username }}@tjas"
emailVerified: on emailVerified: on
credentials: credentials:
- type: password - type: password
value: "{{ config.keycloak.users[username].password }}" value: "{{ config.keycloak.users[username].password }}"
temporary: false temporary: false
groups: "{{ config.keycloak.users[username].groups | map('regex_replace', '^(.*)$', '{\"name\": \"\\1\", \"state\": \"present\"}') | map('from_json') | list }}"
enabled: on enabled: on
state: present state: present
loop: "{{ config.keycloak.users.keys() | list }}" loop: "{{ config.keycloak.users.keys() | list }}"
@@ -1054,6 +1073,7 @@
auth_password: "{{ config.keycloak.users.admin.password }}" auth_password: "{{ config.keycloak.users.admin.password }}"
realm: "master" realm: "master"
username: "{{ config.keycloak.users.admin.username }}" username: "{{ config.keycloak.users.admin.username }}"
email: "{{ config.keycloak.users.admin.username }}@tjas"
emailVerified: on emailVerified: on
attributes: attributes:
- name: is_temporary_admin - name: is_temporary_admin
@@ -1141,6 +1161,8 @@
ansible.builtin.file: ansible.builtin.file:
path: "/root/data/nextcloud/{{ folder }}" path: "/root/data/nextcloud/{{ folder }}"
state: directory state: directory
owner: www-data
group: www-data
loop: "{{ folders }}" loop: "{{ folders }}"
loop_control: loop_control:
label: "{{ folder }}" label: "{{ folder }}"
@@ -1159,6 +1181,8 @@
ansible.builtin.file: ansible.builtin.file:
dest: '/root/data/nextcloud/{{ item.path }}' dest: '/root/data/nextcloud/{{ item.path }}'
state: directory state: directory
owner: www-data
group: www-data
with_filetree: './files/nextcloud/' with_filetree: './files/nextcloud/'
loop_control: loop_control:
label: "{{ item.path }}" label: "{{ item.path }}"

View File

@@ -1,35 +1,35 @@
--- ---
- name: "Init : Python 3 : Install" - name: "Installer : Python 3 : Install"
ansible.builtin.raw: apt install -y python3 python3-pip python3-setuptools python3-venv python3-dev ansible.builtin.raw: apt install -y python3 python3-pip python3-setuptools python3-venv python3-dev
register: task register: task
changed_when: changed_when:
- "task.stdout.find('0 upgraded, 0 newly installed, 0 to remove') == -1" - "task.stdout.find('0 upgraded, 0 newly installed, 0 to remove') == -1"
- name: "Init: Python 3 : Libraries - APT" - name: "Installer: Python 3 : Libraries - APT"
ansible.builtin.raw: apt install -y python3-apt ansible.builtin.raw: apt install -y python3-apt
register: task register: task
changed_when: changed_when:
- "task.stdout.find('0 upgraded, 0 newly installed, 0 to remove') == -1" - "task.stdout.find('0 upgraded, 0 newly installed, 0 to remove') == -1"
- name: "Init : Python 3 : Configure - Virtual Environment : Test" - name: "Installer : Python 3 : Configure - Virtual Environment : Test"
ansible.builtin.raw: "/root/.venv/ansible/bin/pip3" ansible.builtin.raw: "/opt/ansible/bin/pip3"
register: task632 register: task632
changed_when: false changed_when: false
failed_when: false failed_when: false
- name: "Init : Python 3 : Configure - Virtual Environment : Delete" - name: "Installer : Python 3 : Configure - Virtual Environment : Delete"
ansible.builtin.file: ansible.builtin.file:
path: "/root/.venv/ansible" path: "/opt/ansible"
state: absent state: absent
when: when:
- "task632.stdout.find(\"ModuleNotFoundError: No module named 'pip'\") != -1" - "task632.stdout.find(\"ModuleNotFoundError: No module named 'pip'\") != -1"
- name: "Init : Python 3 : Configure - Virtual Environment : Create" - name: "Installer : Python 3 : Configure - Virtual Environment : Create"
ansible.builtin.pip: ansible.builtin.pip:
name: pip name: pip
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
- name: "Installer : Tools : Install" - name: "Installer : Tools : Install"
@@ -103,18 +103,27 @@
- name: "Installer : FirewallD : Dependencies - Packages" - name: "Installer : FirewallD : Dependencies - Packages"
ansible.builtin.apt: ansible.builtin.apt:
name: name: "{{ package }}"
state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
packages:
- python3-firewall - python3-firewall
- iptables - iptables
state: latest loop: "{{ packages }}"
loop_control:
label: "{{ package }}"
loop_var: "package"
tags: tags:
- firewalld - firewalld
- firewall - firewall
- name: "Installer : FirewallD : Install" - name: "Installer : FirewallD : Install"
ansible.builtin.apt: ansible.builtin.apt:
name: "firewalld" name: firewalld
state: latest state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
tags: tags:
- firewalld - firewalld
- firewall - firewall
@@ -136,6 +145,7 @@
immediate: true immediate: true
offline: true offline: true
vars: vars:
ansible_python_interpreter: /usr/bin/python3
services: services:
- http - http
- https - https
@@ -150,12 +160,47 @@
- firewalld - firewalld
- firewall - firewall
- name: "Installer : Ansible : Dependencies - Packages (APT / Debian & Ubuntu & Linux Mint)"
ansible.builtin.apt:
name: "{{ packages }}"
state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
packages:
- sshpass
- lsb-release
loop: "{{ packages }}"
loop_control:
label: "{{ package }}"
loop_var: "package"
- name: "Installer : Ansible : Dependencies - Python Libraries"
ansible.builtin.pip:
name: "{{ library }}"
state: latest
extra_args: --upgrade
virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv"
vars:
libraries:
- cryptography
- dnspython
- hvac
- jmespath
- netaddr
- pexpect
- xmltodict
loop: "{{ libraries }}"
loop_control:
label: "{{ library }}"
loop_var: "library"
- name: "Installer - Ansible - Python Library" - name: "Installer - Ansible - Python Library"
ansible.builtin.pip: ansible.builtin.pip:
name: ansible name: ansible
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
tags: tags:
- ansible - ansible
@@ -169,7 +214,7 @@
- name: "Installer : Ansible : Create Symbolic Links" - name: "Installer : Ansible : Create Symbolic Links"
ansible.builtin.file: ansible.builtin.file:
src: /root/.venv/ansible/bin/{{ binary }} src: /opt/ansible/bin/{{ binary }}
dest: /root/bin/{{ binary }} dest: /root/bin/{{ binary }}
state: link state: link
vars: vars:
@@ -192,34 +237,12 @@
tags: tags:
- ansible - ansible
- name: "Installer - Ansible - Dependencies - Python Libraries"
ansible.builtin.pip:
name: "{{ library }}"
state: latest
extra_args: --upgrade
virtualenv: /root/.venv/ansible
virtualenv_command: "python3 -m venv"
vars:
libraries:
- cryptography
- dnspython
- hvac
- jmespath
- netaddr
- pexpect
loop: "{{ libraries }}"
loop_control:
label: "{{ library }}"
loop_var: "library"
tags:
- ansible
- name: "Installer : MariaDB : Dependencies - Python Library : pymysql" - name: "Installer : MariaDB : Dependencies - Python Library : pymysql"
ansible.builtin.pip: ansible.builtin.pip:
name: pymysql name: pymysql
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
tags: tags:
- mariadb - mariadb
@@ -227,21 +250,30 @@
- name: "Installer : MariaDB : Dependencies - Package : mariadb-client" - name: "Installer : MariaDB : Dependencies - Package : mariadb-client"
ansible.builtin.apt: ansible.builtin.apt:
name: "mariadb-client" name: mariadb-client
state: latest state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
tags: tags:
- mariadb - mariadb
- database - database
- name: "Installer : Podman : Install" - name: "Installer : Podman : Install"
ansible.builtin.apt: ansible.builtin.apt:
name: name: "{{ package }}"
state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
packages:
- podman - podman
- podman-compose - podman-compose
- netavark - netavark
- buildah - buildah
- slirp4netns - slirp4netns
state: latest loop: "{{ packages }}"
loop_control:
label: "{{ package }}"
loop_var: "package"
tags: tags:
- podman - podman
@@ -250,7 +282,7 @@
name: "Tietojärjestelmäasentajien Infra - Maintenance" name: "Tietojärjestelmäasentajien Infra - Maintenance"
hour: "*/3" hour: "*/3"
minute: "0" minute: "0"
job: "/root/.venv/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t maintenance" job: "/opt/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t maintenance"
tags: tags:
- cron - cron
@@ -258,6 +290,6 @@
ansible.builtin.cron: ansible.builtin.cron:
name: "Tietojärjestelmäasentajien Infra - Deployer" name: "Tietojärjestelmäasentajien Infra - Deployer"
minute: "*/5" minute: "*/5"
job: "/root/.venv/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t deployer" job: "/opt/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t deployer"
tags: tags:
- cron - cron

View File

@@ -4,7 +4,7 @@
name: "{{ library }}" name: "{{ library }}"
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
vars: vars:
libraries: libraries:
@@ -24,7 +24,7 @@
name: ansible name: ansible
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
- name: "Maintenance : MariaDB : Dependencies / Python Library : pymysql" - name: "Maintenance : MariaDB : Dependencies / Python Library : pymysql"
@@ -32,7 +32,7 @@
name: pymysql name: pymysql
state: latest state: latest
extra_args: --upgrade extra_args: --upgrade
virtualenv: /root/.venv/ansible virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv" virtualenv_command: "python3 -m venv"
- name: "Maintenance : Podman : Prune" - name: "Maintenance : Podman : Prune"

View File

@@ -9,19 +9,116 @@
dest: /root/.ssh/keys/infra dest: /root/.ssh/keys/infra
- src: /root/.ansible/vault/{{ location | lower | replace('.', '') | replace(' ', '-') }}/infra - src: /root/.ansible/vault/{{ location | lower | replace('.', '') | replace(' ', '-') }}/infra
dest: /root/.ansible/vault/infra dest: /root/.ansible/vault/infra
loop: "{{ files }}"
loop_control:
label: "{{ file }}"
loop_var: "file"
when:
- file.src is ansible.builtin.file
- name: "Migrater : Python 3 : Configure - Virtual Environment : Test"
ansible.builtin.raw: "/opt/ansible/bin/pip3"
register: task632
changed_when: false
failed_when: false
- name: "Migrater : Python 3 : Configure - Virtual Environment : Delete"
ansible.builtin.file:
path: "/opt/ansible"
state: absent
when:
- "task632.stdout.find(\"ModuleNotFoundError: No module named 'pip'\") != -1"
- name: "Migrater : Python 3 : Configure - Virtual Environment : Create"
ansible.builtin.pip:
name: pip
state: latest
extra_args: --upgrade
virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv"
- name: "Migrater : Ansible : Dependencies - Packages"
ansible.builtin.apt:
name: "{{ package }}"
state: latest
vars:
ansible_python_interpreter: /usr/bin/python3
packages:
- sshpass
- lsb-release
loop: "{{ packages }}"
loop_control:
label: "{{ package }}"
loop_var: "package"
- name: "Migrater : Ansible : Dependencies - Python Libraries"
ansible.builtin.pip:
name: "{{ library }}"
state: latest
extra_args: --upgrade
virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv"
vars:
libraries:
- cryptography
- dnspython
- hvac
- jmespath
- netaddr
- pexpect
- xmltodict
loop: "{{ libraries }}"
loop_control:
label: "{{ library }}"
loop_var: "library"
- name: "Migrater - Ansible - Python Library"
ansible.builtin.pip:
name: ansible
state: latest
extra_args: --upgrade
virtualenv: /opt/ansible
virtualenv_command: "python3 -m venv"
tags:
- ansible
- name: "Migrater : Ansible : Create Symbolic Links"
ansible.builtin.file:
src: /opt/ansible/bin/{{ binary }}
dest: /bin/{{ binary }}
state: link
vars:
binaries:
- ansible
- ansible-community
- ansible-config
- ansible-console
- ansible-doc
- ansible-galaxy
- ansible-inventory
- ansible-playbook
- ansible-pull
- ansible-test
- ansible-vault
loop: "{{ binaries }}"
loop_control:
label: "{{ binary }}"
loop_var: "binary"
tags:
- ansible
- name: "Migrater - Schedule : Maintenance" - name: "Migrater - Schedule : Maintenance"
ansible.builtin.cron: ansible.builtin.cron:
name: "Tietojärjestelmäasentajien Infra - Maintenance" name: "Tietojärjestelmäasentajien Infra - Maintenance"
hour: "*/3" hour: "*/3"
minute: "0" minute: "0"
job: "/root/.venv/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t maintenance" job: "/opt/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t maintenance"
- name: "Migrater - Schedule : Maintenance" - name: "Migrater - Schedule : Maintenance"
ansible.builtin.cron: ansible.builtin.cron:
name: "Tietojärjestelmäasentajien Infra - Maintenance" name: "Tietojärjestelmäasentajien Infra - Maintenance"
minute: "*/5" minute: "*/5"
job: "/root/.venv/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t deployer" job: "/opt/ansible/bin/ansible-pull -U ssh://git@github.com/cwchristerw/tjas-infra -d /root/.ansible/pull/infra --accept-host-key --private-key /root/.ssh/keys/infra --vault-password-file /root/.ansible/vault/infra tasks.yml -t deployer"
- name: "Migrater - Schedule : Deployer" - name: "Migrater - Schedule : Deployer"
ansible.builtin.cron: ansible.builtin.cron: