72 lines
2.7 KiB
YAML
72 lines
2.7 KiB
YAML
---
|
|
|
|
- name: Set Talos override config
|
|
ansible.builtin.set_fact:
|
|
_talos_override_config:
|
|
machine:
|
|
network:
|
|
hostname: "{{ inventory_hostname }}"
|
|
interfaces:
|
|
- interface: "{{ network_interface }}"
|
|
addresses:
|
|
- "{{ ansible_remote }}/{{ network_cidr_prefix }}"
|
|
routes:
|
|
- network: 0.0.0.0/0
|
|
gateway: "{{ (ansible_remote ~ '/' ~ network_cidr_prefix) | ansible.utils.ipaddr('1') | ansible.utils.ipaddr('address') }}"
|
|
install:
|
|
disk: "{{ talos_disk }}"
|
|
kubelet:
|
|
extraArgs:
|
|
max-pods: "{% if 'talos_hardware_nodes' in group_names %}250{% else %}110{% endif %}"
|
|
|
|
- name: Create Talos interfaces bond append
|
|
when: "network_interface_bond is defined"
|
|
ansible.utils.update_fact:
|
|
updates:
|
|
- path: "_talos_override_config.machine.network.interfaces.0.bond"
|
|
value: "{{ network_interface_bond }}"
|
|
register: _talos_override_update
|
|
|
|
- name: Apply Talos interfaces bond append
|
|
when: "network_interface_bond is defined"
|
|
ansible.builtin.set_fact:
|
|
_talos_override_config: "{{ _talos_override_update._talos_override_config }}"
|
|
|
|
- name: Create temp directory
|
|
delegate_to: "{{ talosctl_host }}"
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: "{{ talos_cluster_tmp_dir }}"
|
|
mode: u=rwX,go=
|
|
|
|
- name: Set fact with overrides file
|
|
ansible.builtin.set_fact:
|
|
_talos_override_tempfile: "{{ talos_cluster_tmp_dir }}/overrides_{{ inventory_hostname }}.yaml"
|
|
|
|
- name: Wride overrides to tempfile
|
|
delegate_to: "{{ talosctl_host }}"
|
|
ansible.builtin.copy:
|
|
dest: "{{ _talos_override_tempfile }}"
|
|
mode: u=rw,go=
|
|
content: "{{ _talos_override_config | ansible.builtin.to_yaml }}"
|
|
|
|
- name: Create Talos worker node config
|
|
delegate_to: "{{ talosctl_host }}"
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
talosctl gen config '{{ cluster_name }}' 'https://{{ talos_control_lb_hostname }}:6443'
|
|
--output-types='{% if "talos_control_nodes" in group_names %}controlplane{% else %}worker{% endif %}'
|
|
--output='{{ talos_node_config_file }}'
|
|
--with-secrets='{{ talos_cluster_secrets_file }}'
|
|
--config-patch=@'{{ talos_generic_config_dir }}/talos-patch.yaml'
|
|
--config-patch-control-plane @'{{ talos_generic_config_dir }}/talos-patch-control.yaml'
|
|
--config-patch-worker=@'{{ talos_generic_config_dir }}/talos-patch-worker.yaml'
|
|
--config-patch=@'{{ _talos_override_tempfile }}'
|
|
--talos-version='{{ talos_image_version }}'
|
|
--kubernetes-version='{{ kubernetes_version }}'
|
|
--additional-sans='{{ talos_control_lb_hostname }}'
|
|
--force
|
|
--with-docs=false
|
|
--with-examples=false
|
|
changed_when: true
|