add metadata system files

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2025-12-05 23:17:14 +01:00
commit fdfdacd479
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632
4 changed files with 47 additions and 0 deletions

View file

@ -9,5 +9,8 @@
- name: import dnsmasq - name: import dnsmasq
import_tasks: dnsmasq.yml import_tasks: dnsmasq.yml
- name: import metadata
import_tasks: metadata.yml
- name: import frr - name: import frr
import_tasks: frr.yml import_tasks: frr.yml

17
tasks/metadata.yml Normal file
View file

@ -0,0 +1,17 @@
---
# missing metadata binarie
# a dl depuis le forgejo un jour
# quand je publierais un binaire
# ou un package
- name: deploy metadata
ansible.builtin.template:
src: etc/systemd/system/metadata.j2
dest: "/etc/systemd/system/metadata@.service"
notify: systemctl daemon-reload
- name: deploy metadata in netns
ansible.builtin.template:
src: usr/local/bin/run-metadata-in-netns.sh.j2
dest: "/usr/local/bin/run-metadata-in-netns.sh"

View file

@ -0,0 +1,10 @@
[Unit]
Description=metadata in netns %i
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/run-metadata-in-netns.sh %i
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,17 @@
#!/bin/bash
set -e
# Expects one argument: netns_bridge (e.g. vpc-00003_br-00002 or vpc1_br0)
arg="$1"
NETNS="${arg%%_*}"
ip_port="${arg#*_}"
IP="${ip_port%%-*}"
PORT="${ip_port#*-}"
echo "start metadata ${NETNS} "
exec ip netns exec "${NETNS}" \
/usr/bin/metadata \
-file "/opt/metadata/${arg}.conf" \
-interface "${IP}" \
-port "${PORT}"