2022-11-04 20:58:37 +01:00
|
|
|
---
|
|
|
|
- name: include user tasks
|
|
|
|
include_tasks: user.yml
|
|
|
|
|
|
|
|
- name: check if flux is installed
|
|
|
|
command: which flux
|
|
|
|
changed_when: false
|
|
|
|
failed_when: flux_installed.rc not in [0,1]
|
|
|
|
register: flux_installed
|
|
|
|
|
|
|
|
- name: download flux binary
|
|
|
|
ansible.builtin.unarchive:
|
|
|
|
src: "{{ flux_download_url }}"
|
|
|
|
dest: "{{ flux_path_bin }}"
|
|
|
|
mode: 0755
|
|
|
|
owner: "{{ flux_user }}"
|
|
|
|
group: "{{ flux_user_group }}"
|
|
|
|
remote_src: yes
|
|
|
|
creates: "{{ flux_path_bin }}/flux"
|
|
|
|
when: flux_installed.rc not in [ 0 ]
|
|
|
|
|
|
|
|
- name: install bash-completion packages
|
|
|
|
become: yes
|
|
|
|
ansible.builtin.package:
|
|
|
|
name: bash-completion
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: activate autocompletion for flux
|
|
|
|
become: yes
|
|
|
|
ansible.builtin.shell:
|
|
|
|
cmd: "flux completion bash | sudo tee /etc/bash_completion.d/flux"
|
|
|
|
args:
|
|
|
|
creates: /etc/bash_completion.d/flux
|
|
|
|
|
|
|
|
- name: install flux
|
|
|
|
block:
|
|
|
|
- name: ensure .ssh directory exists
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ flux_path_ssh_dir }}"
|
|
|
|
owner: "{{ flux_user }}"
|
|
|
|
group: "{{ flux_user_group }}"
|
|
|
|
state: directory
|
|
|
|
|
|
|
|
- name: check if OpenSSH keypair exists
|
|
|
|
stat:
|
|
|
|
path: "{{ flux_path_ssh_dir }}/{{ flux_path_ssh_id_file }}"
|
|
|
|
register: ssh_exist
|
|
|
|
|
|
|
|
- name: generate SSH keypair
|
|
|
|
community.crypto.openssh_keypair:
|
|
|
|
path: "{{ flux_path_ssh_dir }}/{{ flux_path_ssh_id_file }}"
|
|
|
|
owner: "{{ flux_user }}"
|
|
|
|
group: "{{ flux_user_group }}"
|
|
|
|
type: "{{ flux_ssh_key_format }}"
|
|
|
|
when: ssh_exist.stat.exists == False
|
|
|
|
register: create_ssh_key
|
|
|
|
|
|
|
|
- name: get publickey
|
|
|
|
ansible.builtin.command: cat "{{ flux_path_ssh_dir }}/{{ flux_path_ssh_id_file }}.pub"
|
|
|
|
when: create_ssh_key.changed
|
|
|
|
register: ssh_public_key
|
|
|
|
|
|
|
|
- name: show publickey
|
|
|
|
debug:
|
|
|
|
msg: "{{ ssh_public_key.stdout }}"
|
|
|
|
when: create_ssh_key.changed
|
|
|
|
|
|
|
|
- name: copy publickey to gitea as deploy-key WITH write-permissions!
|
|
|
|
ansible.builtin.pause:
|
|
|
|
prompt: "Make sure the key is saved!"
|
|
|
|
when: create_ssh_key.changed
|
|
|
|
|
|
|
|
- name: set permissions for $kubeconfig
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ kubeconfig }}"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: '0644'
|
|
|
|
|
|
|
|
- name: template bootstrap script
|
|
|
|
ansible.builtin.template:
|
|
|
|
src: bootstrap.sh
|
|
|
|
dest: "{{ flux_homedir }}/bootstrap.sh"
|
|
|
|
mode: 0544
|
|
|
|
owner: "{{ flux_user }}"
|
|
|
|
group: "{{ flux_user_group }}"
|
|
|
|
register: bootstrap
|
|
|
|
|
|
|
|
- name: flux install
|
|
|
|
ansible.builtin.shell: "{{ flux_homedir }}/bootstrap.sh"
|
|
|
|
become_user: "{{ flux_user }}"
|
|
|
|
when: bootstrap.changed
|
2022-11-24 16:24:21 +01:00
|
|
|
# der ganze block nur auf einem host
|
2022-11-04 20:58:37 +01:00
|
|
|
run_once: true
|
|
|
|
when: ansible_host == flux_install_host
|