Au quotidien, j'utilise Rudder pour maintenir une certaine cohĂ©rence dans la configuration de base appliquĂ©e sur mes diffĂ©rents serveurs et de reprendre la main sur les drifts de configuration qui peuvent ĂȘtre observĂ©s.

Cet article va ĂȘtre hyper rapide mais je souhaitais partager avec vous comment y arriver. 🙏

Pour des raisons de lisibilité, vous trouverez le fichier de configuration Cloud-Init ici :

Deploy Rudder Agent with Cloud-Init on Ubuntu Server 22.04
Deploy Rudder Agent with Cloud-Init on Ubuntu Server 22.04 - rudder-agent-cloud-init

En complĂ©ment, vous pouvez facilement accepter cette machine (qui arrive dans les "pending nodes") une fois l'agent exĂ©cutĂ© via l'API. 😎

Pour y arriver, vous devez vous générer un token d'API puis :

# Stocker le nom de la machine Ă  accepter
RUDDER_AGENT_HOSTNAME="demo-rudder-cloud-init"

# Récupérer l'ID de la machine en question
NODE_ID=$(curl -sk -H "X-API-Token: xxxxxx" 'https://rudder.example.org/rudder/api/latest/nodes/pending?where=\[\{"objectType":"node","attribute":"OS","comparator":"eq","value":"Linux"\},\{"objectType":"node","attribute":"nodeHostname","comparator":"regex","value":"${RUDDER_AGENT_HOSTNAME}"\}\]' | jq '.data.nodes[0].id' | tr -d '"')

# L'accepter
curl -sk -H "X-API-Token: xxxxxxx" --request POST https://rudder.example.org/rudder/api/latest/nodes/pending/${NODE_ID} --data "status=accepted"