diff --git a/hetzner.yaml b/hetzner.yaml index 2418bb8..66ef6ac 100644 --- a/hetzner.yaml +++ b/hetzner.yaml @@ -7,8 +7,7 @@ tasks: - name: Backup hetzner block: - - include_vars: vars/common/variable.yaml - - include_vars: vars/hetzner/secret.yaml + - include_vars: vars/common/mattermost.yaml - include_vars: vars/hetzner/variable.yaml - name: Create backup directory @@ -70,20 +69,26 @@ - name: Inform Mattermost about success uri: url: "{{ mattermost_url }}" - validate_certs: no method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran successful ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran successful ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ semaphore_token }}" + status_code: [200, 201] rescue: - name: Inform Mattermost about error uri: url: "{{ mattermost_url }}" - validate_certs: no method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran with error ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran with error ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ error_token }}" + status_code: [200, 201] diff --git a/nas.yaml b/nas.yaml index 835cd4d..c6f2318 100644 --- a/nas.yaml +++ b/nas.yaml @@ -7,7 +7,7 @@ tasks: - name: Backup odroid block: - - include_vars: vars/common/variable.yaml + - include_vars: vars/common/mattermost.yaml - name: Wakeup the nas community.general.wakeonlan: @@ -59,18 +59,17 @@ - name: Inform Mattermost about success uri: - url: https://cs-mm.ddnss.de/api/v4/posts + url: "{{ mattermost_url }}" method: POST body_format: json body: - channel_id: gub5buudpffxjf6fc1abkas8jo - message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran successful ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran successful ({{ ansible_play_name }})" headers: Content-Type: application/json - Authorization: Bearer 6ej3xr7cuinyfrzkbn64i85zco + Authorization: Bearer "{{ semaphore_token }}" status_code: [200, 201] - rescue: - name: Umount nas volume ansible.posix.mount: @@ -84,5 +83,9 @@ method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran with error ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran with error ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ error_token }}" + status_code: [200, 201] diff --git a/odroid.yaml b/odroid.yaml index 9aa11a6..235d74d 100644 --- a/odroid.yaml +++ b/odroid.yaml @@ -7,8 +7,7 @@ tasks: - name: Backup odroid block: - - include_vars: vars/common/variable.yaml - - include_vars: vars/odroid/secret.yaml + - include_vars: vars/common/mattermost.yaml - include_vars: vars/odroid/variable.yaml - name: Check if directories exist @@ -272,8 +271,12 @@ method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran successful ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran successful ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ semaphore_token }}" + status_code: [200, 201] rescue: - name: Inform Mattermost about error @@ -282,5 +285,9 @@ method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran with error ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran with error ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ error_token }}" + status_code: [200, 201] diff --git a/semaphore.yaml b/semaphore.yaml index 603c044..39b6ad4 100644 --- a/semaphore.yaml +++ b/semaphore.yaml @@ -7,7 +7,7 @@ tasks: - name: Cleanup semaphore block: - - include_vars: vars/common/variable.yaml + - include_vars: vars/common/mattermost.yaml - include_vars: vars/semaphore/variable.yaml - name: Search for volume's backup directories @@ -127,8 +127,12 @@ method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran successful ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran successful ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ semaphore_token }}" + status_code: [200, 201] rescue: - name: Inform Mattermost about error @@ -137,5 +141,9 @@ method: POST body_format: json body: - username: "{{ mattermost_user }}" - text: "{{ ansible_date_time.date }} {{ ansible_date_time.time }} (info): Playbook ran with error ({{ ansible_play_name }})" + channel_id: "{{ channel_id }}" + message: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}: Playbook ran with error ({{ ansible_play_name }})" + headers: + Content-Type: application/json + Authorization: Bearer "{{ error_token }}" + status_code: [200, 201] diff --git a/vars/common/mattermost.yaml b/vars/common/mattermost.yaml new file mode 100644 index 0000000..f1fc076 --- /dev/null +++ b/vars/common/mattermost.yaml @@ -0,0 +1,22 @@ +mattermost_url: https://cs-mm.ddnss.de/api/v4/posts +channel_id: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 39646466323431346462356265313136303164353963376632326231323765663339653335343533 + 3431643737343736396135353533396431353764613762370a393131313265356230393262383134 + 39396438383138373030656461316339626663643666666361306463316132643935373062353866 + 6432613035623037340a646230386530653136343562346236313234346261376163613265316366 + 64376333343663333061383131363233376135663562633764633035393163333932 +semaphore_token: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 63303861343461346237326565623361666662303038366362393339323835396663663831376265 + 6432633932326237303664303735333062666663336564370a393965643665373932343963303537 + 36643861306566356165613236363231616364333737346166353931303664356432623164663566 + 6435363333643838620a393032653533613662333664313362323837353934663363663664663438 + 61363465343531386436323336633332353565666230653464383266613063306434 +error_token: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 37363661343134333136656663636231373233333136383231383236386166626337346637616564 + 3739353136346163366563333335613534643235313738330a386463633166313633366463393135 + 31653532363665333865343666333464666332396661653238613465303961656537353930393239 + 3731353039353739620a666665356435316632363261623666623537303965653066303434383130 + 62366230386464313334373631663530363639336534323862616362323266656339 diff --git a/vars/common/variable.yaml b/vars/common/variable.yaml deleted file mode 100644 index cea24d1..0000000 --- a/vars/common/variable.yaml +++ /dev/null @@ -1,2 +0,0 @@ -mattermost_url: https://cs-mm.ddnss.de/hooks/og4ckuqet7fafb8kjuaigzuh7c -mattermost_user: semaphore diff --git a/vars/hetzner/secret.yaml b/vars/hetzner/secret.yaml deleted file mode 100644 index 198f841..0000000 --- a/vars/hetzner/secret.yaml +++ /dev/null @@ -1,7 +0,0 @@ -mysql_password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 30653032393533663237383138653662303937653238323336626431623839323265383536336138 - 3236353431326238356266613230343333616564383230330a363838633264356263333966613265 - 65636531363865386134663439616562623430363439613863343831333930363762366432343361 - 6163373838653762650a346431633230666637306635386262333961646232386262633363643734 - 65616232363735386461376239303338366537313365316161396262336163653536 \ No newline at end of file diff --git a/vars/hetzner/variable.yaml b/vars/hetzner/variable.yaml index 693bb56..583c665 100644 --- a/vars/hetzner/variable.yaml +++ b/vars/hetzner/variable.yaml @@ -1,5 +1,12 @@ ansible_python_interpreter: /usr/bin/python2 mysql_user: root +mysql_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 30653032393533663237383138653662303937653238323336626431623839323265383536336138 + 3236353431326238356266613230343333616564383230330a363838633264356263333966613265 + 65636531363865386134663439616562623430363439613863343831333930363762366432343361 + 6163373838653762650a346431633230666637306635386262333961646232386262633363643734 + 65616232363735386461376239303338366537313365316161396262336163653536 backup_dir: /var/chris databases: ['c1_scheidle', 'c1_startup', 'c2_buehler', 'c4_svj', 'c5_maier', 'dbispconfig', 'roundcube'] diff --git a/vars/odroid/secret.yaml b/vars/odroid/secret.yaml deleted file mode 100644 index 3b8cb5b..0000000 --- a/vars/odroid/secret.yaml +++ /dev/null @@ -1,49 +0,0 @@ -bookstack-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 39336636386431643433353665393339336436336161663865346132623966636363313933613731 - 6466663837626238323139306162636139383437366134300a373730666465393263383866646265 - 33363832306430373131353933396165663363363761306666623631323566333334326639656161 - 3761396539666262660a616338366563326161343666653261636632626162363463653736613735 - 63326530313939336534626137336536636637353161663739623333636233333237 -drone-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 65646363323732393035376232643861636464323364326664353265303164656239333136646163 - 3437353365306165323131383861616238613065343161360a626434626132616333326130623566 - 30303739333431323062336462643235373663666234353034653261366364336562666437353361 - 3532353262623266660a313064373065646638643639353837343065326637303933306433396364 - 61323930366438326465313736366164343337363763633862303738663361306664 -gitea-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 35663631393434323266376261323039373662616365356661323439313632356630376138353039 - 3338626365363335376432646339613866666639653439360a386339336361366564623730363131 - 35636431333233656436633263633966633136376537393039363235633836316366633362333637 - 6438633235643063340a666435316134663234383733363765643930383865333365326439316537 - 62386263373334613233396137663230636433353861343133383963306362373138 -kimai-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 33623762393131386131383731653262383134333435373463393465346336363831616230376235 - 3738316665383530613262396537393336666237643364330a313936353333313062383235303033 - 34633962356162363861393337373135373733623530623264643763633839633038353930313830 - 3836646164383864640a643761653366336131613034336162656630666532323334316361346563 - 39616364666130373663326137353636633064363130333738333230626366616363 -mattermost-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 63376430633239353764376361373933633739303564623463656262303037306561366437663638 - 3835343137623461366136303439653735353939383766310a343836656634333761626533393562 - 63626132396239616635323435363964363538303763323335313530663833626161386463333563 - 6566656264346539650a623434363138643838613936396436623965633937666537383039376134 - 34613039313436633032623466373037343662613166643338333439306635633366 -nextcloud-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 64646139616264626663656536666635346539356639336230633638633765393436663337666266 - 3135616564346235636330656165343739653631646238360a353437383833376130636632333163 - 65383439366165386232383664346130396336616530613162626262386335323331313336373632 - 6437333231383539390a363731626530336264366264313736323864333864323636613062316639 - 30396235326462356238343634653262666535616133383031626164353136656630 -semaphore-password: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 33383439323962613365623962653961396165636338306564356434376165373030323765313365 - 3566636463323835613634313530623832343764633563390a646632303563336434646430663837 - 36613837326634643934396566353438383239613463316564353835363464343330653433376661 - 3838633238363835620a636162313933303833346362323334303236656635313436643535316162 - 35363062303261316437373135333263363463393862663938643938666664323938 diff --git a/vars/odroid/variable.yaml b/vars/odroid/variable.yaml index 9ceb02c..7e9dafc 100644 --- a/vars/odroid/variable.yaml +++ b/vars/odroid/variable.yaml @@ -3,6 +3,55 @@ systems: ['bookstack', 'drone', 'duplicati', 'gitea', 'kimai', 'mattermost', 'ne databases: ['bookstack', 'drone', 'gitea', 'kimai', 'mattermost', 'nextcloud', 'semaphore'] mysql_databases: ['bookstack', 'kimai', 'semaphore'] postgres_databases: ['drone', 'gitea', 'mattermost', 'nextcloud'] +bookstack-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 39336636386431643433353665393339336436336161663865346132623966636363313933613731 + 6466663837626238323139306162636139383437366134300a373730666465393263383866646265 + 33363832306430373131353933396165663363363761306666623631323566333334326639656161 + 3761396539666262660a616338366563326161343666653261636632626162363463653736613735 + 63326530313939336534626137336536636637353161663739623333636233333237 +drone-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 65646363323732393035376232643861636464323364326664353265303164656239333136646163 + 3437353365306165323131383861616238613065343161360a626434626132616333326130623566 + 30303739333431323062336462643235373663666234353034653261366364336562666437353361 + 3532353262623266660a313064373065646638643639353837343065326637303933306433396364 + 61323930366438326465313736366164343337363763633862303738663361306664 +gitea-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 35663631393434323266376261323039373662616365356661323439313632356630376138353039 + 3338626365363335376432646339613866666639653439360a386339336361366564623730363131 + 35636431333233656436633263633966633136376537393039363235633836316366633362333637 + 6438633235643063340a666435316134663234383733363765643930383865333365326439316537 + 62386263373334613233396137663230636433353861343133383963306362373138 +kimai-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 33623762393131386131383731653262383134333435373463393465346336363831616230376235 + 3738316665383530613262396537393336666237643364330a313936353333313062383235303033 + 34633962356162363861393337373135373733623530623264643763633839633038353930313830 + 3836646164383864640a643761653366336131613034336162656630666532323334316361346563 + 39616364666130373663326137353636633064363130333738333230626366616363 +mattermost-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 63376430633239353764376361373933633739303564623463656262303037306561366437663638 + 3835343137623461366136303439653735353939383766310a343836656634333761626533393562 + 63626132396239616635323435363964363538303763323335313530663833626161386463333563 + 6566656264346539650a623434363138643838613936396436623965633937666537383039376134 + 34613039313436633032623466373037343662613166643338333439306635633366 +nextcloud-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 64646139616264626663656536666635346539356639336230633638633765393436663337666266 + 3135616564346235636330656165343739653631646238360a353437383833376130636632333163 + 65383439366165386232383664346130396336616530613162626262386335323331313336373632 + 6437333231383539390a363731626530336264366264313736323864333864323636613062316639 + 30396235326462356238343634653262666535616133383031626164353136656630 +semaphore-password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 33383439323962613365623962653961396165636338306564356434376165373030323765313365 + 3566636463323835613634313530623832343764633563390a646632303563336434646430663837 + 36613837326634643934396566353438383239613463316564353835363464343330653433376661 + 3838633238363835620a636162313933303833346362323334303236656635313436643535316162 + 35363062303261316437373135333263363463393862663938643938666664323938 volumes: bookstack: container: bookstack