feat(k3s): add possibility to provide a custom backend; moved opentofu states to postgresql on actinium
This commit is contained in:
parent
1cd41762fc
commit
6b15ecc3a6
3 changed files with 58 additions and 4 deletions
|
@ -5,6 +5,7 @@
|
|||
ansible.builtin.set_fact:
|
||||
k3s_tf_safe_item_name: "{{ item.name | regex_replace('[^\\w]', '') }}"
|
||||
k3s_tf_project_git_path: "{{ provisioner_facts.artifacts_dir }}/{{ item.name | regex_replace('[^\\w]', '') }}.git"
|
||||
changed_when: false
|
||||
|
||||
- name: check pre-existing TF state file
|
||||
ansible.builtin.file:
|
||||
|
@ -12,6 +13,7 @@
|
|||
register: tfstate_file_info
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: item.get("backend_override", false) is falsy
|
||||
|
||||
- name: fetch git repository
|
||||
ansible.builtin.git:
|
||||
|
@ -33,6 +35,15 @@
|
|||
dest: '{{ k3s_tf_project_git_path }}/{{ item.terraform_dir }}/terraform.tfstate'
|
||||
force: true
|
||||
mode: '0600'
|
||||
when: item.get("backend_override", false) is falsy
|
||||
|
||||
- name: dump custom backend override
|
||||
ansible.builtin.copy:
|
||||
content: '{{ item.backend_override }}'
|
||||
dest: '{{ k3s_tf_project_git_path }}/{{ item.terraform_dir }}/backend_override.tf'
|
||||
mode: '0600'
|
||||
when: item.get("backend_override", false) is truthy
|
||||
changed_when: false
|
||||
|
||||
- name: deploy k8s resources
|
||||
community.general.terraform:
|
||||
|
@ -40,6 +51,14 @@
|
|||
project_path: '{{ k3s_tf_project_git_path }}/{{ item.terraform_dir }}'
|
||||
provider_upgrade: true
|
||||
force_init: true
|
||||
environment: '{{ item.get("backend_env", {}) }}'
|
||||
|
||||
- name: cleanup override file
|
||||
ansible.builtin.file:
|
||||
path: '{{ k3s_tf_project_git_path }}/{{ item.terraform_dir }}/backend_override.tf'
|
||||
state: absent
|
||||
when: item.get("backend_override", false) is truthy
|
||||
changed_when: false
|
||||
|
||||
- name: backup source state file
|
||||
ansible.builtin.copy:
|
||||
|
@ -47,6 +66,7 @@
|
|||
dest: '{{ provisioner_facts.k8s_states_dir }}/{{ k3s_tf_safe_item_name }}.tfstate.previous'
|
||||
force: true
|
||||
mode: '0600'
|
||||
when: item.get("backend_override", false) is falsy
|
||||
|
||||
- name: update source tfstate file
|
||||
ansible.builtin.copy:
|
||||
|
@ -54,3 +74,4 @@
|
|||
dest: '{{ provisioner_facts.k8s_states_dir }}/{{ k3s_tf_safe_item_name }}.tfstate'
|
||||
force: true
|
||||
mode: '0600'
|
||||
when: item.get("backend_override", false) is falsy
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue