mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-ansible-private.git
synced 2025-12-16 19:27:37 +00:00
bw
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
become: yes
|
||||
roles:
|
||||
- common
|
||||
- vaultwarden
|
||||
- kubernetes
|
||||
- kube-master
|
||||
- stolon
|
||||
@ -12,5 +13,6 @@
|
||||
become: yes
|
||||
roles:
|
||||
- common
|
||||
- vaultwarden
|
||||
- kubernetes
|
||||
- kube-node
|
||||
|
||||
@ -21,52 +21,17 @@
|
||||
shell: ls -l /tmp/stolon/kubernetes-files/files
|
||||
register: resultado_ls
|
||||
|
||||
- name: Obter várias notas do Bitwarden
|
||||
shell: |
|
||||
export BW_SESSION={{ lookup('env', 'BW_SESSION') }}
|
||||
bw get item "{{ item.id }}" --session $BW_SESSION | jq -r '.notes' > {{ item.dest }}
|
||||
loop:
|
||||
- { id: "iac.ansible.dockersecrets", dest: "/tmp/stolon/kubernetes-files/files/docker-secrets.yaml" }
|
||||
- { id: "iac.ansible.stolon.repl.secret", dest: "/tmp/stolon/kubernetes-files/files/stolon-repl-secret.yaml" }
|
||||
- { id: "iac.ansible.stolon.keeper.secret", dest: "/tmp/stolon/kubernetes-files/files/stolon-secret.yaml" }
|
||||
args:
|
||||
executable: /bin/bash
|
||||
|
||||
- name: Buscar values.yaml do Bitwarden e aplicar remotamente
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Criar diretório temporário no remoto
|
||||
file:
|
||||
path: /tmp/stolon/kubernetes-files
|
||||
state: directory
|
||||
mode: '0755'
|
||||
- name: Buscar values.yaml do Bitwarden
|
||||
shell: |
|
||||
bw get item "iac.ansible.dockersecrets" --session $BW_SESSION | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/docker-secrets.yaml
|
||||
bw get item "iac.ansible.stolon.repl.secret" --session $BW_SESSION | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/stolon-repl-secret.yaml
|
||||
bw get item "iac.ansible.stolon.keeper.secret" --session $BW_SESSION | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/stolon-secret.yaml
|
||||
args:
|
||||
executable: /bin/bash
|
||||
environment:
|
||||
BW_SESSION: "{{ lookup('env', 'BW_SESSION') }}"
|
||||
|
||||
- name: Copiar ficheiros para o nó remoto
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
remote_host: "k8s-node-01"
|
||||
files_to_copy:
|
||||
- { src: "/tmp/stolon/kubernetes-files/files/docker-secrets.yaml", dest: "/tmp/stolon/kubernetes-files/files/docker-secrets.yaml" }
|
||||
- { src: "/tmp/stolon/kubernetes-files/files/stolon-repl-secret.yaml", dest: "/tmp/stolon/kubernetes-files/files/stolon-repl-secret.yaml" }
|
||||
- { src: "/tmp/stolon/kubernetes-files/files/stolon-secret.yaml", dest: "/tmp/stolon/kubernetes-files/files/stolon-secret.yaml" }
|
||||
|
||||
tasks:
|
||||
- name: Copiar ficheiros para o nó remoto
|
||||
copy:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: '0600'
|
||||
loop: "{{ files_to_copy }}"
|
||||
delegate_to: "{{ groups['master'][0] }}"
|
||||
|
||||
#- name: Buscar values.yaml do Bitwarden
|
||||
# shell: |
|
||||
# bw get item "iac.ansible.dockersecrets" --session {{ lookup('env', 'BW_SESSION') }} | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/docker-secrets.yaml
|
||||
# bw get item "iac.ansible.stolon.repl.secret" --session {{ lookup('env', 'BW_SESSION') }} | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/stolon-repl-secret.yaml
|
||||
# bw get item "iac.ansible.stolon.keeper.secret" --session {{ lookup('env', 'BW_SESSION') }} | jq -r '.notes' > /tmp/stolon/kubernetes-files/files/stolon-secret.yaml
|
||||
# args:
|
||||
# executable: /bin/bash
|
||||
|
||||
- name: Mostrar resultado do ls
|
||||
debug:
|
||||
|
||||
33
roles/vaultwarden/tasks/main.yml
Normal file
33
roles/vaultwarden/tasks/main.yml
Normal file
@ -0,0 +1,33 @@
|
||||
- name: Instalar dependências (curl, unzip, jq)
|
||||
become: true
|
||||
apt:
|
||||
name:
|
||||
- curl
|
||||
- unzip
|
||||
- jq
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Instalar Bitwarden CLI
|
||||
become: true
|
||||
shell: |
|
||||
curl -L https://github.com/bitwarden/cli/releases/latest/download/bw-linux.zip -o bw.zip
|
||||
unzip bw.zip
|
||||
chmod +x bw
|
||||
mv bw /usr/local/bin/bw
|
||||
args:
|
||||
creates: /usr/local/bin/bw
|
||||
|
||||
- name: Fazer login no Bitwarden
|
||||
shell: bw login {{ bw_email }} --password {{ bw_password }}
|
||||
register: bw_login
|
||||
no_log: true
|
||||
|
||||
- name: Desbloquear cofre e guardar sessão
|
||||
shell: bw unlock --password {{ bw_password }} --raw
|
||||
register: bw_session
|
||||
no_log: true
|
||||
|
||||
- name: Exportar sessão para ambiente local
|
||||
shell: echo "export BW_SESSION={{ bw_session.stdout }}" >> /etc/profile.d/bw-session.sh
|
||||
become: true
|
||||
2
roles/vaultwarden/vars/main.yml
Normal file
2
roles/vaultwarden/vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bw_email: "{{ lookup('env', 'BW_EMAIL') }}"
|
||||
bw_password: "{{ lookup('env', 'BW_PASSWORD') }}"
|
||||
Reference in New Issue
Block a user