kea_dhcp(role): update to newest fux noc version

This commit is contained in:
bitwhisker 2026-07-31 17:48:58 +02:00
commit 3e7df7867f
Signed by: bitwhisker
SSH key fingerprint: SHA256:KybIk/tusSKao6eLGY+ILlFa1rCrzwx66/acBAcKUqE
14 changed files with 322 additions and 231 deletions

View file

@ -0,0 +1,21 @@
---
- name: Register isc-kea apt repository
become: true
register: kea_dhcp__repo
ansible.builtin.deb822_repository:
name: "isc-{{ kea_dhcp__version_repo }}"
uris: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/deb/debian"
suites: "{{ ansible_facts['distribution_release'] }}"
components: main
signed_by: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/gpg.key"
- name: Install Kea packages
become: true
ansible.builtin.apt:
name:
- isc-kea-dhcp4
- isc-kea-dhcp6
- isc-kea-hooks
- isc-kea-ctrl-agent
- isc-kea-admin
update_cache: "{{ kea_dhcp__repo.changed }}"

View file

@ -1,25 +0,0 @@
---
- name: Install Kea packages
become: true
when: ansible_facts['distribution'] == "Debian"
block:
- name: Install Kea dhcp4
when: kea_dhcp__dhcp4.enable
ansible.builtin.apt:
name:
- isc-kea-dhcp4
- name: Install Kea dhcp6
when: kea_dhcp__dhcp6.enable
ansible.builtin.apt:
name:
- isc-kea-dhcp6
- name: Install Kea ctrl agent
when: kea_dhcp__stork_agent.enable
ansible.builtin.apt:
name:
- isc-kea-ctrl-agent
- name: Install Kea admin
when: kea_dhcp__stork_agent.enable
ansible.builtin.apt:
name:
- isc-kea-admin

View file

@ -1,20 +1,15 @@
---
- name: Include config vars
when: kea_dhcp__include_vars != None
ansible.builtin.include_vars:
file: "{{ kea_dhcp__include_vars }}"
- name: Deploy kea-dhcp4 configuration file
become: true
when: kea_dhcp__dhcp4.enable
ansible.builtin.template:
src: kea-dhcp4.conf.jinja
src: kea-dhcp4.conf.j2
dest: /etc/kea/kea-dhcp4.conf
backup: true
owner: root
group: kea
group: "{{ kea_dhcp__service_group }}"
mode: "u=rw,g=r,o="
validate: kea-dhcp4 -T %s
validate: "/usr/sbin/kea-dhcp4 -T %s" # does not work with debian apparmor policys
notify:
- Kea_dhcp4.restarted
@ -22,13 +17,13 @@
become: true
when: kea_dhcp__dhcp6.enable
ansible.builtin.template:
src: kea-dhcp6.conf.jinja
src: kea-dhcp6.conf.j2
dest: /etc/kea/kea-dhcp6.conf
backup: true
owner: root
group: kea
group: "{{ kea_dhcp__service_group }}"
mode: "u=rw,g=r,o="
validate: kea-dhcp6 -T %s
validate: /usr/sbin/kea-dhcp6 -T %s # does not work with debian apparmor policys
notify:
- Kea_dhcp6.restarted
@ -39,9 +34,9 @@
src: kea-ctrl-agent.conf.j2
dest: /etc/kea/kea-ctrl-agent.conf
owner: root
group: kea
group: "{{ kea_dhcp__service_group }}"
mode: "u=rw,g=r,o="
validate: kea-ctrl-agent -t %s
validate: /usr/sbin/kea-ctrl-agent -t %s # does not work with debian apparmor policys
notify:
- Kea_ctrl.restarted
- Stork_agent.restarted

View file

@ -1,9 +1,20 @@
---
- name: Include config vars
when: kea_dhcp__include_vars != None
ansible.builtin.include_vars:
file: "{{ kea_dhcp__include_vars }}"
- name: Merge default vars with host_vars
ansible.builtin.set_fact:
kea_dhcp__stork_agent: "{{ kea_dhcp__stork_agent_defaults | combine(kea_dhcp__stork_agent, recursive=True) }}"
kea_dhcp__dhcp4: "{{ kea_dhcp__dhcp4_defaults | combine(kea_dhcp__dhcp4, recursive=True) }}"
kea_dhcp__dhcp6: "{{ kea_dhcp__dhcp6_defaults | combine(kea_dhcp__dhcp6, recursive=True) }}"
- name: Setup Kea DHCP
block:
- name: Install Kea on Debian
when: ansible_facts['distribution'] == "Debian"
ansible.builtin.import_tasks: install_debian.yml
ansible.builtin.import_tasks: install_debian.yaml
- name: Configure Kea
ansible.builtin.include_tasks: kea.yaml

View file

@ -1,26 +1,39 @@
---
- name: Install stork-agent
block:
- name: Install isc-stork-agent
- name: Install stork-agent on Debian
when: ansible_facts['distribution'] == "Debian"
become: true
ansible.builtin.apt:
name: isc-stork-agent
block:
- name: Register isc-stork apt repository
become: true
register: "kea_dhcp_install_repo"
ansible.builtin.deb822_repository:
name: isc-stork
uris: https://dl.cloudsmith.io/public/isc/stork/deb/debian
suites: any-version
components: main
signed_by: https://dl.cloudsmith.io/public/isc/stork/gpg.key
- name: Add stork-agent user to _kea group on Debian
- name: Install isc-stork-agent
become: true
ansible.builtin.apt:
name: isc-stork-agent
update_cache: "{{ kea_dhcp_install_repo.changed }}"
- name: Add stork-agent user to kea group on Debian
when: ansible_facts['distribution'] == "Debian"
become: true
ansible.builtin.user:
name: stork-agent
groups: [ "_kea" ]
groups: [ "{{ kea_dhcp__service_group }}" ]
append: true
- name: Config for stork-agent
ansible.builtin.template:
src: stork-agent.env.jinja
src: stork-agent.env.j2
dest: /etc/stork/agent.env
owner: root
group: root
group: "{{ kea_dhcp__service_group }}"
mode: "0660"
notify:
- Systemd_daemon_reload