Skip to content
Extraits de code Groupes Projets
Valider 671876b2 rédigé par Théo - Le Filament's avatar Théo - Le Filament
Parcourir les fichiers

change: better handling of backup accounts

parent 098af97b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -390,6 +390,7 @@ ...@@ -390,6 +390,7 @@
# Allow role vars to work with `item` variable. # Allow role vars to work with `item` variable.
item: "{{ item_account_instance.1 }}" item: "{{ item_account_instance.1 }}"
template_backup_account: "{{ item_account_instance.0 }}" template_backup_account: "{{ item_account_instance.0 }}"
template_backup_credentials: "{{ swift_odoo_credentials[template_backup_account.key] }}"
template_odoo_instance: "{{ odoo_instance }}" template_odoo_instance: "{{ odoo_instance }}"
template_database_name: "{{ template_odoo_instance.value.db }}" template_database_name: "{{ template_odoo_instance.value.db }}"
template_odoo_source_instance: "{{ {'key': template_odoo_instance.value.prod_instance | default(template_odoo_instance.key ), 'value': odoo_instances[template_odoo_instance.value.prod_instance | default(template_odoo_instance.key )]} }}" template_odoo_source_instance: "{{ {'key': template_odoo_instance.value.prod_instance | default(template_odoo_instance.key ), 'value': odoo_instances[template_odoo_instance.value.prod_instance | default(template_odoo_instance.key )]} }}"
...@@ -399,7 +400,7 @@ ...@@ -399,7 +400,7 @@
owner: "root" owner: "root"
group: "root" group: "root"
mode: "0400" mode: "0400"
loop: "{{ swift_accounts | dict2items | product(odoo_instances | dict2items) }}" loop: "{{ swift_odoo_accounts | dict2items | product(odoo_instances | dict2items) }}"
loop_control: loop_control:
label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}" label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}"
loop_var: item_account_instance loop_var: item_account_instance
...@@ -420,14 +421,16 @@ ...@@ -420,14 +421,16 @@
# Allow role vars to work with `item` variable. # Allow role vars to work with `item` variable.
item: "{{ item_account_instance.1 }}" item: "{{ item_account_instance.1 }}"
template_backup_account: "{{ item_account_instance.0 }}" template_backup_account: "{{ item_account_instance.0 }}"
template_backup_credentials: "{{ swift_odoo_credentials[template_backup_account.key] }}"
template_odoo_instance: "{{ odoo_instance }}" template_odoo_instance: "{{ odoo_instance }}"
template_odoo_instance_setup: "{{ odoo_instance_setup }}"
ansible.builtin.template: ansible.builtin.template:
src: "backup.yaml.j2" src: "backup.yaml.j2"
dest: "/home/docker/backups/backup-{{ template_odoo_instance.key }}{{ template_backup_account.key }}.yaml" dest: "/home/docker/backups/backup-{{ template_odoo_instance.key }}{{ template_backup_account.key }}.yaml"
owner: "root" owner: "root"
group: "root" group: "root"
mode: "0400" mode: "0400"
loop: "{{ swift_accounts | dict2items | product(odoo_instances | dict2items) }}" loop: "{{ swift_odoo_accounts | dict2items | product(odoo_instances | dict2items) }}"
loop_control: loop_control:
label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}" label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}"
loop_var: item_account_instance loop_var: item_account_instance
...@@ -447,10 +450,10 @@ ...@@ -447,10 +450,10 @@
template_odoo_instance: "{{ odoo_instance }}" template_odoo_instance: "{{ odoo_instance }}"
ansible.builtin.cron: ansible.builtin.cron:
name: "backup {{ template_odoo_instance.key }}{{ template_backup_account.key }}" name: "backup {{ template_odoo_instance.key }}{{ template_backup_account.key }}"
minute: "{{ '%H' | strftime((('1970-01-01 ' + backup_time_start) | to_datetime).timestamp() + (swift_accounts | length - template_backup_account.key) * ((backup_time_slot_duration | community.general.to_seconds - swift_accounts | length * backup_time_max_duration | community.general.to_seconds) / (swift_accounts | length - 1) + backup_time_max_duration | community.general.to_seconds) | int) }}" minute: "{{ '%H' | strftime((('1970-01-01 ' + backup_time_start) | to_datetime).timestamp() + (swift_odoo_accounts | length - template_backup_account.key) * ((backup_time_slot_duration | community.general.to_seconds - swift_odoo_accounts | length * backup_time_max_duration | community.general.to_seconds) / (swift_odoo_accounts | length - 1) + backup_time_max_duration | community.general.to_seconds) | int) }}"
hour: "{{ '%H' | strftime((('1970-01-01 ' + backup_time_start) | to_datetime).timestamp() + (swift_accounts | length - template_backup_account.key) * ((backup_time_slot_duration | community.general.to_seconds - swift_accounts | length * backup_time_max_duration | community.general.to_seconds) / (swift_accounts | length - 1) + backup_time_max_duration | community.general.to_seconds) | int) }}" hour: "{{ '%H' | strftime((('1970-01-01 ' + backup_time_start) | to_datetime).timestamp() + (swift_odoo_accounts | length - template_backup_account.key) * ((backup_time_slot_duration | community.general.to_seconds - swift_odoo_accounts | length * backup_time_max_duration | community.general.to_seconds) / (swift_odoo_accounts | length - 1) + backup_time_max_duration | community.general.to_seconds) | int) }}"
job: "/usr/bin/docker compose -f /home/docker/backups/backup-{{ template_odoo_instance.key }}{{ template_backup_account.key }}.yaml run --rm backup_odoo" job: "/usr/bin/docker compose -f /home/docker/backups/backup-{{ template_odoo_instance.key }}{{ template_backup_account.key }}.yaml run --rm backup_odoo"
loop: "{{ swift_accounts | dict2items | product(odoo_instances | dict2items) }}" loop: "{{ swift_odoo_accounts | dict2items | product(odoo_instances | dict2items) }}"
loop_control: loop_control:
label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}" label: "account {{ template_backup_account.key }} on {{ template_odoo_instance.key }}"
loop_var: item_account_instance loop_var: item_account_instance
......
...@@ -10,8 +10,8 @@ services: ...@@ -10,8 +10,8 @@ services:
PGUSER: "{{ template_odoo_instance.value.db_user }}" PGUSER: "{{ template_odoo_instance.value.db_user }}"
PGPASSWORD: "{{ template_odoo_instance.value.db_pass }}" PGPASSWORD: "{{ template_odoo_instance.value.db_pass }}"
PASSPHRASE: "{{ template_odoo_instance.value.odoo_backup_pass | default(template_odoo_instance.value.master_pass) }}" PASSPHRASE: "{{ template_odoo_instance.value.odoo_backup_pass | default(template_odoo_instance.value.master_pass) }}"
SWIFT_USERNAME: "{{ template_backup_account.value.username }}" SWIFT_USERNAME: "{{ template_backup_credentials.username }}"
SWIFT_PASSWORD: "{{ template_backup_account.value.password }}" SWIFT_PASSWORD: "{{ template_backup_credentials.password }}"
SWIFT_AUTHURL: "{{ template_backup_account.value.authurl }}" SWIFT_AUTHURL: "{{ template_backup_account.value.authurl }}"
SWIFT_AUTHVERSION: {{ template_backup_account.value.authversion }} SWIFT_AUTHVERSION: {{ template_backup_account.value.authversion }}
SWIFT_TENANTNAME: "{{ template_backup_account.value.tenantname }}" SWIFT_TENANTNAME: "{{ template_backup_account.value.tenantname }}"
......
...@@ -13,8 +13,8 @@ services: ...@@ -13,8 +13,8 @@ services:
- ./pre_restore-{{ template_odoo_instance.key }}.sql:/tmp/pre-restore.sql:ro - ./pre_restore-{{ template_odoo_instance.key }}.sql:/tmp/pre-restore.sql:ro
environment: environment:
PGDATABASE: "{{ template_database_name }}" PGDATABASE: "{{ template_database_name }}"
SWIFT_USERNAME: "{{ template_backup_account.value.username }}" SWIFT_USERNAME: "{{ template_backup_credentials.username }}"
SWIFT_PASSWORD: "{{ template_backup_account.value.password }}" SWIFT_PASSWORD: "{{ template_backup_credentials.password }}"
SWIFT_AUTHURL: "{{ template_backup_account.value.authurl }}" SWIFT_AUTHURL: "{{ template_backup_account.value.authurl }}"
SWIFT_AUTHVERSION: {{ template_backup_account.value.authversion }} SWIFT_AUTHVERSION: {{ template_backup_account.value.authversion }}
SWIFT_TENANTNAME: "{{ template_backup_account.value.tenantname }}" SWIFT_TENANTNAME: "{{ template_backup_account.value.tenantname }}"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter