Swampcritter

Ceph Configuration for Agent-Based SSE-S3

Sep 6th, 2024
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | Source Code | 0 0
  1. >> roles/ceph-sse-s3/ceph-rgw/tasks/main.yml
  2. ---
  3. - name: Gather facts
  4. setup:
  5.  
  6. - name: Add HashiCorp GPG key
  7. ansible.builtin.shell: "curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg"
  8.  
  9. - name: Add HashiCorp APT repository
  10. ansible.builtin.apt_repository:
  11. repo: "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_facts['lsb']['codename'] }} main"
  12. state: present
  13.  
  14. - name: Update APT cache
  15. ansible.builtin.apt:
  16. update_cache: yes
  17.  
  18. - name: Install Vault agent
  19. apt:
  20. name: vault
  21. state: present
  22.  
  23. - name: Create Vault agent configuration
  24. template:
  25. src: vault-agent.hcl.j2
  26. dest: /etc/vault-agent.hcl
  27.  
  28. - name: Save Role ID to file
  29. copy:
  30. content: "{{ hostvars['jupddvult001'].role_id.stdout }}"
  31. dest: /etc/vault-agent.d/role_id
  32.  
  33. - name: Save Secret ID to file
  34. copy:
  35. content: "{{ hostvars['jupddvult001'].secret_id.stdout }}"
  36. dest: /etc/vault-agent.d/secret_id
  37.  
  38. - name: Start Vault agent
  39. systemd:
  40. name: vault-agent
  41. enabled: yes
  42. state: started
  43. daemon_reload: yes
  44. exec_start: /usr/bin/vault agent -config=/etc/vault-agent.hcl
  45.  
  46. - name: Retrieve Encryption Key ID from Vault
  47. command: vault read -field=key_id transit/keys/s3-key
  48. register: vault_key_id
  49. environment:
  50. VAULT_ADDR: "{{ hostvars['jupddvult001'].vault_addr }}"
  51. VAULT_TOKEN: "{{ hostvars['jupddvult001'].vault_token }}"
  52.  
  53. - name: Set Encryption Key ID
  54. set_fact:
  55. encryption_key_id: "{{ vault_key_id.stdout }}"
  56.  
  57. - name: Configure Ceph RGW to use Vault for SSE
  58. shell: |
  59. ceph config set client.rgw crypt vault addr {{ hostvars['jupddvult001'].vault_addr }}
  60. ceph config set client.rgw crypt vault auth method agent
  61. ceph config set client.rgw crypt vault key name s3-key
  62. ceph config set client.rgw crypt vault encryption key id {{ encryption_key_id }}
  63. notify: restart ceph-rgw
  64.  
  65. - name: Restart Ceph RGW
  66. shell: ceph orch restart rgw
  67.  
Tags: s3 ceph sse-s3
Advertisement
Add Comment
Please, Sign In to add comment