34 lines
1005 B
YAML
34 lines
1005 B
YAML
---
|
|
# role: kubeconfig-manager
|
|
# description: Reusable role for managing kubeconfig files across multiple clusters
|
|
# author: mk-labs
|
|
# version: 1.0.0
|
|
|
|
- name: Get local user environment
|
|
delegate_to: localhost
|
|
ansible.builtin.set_fact:
|
|
local_home: "{{ lookup('env', 'HOME') }}"
|
|
local_user: "{{ lookup('env', 'USER') }}"
|
|
|
|
- name: Debug local environment
|
|
delegate_to: localhost
|
|
ansible.builtin.debug:
|
|
msg: "Local user: {{ local_user }}, Home directory: {{ local_home }}"
|
|
|
|
- name: Create .kube directory
|
|
delegate_to: localhost
|
|
ansible.builtin.file:
|
|
path: "{{ local_home }}/.kube"
|
|
state: directory
|
|
owner: "{{ local_user }}"
|
|
mode: "0755"
|
|
|
|
- name: Copy kubeconfig from remote host
|
|
ansible.builtin.fetch:
|
|
src: "{{ kubeconfig_source_path | default('/etc/kubernetes/admin.conf') }}"
|
|
dest: "{{ local_home }}/.kube/config-{{ cluster_name }}"
|
|
flat: true
|
|
mode: "0644"
|
|
|
|
- name: Include kubeconfig merge tasks
|
|
ansible.builtin.include_tasks: merge-kubeconfig.yml |