|
|
@ -1,30 +1,58 @@ |
|
|
|
--- |
|
|
|
- name: tokens | copy tokens generation script |
|
|
|
copy: |
|
|
|
src: "kube-gen-token.sh" |
|
|
|
dest: "{{ kube_script_dir }}/kube-gen-token.sh" |
|
|
|
mode: 0700 |
|
|
|
run_once: yes |
|
|
|
when: inventory_hostname == groups['kube-master'][0] and gen_tokens|default(false) |
|
|
|
|
|
|
|
- name: tokens | generate tokens for master components |
|
|
|
become: False |
|
|
|
local_action: command "{{ role_path }}/scripts/kube-gen-token.sh" "{{ item[0] }}-{{ item[1] }}" |
|
|
|
command: "{{ kube_script_dir }}/kube-gen-token.sh {{ item[0] }}-{{ item[1] }}" |
|
|
|
environment: |
|
|
|
TOKEN_DIR: "{{ role_path }}/files/tokens" |
|
|
|
TOKEN_DIR: "{{ kube_token_dir }}" |
|
|
|
with_nested: |
|
|
|
- [ "system:kubectl" ] |
|
|
|
- "{{ groups['kube-master'] }}" |
|
|
|
register: gentoken_master |
|
|
|
changed_when: "'Added' in gentoken_master.stdout" |
|
|
|
notify: set secret_changed |
|
|
|
run_once: yes |
|
|
|
when: inventory_hostname == groups['kube-master'][0] and gen_tokens|default(false) |
|
|
|
|
|
|
|
- name: tokens | generate tokens for node components |
|
|
|
become: False |
|
|
|
local_action: command "{{ role_path }}/scripts/kube-gen-token.sh" "{{ item[0] }}-{{ item[1] }}" |
|
|
|
command: "{{ kube_script_dir }}/kube-gen-token.sh {{ item[0] }}-{{ item[1] }}" |
|
|
|
environment: |
|
|
|
TOKEN_DIR: "{{ role_path }}/files/tokens" |
|
|
|
TOKEN_DIR: "{{ kube_token_dir }}" |
|
|
|
with_nested: |
|
|
|
- [ 'system:kubelet' ] |
|
|
|
- "{{ groups['kube-node'] }}" |
|
|
|
register: gentoken_node |
|
|
|
changed_when: "'Added' in gentoken_node.stdout" |
|
|
|
notify: set secret_changed |
|
|
|
run_once: yes |
|
|
|
when: inventory_hostname == groups['kube-master'][0] and gen_tokens|default(false) |
|
|
|
|
|
|
|
- name: tokens | Get list of tokens from first master |
|
|
|
shell: "(find {{ kube_token_dir }} -maxdepth 1 -type f)" |
|
|
|
register: tokens_list |
|
|
|
changed_when: false |
|
|
|
when: inventory_hostname == groups['kube-master'][0] and sync_tokens|default(false) |
|
|
|
|
|
|
|
- name: tokens | Get the tokens from first master |
|
|
|
slurp: |
|
|
|
src: "{{ item }}" |
|
|
|
delegate_to: "{{groups['kube-master'][0]}}" |
|
|
|
register: slurp_tokens |
|
|
|
with_items: '{{tokens_list.stdout_lines}}' |
|
|
|
when: sync_tokens|default(false) |
|
|
|
run_once: true |
|
|
|
notify: set secret_changed |
|
|
|
|
|
|
|
- name: tokens | Copy tokens on master |
|
|
|
- name: tokens | Copy tokens on masters |
|
|
|
copy: |
|
|
|
src: "tokens" |
|
|
|
dest: "/etc/kubernetes" |
|
|
|
when: inventory_hostname in "{{ groups['kube-master'] }}" |
|
|
|
content: "{{ item.content|b64decode }}" |
|
|
|
dest: "{{ item.source }}" |
|
|
|
with_items: '{{slurp_tokens.results}}' |
|
|
|
when: inventory_hostname in groups['kube-master'] and sync_certs|default(false) and |
|
|
|
inventory_hostname != groups['kube-master'][0] |