mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-17 18:24:14 +02:00
clean ansible
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
postgresql_version: 15
|
|
@@ -1 +0,0 @@
|
|||||||
postgresql_version: 16
|
|
@@ -1,29 +0,0 @@
|
|||||||
kind: Secret
|
|
||||||
ansible_password: ENC[AES256_GCM,data:QKiW/9ARHg==,iv:UEAQglzSMYkWDoBvrdtEf3RE6FlBX8y0QZwqZWv6fdY=,tag:9N5onkoUBAAZsHp1bDKoCg==,type:str]
|
|
||||||
ansible_become_pass: ENC[AES256_GCM,data:xF8pLJRXLQ==,iv:cv0e1CoAoOoSlI1D7yxl1BSKaSuttyCkBg9+63ohvxM=,tag:GYu39reCXDM6Uu2j7FVybA==,type:str]
|
|
||||||
minio_root_user: ENC[AES256_GCM,data:DdNuALL99AnFr272Gs0noQ==,iv:Fx9XZQblytbMFOFMC2ay/l+eFR26ufNcLJfIEbPuSDg=,tag:00llM76qqqCNzp3XxDqwOg==,type:str]
|
|
||||||
minio_root_password: ENC[AES256_GCM,data:MQK+WFFstwnPVBJve4Y/Ag==,iv:et4mljyjUUE54glfK5JLBwXquZMBOiU54yXj3VCtExc=,tag:lknG5JeBqyJs1zd461tTzw==,type:str]
|
|
||||||
ovh_endpoint: ENC[AES256_GCM,data:bKy/sMlw,iv:o6lc/f/S5QOkDHF8iLJinOV93joLGP9YHINDc/AuivE=,tag:4mB81IJthXJf2V4Qv591pA==,type:str]
|
|
||||||
ovh_application_key: ENC[AES256_GCM,data:XUZMwWrwSDUk+VyQXHyhdA==,iv:0PAKRsCiTeIy4d6S8aF3T3pp/GPNXWCMCKBGo6t+aQQ=,tag:UWlkrvXZS1vP1GUSMs3hGw==,type:str]
|
|
||||||
ovh_application_secret: ENC[AES256_GCM,data:debtTD7GbiLrFwMtFkh7UHBbxMtcjIUXnWVgLy76Vi4=,iv:tNwTr+0P/r9/FSjVlCuVXYFpOyZJWvvsVwUr4FNIVRs=,tag:eeju5p9AywRLkJuXNuyHhA==,type:str]
|
|
||||||
ovh_consumer_key: ENC[AES256_GCM,data:mfA7cEa5aHowmUEpUZn6N3ylb2bjdj2ejwgZDLjrnNM=,iv:aYDHOqeoa5Q4SBQj3upBfW9u0hVOqM7IGBObkt1Ap0c=,tag:1yVumvVlvI77PrOiX1pgYQ==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1hhurqwmfvl9m3vh3hk8urulfzcdsrep2ax2neazqt435yhpamu3qj20asg
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVllLOFcwWXVoNXZobFF1
|
|
||||||
VGJmczlkL1V3blhvcnFzN2V6S1B1Ui81alRNClVEUWFmSWxKbENBRVZJN01PSWM5
|
|
||||||
d2M3OHFhOGpadEdrWUIxZGpMNTR2aVkKLS0tIE84ZkxzTlBpZVlqR2xQRmM0V0ZR
|
|
||||||
aG5zWW1XclBOS2cxMkwzZ3c1R1psNGsKzeSHHV7AYXCUNiiXJlBRFVWMZtfK3naj
|
|
||||||
VRtF22+DYfjumQuwam2ZzhdLQ//1ciHnkJc58dKeTbYUHzC+fWpaZQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-05-10T19:19:48Z"
|
|
||||||
mac: ENC[AES256_GCM,data:zZMPejKZawGE/ejtG5Kue8efIKY8pRH0v/cO4pfH1M6zHpAg2eaDG1wWPC2O7xbEfkUstGu8YFNVPO+tOYWR5oGBEbeJVm/ZieolHOWYcCasBDgnUX3UnPXibvevbm7xxC9o8mdRH9rENzQo4NZEv1/y9sCXLtQvtsfVswmywKA=,iv:JezVNspVQP3wLfneM1L1U+QDom88l01Q+lwFJNJmco8=,tag:IRc1hvPvsfvvXb51PKx4cg==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_regex: ^(kind)$
|
|
||||||
version: 3.8.1
|
|
@@ -1,27 +0,0 @@
|
|||||||
kind: Secret
|
|
||||||
root_api_key: ENC[AES256_GCM,data:Fhj1MGeHxe/A6O7uVjMrCEu7J4rsiWrhbXgbAenb5CunoRPu0XLV/227WAFc4wFkboFNnt3bjzugvdvM5w/0JSry,iv:7uuHkrSKGShhIso8RgIJsOSYOxBiyyM/D5Dg+IGDh1Y=,tag:dP4gfIIUAEBUm91h5IHSug==,type:str]
|
|
||||||
ansible_password: ENC[AES256_GCM,data:zRaOy+b26VWMCVIPKLU=,iv:S+BX0fqVizWTZZr0A4MaXkw/4XhE2Pb+RGPjvnWuUpk=,tag:TUcGk8Hp9Zv17L/pmX4E7g==,type:str]
|
|
||||||
ansible_become_pass: ENC[AES256_GCM,data:xGVU7dW/MMI9bV6Vz+M=,iv:6/ikVQfHxjdCy5KKT+Yksj/OFws2WRcy8oDI2Oay7Eo=,tag:JOLmvpOAIjIHJ/K7Eaoxjw==,type:str]
|
|
||||||
minio_access_key: ENC[AES256_GCM,data:S4jElnraMiUip89QcF9VjQ==,iv:gSgUnDPTgIyXvmXt/ocIB3v6Dcq+c8ADrmQXVwgXVAM=,tag:ykHGBcHbZ431gvkxp6q+iA==,type:str]
|
|
||||||
minio_secret_key: ENC[AES256_GCM,data:kfeIRjsEGFAsQmVw9QsyoA==,iv:milmhE0Y2mdW6Yx910IsRRwNO7JxsYhUL5wBDTOUBLU=,tag:Ghy68+5i4m/0+IIve23YJQ==,type:str]
|
|
||||||
postgresql_password: ENC[AES256_GCM,data:Fm/TW9zb36GzPOstV2kt96WJPAJ/0ylsSKDzzJdLmmsUQINSsXag5g==,iv:KkdOsbTN8i6taJXpavBTXCcJhRyMzmwf3gjh/nubu5M=,tag:0wWqT3ij2mudjT/vZT9OjA==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1hhurqwmfvl9m3vh3hk8urulfzcdsrep2ax2neazqt435yhpamu3qj20asg
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVllLOFcwWXVoNXZobFF1
|
|
||||||
VGJmczlkL1V3blhvcnFzN2V6S1B1Ui81alRNClVEUWFmSWxKbENBRVZJN01PSWM5
|
|
||||||
d2M3OHFhOGpadEdrWUIxZGpMNTR2aVkKLS0tIE84ZkxzTlBpZVlqR2xQRmM0V0ZR
|
|
||||||
aG5zWW1XclBOS2cxMkwzZ3c1R1psNGsKzeSHHV7AYXCUNiiXJlBRFVWMZtfK3naj
|
|
||||||
VRtF22+DYfjumQuwam2ZzhdLQ//1ciHnkJc58dKeTbYUHzC+fWpaZQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-03-19T21:55:42Z"
|
|
||||||
mac: ENC[AES256_GCM,data:oEValcnIzQbxmFntXn6TEBk5FVPA2OSXR+Xr7THu43MG4C4nLeI2EIjanV+7+c0Dq2twsB5JarmcU2Y0l/s+9V2ZFlSA7LaPwrYZNSCySAqfy9XCJhuJAt4QGDa7CFdF1UQNbKtDv4YQ9UVpvg9BXCyc6siTIx7R+OU+Zh1P+l0=,iv:NSos5J0OLbm8a/4QHEgpSF3OWIRm9YBYfDil5rYFARM=,tag:J7aGAAD9q1u/LHGqeQiW+A==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_regex: ^(kind)$
|
|
||||||
version: 3.8.1
|
|
@@ -1,6 +0,0 @@
|
|||||||
main_nas: true
|
|
||||||
pool_name: storage
|
|
||||||
iocage_pool_name: apps
|
|
||||||
postgresql_pool_name: apps
|
|
||||||
minio_pool_name: storage
|
|
||||||
snapshots_interval: "daily:14,weekly:12,monthly:3"
|
|
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: minio
|
|
||||||
become: true
|
|
||||||
gather_facts: true
|
|
||||||
any_errors_fatal: true
|
|
||||||
roles:
|
|
||||||
- role: minio
|
|
@@ -1,16 +1,37 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
FLAG_NOTIF=false
|
DATE=$(date +%Y%m%d%H%M)
|
||||||
|
BACKUP_SRC="/storage/backup"
|
||||||
|
BACKUP_DEST="homelab@storage.{{ secret_domain }}:/vol1/backups/servers/coreelec.{{ secret_domain }}/"
|
||||||
|
|
||||||
DATE=`date +%Y%m%d%H%M`
|
error_handler() {
|
||||||
BACKUP_PATH="/storage/backup"
|
local error_line=$1
|
||||||
|
local error_message=$2
|
||||||
|
script_name=$(basename "$0")
|
||||||
|
local script_name
|
||||||
|
|
||||||
cd /
|
echo "Error occurred in script '${script_name}' at line: ${error_line}"
|
||||||
|
echo "Error message: ${error_message}"
|
||||||
|
|
||||||
tar cvf ${BACKUP_PATH}/${DATE}.tar \
|
curl -s \
|
||||||
|
--form-string "token={{ pushover_api_token }}" \
|
||||||
|
--form-string "user={{ pushover_user_key }}" \
|
||||||
|
--form-string "message=coreelec.{{ secret_domain }}
|
||||||
|
script: ${script_name}
|
||||||
|
error_line: ${error_line}
|
||||||
|
error_message: ${error_message}" \
|
||||||
|
https://api.pushover.net/1/messages.json
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
|
||||||
|
|
||||||
|
tar cvf "${BACKUP_SRC}/${DATE}.tar" \
|
||||||
storage/.kodi storage/.config storage/.cache storage/.ssh \
|
storage/.kodi storage/.config storage/.cache storage/.ssh \
|
||||||
--exclude=storage/.kodi/userdata/Thumbnails
|
--exclude=storage/.kodi/userdata/Thumbnails
|
||||||
|
|
||||||
# Keep the last 5 backups on disk
|
# Keep the last 5 backups on disk
|
||||||
find ${BACKUP_PATH}/*.tar -mtime +5 -type f -delete
|
find "${BACKUP_SRC}/*.tar" -mtime +5 -type f -delete
|
||||||
|
|
||||||
|
rsync -avh "${BACKUP_SRC}/" "${BACKUP_DEST}" --delete
|
||||||
|
@@ -6,7 +6,7 @@ After=network-online.service
|
|||||||
Before=kodi.service
|
Before=kodi.service
|
||||||
|
|
||||||
[Mount]
|
[Mount]
|
||||||
What=truenas.{{ secret_domain }}:/mnt/storage/{{ item }}
|
What=192.168.9.10:/var/mnt/vol1/{{ item }}
|
||||||
Where=/storage/mnt/{{ item }}
|
Where=/storage/mnt/{{ item }}
|
||||||
Options=
|
Options=
|
||||||
Type=nfs
|
Type=nfs
|
||||||
|
@@ -1,42 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Install MinIO
|
|
||||||
ansible.builtin.pkgng:
|
|
||||||
name:
|
|
||||||
- minio
|
|
||||||
- curl
|
|
||||||
state: latest
|
|
||||||
register: installation
|
|
||||||
|
|
||||||
- name: Create MinIO configuration in /etc/rc.conf
|
|
||||||
ansible.builtin.blockinfile:
|
|
||||||
path: /etc/rc.conf
|
|
||||||
state: present
|
|
||||||
block: |
|
|
||||||
# MINIO
|
|
||||||
minio_enable="YES"
|
|
||||||
minio_disks="/mnt/data"
|
|
||||||
minio_env="MINIO_ACCESS_KEY={{ minio_access_key }} MINIO_SECRET_KEY={{ minio_secret_key }} MINIO_CONSOLE_ADDRESS=192.168.9.14:9001"
|
|
||||||
no_log: false
|
|
||||||
register: configuration
|
|
||||||
|
|
||||||
- name: Restart MinIO Service
|
|
||||||
ansible.builtin.service:
|
|
||||||
name: minio
|
|
||||||
state: restarted
|
|
||||||
enabled: true
|
|
||||||
when: configuration.changed == true or installation.changed == true
|
|
||||||
|
|
||||||
- name: Wait for 5 seconds
|
|
||||||
ansible.builtin.pause:
|
|
||||||
seconds: 5
|
|
||||||
|
|
||||||
- name: Check MinIO Service
|
|
||||||
ansible.builtin.command: curl -s localhost:9000/minio/health/live
|
|
||||||
register: curl_result
|
|
||||||
ignore_errors: true
|
|
||||||
changed_when: false
|
|
||||||
|
|
||||||
- name: Fail if curl command failed
|
|
||||||
ansible.builtin.fail:
|
|
||||||
msg: 'Curl command failed'
|
|
||||||
when: curl_result.rc != 0
|
|
Reference in New Issue
Block a user