{"guid":"5RUkQVNmxMK5eO8oIgo-vA","title":"Integrating Uyuni with Ansible and Terraform","subtitle":"...and even more?","slug":"4971-integrating-uyuni-with-ansible-and-terraform","link":"https://c3voc.de","description":"Uyuni offers two powerful APIs (XMLRPC and JSON) to integrate additional third-party applications. This talk demonstrates two integrations that allow users driving infrastructure automation:\n\n- an [Ansible collection](https://github.com/stdevel/ansible-collection-uyuni) that integrates Uyuni into Ansible and Event-driven Ansible. It allows controlling managed systems and enables users to continue using pre-existing Ansible environments such as AWX or Ansible Semaphore. Using this, fully automated patch management workflows are possible.\n- [a Terraform / OpenTofu provider MVP](https://github.com/svalabs/terraform-provider-uyuni) that can create resources within Uyuni\n\nI'd like to use this session to discuss how we can improve third-party integrations for Uyuni - e.g. by using the upcoming [OpenAPI](https://github.com/OAI/OpenAPI-Specification) / [Swagger](https://swagger.io/) functionality. This could speed-up development heavily.\n\nLicensed to the public under https://creativecommons.org/licenses/by-sa/4.0/","original_language":"eng","persons":["Christian Stankowic"],"tags":["4971","2025","osc25","Community","galerie","osc25-eng","Day 1"],"view_count":110,"promoted":false,"date":"2025-06-26T10:45:00.000+02:00","release_date":"2025-06-28T00:00:00.000+02:00","updated_at":"2026-03-24T16:45:05.473+01:00","length":2380,"duration":2380,"thumb_url":"https://static.media.ccc.de/media/events/osc/2025/4971-5RUkQVNmxMK5eO8oIgo-vA.jpg","poster_url":"https://static.media.ccc.de/media/events/osc/2025/4971-5RUkQVNmxMK5eO8oIgo-vA_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/osc/2025/4971-5RUkQVNmxMK5eO8oIgo-vA.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/osc/2025/4971-5RUkQVNmxMK5eO8oIgo-vA.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/4971-integrating-uyuni-with-ansible-and-terraform","url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_title":"openSUSE Conference 2025","conference_url":"https://api.media.ccc.de/public/conferences/osc25","related":[],"recordings":[{"size":26,"length":2380,"mime_type":"audio/opus","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2025-06-28T13:34:37.558+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/opus/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_opus.opus","url":"https://api.media.ccc.de/public/recordings/88466","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"},{"size":36,"length":2380,"mime_type":"audio/mpeg","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2025-06-28T13:19:55.251+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/mp3/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/88458","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"},{"size":80,"length":2380,"mime_type":"video/webm","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-06-28T16:11:03.885+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/webm-sd/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/88639","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"},{"size":162,"length":2380,"mime_type":"video/webm","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-06-28T16:10:24.291+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/webm-hd/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/88638","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"},{"size":60,"length":2380,"mime_type":"video/mp4","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-06-28T13:34:33.626+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/h264-sd/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_sd.mp4","url":"https://api.media.ccc.de/public/recordings/88465","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"},{"size":144,"length":2380,"mime_type":"video/mp4","language":"eng","filename":"osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-06-28T12:27:59.294+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2025/h264-hd/osc25-4971-eng-Integrating_Uyuni_with_Ansible_and_Terraform_hd.mp4","url":"https://api.media.ccc.de/public/recordings/88439","event_url":"https://api.media.ccc.de/public/events/5RUkQVNmxMK5eO8oIgo-vA","conference_url":"https://api.media.ccc.de/public/conferences/osc25"}]}