52 lines
1.3 KiB
YAML
52 lines
1.3 KiB
YAML
---
|
|
- name: Secrets | certs | make sure the certificate directory exits
|
|
file:
|
|
path={{ kube_cert_dir }}
|
|
state=directory
|
|
mode=o-rwx
|
|
group={{ kube_cert_group }}
|
|
|
|
- name: Secrets | tokens | make sure the tokens directory exits
|
|
file:
|
|
path={{ kube_token_dir }}
|
|
state=directory
|
|
mode=o-rwx
|
|
group={{ kube_cert_group }}
|
|
|
|
- include: gen_certs.yml
|
|
when: inventory_hostname == groups['kube-master'][0]
|
|
|
|
- include: gen_tokens.yml
|
|
|
|
# Sync certs between nodes
|
|
- name: Secrets | create user
|
|
user:
|
|
name: '{{ansible_user_id}}'
|
|
generate_ssh_key: yes
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
|
run_once: yes
|
|
|
|
- name: Secrets | 'get ssh keypair'
|
|
slurp: path=~/.ssh/id_rsa.pub
|
|
register: public_key
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
|
|
|
- name: Secrets | 'setup keypair on nodes'
|
|
authorized_key:
|
|
user: '{{ansible_user_id}}'
|
|
key: "{{public_key.content|b64decode }}"
|
|
|
|
- name: Secrets | synchronize certificates for nodes
|
|
synchronize:
|
|
src: "{{ item }}"
|
|
dest: "{{ kube_cert_dir }}"
|
|
recursive: yes
|
|
delete: yes
|
|
rsync_opts: [ '--one-file-system']
|
|
set_remote_user: false
|
|
with_items:
|
|
- "{{ kube_cert_dir}}/ca.pem"
|
|
- "{{ kube_cert_dir}}/node.pem"
|
|
- "{{ kube_cert_dir}}/node-key.pem"
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
|
when: inventory_hostname not in "{{ groups['kube-master'] }}"
|