Add workbook to rotate fernet keys
This rotates the fernet keys by using an ansible playbook. bp keystone-fernet-rotation Change-Id: Ief09eb7432359391c07c12b1c352152990e22eaf
This commit is contained in:
parent
6a48446a40
commit
c39915e729
19
playbooks/rotate-keys.yaml
Normal file
19
playbooks/rotate-keys.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
- hosts: keystone
|
||||||
|
tasks:
|
||||||
|
- name: Remove previous fernet keys
|
||||||
|
shell: rm -rf /etc/keystone/fernet-keys/*
|
||||||
|
|
||||||
|
- name: Persist fernet keys to repository
|
||||||
|
copy:
|
||||||
|
dest: "{{ item.key }}"
|
||||||
|
content: "{{ item.value.content }}"
|
||||||
|
mode: 0600
|
||||||
|
owner: keystone
|
||||||
|
group: keystone
|
||||||
|
with_dict: "{{ fernet_keys }}"
|
||||||
|
|
||||||
|
- name: Reload apache
|
||||||
|
service:
|
||||||
|
name: httpd
|
||||||
|
state: reloaded
|
82
workbooks/fernet-key-rotate.yaml
Normal file
82
workbooks/fernet-key-rotate.yaml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
---
|
||||||
|
version: '2.0'
|
||||||
|
name: tripleo.fernet_keys.v1
|
||||||
|
description: TripleO fernet key rotation workflows
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
|
||||||
|
rotate_fernet_keys:
|
||||||
|
|
||||||
|
input:
|
||||||
|
- container
|
||||||
|
- queue_name: tripleo
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
rotate_keys:
|
||||||
|
action: tripleo.parameters.rotate_fernet_keys container=<% $.container %>
|
||||||
|
on-success: deploy_ssh_key
|
||||||
|
on-error: rotate_keys_set_status_failed
|
||||||
|
|
||||||
|
rotate_keys_set_status_failed:
|
||||||
|
on-success: notify_zaqar
|
||||||
|
publish:
|
||||||
|
status: FAILED
|
||||||
|
message: <% task(rotate_keys).result %>
|
||||||
|
|
||||||
|
deploy_ssh_key:
|
||||||
|
workflow: tripleo.validations.v1.copy_ssh_key
|
||||||
|
on-success: get_privkey
|
||||||
|
on-error: deploy_ssh_key_failed
|
||||||
|
|
||||||
|
deploy_ssh_key_failed:
|
||||||
|
on-success: notify_zaqar
|
||||||
|
publish:
|
||||||
|
status: FAILED
|
||||||
|
message: <% task(deploy_ssh_key).result %>
|
||||||
|
|
||||||
|
get_privkey:
|
||||||
|
action: tripleo.validations.get_privkey
|
||||||
|
on-success: deploy_keys
|
||||||
|
on-error: get_privkey_failed
|
||||||
|
|
||||||
|
get_privkey_failed:
|
||||||
|
on-success: notify_zaqar
|
||||||
|
publish:
|
||||||
|
status: FAILED
|
||||||
|
message: <% task(get_privkey).result %>
|
||||||
|
|
||||||
|
deploy_keys:
|
||||||
|
action: tripleo.ansible-playbook
|
||||||
|
input:
|
||||||
|
hosts: keystone
|
||||||
|
inventory: /usr/bin/tripleo-ansible-inventory
|
||||||
|
ssh_private_key: <% task(get_privkey).result %>
|
||||||
|
ssh_extra_args: '-o StrictHostKeyChecking=no'
|
||||||
|
remote_user: heat-admin
|
||||||
|
become: true
|
||||||
|
extra_vars:
|
||||||
|
fernet_keys: <% task(rotate_keys).result %>
|
||||||
|
use_openstack_credentials: true
|
||||||
|
playbook: /usr/share/tripleo-common/playbooks/rotate-keys.yaml
|
||||||
|
on-success: rotate_keys_set_status_passed
|
||||||
|
|
||||||
|
rotate_keys_set_status_passed:
|
||||||
|
on-success: notify_zaqar
|
||||||
|
publish:
|
||||||
|
status: SUCCESS
|
||||||
|
message: <% task(deploy_keys).result %>
|
||||||
|
|
||||||
|
notify_zaqar:
|
||||||
|
action: zaqar.queue_post
|
||||||
|
input:
|
||||||
|
queue_name: <% $.queue_name %>
|
||||||
|
messages:
|
||||||
|
body:
|
||||||
|
type: tripleo.plan_management.v1.get_passwords
|
||||||
|
payload:
|
||||||
|
status: <% $.status %>
|
||||||
|
message: <% $.get('message', '') %>
|
||||||
|
execution: <% execution() %>
|
||||||
|
on-success:
|
||||||
|
- fail: <% $.get('status') = "FAILED" %>
|
Loading…
x
Reference in New Issue
Block a user